@font-face{font-family:Manrope;src:url('/demos/fonts/Manrope.woff?v=compressed1') format('woff');font-weight:200 800;font-display:swap}@font-face{font-family:Cormorant;src:url('/demos/fonts/CormorantGaramond.woff?v=compressed1') format('woff');font-weight:500;font-display:swap}
:root{--paper:#f7f5ef;--ink:#202521;--accent:#555b4d;--soft:#e9e6df;--line:#20252133}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Manrope,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,select{font:inherit;color:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}button:disabled{cursor:default}[hidden]{display:none!important}.skip{position:absolute;left:18px;top:-80px;z-index:30;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.concept{padding:10px 5vw;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.08em}.concept a{white-space:nowrap}.concept span{align-self:center}header{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;gap:30px;border-bottom:1px solid var(--line)}.brand{font:600 29px/1.05 Cormorant,Georgia,serif;max-width:400px;text-decoration:none}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.nav-cta{border-bottom:1px solid var(--ink)}.hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:670px;max-width:1680px;margin:auto}.hero-copy{padding:80px 5vw 66px;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;line-height:1.6;font-weight:650;color:var(--accent)}h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:500;text-wrap:balance}h1{font-size:clamp(62px,6.2vw,102px);line-height:.98;letter-spacing:-.035em;margin:28px 0;max-width:650px}h2{font-size:clamp(43px,4.8vw,68px);line-height:1.05;letter-spacing:-.025em;margin:18px 0}h3{font-size:35px;line-height:1.1;margin:18px 0}.lede{font-size:17px;line-height:1.75;max-width:460px;color:var(--ink)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}.button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);min-height:50px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;text-decoration:none;text-align:center}.button:hover{filter:brightness(1.12)}.button.outline{background:transparent;color:var(--ink)}.text-link{min-height:44px;display:inline-flex;align-items:center;font-size:13px;text-decoration:none;border-bottom:1px solid currentColor}.hero-caption{display:flex;align-items:center;gap:15px;margin-top:66px;font-size:9px;letter-spacing:.15em}.line{width:45px;height:1px;background:var(--ink)}figure{margin:0}.hero-figure{position:relative;overflow:hidden;background:var(--soft);min-height:620px}.hero-figure img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-figure figcaption{position:absolute;bottom:16px;left:20px;right:20px;font-size:11px;line-height:1.5;background:var(--paper);color:var(--ink);padding:9px 12px;width:fit-content;max-width:calc(100% - 40px)}.reverse .hero-figure{order:-1}.reverse .hero-copy{padding-right:5vw;padding-left:5vw}.portrait .hero{padding:40px 5vw;gap:6vw;min-height:690px;grid-template-columns:1.03fr 1fr}.portrait .hero-copy{padding:30px 0}.portrait .hero-figure{min-height:580px}.facts{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:23px 5vw;border-block:1px solid var(--line);font-size:11px;letter-spacing:.08em}.facts a{min-height:24px}.section{padding:90px 5vw;max-width:1680px;margin:auto}.intro{display:grid;grid-template-columns:.35fr 1fr .85fr;gap:40px;align-items:start}.intro .eyebrow{margin-top:23px}.intro h2{font-size:47px;margin:12px 0}.intro p{max-width:520px;font-size:16px;line-height:1.85}.section-top{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}.section-top p{max-width:345px;margin:0 0 15px;color:var(--ink);font-size:14px}.services-section{border-top:1px solid var(--line)}.service-discovery{display:grid;grid-template-columns:1fr 1fr;gap:70px}.service-choices{border-top:1px solid var(--line)}.service-choice{background:transparent;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;text-align:left;padding:23px 0;width:100%;font-size:18px;min-height:76px}.service-choice span:last-child{margin-left:auto}.index{font-size:10px;font-weight:650;min-width:20px}.service-choice[aria-pressed=true]{font-weight:700;border-bottom-color:var(--ink)}.service-choice[aria-pressed=true] .index{color:var(--accent)}.service-panels{background:var(--soft);padding:42px 48px;min-height:270px;display:flex;align-items:center}.service-panel h3{font-size:42px}.service-panel p{max-width:500px;font-size:15px}.film{border-top:1px solid var(--line)}.film-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:55px;align-items:center}.film video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:var(--soft)}.film-aside p{font-size:13px;line-height:1.8}.video-status{min-height:1em}.visit-section{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;background:var(--soft);max-width:none}.visit-section h2{max-width:550px}.address{font:26px/1.5 Cormorant,Georgia,serif;max-width:550px}.visit-planner{align-self:start;padding:42px;background:var(--paper);border:1px solid var(--line)}.visit-planner h3{font-size:40px}.visit-planner label{display:block;font-size:13px;margin:25px 0 8px}.visit-planner select{width:100%;border:1px solid var(--line);border-radius:0;background:var(--paper);padding:14px;min-height:50px;font-size:14px}.visit-planner [data-visit-summary]{font-size:14px;min-height:80px;margin:24px 0 0}.fine{font-size:12px;line-height:1.8}.visit-planner .fine{margin-top:22px}.text-button{border:0;background:transparent;border-bottom:1px solid var(--ink);padding:10px 0;font-size:13px;min-height:44px}.copy-status{font-size:12px;min-height:20px;margin:6px 0 0}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:16px;list-style:none}summary::after{content:'+';font-size:22px;flex-shrink:0}details[open] summary::after{content:'−'}summary::-webkit-details-marker{display:none}details p{font-size:14px;max-width:680px}.hours-details{margin-top:28px;max-width:580px}.hours-details summary{font-size:14px}.hours{font-size:13px;margin:15px 0}.hours>div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.hours dd{margin:0;text-align:right}.faq{max-width:950px}.faq h2{margin-bottom:32px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:40px 5vw;border-top:1px solid var(--line);font-size:12px}footer>div:last-child{display:flex;gap:35px}.footer-brand{font-size:18px;letter-spacing:.15em;text-decoration:none}footer p{margin:6px 0}.source-note{padding:18px 5vw 30px;font-size:11px;line-height:1.8;max-width:1200px}.mobile-action{display:none}.directory-intro{padding-bottom:38px}.directory h1{font-size:clamp(58px,6vw,88px);max-width:1000px}.directory .lede{max-width:610px}.directory .fine{max-width:620px}.directory-filters{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:26px;margin-top:45px;font-size:13px}.directory-filters select{margin-left:15px;padding:10px 15px;background:transparent;border:1px solid var(--line);min-height:44px}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 28px;padding-top:10px}.directory-tile{text-decoration:none;display:block;min-width:0}.directory-tile img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block;filter:saturate(.8)}.tile-meta{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:18px}.directory-tile h2{font-size:32px;margin:12px 0 4px;line-height:1.1}.directory-tile .text-link{font-size:11px;min-height:40px}.offer-section{background:var(--soft);max-width:none}.offer-section p{max-width:550px}
@media(min-width:1700px){.hero-copy{padding-inline:80px}.portrait .hero-copy{padding-inline:0}}@media(max-width:1050px){header{gap:18px}.brand{font-size:25px}nav{gap:18px}.hero{min-height:610px}.hero-copy{padding-block:55px}.hero-figure{min-height:570px}.hero-caption{margin-top:40px}.intro{grid-template-columns:.25fr 1fr 1fr;gap:22px}.intro h2{font-size:40px}.service-discovery{gap:35px}.film-grid{gap:35px;grid-template-columns:1.5fr 1fr}.visit-section{gap:40px}.visit-planner{padding:28px}}
@media(max-width:750px){body{font-size:16px}.concept{font-size:9px;padding:10px 6vw;letter-spacing:.04em}.concept span{max-width:58%}header{padding:22px 6vw;align-items:start;gap:20px}.brand{font-size:24px;max-width:62%}nav{gap:0;display:block}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px;max-width:140px;text-align:right;line-height:1.5;min-height:44px}.hero,.portrait .hero{display:flex;flex-direction:column;min-height:0;padding:0;gap:0}.hero-copy,.reverse .hero-copy,.portrait .hero-copy{padding:54px 6vw 45px}.hero h1{font-size:64px;letter-spacing:-.025em;margin:24px 0;max-width:600px}.eyebrow{font-size:10px;letter-spacing:.12em}.lede{font-size:16px;line-height:1.75}.hero-caption{margin-top:35px}.hero-figure,.portrait .hero-figure{min-height:420px;height:420px;width:100%;order:2!important}.hero-figure img{object-position:center}.hero-figure figcaption{left:6vw;right:6vw;bottom:18px;font-size:10px;padding:8px 10px;max-width:88%;width:fit-content}.facts{padding:18px 6vw;font-size:10px;letter-spacing:.03em}.facts span{flex-basis:100%}.section{padding:58px 6vw}.intro{display:block}.intro h2{font-size:44px;margin:22px 0}.intro p{font-size:15px}.section-top{display:block;margin-bottom:28px}.section-top p{font-size:14px;max-width:480px}.section-top h2{font-size:48px}.service-discovery{grid-template-columns:1fr;gap:25px}.service-choice{font-size:16px;min-height:70px;gap:18px}.service-panels{padding:28px;min-height:245px}.service-panel h3{font-size:37px}.film-grid{display:block}.film-aside{padding-top:25px}.film-aside h3{font-size:34px}.visit-section{grid-template-columns:1fr;gap:35px}.visit-section h2{font-size:45px}.visit-planner{padding:28px 23px}.visit-planner h3{font-size:36px}.visit-planner [data-visit-summary]{min-height:60px}.visit-planner .actions{gap:14px}.visit-planner .button{width:100%}.faq h2{font-size:44px}summary{font-size:15px}footer{display:block;padding:32px 6vw}footer>div:last-child{display:flex;flex-direction:column;gap:12px;margin-top:24px}.source-note{padding:20px 6vw 115px;font-size:10px}.mobile-action{display:flex;position:fixed;bottom:0;left:0;right:0;padding:11px 6vw;background:var(--paper);border-top:1px solid var(--line);gap:10px;z-index:10;box-shadow:0 -4px 20px #00000008}.mobile-action .button{min-height:48px;font-size:12px;padding:12px 15px}.mobile-action .button:first-child{flex:1}.directory h1{font-size:57px}.directory-intro{padding-bottom:25px}.directory-filters{gap:16px;flex-wrap:wrap;margin-top:32px}.directory-grid{grid-template-columns:repeat(2,1fr);gap:36px 20px;padding-top:20px}.directory-tile h2{font-size:28px}.tile-meta{font-size:9px}.directory footer{padding-bottom:30px}}
@media(max-width:480px){.directory-grid{grid-template-columns:1fr}.directory-tile img{aspect-ratio:16/11}.directory-tile h2{font-size:34px}.hero h1{font-size:57px}.hero-figure,.portrait .hero-figure{min-height:360px;height:360px}.actions{gap:18px}.button{font-size:12px;padding:13px 18px}.hero-copy .actions .text-link{font-size:12px}.hero-caption{font-size:8px}.visit-planner select{font-size:13px}.brand{font-size:23px}}
@media(max-width:350px){.hero h1{font-size:50px}.brand{font-size:21px}.hero .eyebrow{font-size:9px}.concept{font-size:8px}.visit-planner{padding:24px 18px}.visit-section h2{font-size:41px}.hero-figure,.portrait .hero-figure{height:320px;min-height:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.concept a:focus-visible{outline-color:var(--paper)}.service-panels{display:block}.concept,.concept span,.concept a,.hero-figure figcaption,.source-note,.tile-meta{font-size:12px}.hero-caption{font-size:10px}
.button,.text-link,nav,.mobile-action .button,.hero-copy .actions .text-link,.visit-planner select{font-size:14px}.eyebrow,.hero-caption{font-size:12px}

/* Final readability and detailed editorial sequence */
.intro p,.service-panel p,.film-aside p,.visit-planner [data-visit-summary],details p,.lede{font-size:16px}
.button,.text-link,nav,.mobile-action .button,.hero-copy .actions .text-link,.visit-planner select{font-size:14px}
.eyebrow,.hero-caption,.index,.fine,.concept,.concept span,.concept a,.source-note,.tile-meta,.hero-figure figcaption{font-size:12px}
select{border:1px solid var(--accent)!important}address{font-style:normal}
.detail-story{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center;border-top:1px solid var(--line)}
.detail-story figure{margin:0}.detail-story img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.detail-story figcaption{font-size:12px;margin-top:12px}.detail-story h2{font-size:clamp(38px,4vw,64px);line-height:1.1;margin:20px 0}
.detail-story p{font-size:16px;max-width:42ch}.detail-story .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}
@media(max-width:768px){.detail-story{grid-template-columns:1fr;gap:32px}.hero .eyebrow{font-size:12px}.directory-tile h2{font-size:32px}}
.nav-cta,.directory-tile .text-link,.text-button,.visit-planner label{font-size:14px}.hero .eyebrow,.index{font-size:12px}
.facts a,footer a,.source-note a,.concept a{font-size:14px;display:inline-flex;align-items:center;min-height:44px}.section-top p,.hours{font-size:16px}.facts{font-size:12px}
.detail-story img{aspect-ratio:auto;object-fit:contain}

/* Attributed customer review excerpts */
.selected-reviews{border-top:1px solid var(--line)}
.selected-reviews h2{margin-bottom:32px}
.review-excerpt{margin:0;max-width:850px}
.review-excerpt blockquote{margin:0;padding:0}
.review-excerpt blockquote p{font-family:var(--serif,Georgia,serif);font-size:clamp(25px,3.2vw,42px);line-height:1.35;margin:0 0 28px;overflow-wrap:anywhere}
.review-excerpt figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5}
.review-excerpt figcaption strong{font-weight:500}
.review-excerpt figcaption span,.review-note{opacity:.72}
.selected-reviews .text-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
.review-note{font-size:12px;line-height:1.6;margin-top:20px}
.review-links{display:flex;gap:12px 32px;flex-wrap:wrap;margin-top:20px}
@media(max-width:480px){.review-excerpt blockquote p{font-size:26px}.review-links{flex-direction:column;align-items:flex-start}}

/* Collection refinement: calm hierarchy, individual character, mobile-first flow. */
:root{--serif:Cormorant,Georgia,serif;--gutter:clamp(24px,5vw,80px)}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand{font-synthesis:none}
.hero h1{font-size:clamp(3rem,2rem + 4.4vw,6.375rem);line-height:1.02;max-width:11ch}
.hero-copy .lede{max-width:43ch}.hero-copy .actions{gap:16px 28px}
.section{padding-block:clamp(60px,7vw,110px)}
.hero-copy,.service-discovery>*{min-width:0}
.hero-caption{letter-spacing:.1em;line-height:1.6;color:var(--accent)}
.button{transition:background-color .18s,color .18s;line-height:1.5}
.button:hover{filter:none;background:var(--accent);color:var(--paper)}
.button.outline:hover{background:var(--soft);color:var(--ink)}
.text-link{line-height:1.5;gap:8px}.text-link:hover{color:var(--accent)}
.service-choice{position:relative;line-height:1.5;transition:padding-left .18s,background-color .18s}
.service-choice[aria-pressed=true]{padding-left:16px;background:var(--soft);font-weight:600}
.service-choice[aria-pressed=true]::before{content:'';position:absolute;left:0;top:22%;bottom:22%;width:2px;background:var(--accent)}
.service-panels{min-height:300px;background:transparent;border:1px solid var(--line)}
.service-panel h3{font-size:clamp(2rem,1.5rem + 2vw,2.625rem)}
.service-panel p,.film-aside p,.detail-story p{line-height:1.8;max-width:52ch}
.detail-story{gap:clamp(32px,7vw,100px)}
.detail-story figure{padding:clamp(14px,2vw,28px);background:var(--soft)}
.detail-story img{width:100%;height:auto;object-fit:contain}
.detail-story figcaption{line-height:1.6;letter-spacing:.02em}
.selected-reviews{display:grid;grid-template-columns:1fr 1.2fr;gap:0 7vw;align-items:start}
.selected-reviews>.eyebrow,.selected-reviews>h2{grid-column:1}
.selected-reviews>h2{max-width:9ch;margin-bottom:0}
.selected-reviews>.review-excerpt{grid-column:2;grid-row:1 / span 3;border-left:1px solid var(--line);padding-left:clamp(24px,4vw,64px)}
.review-excerpt blockquote p{font-family:var(--serif);font-size:clamp(1.625rem,1.25rem + 1.5vw,2.625rem);line-height:1.35}
.selected-reviews>.review-note{grid-column:2;padding-left:clamp(24px,4vw,64px)}
.selected-reviews>.review-links,.selected-reviews>p:not(.review-note){grid-column:2}
.review-excerpt figcaption span,.review-note{opacity:1;color:var(--ink)}
.direction-atelier .hero-figure img{object-position:55% center}
.direction-coast .hero-copy{align-self:start;padding-top:clamp(65px,8vw,125px)}
.direction-coast .hero-caption .line{width:75px;background:var(--accent)}
.direction-tailored .hero-figure{padding:22px;border:1px solid var(--line);background:var(--paper)}
.direction-tailored .hero-figure img{inset:22px;width:calc(100% - 44px);height:calc(100% - 44px)}
.direction-tailored .hero h1{max-width:9ch}
.direction-table .hero h1{font-size:clamp(3.5rem,2.5rem + 4.4vw,7rem)}
.direction-table .hero-caption .line{width:70px}
.direction-botanical .service-panels{background:var(--soft);border-color:transparent}
.direction-studio .hero-figure{border-left:1px solid var(--line)}
.direction-studio .hero-caption{letter-spacing:.14em}
.directory-grid{row-gap:64px}.directory-tile{border-bottom:1px solid var(--line);padding-bottom:20px}
.directory-tile img{transition:filter .2s;filter:saturate(.8)}
.directory-tile:hover img{filter:saturate(1)}
.directory-tile h2{max-width:22ch}.directory-filters label{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.directory-filters select{margin-left:0}.directory-filters #directory-count{margin-left:auto}
.faq summary{min-height:52px;line-height:1.6}
@media(max-width:1050px){nav{gap:16px}.brand{max-width:38%}.selected-reviews{gap:0 40px}}
@media(max-width:750px){
 .brand{max-width:60%}.hero h1,.direction-table .hero h1{font-size:clamp(3rem,1.75rem + 6.4vw,4.5rem);max-width:12ch}
 .hero-copy,.reverse .hero-copy,.portrait .hero-copy,.direction-coast .hero-copy{padding:48px 6vw 40px}
 .hero-caption{margin-top:28px}.hero-figure,.portrait .hero-figure{min-height:0;height:auto;aspect-ratio:4/3}
 .direction-tailored .hero-figure{width:88%;margin:0 6vw 30px}
 .section{padding-block:60px}.section h2,.intro h2,.section-top h2,.visit-section h2,.faq h2{font-size:clamp(2.5rem,1.8rem + 3vw,3.25rem);line-height:1.1}
 .service-panels{min-height:0;padding:28px 24px}.service-choice[aria-pressed=true]{padding-left:14px;padding-right:10px}
 .selected-reviews{display:block}.selected-reviews>h2{max-width:100%;margin-bottom:30px}
 .selected-reviews>.review-excerpt{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
 .selected-reviews>.review-note{padding-left:0}.review-excerpt blockquote p{font-size:1.75rem}
 .concept{gap:12px;align-items:center}.concept span{max-width:60%;line-height:1.6;letter-spacing:.04em}
 .concept a{white-space:normal;text-align:right;line-height:1.5;max-width:36%}
 .mobile-action{padding-bottom:calc(11px + env(safe-area-inset-bottom))}
 .source-note{padding-bottom:calc(115px + env(safe-area-inset-bottom))}
 .directory-filters{align-items:flex-start}.directory-filters #directory-count{margin-left:0;flex-basis:100%}
 .directory-filters label{width:100%;justify-content:space-between}.directory-filters select{max-width:65%}
 .directory h1{font-size:clamp(3rem,1.75rem + 6.4vw,4.5rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
