@layer reset,base,layout,components,utilities;
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p,ul,ol,figure{margin:0}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}html{scroll-padding-top:30px}svg{display:block}}
@layer base{
:root{--ink:#202729;--muted:#56615f;--orange:#ee6413;--orange-dark:#9b3906;--cream:#f6f5f0;--paper:#fff;--line:#d6dcd7;--green:#e8ece5;--max:1216px;--radius:12px;color-scheme:light}
body{background:var(--cream);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.23em}a:hover{text-decoration-thickness:2px}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #145cc0;outline-offset:4px}button{cursor:pointer}h1,h2,h3{line-height:1.12;letter-spacing:-.04em;font-weight:720}h1{font-size:clamp(2.5rem,5.7vw,5rem);max-width:970px}h2{font-size:clamp(1.8rem,3vw,2.7rem)}h3{font-size:1.25rem;line-height:1.3}p+p{margin-top:1em}ul,ol{padding-left:1.4em}strong{font-weight:700}::selection{background:#ffceac;color:#202729}
}
@layer layout{
.wrap{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.section{padding-block:76px}.section-sm{padding-block:42px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.flow>*+*{margin-top:22px}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:34px}.section-head p{color:var(--muted);max-width:430px}.pale{background:var(--green)}.white{background:white}.rule{border-top:1px solid var(--line)}
.preview-strip{background:#202729;color:#fff;text-align:center;padding:6px 20px;font-size:.72rem;letter-spacing:.025em}.topbar{border-bottom:1px solid var(--line);padding:9px 0;color:var(--muted);font-size:.76rem}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}.topbar a{font-weight:650;text-decoration:none}.site-header{background:var(--cream);position:relative;z-index:10;border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:24px}.logo{flex:none}.logo img{width:225px;height:auto}.desktop-nav{display:flex;gap:23px;align-items:center;font-size:.87rem;font-weight:630}.desktop-nav>a{padding:10px 0;text-decoration:none}.desktop-nav details{position:relative}.desktop-nav summary{list-style:none;cursor:pointer;padding:12px 0}.desktop-nav summary::-webkit-details-marker{display:none}.desktop-nav summary::after{content:'⌄';margin-left:6px}.nav-panel{position:absolute;top:100%;left:-20px;min-width:255px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 35px #20272915;padding:12px}.nav-panel a{display:block;text-decoration:none;padding:9px 12px;border-radius:5px;font-weight:500}.nav-panel a:hover{background:var(--cream)}.header-actions{display:flex;align-items:center;gap:14px}.mobile-menu{display:none}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);padding:9px 13px;border-radius:6px;font-size:.9rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-links{position:absolute;left:0;right:0;top:100%;background:white;border-bottom:1px solid var(--line);padding:20px 32px;max-height:70vh;overflow:auto}.mobile-links a{display:block;padding:10px 0;text-decoration:none}.mobile-links strong{display:block;margin-top:12px;color:var(--orange-dark);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.home-hero{padding-block:49px 68px}.hero-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center}.hero-copy h1{font-size:clamp(2.8rem,5.5vw,5.1rem);line-height:1.025}.hero-copy h1 em{font-style:normal;color:var(--orange-dark)}.hero-copy .lead{max-width:510px;margin-block:25px 29px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:760;color:var(--orange-dark);margin-bottom:18px}.lead{font-size:1.08rem;color:var(--muted);line-height:1.7}.hero-photo{position:relative}.hero-photo>img{width:100%;aspect-ratio:1.05;object-fit:cover;object-position:center 57%;border-radius:var(--radius)}.photo-caption{position:absolute;bottom:22px;left:22px;right:22px;display:flex;align-items:center;gap:13px;background:#fffef7ed;padding:15px 18px;border-radius:8px;font-size:.8rem;line-height:1.5;backdrop-filter:blur(5px)}.photo-caption svg{color:var(--orange-dark);width:28px;height:28px;flex:none}.photo-caption strong{display:block;font-size:.9rem}.hero-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.micro{font-size:.8rem;color:var(--muted);margin-top:22px}.trustline{display:flex;justify-content:space-between;gap:30px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.84rem;font-weight:600}.trustline span{display:flex;align-items:center;gap:10px}.trustline svg{width:19px;height:19px;color:var(--orange-dark)}
.page-hero{padding-block:37px 56px}.breadcrumbs{font-size:.76rem;color:var(--muted);margin-bottom:31px}.breadcrumbs ol{list-style:none;display:flex;gap:10px;flex-wrap:wrap;padding:0}.breadcrumbs li+li::before{content:'/';margin-right:10px}.page-hero .lead{max-width:720px;margin-top:24px}.page-hero .hero-links{margin-top:28px}.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:68px;padding-bottom:74px;align-items:start}.prose{max-width:790px;min-width:0}.prose h2{font-size:1.8rem;margin:42px 0 18px;scroll-margin-top:24px}.prose>section:first-child h2{margin-top:0}.prose h3{font-size:1.25rem;margin:25px 0 12px}.prose p,.prose li{color:#3e4946}.prose p{margin-bottom:16px}.prose ul,.prose ol{margin-block:16px 24px}.prose img{border-radius:8px;max-height:620px;object-fit:contain;margin-block:24px}.prose a{color:#8e3508}.prose table{border-collapse:collapse;width:100%;margin:24px 0}.prose td,.prose th{border:1px solid var(--line);padding:12px;text-align:left;overflow-wrap:anywhere}.prose th{background:var(--green)}.table-scroll{overflow:auto;max-width:100%}.prose blockquote{border-left:3px solid var(--orange);padding:8px 20px;margin:20px 0;background:white}.prose iframe{display:none}.prose details{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px}.prose summary{cursor:pointer;font-weight:650}.sidebox{border:1px solid var(--line);border-radius:var(--radius);padding:27px;background:white}.sidebox h2{font-size:1.2rem;margin-bottom:15px}.sidebox nav{display:grid;gap:13px;font-size:.88rem}.sidebox .button{margin-top:25px;width:100%}.sidebox p{font-size:.85rem;color:var(--muted);margin-top:14px}
.cta-band{background:var(--ink);color:white;padding:49px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{font-size:clamp(1.9rem,3vw,2.8rem);max-width:650px}.cta-band p{color:#d2d9d4;margin-top:12px;max-width:550px}.site-footer{background:#e9ede6;margin-top:25px;padding:56px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.15fr;gap:45px}.footer-brand{max-width:260px}.footer-brand img{width:210px;margin-bottom:22px}.footer-brand p{font-size:.85rem;color:var(--muted)}.footer-col h2{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;margin:5px 0 18px}.footer-col ul{list-style:none;padding:0;display:grid;gap:9px;font-size:.83rem}.footer-col a{text-decoration:none}.footer-col a:hover{text-decoration:underline}.footer-col address{font-style:normal;font-size:.83rem;color:var(--muted);margin-bottom:15px}.social-icons{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.social-icons a{width:44px;height:44px;display:grid;place-items:center;border:1px solid #bcc6bd;border-radius:7px}.social-icons a:hover{background:#fff}.social-icons svg{width:19px;height:19px;fill:currentColor}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #ccd5cb;display:flex;justify-content:space-between;gap:25px;font-size:.73rem;color:var(--muted)}
}
@layer components{
.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:12px 20px;border:1px solid var(--ink);border-radius:6px;text-decoration:none;font-weight:700;font-size:.86rem;line-height:1.4;background:var(--ink);color:#fff}.button:hover{background:#37433e;text-decoration:none}.button.orange{background:#f67226;color:#161c1d;border-color:#f67226}.button.orange:hover{background:#ff934f}.button.outline{background:transparent;color:var(--ink);border-color:#aab4ac}.button.small{min-height:42px;padding:10px 15px;font-size:.8rem}.text-link{font-size:.87rem;font-weight:700}.card{display:flex;flex-direction:column;padding:29px;border:1px solid var(--line);border-radius:var(--radius);background:white;gap:18px;min-width:0}.card .number{color:var(--orange-dark);font-size:.78rem;font-weight:700;letter-spacing:.1em}.card p{color:var(--muted);font-size:.9rem;flex:1}.card a{font-weight:680;text-decoration:none}.card a:hover{text-decoration:underline}.card .card-link{font-size:.85rem;margin-top:auto}.card-photo{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:8px;margin-bottom:8px}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;padding:24px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:42px 1fr;gap:18px}.steps li::before{content:'0' counter(step);color:var(--orange-dark);font-size:.8rem;font-weight:700}.steps h3{margin-bottom:8px}.steps p{font-size:.9rem;color:var(--muted)}.image-rounded{border-radius:var(--radius)}.link-list{list-style:none;padding:0;display:grid;gap:0}.link-list li{border-bottom:1px solid var(--line)}.link-list a{display:flex;justify-content:space-between;padding:17px 0;text-decoration:none;gap:15px;font-size:.95rem}.link-list a::after{content:'↗';color:var(--orange-dark)}.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line);padding:20px 0}.faqs summary{font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:22px}.faqs summary::after{content:'+';color:var(--orange-dark);font-size:1.3rem}.faqs details[open] summary::after{content:'−'}.faqs details p{margin:15px 35px 0 0;color:var(--muted);font-size:.92rem}.pill{display:inline-block;font-size:.72rem;border:1px solid var(--line);border-radius:30px;padding:4px 11px;color:var(--muted);margin-bottom:12px}.notice{border-left:3px solid var(--orange);background:#fff1e5;padding:18px 22px;font-size:.86rem;line-height:1.7;margin:0 0 28px}.notice strong{display:block}.archive-note{border:1px solid #d6b99f;background:#fff5eb;padding:14px 20px;border-radius:8px;font-size:.78rem;color:#654b37;margin-bottom:25px}.social-row{display:grid;grid-template-columns:52px 1fr 25px;gap:20px;border-bottom:1px solid var(--line);padding:25px 0;align-items:center}.social-row .icon-box{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);background:white;border-radius:12px}.social-row svg{width:24px;height:24px;fill:currentColor}.social-row h2{font-size:1.2rem;margin:0 0 7px}.social-row p{font-size:.9rem;color:var(--muted)}.social-row>a{text-decoration:none}.directory-search{width:100%;max-width:600px;padding:14px 16px;border:1px solid #9daaa0;border-radius:6px;background:white;margin:18px 0 25px}.directory-group{margin:26px 0}.directory-group h2{font-size:1.5rem;margin-bottom:12px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}.directory-grid a,.coverage-label{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.coverage-label{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery figure{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.gallery img{aspect-ratio:1.3;object-fit:cover;width:100%}.gallery figcaption{padding:14px 18px;font-size:.85rem}.article-toolbar{display:flex;gap:15px;font-size:.78rem;margin-bottom:25px;color:var(--muted)}.article-toc{border:1px solid var(--line);border-radius:8px;padding:20px;background:white;margin:0 0 28px}.article-toc h2{font-size:1rem;margin:0 0 12px}.article-toc ul{margin:0;display:grid;gap:6px;font-size:.86rem}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;align-items:start}.quote-form{min-width:0}.quote-form fieldset{border:0;border-top:1px solid var(--line);padding:28px 0;margin:0}.quote-form legend{padding:0 14px 0 0;font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:.86rem;font-weight:650}.field input,.field select,.field textarea{border:1px solid #8e9d92;background:white;border-radius:6px;padding:12px;width:100%;min-height:48px;color:var(--ink)}.field textarea{resize:vertical;min-height:110px}.field small{font-size:.76rem;color:var(--muted)}.field-error{color:#a22417;font-size:.8rem}.field [aria-invalid=true]{border-color:#b02a1d}.check{display:flex;gap:12px;align-items:start;font-size:.83rem}.check input{margin-top:7px;width:18px;height:18px;flex:none}.form-errors{border:2px solid #ad3428;border-radius:8px;padding:22px;background:#fff5f3;margin-bottom:25px}.form-errors h2{font-size:1.2rem;margin-bottom:10px}.form-errors ul{font-size:.9rem}.form-status{margin:18px 0;font-size:.9rem}.quote-form details{margin:20px 0 28px;border:1px solid var(--line);border-radius:8px;padding:18px}.quote-form details summary{font-weight:650;cursor:pointer}.quote-form details .fields{margin-top:22px}.quote-form button[type=submit]{margin:24px 0 10px}.consent{position:fixed;z-index:40;bottom:18px;left:18px;width:min(440px,calc(100% - 36px));background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 35px #20272925;padding:22px}.consent h2{font-size:1.1rem;margin-bottom:8px}.consent p{font-size:.8rem;color:var(--muted)}.consent-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.consent [data-consent=decline]{background:white;color:var(--ink)}
}
@layer utilities{.sr-only,.trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;z-index:100;top:-100px;left:20px;background:white;padding:12px}.skip:focus{top:12px}.muted{color:var(--muted)}.narrow{max-width:790px}.mb{margin-bottom:28px}.mt{margin-top:30px}.center{text-align:center}.hidden,[hidden]{display:none!important}}
@media(min-width:1600px){.hero-copy h1{font-size:5rem}}
@media(max-width:1120px){.desktop-nav{gap:14px}.logo img{width:185px}.header-row{gap:18px}.desktop-nav{font-size:.79rem}.header-actions .button{padding-inline:13px}.hero-layout{gap:35px}.page-grid{gap:35px;grid-template-columns:minmax(0,1fr) 250px}.footer-grid{gap:25px}}
@media(max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block}.hero-layout{gap:30px}.hero-copy h1{font-size:3.3rem}.split{gap:32px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.page-grid{grid-template-columns:1fr}.sidebox{max-width:100%}.sidebox nav{grid-template-columns:1fr 1fr}.form-layout{grid-template-columns:1fr}.form-layout aside{max-width:100%}.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.section{padding-block:48px}.section-sm{padding-block:28px}.topbar{font-size:.68rem}.topbar .wrap span{max-width:52%}.topbar .email-top{display:none}.header-row{padding-block:18px;gap:12px}.logo img{width:170px}.header-actions{gap:8px}.header-actions>.button{display:none}.mobile-menu summary{padding:10px 13px;min-height:44px}.hero-layout,.split{grid-template-columns:1fr;gap:32px}.home-hero{padding-block:34px 40px}.hero-copy h1{font-size:clamp(2.8rem,11.5vw,4rem)}.hero-copy .lead{margin-block:22px;font-size:1rem}.hero-links{gap:18px}.hero-photo>img{aspect-ratio:1.18;object-position:center 55%}.photo-caption{left:13px;right:13px;bottom:13px;padding:12px;font-size:.72rem}.photo-caption strong{font-size:.8rem}.trustline{display:grid;grid-template-columns:1fr;gap:14px;padding:22px 0;font-size:.8rem}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:18px;font-size:.92rem}.grid-3,.grid-2{grid-template-columns:1fr;gap:17px}.card{padding:25px}.cta-band{display:block;padding:30px}.cta-band .button{margin-top:25px}.page-hero{padding-block:25px 35px}.breadcrumbs{margin-bottom:25px}.page-hero h1{font-size:2.7rem;overflow-wrap:anywhere}.page-hero .lead{font-size:1rem}.page-grid{padding-bottom:45px}.prose h2{font-size:1.6rem;overflow-wrap:anywhere}.sidebox{padding:24px}.sidebox nav{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px}.footer-brand{grid-column:1/-1}.footer-brand img{width:205px}.footer-bottom{display:block}.footer-bottom>div+div{margin-top:12px}.site-footer{padding-top:38px}.fields{grid-template-columns:1fr;gap:20px}.form-layout{gap:35px}.directory-grid{grid-template-columns:1fr 1fr;gap:6px 18px}.gallery{grid-template-columns:1fr}.social-row{grid-template-columns:44px 1fr;gap:14px}.social-row>a:last-child{display:none}.social-row .icon-box{width:42px;height:42px}.social-row h2{font-size:1.08rem}.form-errors{padding:18px}.prose table{font-size:.86rem}.prose td,.prose th{padding:9px}.prose pre{white-space:pre-wrap}.notice{padding:16px}.consent{bottom:12px;left:12px;width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.preview-strip,.consent,.sidebox,.header-actions,.cta-band{display:none}.wrap{width:100%}.page-grid{display:block}a{text-decoration:underline}body{background:white;color:#000}}
.directory-grid>[data-directory-item]{min-width:0;overflow-wrap:anywhere}.directory-grid>span[data-directory-item]{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--muted)}
/* Comprehensive quotation: progressive conditional questions, without a framework. */
.quote-form fieldset{min-inline-size:0}.quote-form .choice-group{border:0;padding:0;margin:0}.quote-form .choice-group>legend{font-size:.9rem;letter-spacing:0;margin-bottom:10px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.check.choice{padding:12px;border:1px solid var(--line);border-radius:6px;background:white;min-height:48px}.check.choice input{margin-top:3px}.check.choice span{overflow-wrap:anywhere}.quote-section>legend{max-width:100%;line-height:1.4}.quote-section>.fields{margin-top:12px}.survey-intro{margin:0 0 22px;font-size:.9rem;color:var(--muted)}.enquiry-reference{padding:22px;border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:30px}.enquiry-reference>span{display:block;font-size:.85rem;color:var(--muted)}.enquiry-reference>strong{display:block;font-size:1.45rem;letter-spacing:.04em;overflow-wrap:anywhere;margin:8px 0}.enquiry-reference>p{font-size:.85rem}.survey-next{border:1px solid #e3b89a;border-left:5px solid var(--orange);border-radius:10px;padding:clamp(20px,4vw,36px);background:#fff3e7}.survey-next p,.survey-alternative p{margin:16px 0}.survey-next .eyebrow{margin-top:0}.survey-button{max-width:100%;white-space:normal;text-align:left;justify-content:space-between;margin-top:8px}.survey-button svg{flex:none}.survey-alternative,.survey-checklist{margin-top:36px}.survey-checklist li{margin:10px 0}.field[hidden],.quote-section[hidden],[data-required-marker][hidden]{display:none!important}@media(max-width:600px){.choice-grid{grid-template-columns:1fr}.survey-button{font-size:.85rem;padding:14px}.quote-form legend{font-size:1.08rem}}
/* Individually authored local guides: images retain their full scene and captions. */
.location-photo{margin:0 0 36px;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.location-photo img{width:100%;height:auto;object-fit:contain}.location-photo figcaption{padding:12px 18px;font-size:.74rem;line-height:1.6;color:var(--muted)}.location-review-note{font-size:.78rem;color:#6a4b37;border-left:3px solid #dfb797;background:#fff5eb;padding:12px 16px;margin-bottom:24px}[data-location-copy]>section{margin:30px 0}[data-location-copy]>section>h2{font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.22;margin-bottom:14px}.location-practical{padding-top:10px}.location-links{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.location-links h2{font-size:1.35rem;line-height:1.3;margin-bottom:15px}.location-links ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;font-size:.9rem;margin-bottom:18px}.location-links a{overflow-wrap:anywhere}@media(max-width:600px){.location-links ul{grid-template-columns:1fr}.location-photo figcaption{padding:12px}.location-review-note{font-size:.75rem}}

/* Profile directory and uncropped fleet archive photographs. */
.social-directory>h2{margin-bottom:28px}.social-card .icon-box{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#f5f6f1)}.social-card svg{width:26px;height:26px;fill:currentColor}.social-card h3{font-size:1.3rem}.social-card .card-link{line-height:1.6}.fleet-gallery img{display:block;aspect-ratio:1.15;object-fit:contain;background:#eef0eb}.fleet-gallery figcaption{font-weight:700}

/* Photograph-led editorial layouts. Image names and licensing notes stay in internal inventories; public captions describe the scene. */
.editorial-photo{margin:24px 0 36px;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#fff}.editorial-photo img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}.editorial-photo figcaption{padding:13px 18px;color:var(--muted);font-size:.82rem;line-height:1.6}.editorial-photo-small img{max-height:420px}.editorial-home-strip{padding-block:45px 55px}.editorial-home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:54px;align-items:center}.editorial-home-layout h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.16}.editorial-home-layout p{line-height:1.75}.editorial-home-layout .editorial-photo{margin:0}.photo-credit{display:inline-block;color:var(--muted);font-size:.72rem}.location-photo figcaption{font-size:.83rem}.prose .editorial-photo+ h2{margin-top:1.5em}@media(max-width:900px){.editorial-home-layout{grid-template-columns:1fr;gap:25px}.editorial-home-strip{padding-block:26px 36px}}

/* 2026 editorial polish: photographs, captions, directories and navigation.
   These carefully scoped rules also correct the inherited paragraph image margins
   that previously separated images from their own captions. */
.prose figure.editorial-photo,.prose figure.location-photo{margin:24px 0 40px}
.prose figure.editorial-photo>img,.prose figure.location-photo>img{display:block;width:100%;height:auto;max-height:560px;margin:0;border-radius:0;object-fit:contain;background:#eef0eb}
.prose figure.editorial-photo figcaption,.prose figure.location-photo figcaption{margin:0;padding:14px 18px;border-top:1px solid var(--line);background:#fff;color:#52605b;line-height:1.55;font-size:.85rem}
.prose figure.editorial-photo-small>img{max-height:420px}
.prose figure.location-photo>img{max-height:640px}
.prose .article-toc{padding:22px 24px;border:1px solid var(--line);border-radius:10px;background:#fff;margin:30px 0}
.prose .article-toc h2{font-size:1.15rem;margin:0 0 12px}
.prose .article-toc ul{columns:2;column-gap:25px;margin:0}
.prose .article-toc li{break-inside:avoid;margin-bottom:10px}
.prose .archive-note{background:#fff7ed;border-left:3px solid var(--orange-dark);padding:16px 20px;font-size:.85rem;line-height:1.5}
.directory-grid a[data-directory-item]{display:block;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.directory-grid a[data-directory-item]:hover{color:var(--orange-dark)}
.sidebox{position:relative}
@media(max-width:640px){
  .prose figure.editorial-photo,.prose figure.location-photo{margin:20px 0 30px}
  .prose figure.editorial-photo figcaption,.prose figure.location-photo figcaption{padding:12px 14px;font-size:.78rem}
  .prose .article-toc ul{columns:1}
  .prose .article-toc{padding:18px}
  .editorial-home-layout{gap:25px}
  .directory-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){.directory-grid{grid-template-columns:1fr}}
