/* C.H.É editorial refresh. Shared public-page layer; application flows retain their existing hooks. */
:root{--ink:#1a1814;--ink-60:#655f57;--clay:#a0522d;--linen:#f5f2ed;--linen-d:#ede9e2;--rule:#d8d0c6;--t11:.75rem;--t13:.875rem;--t15:1rem;--sans:'Outfit',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--page-gutter:clamp(1.25rem,4.5vw,5rem)}
body{font-size:1rem;font-weight:300;line-height:1.65}
button,input,select,textarea{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--clay);outline-offset:5px}
button{touch-action:manipulation}
.site-nav{min-height:88px;padding:1rem var(--page-gutter);gap:1.5rem}
.site-nav .logo{font-size:1.5rem;letter-spacing:.13em;min-height:44px}
.nav-links{gap:1.5rem}.nl{font-size:.875rem;text-transform:none;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center}
.nb{font-size:.875rem;letter-spacing:0;text-transform:none;border-radius:2px;min-height:44px;padding:.5rem 1.125rem}
.btn{font-size:.875rem;font-weight:400;letter-spacing:.01em;text-transform:none;border-radius:2px;min-height:48px;padding:.875rem 1.5rem;line-height:1.4;justify-content:center;text-align:center;text-decoration:none}
.btn:hover{transform:none}.btn.ol{border-color:var(--rule)}
.editorial-shell{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--page-gutter)}
.eyebrow{font-size:.75rem;line-height:1.5;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin:0 0 1.5rem}
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6.5rem);padding-top:3.5rem;padding-bottom:4.5rem;align-items:center}
.home-hero h1{font-weight:300;font-size:clamp(3.75rem,6vw,6rem);letter-spacing:-.05em;line-height:1.03;margin:0 0 2rem}
.home-hero h1 em{font-family:var(--serif);font-weight:300;color:var(--clay);font-size:1.11em}
.home-intro{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.55;max-width:34ch;margin-bottom:1rem}
.home-support{color:var(--ink-60);font-size:1rem;margin-bottom:2.25rem;max-width:34ch}
.editorial-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.text-link{display:inline-block;color:var(--ink);font-size:.875rem;font-weight:400;line-height:1.5;border:0;border-bottom:1px solid currentColor;padding:.375rem 0;background:transparent;text-decoration:none;cursor:pointer;transition:color .2s}
.text-link:hover{color:var(--clay)}
.hero-story-link{display:inline-block;font-size:.875rem;color:var(--ink-60);text-underline-offset:4px;margin-top:2.5rem}
.hero-photograph{min-width:0;margin:0}
.hero-photograph img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:51% center}
figcaption{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;line-height:1.5;color:var(--ink-60);margin-top:.875rem}
.editorial-section{padding-top:5rem;padding-bottom:5rem;border-top:1px solid var(--rule)}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6.5rem);align-items:end;margin-bottom:3rem}
.section-heading h2,.founder-copy h2{font-size:clamp(2.125rem,3.5vw,3.25rem);font-weight:300;letter-spacing:-.035em;line-height:1.15;margin:0}
.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:43ch;color:var(--ink-60);margin:0;font-size:1rem;line-height:1.7}
.section-heading .text-link{margin-top:1.5rem}
.spaces-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.space-story{display:block;text-decoration:none;color:var(--ink)}
.space-story figure{overflow:hidden;margin:0;background:var(--linen-d)}
.space-story img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:opacity .2s}
.space-story:hover img{opacity:.9}
.space-story:nth-child(2) img{object-position:50% 48%}
.space-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.25rem 0 .5rem}
.space-heading h3{font-weight:300;font-size:1.5rem;letter-spacing:-.025em;margin:0}
.space-heading span{font-size:.75rem;color:var(--ink-60)}
.space-story p{font-size:1rem;color:var(--ink-60);margin:0 0 .75rem;max-width:40ch}
.section-tail{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--rule);margin-top:2.5rem;padding-top:1.5rem}
.section-tail p{color:var(--ink-60);font-size:.875rem;margin:0}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;list-style:none;margin:0;padding:0}
.steps-grid li{border-top:1px solid var(--rule);padding-top:1.5rem}
.step-number{display:block;color:var(--clay);font-size:.875rem;margin-bottom:1.5rem}
.steps-grid h3,.principles-grid h3{font-size:1.25rem;font-weight:400;letter-spacing:-.02em;margin:0 0 .75rem}
.steps-grid p,.principles-grid p{font-size:1rem;color:var(--ink-60);margin:0;max-width:34ch}
.conversation-prompt{margin-top:3rem;padding:2rem 2.5rem;background:var(--linen-d);display:grid;grid-template-columns:1fr 2fr;gap:.75rem 2rem;align-items:start}
.conversation-prompt .eyebrow{grid-row:span 2;margin:.5rem 0 0}
.conversation-prompt p{font-size:1.5rem;font-weight:300;letter-spacing:-.02em;line-height:1.4;margin:0}
.conversation-prompt>span:last-child{font-size:.875rem;color:var(--ink-60);max-width:55ch}
.etiquette-band{background:var(--ink);color:var(--linen);padding:5rem 0}
.etiquette-band .eyebrow{color:#ddb89e}.etiquette-band .section-heading p:not(.eyebrow),.etiquette-band .principles-grid p{color:#d2ccc3}
.etiquette-band .text-link{color:var(--linen)}
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}
.principles-grid>div{border-top:1px solid #655b50;padding-top:1.5rem}
.founder-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(2.5rem,8vw,8rem);padding-top:6rem;padding-bottom:6rem}
.founder-photograph{max-width:390px;margin:0}.founder-photograph img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;display:block}
.founder-copy h2{margin-bottom:1.75rem}.founder-copy>p:not(.eyebrow):not(.founder-signature){color:var(--ink-60);font-size:1.0625rem;max-width:44ch;margin:0 0 1rem}
.founder-signature{font-family:var(--serif);font-style:italic;font-size:2rem;margin:1.75rem 0}
.founder-signature span{display:block;font-family:var(--sans);font-style:normal;font-size:.75rem;color:var(--ink-60);margin-top:.25rem;letter-spacing:.02em}
.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.membership-card{border-top:1px solid var(--rule);padding-top:2rem}
.membership-card h3{font-size:2.5rem;font-weight:300;letter-spacing:-.04em;line-height:1.2;margin:0 0 1.25rem}
.membership-card h3 span{display:inline-block;font-size:1rem;letter-spacing:0;margin-left:1rem;color:var(--ink-60)}
.membership-card>p:not(.eyebrow){font-size:1rem;color:var(--ink-60);max-width:42ch;margin:0 0 1.75rem}
.membership-section{padding-bottom:6rem}
.sec-title{line-height:1.15}.sec-lbl{font-size:.75rem}.fsl,.sinp{border-radius:2px;min-height:48px;font-size:1rem}.sinp::placeholder{color:var(--ink-60)}
.fsl{appearance:auto;padding-right:.75rem}.pgrid{gap:1.5rem}.pcard{border-radius:2px}.pimg{height:230px}.pname{font-size:1.375rem}.tag{font-size:.75rem}
.browse-notice{grid-column:1/-1;max-width:680px;margin:auto;padding:4rem 1rem;text-align:center}.browse-notice .em-title{font-size:2rem;line-height:1.2}.browse-notice .em-body{font-size:1rem;max-width:44ch;margin:1rem auto 1.5rem}.browse-notice .editorial-actions{justify-content:center}
.menu-close{position:absolute;right:var(--page-gutter);top:1.5rem;background:none;border:0;border-bottom:1px solid var(--ink);padding:.5rem;cursor:pointer;color:var(--ink);min-height:44px}
.ham{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.mob-ov{padding:5rem 1.5rem 2rem;overflow:auto}.mob-ov>div{gap:1rem!important}.mob-item{font-size:1.75rem}.mob-cta{border-radius:2px}
.che-dot,.che-hd-sub::before{display:none!important}.che-bubble{z-index:250}.che-btn{box-shadow:none}.che-hd-name{font-weight:400}.che-hd-sub{font-size:.75rem}
.che-win{visibility:hidden}.che-win.open{visibility:visible}.che-inp{min-width:0}.che-x{min-width:40px;min-height:40px}
/* Standalone stories share the same type and navigation. */
.story-page{margin:0;background:var(--linen);color:var(--ink);font-family:var(--sans);font-weight:300}
.story-page *{box-sizing:border-box}.story-page p{line-height:1.7}
.story-nav{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding:1.25rem var(--page-gutter);gap:1.5rem;min-height:88px}
.story-brand{font-size:1.5rem;letter-spacing:.13em;text-decoration:none;color:var(--ink);white-space:nowrap}.story-brand em{font-family:var(--serif)}
.story-nav-links{display:flex;gap:1.5rem;flex-wrap:wrap}.story-nav-links a{font-size:.875rem;color:var(--ink);text-decoration:none;padding:.5rem 0}.story-nav-links a[aria-current="page"]{border-bottom:1px solid var(--clay)}
.story-header{max-width:960px;padding-top:4.5rem;padding-bottom:3rem}.story-header h1{font-weight:300;font-size:clamp(2.75rem,5vw,5rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 1.75rem}.story-header .lede{font-size:1.25rem;max-width:50ch;color:var(--ink-60);margin:0}
.story-layout{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);padding-bottom:5rem;max-width:1160px}
.story-layout aside img{width:100%;height:auto;display:block}.story-prose h2{font-size:1.625rem;font-weight:300;letter-spacing:-.025em;line-height:1.3;margin:2.5rem 0 1rem}.story-prose h2:first-child{margin-top:0}.story-prose p{font-size:1.0625rem;color:var(--ink-60);margin:0 0 1.25rem}.story-prose a{color:var(--clay);text-underline-offset:4px}
.story-locations{border-top:1px solid var(--rule);padding-block:4rem}.story-locations h2{font-size:2rem;font-weight:300;letter-spacing:-.03em;margin:0 0 2rem}.location-story{scroll-margin-top:2rem}.location-story img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.location-story h3{font-size:1.5rem;font-weight:300;margin:1rem 0 .5rem}.location-story p{color:var(--ink-60);font-size:1rem}.location-story .text-link{margin-top:.5rem}
.story-footer{border-top:1px solid var(--rule);padding-block:2rem 4rem;display:flex;gap:1rem;justify-content:space-between;align-items:center}.story-footer p{color:var(--ink-60);font-size:.875rem;margin:0}.story-footer a{color:var(--ink)}
.etiquette-content{max-width:960px;padding-bottom:4rem}.etiquette-content .principle{display:grid;grid-template-columns:4rem 1fr;gap:1rem;border-top:1px solid var(--rule);padding:2rem 0;margin:0}.principle .num{font-size:.875rem;color:var(--clay);padding-top:.3rem}.principle h2{font-size:1.375rem;line-height:1.3;font-weight:400;margin:0 0 .75rem}.principle p{font-size:1rem;color:var(--ink-60);max-width:56ch;margin:0}.etiquette-content .closing{border-top:1px solid var(--rule);padding-top:2rem}.etiquette-content .closing p{max-width:60ch;color:var(--ink-60)}
@media(min-width:1500px){.site-nav,.story-nav{padding-inline:max(var(--page-gutter),calc((100vw - 1280px)/2))}}
@media(max-width:1050px){.nav-links{gap:1rem}.site-nav{gap:1rem}.home-hero{gap:2.5rem}.home-hero h1{font-size:clamp(3.25rem,6vw,4.5rem)}.editorial-actions{gap:1rem}.steps-grid,.principles-grid{gap:1.75rem}}
@media(max-width:900px){.nav-links{display:none}.ham{display:flex}}
@media(max-width:700px){.site-nav,.story-nav{min-height:76px}.home-hero{grid-template-columns:1fr;gap:2.5rem;padding-top:2.5rem;padding-bottom:3rem}.home-hero h1{font-size:clamp(3.5rem,11vw,4.75rem)}.home-intro{font-size:1.1875rem}.home-support{margin-bottom:1.5rem}.hero-story-link{margin-top:1.5rem}.hero-photograph img{aspect-ratio:5/4;object-position:50% 46%}.editorial-section{padding-block:3.5rem}.section-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.section-heading h2,.founder-copy h2{font-size:2.25rem}.spaces-grid{grid-template-columns:1fr;gap:2.5rem}.steps-grid,.principles-grid{grid-template-columns:1fr;gap:2rem}.steps-grid li{display:grid;grid-template-columns:2rem 1fr;gap:.5rem 1rem}.step-number{grid-row:span 2;margin:.25rem 0 0}.steps-grid h3{margin:0}.steps-grid p{grid-column:2;max-width:none}.conversation-prompt{padding:1.5rem;grid-template-columns:1fr;gap:1rem}.conversation-prompt .eyebrow{grid-row:auto;margin:0}.etiquette-band{padding-block:3.5rem}.founder-section{grid-template-columns:1fr;gap:2rem;padding-block:3.5rem}.founder-photograph{max-width:320px}.founder-copy{order:-1}.membership-grid{grid-template-columns:1fr;padding-bottom:0}.membership-section{padding-bottom:4.5rem}.section-tail{align-items:flex-start;flex-direction:column}.space-heading{flex-wrap:wrap;gap:.25rem}.story-header{padding-top:3rem}.story-layout{grid-template-columns:1fr;padding-bottom:3rem;gap:2rem}.story-layout aside{max-width:280px}.story-nav-links{gap:1rem}.story-nav-links a{font-size:.8125rem}.story-footer{flex-direction:column;align-items:flex-start}.etiquette-content .principle{grid-template-columns:2rem 1fr}.che-bubble{right:1rem;bottom:1rem}.che-win{right:1rem;width:calc(100vw - 2rem);max-height:calc(100dvh - 120px);bottom:84px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.story-nav .story-nav-links{position:static;min-height:0;padding:0;border:0;background:none;display:flex;align-items:center;gap:1.5rem}
@media(max-width:480px){.story-nav .story-nav-links{gap:.75rem}.story-nav{gap:1rem}.story-brand{font-size:1.25rem}}

#che-cookie-banner{border-radius:2px!important;font-size:.875rem!important;max-width:480px!important;box-shadow:none!important}#che-cookie-banner button{border-radius:2px!important;min-height:44px;font-size:.875rem!important;letter-spacing:0!important;text-transform:none!important}

/* Founder prefers a signed written note without a portrait. */
.founder-note-only{display:block;max-width:960px}.founder-note-only .founder-copy>p:not(.eyebrow):not(.founder-signature){max-width:56ch}.story-note-only{display:block;max-width:960px}.story-note-only .story-prose{max-width:64ch}

.faq-list{max-width:900px;margin-left:auto}.faq-list details{border-top:1px solid var(--rule);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--rule)}.faq-list summary{cursor:pointer;font-size:1.0625rem;font-weight:400;padding:1.25rem 2rem 1.25rem 0;line-height:1.5;list-style-position:inside}.faq-list summary::marker{color:var(--clay);font-size:.8em}.faq-list summary:focus-visible{outline:2px solid var(--clay);outline-offset:4px}.faq-list details>div{padding:0 1.5rem 1.5rem}.faq-list p{font-size:1rem;color:var(--ink-60);max-width:64ch;margin:0 0 .75rem}.faq-list ul{padding-left:1.25rem;color:var(--ink-60);font-size:1rem}.faq-list li{margin-bottom:.5rem}.faq-contact{max-width:900px;margin:1.75rem 0 0 auto;color:var(--ink-60);font-size:.875rem}.faq-contact a{color:var(--ink);text-underline-offset:4px}

/* Practical listing information: compact, labelled and usable on narrow screens. */
.practical-filter{border-top:1px solid var(--ink-10);border-bottom:1px solid var(--ink-10);margin:0 0 24px;padding:16px 0}
.practical-filter summary{cursor:pointer;font-size:15px;padding:8px 0}
.practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}
.practical-grid>label,#practical-form>label{display:flex;flex-direction:column;gap:8px;font-size:13px}
.practical-grid .fi,.practical-grid .fta{width:100%;min-width:0;box-sizing:border-box}
.practical-note{font-size:13px;line-height:1.65;color:var(--ink-60);margin:12px 0 20px}
.practical-card{font-size:13px;line-height:1.6;margin:12px 0;color:var(--ink-60)}
.practical-facts dt{font-size:12px;color:var(--ink-60);margin-bottom:6px}
.practical-facts dd{margin:0;white-space:pre-line;overflow-wrap:anywhere;line-height:1.65;font-size:15px}
.practical-checks{border:1px solid var(--ink-10);padding:16px;margin:24px 0}
.practical-checks legend{font-size:13px;padding:0 6px}
.practical-checks>div{display:flex;flex-wrap:wrap;gap:8px 20px}
.practical-checks label{display:flex;align-items:center;gap:6px;font-size:13px;min-height:36px}
.practical-checks input{accent-color:var(--clay);width:17px;height:17px}
#practical-form .psec-t{margin-top:28px}
#practical-form button:disabled{opacity:.6;cursor:wait}
.practical-filter summary:focus-visible,.practical-checks input:focus-visible{outline:2px solid var(--clay);outline-offset:4px}
@media(max-width:600px){.practical-grid{grid-template-columns:1fr}.practical-checks>div{display:grid;grid-template-columns:1fr}.practical-filter summary{line-height:1.6}}

.hero-studio-film{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 65%;background:var(--linen-d)}
.studio-film-description{font-size:12px;line-height:1.6;color:var(--ink-60);margin:12px 0 0;max-width:40em}
@media(max-width:700px){.hero-studio-film{aspect-ratio:4/5;max-height:75svh;object-position:center 65%}}


.mob-close{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1.5rem,env(safe-area-inset-right));display:flex;align-items:center;gap:.65rem;min-height:48px;padding:.5rem .75rem;background:transparent;border:1px solid var(--ink-20);color:var(--ink);font:inherit;cursor:pointer}.mob-close span{font-size:2rem;line-height:1}.mob-close:focus-visible{outline:2px solid var(--ink);outline-offset:4px}


/* Keep the exit outside the scrollable form, including with the phone keyboard open. */
.ov .modal{display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:calc(100dvh - 48px)}
.modal-header{flex:none;display:flex;justify-content:flex-end;padding:12px 20px;background:var(--linen);border-bottom:1px solid var(--ink-10);z-index:2}
.modal-header .mc{position:static;display:flex;align-items:center;justify-content:center;gap:10px;width:auto;min-width:96px;min-height:48px;height:auto;padding:8px 12px;border:1px solid var(--ink-30);border-radius:2px;background:var(--linen);font:inherit;color:var(--ink)}
.modal-header .mc span{font-size:28px;line-height:1}
.modal-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:24px 48px 40px}
.mob-ov,.enquiry-planner,.studio-gallery{overscroll-behavior:contain}
.gallery-header,.planner-head{position:sticky;top:0;z-index:2;background:var(--linen)}
@media(max-width:680px){.ov .modal{height:100dvh;max-height:100dvh}.modal-header{padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px}.modal-content{padding:24px 24px calc(32px + env(safe-area-inset-bottom,0px))}.mob-ov{justify-content:flex-start;padding-top:calc(88px + env(safe-area-inset-top,0px))}.mob-close{position:fixed;background:var(--linen);z-index:2}}

.mob-ov{justify-content:flex-start}.mob-close{position:fixed;background:var(--linen);z-index:2}

/* Keep an explicit route home visible on standalone story pages. */
.story-page .story-nav{position:sticky;top:0;z-index:200;background:var(--linen,#f5f2ed);flex-wrap:wrap}.story-nav-links .story-return{display:inline-flex;align-items:center;min-height:44px;font-weight:400;white-space:nowrap}

/* Explicit mobile exit stays reachable independently of the navigation. */
.story-close{display:none}
@media(max-width:900px){.story-close{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:400;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 20px;background:#1a1814;color:#f5f2ed;border:1px solid #f5f2ed;border-radius:2px;text-decoration:none;font:400 16px/1.4 Outfit,sans-serif;box-shadow:0 4px 18px #0003}.story-close span{font-size:28px;line-height:1}.story-page{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
