/* The header belongs to the first view, then settles above the garden. */
html{scroll-padding-top:118px}
body:has(.site-header:not(.is-overlay)){padding-top:116px}
.site-header,.site-header.is-overlay{position:fixed;inset:0 0 auto;width:auto;transform:translateZ(0);transition:top .5s cubic-bezier(.22,1,.36,1),left .5s cubic-bezier(.22,1,.36,1),right .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1),padding .5s cubic-bezier(.22,1,.36,1),background-color .35s,border-radius .5s,box-shadow .35s}
.site-header .brand{display:flex;align-items:center;gap:14px;width:auto;height:70px;position:relative}.brand-symbol{position:relative;display:block;width:66px;height:55px;flex:none;transition:width .4s,height .4s}.site-header .header-wordmark{font:400 40px/1 var(--serif);letter-spacing:-.045em;padding-bottom:3px}.site-header nav{margin-left:auto}.site-header .brand img{position:absolute;inset:0}
.site-header.is-docked{inset:16px var(--gutter) auto;height:78px;padding:8px 26px;background:#25392df5;color:#f4f2e9;box-shadow:0 10px 35px #0e251521;border-radius:0 32px 0 32px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.is-docked .brand{height:58px}.is-docked .brand-symbol{width:49px;height:43px}.is-docked .header-wordmark{font-size:32px}.is-docked .brand-dark{display:none}.is-docked .brand-white{display:block}.is-docked .menu-toggle span{background:#f4f2e9}
.home-arrival,.project-arrival{height:100svh;min-height:0;max-height:none}
.arrival-copy h1{font-size:clamp(85px,min(10.6vw,15.2svh),202px)}
.arrival-heritage{position:absolute;right:var(--gutter);top:155px;display:flex;align-items:baseline;gap:17px;color:#fff;text-shadow:0 2px 20px #10271d80}.arrival-heritage>span{font-size:13px;letter-spacing:.1em}.arrival-heritage strong{font:400 clamp(80px,7.8vw,140px)/1 var(--serif);letter-spacing:-.065em}
.arrival-copy{bottom:clamp(130px,15svh,170px)}
/* A single gesture: the frame opens, the image moves inward, the arrow leaves. */
@media(hover:hover) and (pointer:fine){
 .intro-path,.walk-garden-image,.project-image,.gallery-photo,.service-story>a{transition:border-radius .85s cubic-bezier(.22,1,.36,1),box-shadow .6s}
 .leaf-a:where(a):hover{border-radius:calc(var(--leaf) * .65) 0 calc(var(--leaf) * 1.15) 0}
 .leaf-b:where(a):hover{border-radius:0 calc(var(--leaf) * 1.15) 0 calc(var(--leaf) * .65)}
 .intro-path:hover img,.walk-garden-image:hover img,.project-image:hover img,.gallery-photo:hover img,.service-story>a:hover img{transform:scale(1.065)}
 .intro-path img,.project-image img,.gallery-photo img,.service-story>a img{transition:transform 1.25s cubic-bezier(.22,1,.36,1)}
 .walk-arrow,.image-arrow{transition:transform .55s cubic-bezier(.22,1,.36,1),background .4s,color .4s,border-radius .6s}
 .walk-garden-image:hover .walk-arrow,.project-image:hover .image-arrow{transform:translate(-5px,-5px);background:var(--paper);color:var(--pine);border-radius:18px 0 18px 0}
 .chapter-image>img{transition:transform 1.5s cubic-bezier(.22,1,.36,1)}.chapter-image:hover>img{transform:scale(1.045)}
 .chapter-copy h2 em,.footer-title em{display:inline-block;transition:transform .75s cubic-bezier(.22,1,.36,1)}.chapter-image:hover h2 em{transform:translateX(14px)}
 .text-link svg,.header-contact svg,.cinema-project svg,.all-photographs svg,.intro-path>span svg,.footer-title svg{transition:transform .45s cubic-bezier(.22,1,.36,1)}
 :is(.text-link,.header-contact,.cinema-project,.all-photographs,.footer-title):hover svg,.intro-path:hover>span svg{transform:translate(5px,-5px)}
 .text-link>span,.header-contact>span{transition:transform .35s}.text-link:hover>span,.header-contact:hover>span{transform:translateX(3px)}
 .craft-links a>span,.metiers-list a>span{transition:transform .45s cubic-bezier(.22,1,.36,1)}.craft-links a:hover>span,.metiers-list a:hover>span{transform:translateX(12px)}
 .film-toggle{transition:background .3s,transform .3s,border-color .3s}.film-toggle:hover{background:#f4f2e9;color:#25392d;transform:translateY(-3px);border-color:#f4f2e9}
 .next-garden img{transition:transform 1.5s cubic-bezier(.22,1,.36,1)}.next-garden>a:hover img{transform:scale(1.04)}.next-garden svg{transition:transform .5s}.next-garden>a:hover svg{transform:translate(8px,-8px)}
 .footer-title:hover em{transform:translateX(10px)}
}
@media(pointer:coarse){button:active,.walk-arrow:active{transform:scale(.96)}}
@media(max-width:720px){
 html{scroll-padding-top:106px}body:has(.site-header:not(.is-overlay)){padding-top:94px}
 .site-header .brand{height:59px;gap:10px}.site-header .brand-symbol{width:53px;height:46px}.site-header .header-wordmark{font-size:32px}
 .site-header.is-docked{inset:calc(12px + env(safe-area-inset-top)) 14px auto;height:68px;padding:8px 18px;border-radius:0 25px 0 25px}.is-docked .brand{height:48px}.is-docked .brand-symbol{width:42px;height:35px}.is-docked .header-wordmark{font-size:29px}
 .arrival-copy h1{font-size:clamp(52px,min(16vw,10.8svh),112px)}.arrival-copy{bottom:170px}.arrival-heritage{top:125px;gap:12px}.arrival-heritage>span{font-size:11px}.arrival-heritage strong{font-size:clamp(56px,15vw,90px)}
 .arrival-bottom{bottom:calc(28px + env(safe-area-inset-bottom))}.project-arrival .arrival-copy{bottom:155px}.project-arrival h1{font-size:clamp(48px,min(12.5vw,9.4svh),85px)}
 .menu-open .site-header,.menu-open .site-header.is-docked{inset:0 0 auto;height:94px;padding:14px var(--gutter);border-radius:0;box-shadow:none;background:#25392d}.menu-open .brand{height:59px}.menu-open .brand-symbol{width:53px;height:46px}.menu-open .header-wordmark{font-size:32px}
}
@media(max-height:600px) and (min-width:721px){
 .site-header{height:84px;padding-top:9px;padding-bottom:9px}.site-header .brand{height:60px}.arrival-heritage{top:105px}.arrival-heritage strong{font-size:65px}.arrival-copy{bottom:105px}.arrival-copy h1{font-size:70px}.arrival-copy>.eyebrow{margin-bottom:15px}.arrival-bottom{bottom:25px}.project-arrival .arrival-copy{bottom:110px}.project-arrival h1{font-size:65px}.project-back{top:115px}
}
@media(prefers-reduced-motion:reduce){.site-header,.brand-symbol,.chapter-image img,.next-garden img{transition:none!important}.site-header{transform:none}}
