/* Short, graphite navigation curtain. Critical cover prevents a light arrival flash. */
html[data-ui-arriving="true"]:not([data-ui-ready])::before{content:'';position:fixed;inset:0;z-index:10000;background:#101316;pointer-events:none}
.ht-page-curtain{position:fixed;inset:0;z-index:10001;background:#101316;visibility:hidden;pointer-events:none;transform:translate3d(0,101%,0);transition:transform 320ms cubic-bezier(.65,0,.2,1);will-change:transform}
.ht-page-curtain::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:#ccd1d41a}
.ht-page-curtain.is-visible{visibility:visible;pointer-events:auto}
.ht-page-curtain.is-covering,.ht-page-curtain.is-arrival{transform:translate3d(0,0,0)}
.ht-page-curtain.is-arrival{transition:none}
.ht-page-curtain.is-arrival.is-revealing{transform:translate3d(0,-101%,0);transition:transform 360ms cubic-bezier(.3,.65,.2,1)}
html.ht-page-leaving{overflow:hidden}
/* Keep controls grounded. A short press moves inward, then settles back. */
html.ht-ui-ready body :is(.ht-entry-button,.hero-btn,.inner-btn,.btn),
html.ht-ui-ready body .premium-header .premium-cta{transform:translateY(0);box-shadow:inset 0 1px 0 #ffffff12;transition:transform 220ms cubic-bezier(.2,.7,.2,1),box-shadow 220ms ease,filter 220ms ease,background-color 220ms ease}
@media(hover:hover) and (pointer:fine){
 html.ht-ui-ready body :is(.ht-entry-button,.hero-btn,.inner-btn,.btn):hover,
 html.ht-ui-ready body .premium-header .premium-cta:hover{transform:translateY(-1px);filter:brightness(1.07);box-shadow:inset 0 1px 0 #ffffff20,0 5px 18px #0002}
}
html.ht-ui-ready body :is(.ht-entry-button,.hero-btn,.inner-btn,.btn):active,
html.ht-ui-ready body .premium-header .premium-cta:active{transform:translateY(1px) scale(.99);filter:brightness(.95);box-shadow:inset 0 2px 6px #0003;transition-duration:90ms}
html.ht-ui-ready body :is(.ht-entry-button,.hero-btn,.inner-btn,.btn,.premium-cta):focus-visible{outline:2px solid #d9dfdf;outline-offset:5px}
/* One fine marker follows menu intent; the brand signature remains intact. */
html.ht-ui-ready .premium-nav{position:relative}
html.ht-ui-ready .premium-header .premium-nav a:hover{transform:none}
.ht-nav-marker{position:absolute;left:0;bottom:2px;height:1px;width:24px;background:#d3d8d5;opacity:0;pointer-events:none;transform:translateX(0);transition:transform 330ms cubic-bezier(.2,.7,.2,1),width 330ms cubic-bezier(.2,.7,.2,1),opacity 160ms ease}
.ht-nav-marker.is-ready{opacity:.8}
.ht-ui-card{transition:border-color 280ms ease,box-shadow 280ms ease!important}
@media(hover:hover) and (pointer:fine){
 .ht-ui-card:hover{border-color:#d3dfe12e!important;box-shadow:inset 0 1px 0 #ffffff06,0 10px 28px #0001;transform:none!important}
 .ht-ui-card img{transition:transform 800ms cubic-bezier(.2,.65,.25,1)}
 .ht-ui-card:hover img{transform:scale(1.015)}
}
.ht-ui-card:focus-within{border-color:#d3dfe13d!important;box-shadow:inset 0 1px 0 #ffffff08}
/* First copy of each neighbouring section shares the same quiet cadence. */
.ht-motion-enabled .focus-rail-head{transform:none!important}
@media(max-width:980px){
 html.ht-ui-ready .premium-header .premium-nav{position:absolute}
 .ht-nav-marker{display:none}
 html.ht-ui-ready .premium-nav a.active::before{content:'';position:absolute;left:6px;top:50%;width:2px;height:14px;transform:translateY(-50%);background:#b54c53}
}
@media(prefers-reduced-motion:reduce){
 .ht-page-curtain{display:none!important}
 .ht-nav-marker,.ht-ui-card,html.ht-ui-ready body :is(.ht-entry-button,.hero-btn,.inner-btn,.btn,.premium-cta){transition:none!important}
 html.ht-ui-ready body :is(.ht-entry-button,.hero-btn,.inner-btn,.btn,.premium-cta):active,html.ht-ui-ready body :is(.ht-entry-button,.hero-btn,.inner-btn,.btn,.premium-cta):hover{transform:none!important}
}
@media print{.ht-page-curtain,html[data-ui-arriving]::before{display:none!important}}
.ht-motion-enabled .ht-motion-container.reveal.ht-ui-card{transition:border-color 280ms ease,box-shadow 280ms ease!important}

/* Restore the brand signature within the continuous graphite curtain. */
.ht-page-curtain-signature{position:absolute;left:50%;top:50%;width:max-content;max-width:88vw;text-align:center;color:#f1f2ee;font:500 clamp(10px,1.05vw,14px)/1.6 'Space Grotesk','Helvetica Neue',Arial,sans-serif;letter-spacing:.19em;transform:translate(-50%,-50%);opacity:0;transition:opacity 160ms ease}
.ht-page-curtain.is-covering .ht-page-curtain-signature{opacity:1;transition-delay:70ms}
.ht-page-curtain.is-arrival .ht-page-curtain-signature{opacity:1;transition:none}
.ht-page-curtain.is-arrival.is-revealing .ht-page-curtain-signature{opacity:0;transition:opacity 160ms ease}
