:root{--page-progress:0;--saturn-ease:cubic-bezier(.16,1,.3,1)}
::selection{background:#d4ad60;color:#031225}
.site-header{position:sticky;top:0;z-index:50;background:rgba(3,18,37,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .3s,background .3s}
.site-header.is-scrolled{background:rgba(3,18,37,.97);box-shadow:0 8px 40px rgba(3,18,37,.2)}
.site-header:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;transform:scaleX(var(--page-progress));transform-origin:left;background:linear-gradient(90deg,#8b6028,#d4ad60,#f1d68f);box-shadow:0 0 12px rgba(212,173,96,.45);pointer-events:none}
.main-nav a{position:relative;padding:9px 0;transition:color .25s}
.main-nav a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,#b98637,#f1d68f);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--saturn-ease)}
.main-nav a:hover:after,.main-nav a:focus-visible:after,.main-nav a.is-active:after{transform:scaleX(1);transform-origin:left}
.main-nav a.is-active{color:var(--gold-light)}
.language button{position:relative;transition:color .2s,background .2s}
.language button:after{content:"";position:absolute;left:5px;right:5px;bottom:1px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s}
.language button[aria-pressed=true]:after{transform:scaleX(1)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .3s var(--saturn-ease),box-shadow .3s,background .3s}
.button>span{position:relative;z-index:2;transition:transform .3s var(--saturn-ease)}
.button>span:last-child{font-size:16px}
.button:after{content:"";position:absolute;z-index:1;inset:-80% -30%;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.54) 48%,transparent 64%);transform:translateX(-125%) skewX(-14deg);transition:transform .8s var(--saturn-ease);pointer-events:none}
.button:hover:after,.button:focus-visible:after{transform:translateX(125%) skewX(-14deg)}
.button-gold{background:linear-gradient(110deg,#b98637 0%,#d4ad60 20%,#f1d68f 46%,#d4ad60 72%,#b98637 100%);background-size:220% 100%;animation:gold-current 24s ease-in-out infinite}
.button-gold:before{content:"";position:absolute;inset:0;background:radial-gradient(160px circle at var(--light-x,50%) var(--light-y,50%),rgba(255,255,255,.52),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}
.button-gold:hover,.button-gold:focus-visible{background-color:var(--gold);background-image:linear-gradient(110deg,#b98637 0%,#d4ad60 20%,#f1d68f 46%,#d4ad60 72%,#b98637 100%);background-size:220% 100%;box-shadow:0 8px 32px rgba(212,173,96,.2),inset 0 0 0 1px rgba(241,214,143,.8)}
.button-gold:hover:before,.button-gold:focus-visible:before{opacity:1}
.button:hover>span:last-child,.button:focus-visible>span:last-child{transform:translate(3px,-3px)}
.button-navy{box-shadow:inset 0 0 0 1px rgba(212,173,96,.24)}
.button-navy:hover{box-shadow:inset 0 0 0 1px rgba(212,173,96,.65),0 8px 24px rgba(3,18,37,.14)}
.under-link,.text-link{transition:color .25s,gap .25s}
.under-link:hover,.text-link:hover{gap:30px;color:var(--gold-deep)}
.hero{isolation:isolate}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at var(--hero-x,72%) var(--hero-y,36%),rgba(41,100,154,.13),transparent 54%),radial-gradient(ellipse at 15% 90%,rgba(212,173,96,.055),transparent 45%);pointer-events:none}
.hero h1 em{color:var(--gold-light);background:linear-gradient(105deg,#b98637 0%,#d4ad60 25%,#f1d68f 45%,#fff6d7 52%,#d4ad60 67%,#b98637 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gold-current 24s ease-in-out infinite}
.hero-visual{box-shadow:0 22px 65px rgba(0,0,0,.22);transform-style:preserve-3d}
.hero-visual>img{animation:none}
.hero-tech-grid{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(241,214,143,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(241,214,143,.3) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(145deg,#000,transparent 67%)}
.hero-scan{position:absolute;top:0;left:0;right:0;height:12%;z-index:2;border-bottom:1px solid rgba(241,214,143,.7);background:linear-gradient(transparent,rgba(212,173,96,.11));pointer-events:none;animation:precision-scan 24s ease-in-out infinite;mix-blend-mode:screen}
.measure,.visual-caption,.vertical-index{z-index:4}
.hero-visual>img,.collection-card>img,.portfolio-item>img{will-change:transform;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.1);transition:transform .65s var(--saturn-ease),filter .5s;transform-origin:50% 50%}
.collection-card:hover>img,.portfolio-item:hover>img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.16);filter:saturate(.95)}
img[data-source-crop]{position:absolute;max-width:none;object-fit:fill}
.surface-light{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--light-x,50%) var(--light-y,50%),rgba(241,214,143,.22),transparent 70%);mix-blend-mode:screen}
.collection-card:hover .surface-light,.hero-visual:hover .surface-light{opacity:1}
.collection-card{transform-style:preserve-3d;transition:border-color .3s,box-shadow .3s,transform .45s var(--saturn-ease)}
.collection-card:hover{border-color:rgba(241,214,143,.65);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.card-info,.card-index{z-index:3}
.card-info{transition:transform .35s var(--saturn-ease)}
.collection-card:hover .card-info{transform:translateY(-5px)}
.card-info>span{transition:color .25s,transform .35s}
.collection-card:hover .card-info>span{color:#fff4cc;transform:translateX(3px)}
.portfolio-item{transition:box-shadow .3s}
.portfolio-item:hover{box-shadow:0 16px 35px rgba(3,18,37,.12)}
.portfolio-item figcaption{z-index:3}
.media-shutter{position:absolute;inset:0;z-index:6;background:var(--navy);pointer-events:none;transform:scaleX(1);transform-origin:right;transition:transform .8s var(--saturn-ease) .08s}
.media-shutter:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold-light);box-shadow:0 0 20px rgba(241,214,143,.8)}
.is-visible>.media-shutter{transform:scaleX(0)}
.motion-ready .reveal{opacity:0;filter:blur(5px);transform:translate3d(var(--reveal-x,0px),var(--reveal-y,28px),0);transition:opacity .7s var(--saturn-ease),filter .7s var(--saturn-ease),transform .8s var(--saturn-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
.motion-ready .collection-card.reveal.is-visible{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.motion-ready .collection-card.reveal.is-visible{transition:opacity .7s var(--saturn-ease),filter .7s var(--saturn-ease),transform .45s var(--saturn-ease),border-color .3s,box-shadow .3s}
.principles article{position:relative;transition:background .3s}
.principles article:before{content:"";position:absolute;top:-1px;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold-light));transition:width .5s var(--saturn-ease)}
.principles article:hover:before{width:100%}
.principles h3{transition:color .25s}
.principles article:hover h3{color:var(--gold-deep)}
.process-step{position:relative;transition:padding-left .3s var(--saturn-ease),background .3s}
.process-step:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold-light));transition:width .5s var(--saturn-ease)}
.process-step:hover:after{width:100%}
.process-step:hover{padding-left:7px}
.step-symbol,.step-no{transition:color .25s,transform .35s var(--saturn-ease)}
.process-step:hover .step-symbol{transform:rotate(-8deg);color:#8b6028}
.request{isolation:isolate}
.request:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 40%,rgba(41,100,154,.14),transparent 55%);pointer-events:none}
.request-form label{transition:color .25s}
.request-form label:focus-within{color:var(--gold-light)}
.request-form input,.request-form textarea,.request-form select{transition:border-color .25s,box-shadow .25s}
.request-form input:focus,.request-form textarea:focus,.request-form select:focus{box-shadow:0 1px 0 rgba(241,214,143,.4)}
.motion-toggle{position:fixed;right:22px;bottom:22px;z-index:70;min-height:42px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 13px;border:1px solid rgba(212,173,96,.46);background:rgba(3,18,37,.91);color:var(--gold-light);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;box-shadow:0 4px 22px rgba(3,18,37,.2);transition:border-color .25s,transform .25s,background .25s}
.motion-toggle svg{width:13px;height:13px;fill:currentColor}
.motion-toggle span{font:500 9px var(--sans);letter-spacing:.1em}
.motion-toggle:hover{border-color:var(--gold-light);transform:translateY(-2px);background:var(--surface)}
.motion-toggle:disabled{cursor:default;opacity:.6}
.motion-paused .reveal,.motion-paused .reveal.is-visible{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
.motion-paused .media-shutter{transform:scaleX(0)!important;transition:none!important}
.motion-paused *, .motion-suspended *{animation-play-state:paused!important}
.motion-paused .hero-scan{opacity:0}
.motion-paused .hero-visual>img,.motion-paused .collection-card>img,.motion-paused .portfolio-item>img{transform:scale(1.1)!important;transition:none!important}
.motion-paused .surface-light{opacity:0!important}
@keyframes gold-current{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes precision-scan{0%,100%{transform:translate3d(0,-110%,0);opacity:0}8%{opacity:.6}48%{transform:translate3d(0,var(--scan-travel,390px),0);opacity:.6}58%,92%{transform:translate3d(0,var(--scan-travel,390px),0);opacity:0}}
@keyframes language-out{to{opacity:0;filter:blur(3px);transform:translateY(-4px)}}
@keyframes language-in{from{opacity:0;filter:blur(3px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
::view-transition{pointer-events:none}
::view-transition-old(root){animation:language-out .2s ease both}
::view-transition-new(root){animation:language-in .3s var(--saturn-ease) both}
@media(max-width:740px){.motion-toggle{right:14px;bottom:14px;width:42px;padding:9px}.motion-toggle span{display:none}.motion-ready .reveal{filter:blur(3px);--reveal-x:0px!important;--reveal-y:20px!important}.motion-ready .collection-card.reveal.is-visible{transform:none}.site-header{backdrop-filter:blur(12px)}.main-nav a:after{bottom:6px;width:36px}.hero-tech-grid{background-size:48px 48px}.hero-visual>img,.collection-card>img,.portfolio-item>img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.1)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal,.motion-ready .reveal.is-visible{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}.media-shutter{transform:scaleX(0)!important}.hero-scan{display:none}.button:after{display:none}.surface-light{display:none}.hero-visual>img,.collection-card>img,.portfolio-item>img{transform:scale(1.1)!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}.hero h1 em{-webkit-text-fill-color:var(--gold-light);background:none}}
@media(max-width:740px){.card-custom{grid-column:span 1}}

/* Quiet production emblems; no baked-in changes to source project photographs. */
.process,.request{position:relative;isolation:isolate;overflow:hidden}
.section-watermark,.photo-watermark{position:absolute;pointer-events:none;user-select:none;aspect-ratio:900/725;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
.section-watermark{z-index:-1;width:clamp(310px,43vw,560px);right:-100px;bottom:-55px;opacity:.055}
.section-watermark--light{right:-115px;bottom:-85px;opacity:.075}
.photo-watermark{z-index:1;width:170px;right:14px;bottom:51px;opacity:.10;mix-blend-mode:screen}
.section-watermark img,.photo-watermark img{display:block;width:100%;height:100%;object-fit:contain}
.hero-tech-grid{opacity:.08}
.motion-paused .section-watermark,.motion-paused .photo-watermark{transform:none!important;will-change:auto}
@media(max-width:740px){.section-watermark{width:330px;right:-130px;bottom:-35px}.section-watermark--light{bottom:-65px}.photo-watermark{width:115px;right:9px;bottom:43px}}
@media(prefers-reduced-motion:reduce){.section-watermark,.photo-watermark{transform:none!important;will-change:auto}}
