/* A field guide to places: generous art, walking notes and village postcards. */
.place-review-banner{display:block;padding:26px 30px;background:linear-gradient(110deg,#213e46,#403953);color:#fff7e9;border-left:5px solid #ba9273;margin:20px 0 28px}.place-review-banner:hover{color:#fff;background:#294d54}.place-review-banner .eyebrow{color:#d8b994}.place-review-banner strong{display:block;font:36px/1.2 var(--serif);margin:6px 0 12px}.place-review-banner>span:last-child{font-size:14px}
.village-map-fold{margin:20px 0 28px;border-bottom:1px solid var(--line)}.village-map-fold summary{cursor:pointer;min-height:50px;padding:10px 0;font:21px var(--serif)}.village-map-fold .mapintro{margin-top:20px}
.place-category-nav{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.place-category-nav button{border:1px solid var(--line);background:#fcfaf4;color:var(--ink);padding:10px 14px;min-height:44px;font-size:12px}.place-category-nav button[aria-pressed=true]{background:var(--deep);color:var(--paper);border-color:var(--deep)}
.place-category-group{margin:45px 0 65px}.place-category-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #bba57a;padding-top:24px;margin-bottom:25px}.place-category-heading h2{margin-bottom:10px}.place-category-heading p:not(.eyebrow){color:var(--muted);margin:0;font-size:14px}.place-category-heading>span{font:48px var(--serif);color:var(--accent)}
.location-colour-note{border-left:3px solid var(--accent);padding:16px 24px;margin:20px 0;background:#fffaf3}.location-colour-note h3{margin-bottom:8px}.location-colour-note p{margin-bottom:10px;color:var(--muted);font-size:14px}.location-colour-note a{font-size:13px;text-decoration:underline;display:inline-flex;min-height:44px;align-items:center}
.colour-study{margin:50px 0 80px;padding-top:25px;border-top:3px solid var(--accent)}.colour-study-heading{display:flex;align-items:start;justify-content:space-between;gap:25px}.colour-study-heading p:not(.eyebrow){max-width:800px;color:var(--muted)}.colour-study-heading .chip{white-space:nowrap}.colour-study h2{font-size:42px}.study-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.study-controls button{min-height:46px;padding:10px 18px;border:1px solid var(--accent);background:transparent;color:var(--ink);font-size:13px}.study-controls button[aria-pressed=true]{background:var(--accent);color:white}.study-selected{margin-left:auto;color:var(--muted);font-size:12px}.study-art{background:#f4f0e7;aspect-ratio:2/1}.study-art img{width:100%;height:100%;object-fit:contain}.study-art .enlarge{opacity:1}
@media(max-width:700px){.place-review-banner{padding:22px}.place-review-banner strong{font-size:29px}.place-category-heading h2{font-size:30px}.place-category-heading>span{display:none}.place-category-nav{gap:6px}.place-category-nav button{padding:9px 11px}.colour-study-heading{display:block}.colour-study h2{font-size:33px}.study-selected{flex-basis:100%;margin:6px 0}.colour-study{margin:35px 0 50px}.study-controls button{flex:1}.place-review-page .note{font-size:13px}.location-colour-note{padding:14px 18px}}
.location-page{max-width:1500px;margin:auto;padding:30px 5% 60px}
.location-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin-bottom:28px}
.location-breadcrumb a{min-height:36px;display:inline-flex;align-items:center}.location-breadcrumb span{align-self:center}
.location-welcome{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:30px 0 38px}
.location-welcome h1{font-size:clamp(46px,6vw,86px);line-height:1.05;max-width:1000px}
.location-intro{max-width:760px;font:19px/1.7 var(--serif);color:var(--muted);margin:0}
.location-stamp{border:1px solid #a28b63;border-radius:50%;width:124px;height:124px;flex:0 0 124px;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:8px;letter-spacing:2px;color:var(--accent);transform:rotate(8deg)}
.location-stamp b{font:45px/1.1 var(--serif);margin:6px}
.location-scene{margin:0}.location-page .place-reference{background:transparent;box-shadow:0 10px 36px #30251818}.location-page .place-reference img{display:block;width:100%;height:auto}.location-page .enlarge{opacity:1;font-size:12px;padding:10px 14px}
.location-scene figcaption{display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:12px;color:var(--muted)}.location-scene figcaption a{min-height:32px}
.location-jumps{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--deep);color:#f6eedb;padding:18px 25px;margin:20px 0 65px}
.location-jumps>span{font:italic 20px var(--serif)}.location-jumps button{background:none;border:0;border-bottom:1px solid #d4bc8760;color:inherit;min-height:48px;padding:10px 8px;font-size:13px}.location-jumps button:hover{color:#efcd8b}
.location-chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:8%;scroll-margin-top:25px;margin-bottom:70px}.location-chapter-title h2,.location-beyond h2{font-size:clamp(34px,4vw,50px)}
.location-chapter-title>p:not(.eyebrow){color:var(--muted);max-width:480px}.location-program{min-width:0}
.location-stops{list-style:none;padding:0;margin:0 0 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 25px}.location-stops li{display:flex;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0}.location-stops li>span{font:italic 25px var(--serif);color:var(--accent)}.location-stops li p{margin:0;font-size:15px}
.location-layout{border-left:2px solid #b19c72;padding-left:24px}.location-layout p{font-size:15px;line-height:1.8;margin:18px 0}.location-note{margin:25px 0}.location-note h3{font-size:23px}
.location-plan{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 0}.location-plan summary,.location-design summary{cursor:pointer;min-height:56px;padding:14px 0;font-size:14px}.location-plan summary span{float:right;color:var(--accent)}.location-plan[open] summary span{transform:rotate(45deg)}.location-plan .place-reference{margin:15px 0 22px;box-shadow:none}
.location-people{background:#e8e7da;padding:38px;margin:0 0 70px;scroll-margin-top:25px}.location-people .location-chapter-title{margin-bottom:25px}.location-people .residents{grid-template-columns:repeat(2,minmax(0,1fr))}.location-people .portrait-card{background:#faf7ed}
.location-beyond{border-top:1px solid var(--line);padding-top:45px;margin-bottom:55px;scroll-margin-top:25px}.location-beyond>p:not(.eyebrow){color:var(--muted)}
.place-postcard{display:flex;flex-direction:column;border:1px solid var(--line);background:#fcfaf4;overflow:hidden;transition:transform .2s,box-shadow .2s}.place-postcard:hover{transform:translateY(-3px);box-shadow:0 8px 25px #30251810}.place-postcard>img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;background:#e7dbc3}.place-postcard>div:not(.place-postcard-symbol){padding:22px;flex:1;display:flex;flex-direction:column}.place-postcard h3{font-size:28px}.place-postcard .eyebrow{font-size:9px}.postcard-invitation{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:auto;padding-top:12px}.place-postcard-symbol{height:100px;display:grid;place-content:center;background:#e8e7da;font:50px var(--serif);color:#a28b63}
.location-design{border-top:1px solid var(--line);margin-bottom:30px;color:var(--muted);font-size:13px}.location-design>p{max-width:850px}.location-design summary{font:18px/1.6 var(--serif)}
.location-unillustrated{padding:40px;background:#e8e7da;text-align:center;color:var(--muted)}.location-unillustrated>span{font:60px var(--serif);color:var(--accent)}.location-unillustrated p{font:30px var(--serif);margin:10px}.location-unillustrated small{font-size:12px}
@media(max-width:1000px){.location-jumps{flex-wrap:wrap}.location-jumps>span{flex-basis:100%}.location-chapter{gap:5%;grid-template-columns:1fr 1.6fr}.location-people .residents{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.location-page{padding-top:20px}.location-welcome{padding:12px 0 28px}.location-stamp{display:none}.location-welcome h1{font-size:48px}.location-intro{font-size:18px}.location-scene figcaption{flex-direction:column;gap:4px}.location-jumps{gap:6px;padding:18px;margin:12px 0 38px}.location-jumps button{font-size:12px}.location-chapter{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.location-people{padding:24px 18px;margin-bottom:40px}.location-people .residents{grid-template-columns:1fr}.location-stops{gap:16px}.location-stops li{gap:10px}.location-stops li p{font-size:14px}.location-beyond{padding-top:30px}.location-page .enlarge{font-size:10px;padding:6px 9px}.location-plan .enlarge{position:static;display:block;text-align:center}.location-page .person-footer{font-size:12px}}

/* Compact directory introductions keep browsing within reach. */
.directory-page{padding-top:24px}
.directory-page .pageheading{margin-bottom:10px}
.directory-page .pageheading .eyebrow{margin-bottom:5px}
.directory-page .pageheading h1{font-size:clamp(32px,3.4vw,46px);margin-bottom:8px}
.directory-page .pageheading .intro{font-size:15px;line-height:1.5;margin-bottom:0;max-width:none}
.directory-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.directory-page .filters{margin:10px 0 8px;padding:14px 18px}
.directory-page .resultcount{margin:8px 0 14px}
.places-directory .village-map-fold{margin:0 0 10px}
.places-directory .village-map-fold summary{min-height:44px;padding:10px 0;font:16px/1.5 var(--serif)}
.places-directory .place-category-nav{margin:10px 0;gap:6px}
.places-directory .place-category-group{margin:22px 0 40px}
.places-directory .place-category-heading{padding-top:14px;margin-bottom:16px;gap:12px}
.places-directory .place-category-heading h2{font-size:28px;margin-bottom:5px}
.places-directory .place-category-heading .eyebrow{margin-bottom:4px}
@media(max-width:800px){.places-directory .place-category-nav{display:none}.directory-page{padding-top:20px}.directory-page .filters{padding:12px}.places-directory .place-category-heading>span{display:none}}

/* Small illustrated address plaques below the location art. */
.place-postcard{--place-accent:#85654d;border-radius:5px;border-color:#d8cdbc}
.place-postcard[data-place-category="food"]{--place-accent:#986045}
.place-postcard[data-place-category="craft"]{--place-accent:#516d79}
.place-postcard[data-place-category="community"]{--place-accent:#59756b}
.place-postcard[data-place-category="nature"]{--place-accent:#687649}
.place-postcard[data-place-category="districts"]{--place-accent:#78627f}
.place-postcard[data-place-category="systems"]{--place-accent:#687470}
.place-postcard>div.postcard-caption{position:relative;display:block;flex:1;padding:12px 52px 13px 16px;border-top:2px solid var(--place-accent);background:linear-gradient(110deg,#fcfaf4,#f1ebdf)}
.place-postcard .postcard-caption .eyebrow{color:var(--place-accent);font-size:9px;letter-spacing:1.3px;line-height:1.4;margin:0 0 5px}
.place-postcard .postcard-caption h3{font-size:23px;line-height:1.15;margin:0;overflow-wrap:anywhere}
.postcard-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--place-accent);border-radius:50%;color:var(--place-accent);font-size:16px;transition:background .2s,color .2s}
.place-postcard:hover .postcard-arrow,.place-postcard:focus-visible .postcard-arrow{background:var(--place-accent);color:#fffaf0}
@media(max-width:600px){.place-postcard>div.postcard-caption{padding:10px 48px 11px 13px}.place-postcard .postcard-caption h3{font-size:22px}.postcard-arrow{right:12px}}

/* Everyday life belongs to familiar places, rather than extra service buildings. */
.directory-links{display:flex;flex-wrap:wrap;gap:0 24px}
.life-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.life-card{display:block;border:1px solid var(--line);border-top:3px solid #a18a66;border-radius:5px;background:linear-gradient(120deg,#fcfaf4,#eee8db);padding:20px 22px}
.life-card:hover{border-color:var(--accent)}
.life-card .eyebrow{font-size:9px;margin-bottom:8px}.life-card h3{font-size:25px;margin-bottom:10px}.life-card p{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:12px}.life-card-link{font-size:12px;color:var(--accent)}
.everyday-at{margin:45px 0;border-top:1px solid var(--line);padding-top:28px}.everyday-at>p{color:var(--muted)}
.life-story{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;margin-top:30px}.life-story aside{padding:25px;background:#e9e7db;align-self:start}.life-story h2{font-size:30px}.life-story h3{margin-top:25px}.life-art{margin:24px 0}.life-art figcaption{font-size:12px;color:var(--muted);margin-top:8px}.life-sketchbook{margin:28px 0;border-block:1px solid var(--line);padding:15px 0}.life-sketchbook summary{cursor:pointer;min-height:32px}.life-well-link{padding:20px;background:#e9e7db}.life-well-link a{text-decoration:underline}
@media(max-width:650px){.life-grid,.life-story{grid-template-columns:1fr}.life-card{padding:17px}.life-story{gap:22px}.everyday-at{margin:32px 0}.directory-links{gap:0 16px}}
