/* ACORNS: land, craft and horizon. Shared original introduction and navigation. */
.hero{background:#242725;color:#f5f4ef;display:flex;align-items:center;justify-content:flex-start;height:100svh;min-height:700px;border:0}
.hero .hero-copy{width:38%;padding:110px 2vw 120px 5vw;margin:0;text-align:left;animation:none;z-index:3}
.hero .hero-copy .eyebrow{font:400 .75rem/1.5 var(--sans);letter-spacing:.12em;color:#c1bcae;animation:signature-arrive .7s 1.5s both}
.hero .hero-copy h1{font:400 clamp(1.5rem,2.4vw,var(--size-title))/1.8 var(--serif);letter-spacing:.05em;color:#f5f4ef;animation:signature-arrive .8s 1.6s both}
.hero .hero-copy h1 .phrase{display:block}
.hero .hero-copy>p:last-child{font-size:.875rem;line-height:2;color:#c8cbc6;margin-top:24px;max-width:330px;animation:signature-arrive .8s 1.75s both}
.hero .signature-photos{position:absolute;inset:150px 5vw 120px 42%;display:grid;grid-template-columns:.85fr 1.1fr 1fr;gap:12px;overflow:visible;animation:none;clip-path:none;transform:none;border-radius:0}
.signature-photos figure{position:relative;min-width:0;margin:0;overflow:hidden;animation:signature-photo 1.2s .65s both;background:#383c37}
.signature-photos figure:nth-child(1){margin-bottom:14%;animation-delay:.65s}
.signature-photos figure:nth-child(2){margin-top:18%;animation-delay:.85s}
.signature-photos figure:nth-child(3){margin-top:8%;margin-bottom:8%;animation-delay:1.05s}
.hero .signature-photos .hero-image{position:absolute;inset:0;z-index:0;object-position:center;filter:brightness(.85) saturate(.72);animation:signature-breathe 18s ease-in-out infinite alternate}
.signature-photos figure:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#141b18b3)}
.signature-photos figcaption{position:absolute;z-index:2;left:16px;bottom:20px;color:#fff;font:400 .875rem/1.5 var(--serif);letter-spacing:.14em}
.hero .hero-edge{bottom:54px;left:5vw;top:auto;writing-mode:horizontal-tb;font-size:.8125rem;animation:signature-arrive .7s 2s both}
.hero .hero-edge-right{left:22vw;right:auto}
.hero .motion-toggle{bottom:48px;right:5vw;color:#ecebe5;border:1px solid #85887f;background:transparent;animation:signature-arrive .7s 2s both}
.hero .opening-message{background:#242725;display:grid;place-items:center;animation:signature-intro 1.7s both}
.hero .opening-identity{position:static;display:flex;flex-direction:column-reverse;align-items:center;gap:22px;color:#ecebe5;animation:signature-seal 1.4s both}
.hero .opening-identity img{display:block;width:54px;height:54px;filter:brightness(0) invert(1)}
.hero .opening-identity span{font:400 1rem/1.4 var(--sans);letter-spacing:.24em}
body:has(.signature-photos) .header>.brand,body:has(.signature-photos) .header>.menu{animation:signature-arrive .7s 1.9s both}
@keyframes signature-intro{0%,55%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes signature-seal{0%{opacity:0;transform:translateY(5px)}25%,70%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes signature-photo{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes signature-arrive{from{opacity:0;visibility:hidden;transform:translateY(6px)}to{opacity:1;visibility:visible;transform:none}}
@keyframes signature-breathe{from{transform:scale(1)}to{transform:scale(1.055)}}

@media(max-width:800px){
 .hero{min-height:760px;align-items:flex-start;height:100svh}
 .hero .hero-copy{width:100%;padding:118px 7vw 0}
 .hero .hero-copy h1 .phrase{display:inline-block}
 .hero .hero-copy>p:last-child{max-width:440px;margin-top:14px}
 .hero .signature-photos{inset:350px 6vw 94px;gap:8px}
 .signature-photos figcaption{left:10px;bottom:14px;font-size:.8125rem;letter-spacing:.04em}
 .hero .hero-edge{display:none}.hero .motion-toggle{bottom:28px;right:6vw}
}
@media(prefers-reduced-motion:reduce){
 .hero .opening-message{display:none}
 .hero .signature-photos figure,.hero .signature-photos .hero-image,.hero .hero-copy>*,.hero .hero-edge,.hero .motion-toggle,body:has(.signature-photos) .header>.brand,body:has(.signature-photos) .header>.menu{animation:none;opacity:1;visibility:visible;transform:none}
}
/* Three measured strokes, sharing one right edge. */
.header .menu span,.header .menu[aria-expanded=true] span{display:block;left:auto;right:8px;height:1.5px;transform:none;transform-origin:center;animation:none!important;clip-path:none;transition:width .3s ease,transform .35s ease,opacity .2s ease}
.header .menu span:nth-child(1){top:15px;width:32px}
.header .menu span:nth-child(2){top:23px;width:24px}
.header .menu span:nth-child(3){top:31px;width:16px}
.header .menu[aria-expanded=true] span:nth-child(1){width:28px;transform:translateY(8px) rotate(45deg)}
.header .menu[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}
.header .menu[aria-expanded=true] span:nth-child(3){width:28px;transform:translateY(-8px) rotate(-45deg)}
@media(hover:hover) and (pointer:fine){.header .menu[aria-expanded=false]:hover span:nth-child(2){width:28px}.header .menu[aria-expanded=false]:hover span:nth-child(3){width:24px}}
.header .menu[aria-expanded=false]:focus-visible span:nth-child(2){width:28px}
.header .menu[aria-expanded=false]:focus-visible span:nth-child(3){width:24px}
@media(prefers-reduced-motion:reduce){.header .menu span{transition:none}}
/* ACORNS menu: roast charcoal, unbleached paper and restrained brass. */
.header .nav,.header .nav.open{inset:0;border-radius:0;clip-path:inset(0 0 100% 0);transform:none;background:#292622;color:#f0ebe2;padding:105px 7vw 40px;opacity:0;visibility:hidden;transition:clip-path .6s cubic-bezier(.22,1,.36,1),opacity .4s ease,visibility 0s .6s;pointer-events:none}
.header .nav.open{clip-path:inset(0);opacity:1;visibility:visible;transition-delay:0s;pointer-events:auto}
.header.menu-active>.brand{opacity:0!important;pointer-events:none}
.header.menu-active .menu span{background:#eee6d7}
.header.menu-active>.menu{color:#eee6d7}
.header .nav .menu-heading{padding-right:0;margin-bottom:38px;gap:24px;align-items:center;flex-direction:row}
.header .nav .menu-heading>span{font:400 1.25rem/1.5 var(--sans);letter-spacing:.2em;color:#f0ebe2}
.header .nav .menu-contact{width:auto;min-height:48px;padding:10px 32px;background:#fff;color:#30291f;border:1px solid #756850;border-radius:999px;font-size:.875rem;font-weight:600;letter-spacing:.09em;min-width:170px;text-align:center;justify-content:center;transition:background-color .25s,color .25s}
.header .nav .menu-contact:hover,.header .nav .menu-contact:focus-visible{background:#d6c49d;color:#30291f}
.header .nav .menu-contact small{display:none}
.header .nav .menu-columns{display:block}
.header .nav .menu-group{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 30px;border:0;border-top:1px solid #62594b;padding:22px 0;margin:0;transform:translateY(8px);opacity:0;transition:opacity .4s ease,transform .4s ease}
.header .nav.open .menu-group{transform:none;opacity:1;transition-delay:.2s}
.header .nav.open .menu-group:nth-child(2){transition-delay:.28s}
.header .nav.open .menu-group:nth-child(3){transition-delay:.36s}
.header .nav .menu-group h2{grid-column:1;grid-row:1 / span 6;border:0;padding:4px 0;margin:0;font-size:.875rem;letter-spacing:.1em;color:#d6c49d}
.header .nav .menu-group h2 small{font-size:.8125rem;margin-top:8px;color:#b8afa1}
.header .nav .menu-group a{grid-column:2;min-height:38px;padding:7px 0;font-size:1rem;line-height:1.5;color:#f0ebe2}
.header .nav .menu-group a:hover{color:#d6c49d}
.header .nav a:focus-visible,.header .nav button:focus-visible{outline:2px solid #d6c49d;outline-offset:4px}
.header .nav .nav-bottom{margin-top:0;padding-top:24px;border-top:1px solid #62594b;transform:none;transition:opacity .3s ease;color:#c5bcae}
.header .nav .nav-foot,.header .nav .menu-legal{color:#c5bcae}
.header .nav .menu-legal a:hover{color:#f0ebe2}
.header .nav .nav-language{border-color:#86765c;color:#d6c49d}
.header .nav .nav-language button{color:#d5cec1}
.header .nav .nav-language button.active{background:#d6c49d;color:#292622}
@media(min-width:1000px){
 .header .nav .menu-group{grid-template-columns:220px repeat(2,minmax(0,1fr));column-gap:32px}
 .header .nav .menu-group a:nth-of-type(even){grid-column:3}
 .header .nav .menu-group a:nth-of-type(odd){grid-column:2}
 .header .nav .menu-group a:nth-of-type(1),.header .nav .menu-group a:nth-of-type(2){grid-row:1}
 .header .nav .menu-group a:nth-of-type(3),.header .nav .menu-group a:nth-of-type(4){grid-row:2}
 .header .nav .menu-group a:nth-of-type(5){grid-row:3}
}
@media(max-width:800px){
 .header .nav,.header .nav.open{padding:95px 7vw max(32px,env(safe-area-inset-bottom))}
 .header .nav .menu-group{grid-template-columns:1fr;gap:0;padding:20px 0}
 .header .nav .menu-group h2{grid-row:auto;grid-column:1;margin-bottom:12px;display:flex;align-items:center;gap:12px}
 .header .nav .menu-group h2 small{margin:0}
 .header .nav .menu-group a{grid-column:1;font-size:.9375rem;padding:8px 0}
 .header .nav .menu-contact{padding:10px 16px;font-size:.9375rem}
 .header .nav .menu-heading{margin-bottom:25px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.header .nav,.header .nav .menu-group{transition:none}}
/* Long-short-long strokes with a persistent editorial label. */
.header>.menu{top:20px;right:28px;bottom:auto;left:auto;width:68px;height:76px;padding:0;background:transparent;border:0;border-radius:0;color:#66583f;transform:none}
.header .menu small{display:block;position:absolute;top:51px;left:0;right:auto;width:68px;height:auto;margin:0;padding:0;text-align:center;font:500 1rem/1.2 Georgia,serif;letter-spacing:.07em;color:inherit;transform:none}
.header .menu span,.header .menu[aria-expanded=true] span{left:6px;right:auto;height:1.5px;background:currentColor;transform-origin:center;animation:none!important;clip-path:none;transition:transform .4s ease,width .3s ease,opacity .2s ease}
.header .menu span:nth-child(1){top:10px;width:56px;transform:none}
.header .menu span:nth-child(2){top:23px;width:25px;transform:none;opacity:1}
.header .menu span:nth-child(3){top:36px;width:56px;transform:none}
.header .menu[aria-expanded=true] span:nth-child(1){width:58px;transform:translateY(13px) rotate(26deg)}
.header .menu[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}
.header .menu[aria-expanded=true] span:nth-child(3){width:58px;transform:translateY(-13px) rotate(-26deg)}
body:has(.signature-photos) .header:not(.scrolled):not(.menu-active)>.menu{color:#d6c49d}
.header.scrolled>.menu{color:#66583f}
.header.menu-active>.menu{color:#e4d4b5}
.header.menu-active .menu span{background:currentColor}
@media(hover:hover) and (pointer:fine){.header .menu[aria-expanded=false]:hover span:nth-child(2){width:36px}.header .menu[aria-expanded=false]:hover span:nth-child(3){width:56px}}
.header .menu[aria-expanded=false]:focus-visible span:nth-child(2){width:36px}
.header .menu[aria-expanded=false]:focus-visible span:nth-child(3){width:56px}
@media(max-width:700px){
 .header>.menu{top:17px;right:18px;width:56px;height:64px}
 .header .menu small{top:43px;width:56px;font-size:.875rem}
 .header .menu span,.header .menu[aria-expanded=true] span{left:5px}
 .header .menu span:nth-child(1){top:8px;width:46px}
 .header .menu span:nth-child(2){top:19px;width:20px}
 .header .menu span:nth-child(3){top:30px;width:46px}
 .header .menu[aria-expanded=true] span:nth-child(1){width:48px;transform:translateY(11px) rotate(26deg)}
 .header .menu[aria-expanded=true] span:nth-child(3){width:48px;transform:translateY(-11px) rotate(-26deg)}
 .header .menu[aria-expanded=false]:hover span:nth-child(3),.header .menu[aria-expanded=false]:focus-visible span:nth-child(3){width:46px}
}
@media(prefers-reduced-motion:reduce){.header .menu span{transition:none}}
/* Compact white MENU / CLOSE control, with a fine contrast edge. */
.header>.menu,body:has(.signature-photos) .header:not(.scrolled):not(.menu-active)>.menu,.header.scrolled>.menu,.header.menu-active>.menu{width:52px;height:60px;color:#fff;filter:drop-shadow(0 1px 1px #24272599)}
.header .menu small{top:38px;left:0;width:52px;font:400 .75rem/1.3 var(--sans);letter-spacing:.12em;color:#fff}
.header .menu span,.header .menu[aria-expanded=true] span{left:7px;right:auto;height:1px;background:#fff}
.header .menu span:nth-child(1){top:8px;width:38px;transform:none}
.header .menu span:nth-child(2){top:17px;width:17px;transform:none;opacity:1}
.header .menu span:nth-child(3){top:26px;width:38px;transform:none}
.header .menu[aria-expanded=true] span:nth-child(1){width:40px;transform:translateY(9px) rotate(26deg)}
.header .menu[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}
.header .menu[aria-expanded=true] span:nth-child(3){width:40px;transform:translateY(-9px) rotate(-26deg)}
.header .menu[aria-expanded=false]:hover span:nth-child(2),.header .menu[aria-expanded=false]:focus-visible span:nth-child(2){width:25px}
.header .menu[aria-expanded=false]:hover span:nth-child(3),.header .menu[aria-expanded=false]:focus-visible span:nth-child(3){width:38px}
/* Follow the header surface: white on the opening/menu, ink on light pages. */
.header>.menu,.header.scrolled>.menu{color:#222;filter:none;transition:color .3s ease}
body:has(.signature-photos) .header:not(.scrolled):not(.menu-active)>.menu,.header.menu-active>.menu,.header.scrolled.menu-active>.menu{color:#fff;filter:none}
.header .menu small{color:inherit}
.header .menu span,.header .menu[aria-expanded=true] span,.header.menu-active .menu span{background:currentColor}
@media(prefers-reduced-motion:reduce){.header>.menu{transition:none}}

/* Keep the close control above the moving panel on every page. */
.header.menu-active>.menu,body:has(.signature-photos) .header.menu-active>.menu{position:fixed;z-index:100;color:#fff;opacity:1;visibility:visible;animation:none;transform:none;filter:none}
.header.menu-active>.menu:focus-visible{outline:1px solid #d6c49d;outline-offset:5px}
.header .nav .menu-heading{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}
.header .nav.open .menu-heading{opacity:1;transform:none;transition-delay:.12s}
@media(prefers-reduced-motion:reduce){.header .nav,.header .nav .menu-heading,.header .nav .menu-group{transition:none!important}}
