/* Navigation structure; current brand typography is defined in brand-guide.css. */
:root{--header-height:140px}
.filters{top:calc(var(--header-height) + env(safe-area-inset-top,0px))}
.gallery{top:calc(var(--header-height) + 16px + env(safe-area-inset-top,0px))}
.chapter,.article,.service-detail{scroll-margin-top:calc(var(--header-height) + 20px)}
.drawer{visibility:hidden;transition:transform .45s var(--ease),visibility 0s .45s}
.drawer.open{visibility:visible;transition:transform .45s var(--ease),visibility 0s}
.hdr-in{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:88px;gap:24px}
.header-note{font-size:12px;letter-spacing:.12em;color:var(--taupe)}
.hdr .logo img{height:23px;max-width:100%;width:auto}
.hdr .tools{gap:20px;min-width:0}
.hdr .tools .lbl{display:none}
.primary-nav{display:flex;align-items:center;justify-content:center;gap:clamp(30px,4.3vw,72px);border-top:1px solid var(--line);height:51px;max-width:none}
.nav-trigger{position:relative;height:100%;font-size:12px;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.nav-trigger::after{position:absolute;content:"";bottom:0;left:0;right:0;height:1px;background:var(--bronze);transform:scaleX(0);transition:transform .2s}
.nav-trigger:hover::after,.nav-trigger[aria-expanded="true"]::after,.nav-trigger[aria-current="page"]::after{transform:scaleX(1)}
.nav-split{display:flex;align-items:center;gap:3px;height:100%}
.nav-direct-link{display:inline-flex;align-items:center}
.nav-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;flex:none;color:var(--taupe)}
.nav-menu-toggle::after{display:none}
.nav-menu-toggle svg{transition:transform .2s}
.nav-menu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-split:has(.nav-menu-toggle[aria-expanded="true"]) .nav-direct-link::after{transform:scaleX(1)}
.nav-panel{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-block:1px solid var(--line);box-shadow:0 26px 35px -32px rgba(50,43,35,.45);max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}
.nav-panel-inner{padding-block:25px 36px}
.nav-panel-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:23px}
.nav-panel-heading>a{font-family:var(--serif-d);font-size:27px;display:flex;align-items:center;gap:22px}
.nav-panel-heading>a span{font-size:20px;color:var(--bronze)}
.nav-dismiss{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--taupe);display:flex;align-items:center;gap:12px}
.nav-dismiss span{font-size:23px}
.nav-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}
.nav-column h2{font-family:var(--serif-b);font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--taupe);margin:0 0 17px;line-height:1.4}
.nav-column a{display:block;font-family:var(--serif-d);font-size:21px;line-height:1.4;padding-block:4px;max-width:24ch}
.nav-column a:hover{color:var(--bronze)}
.compact-panel .nav-columns{grid-template-columns:minmax(200px,.8fr) minmax(0,3fr);gap:clamp(35px,5vw,80px);align-items:start}
.compact-panel .nav-column{max-width:300px}
.nav-note{font-family:var(--serif-d);font-size:17px;font-weight:300;line-height:1.4;max-width:25ch;margin:22px 0 0;color:var(--taupe)}
.nav-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,32px);min-width:0}
.nav-feature{display:block;min-width:0}
.nav-feature-image{display:block;height:clamp(190px,18vw,280px);overflow:hidden;background:var(--paper-2)}
.nav-feature-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.nav-feature--portrait .nav-feature-image img{object-position:center top}
.nav-feature-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;font-family:var(--serif-d);font-size:22px;line-height:1.2}
.nav-feature-caption>span{font-size:16px;color:var(--bronze)}
.nav-feature:hover .nav-feature-caption{color:var(--bronze)}
.nav-feature:hover img{transform:scale(1.025)}
.nav-feature:focus-visible{outline:1px solid var(--green);outline-offset:5px}
@media(prefers-reduced-motion:reduce){.nav-feature-image img{transition:none}.nav-feature:hover img{transform:none}}
.mobile-section{border-bottom:1px solid var(--line)}
.mobile-section summary{display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:15px 0;font-family:var(--serif-d);font-size:26px}
.mobile-section summary::-webkit-details-marker{display:none}
.mobile-section summary span{font-size:20px;color:var(--taupe);transition:transform .2s}
.mobile-section[open] summary span{transform:rotate(45deg)}
.mobile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--serif-d);font-size:26px}
.mobile-section-heading>a{display:block;flex:1;min-width:0;width:auto;padding-block:15px;border:0;font:inherit}
.mobile-section-heading>.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:54px;padding:0;border:0;color:var(--taupe)}
.mobile-menu-toggle span{font-size:20px;transition:transform .2s}
.mobile-menu-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
.mobile-section-body{padding:5px 0 22px}
.mobile-section-body .mobile-all{display:inline-flex;gap:20px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:18px;width:100%}
.mobile-group{padding-bottom:22px}
.mobile-group:last-child{padding-bottom:0}
.mobile-group h3{font-family:var(--serif-b);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--taupe);margin:0 0 6px}
.mobile-group a{display:block;font-size:19px;padding:5px 0}
.mobile-utilities{display:grid;gap:11px;padding-block:25px;text-align:left}
.mobile-utilities a,.mobile-utilities button{font-size:16px;text-align:left}
.collection-empty{max-width:620px;padding:45px 0 75px}
.collection-empty h2{font-size:32px;margin-bottom:14px}
.collection-empty p{color:var(--ink-2)}
.collection-empty .btn{margin-top:12px}
.service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;padding-block:35px 90px}
.service-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin-bottom:20px}
.service-card h2{font-size:30px;margin-bottom:9px}
.service-card p{color:var(--taupe);font-size:17px}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,110px);padding-block:65px 90px;align-items:center}
.service-detail h1{margin:15px 0 20px}
.service-detail p{max-width:52ch}
.service-detail img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.service-back{display:block;width:max-content;margin-top:25px}
.page-head>.btn{margin-top:18px}
@media(max-width:1100px){
  :root{--header-height:75px}
  .primary-nav,.navigation-panels,.header-note{display:none}
  .hdr .hdr-in{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:74px;gap:15px}
  .hdr .burger.x{justify-self:start;display:inline-flex}
  .hdr .tools{gap:18px}
  .hdr .tools>.cur,.hdr #atelierBtn{display:none}
  .hdr .logo img{height:20px}
  .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  :root{--header-height:67px}
  .hdr .hdr-in{height:66px;grid-template-columns:28px minmax(0,1fr) auto;gap:12px}
  .hdr .logo{justify-self:center;max-width:100%}
  .hdr .logo img{height:auto;width:176px;max-width:100%}
  .hdr .tools{gap:13px}
  .hdr .tools svg{width:18px;height:18px}
  .hdr #wishBtn{display:none}
  .service-detail{grid-template-columns:1fr;padding-block:38px 60px}
  .service-cards{gap:30px 16px;padding-bottom:60px}
  .service-card h2{font-size:27px}
  .service-card .link{font-size:11px}
}

/* Scrolled state only: the full header above remains unchanged. */
.header-scroll-spacer{height:0;pointer-events:none;overflow-anchor:none}
.hdr.is-compact{position:fixed;inset:env(safe-area-inset-top,0px) 0 auto;box-shadow:0 5px 20px -17px rgba(50,43,35,.5)}
.has-compact-header{--header-height:64px}
.hdr.is-compact .nav-panel{max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top,0px) - 16px)}
@media(min-width:1101px){
  .hdr:not(.is-compact) .logo{grid-column:2}
  .hdr.is-compact{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;height:64px;padding-inline:var(--gutter)}
  .hdr.is-compact .hdr-in{display:contents}
  .hdr.is-compact .header-note,.hdr.is-compact #atelierBtn,.hdr.is-compact .tools>.cur{display:none}
  .hdr.is-compact .logo{grid-column:1;grid-row:1;justify-self:start}
  .hdr.is-compact .logo img{width:180px;height:auto}
  .hdr.is-compact .primary-nav{grid-column:2;grid-row:1;gap:clamp(10px,1.3vw,24px);height:63px;padding:0;border:0;width:auto;min-width:0}
  .hdr.is-compact .nav-trigger{font-size:11px;letter-spacing:.12em}
  .hdr.is-compact .tools{grid-column:3;grid-row:1;gap:17px;justify-self:end}
  .hdr.is-compact .navigation-panels{grid-column:1/-1;grid-row:1}
}
@media(max-width:1100px){
  .has-compact-header{--header-height:54px}
  .hdr.is-compact .hdr-in{height:53px}
  .hdr.is-compact .logo img{width:156px;height:auto}
}
