:root{--accent:#caa578;--accent-light:#eddcc3;--teal:#447c82}body{background:#fcfcfa}a{transition:color .25s,background .25s,box-shadow .25s}.site-header{background:linear-gradient(115deg,#08192f,#112a47);border-bottom:1px solid #caa57835}.brand img{object-fit:contain;width:175px;height:85px;filter:drop-shadow(0 2px 7px #0005)}.footer-logo{width:175px;height:85px}nav a{position:relative;transition:color .25s,transform .25s}nav a:hover{color:var(--accent-light);transform:translateY(-2px)}nav [aria-current]{border-color:var(--accent)}.eyebrow{color:#8c683f}.slider-body .eyebrow,.page-heading .eyebrow,.values .eyebrow{color:var(--accent-light)}.slider-body h1 em{color:var(--accent-light)}.button{background:var(--accent-light);border:1px solid transparent;transition:transform .3s,background .3s,box-shadow .3s}.button:hover{background:white;color:var(--navy);transform:translateY(-4px);box-shadow:0 10px 30px #0004}.text-link:hover{color:var(--teal)}.number{color:#a88154}.light{background:linear-gradient(140deg,#f5f2ec,#edf3f2)}.values{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 10%,#2e515d90,transparent 60%),linear-gradient(130deg,#0b1e3d,#0b2530)}.values .wrap{position:relative}.value-grid article{border-color:#caa57855;transition:transform .35s,border-color .35s}.value-grid article:hover{transform:translateY(-6px);border-color:var(--accent-light)}.page-heading{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#49788170,transparent 65%),linear-gradient(120deg,#0b1e3d,#18384d)}.page-heading:after{content:'';position:absolute;width:300px;height:300px;right:-60px;top:-90px;border:1px solid #caa57830;transform:rotate(35deg);pointer-events:none}.page-heading h1{position:relative;z-index:1}.service-card{overflow:hidden;transition:transform .4s,box-shadow .4s,border-color .4s}.service-card:hover{transform:translateY(-8px);box-shadow:0 18px 45px #142c3b16;border-color:#caa57880}.service-card img{transition:transform .8s cubic-bezier(.2,.65,.3,1),filter .4s}.service-card:hover img{transform:scale(1.035)}.about-grid>img,.about-grid>div>img{transition:filter .5s,box-shadow .5s}.about-grid>img:hover,.about-grid>div>img:hover{filter:saturate(1.1);box-shadow:14px 14px 0 #caa57820}.gallery-item{overflow:hidden;border-radius:2px;transition:box-shadow .4s,transform .4s}.gallery-item img{transition:transform .65s,filter .4s}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0b1e3d25}.gallery-item:hover img{transform:scale(1.06);filter:brightness(1.04)}.bottom-contact{background:linear-gradient(110deg,#e4ece7,#eee2d2)}.bottom-contact a:hover{color:#86603a}.contact-link:hover a{color:var(--teal)}.slider-media img{animation:hero-zoom 16s ease-out both}.slider-body .eyebrow{animation:hero-enter .8s .2s both}.slider-body h1{animation:hero-enter 1s .35s both}.slider-body>p:not(.eyebrow){animation:hero-enter 1s .5s both}.slider-body>a{animation:hero-enter 1s .65s both}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}
.page-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;visibility:hidden;opacity:0;pointer-events:none;background:radial-gradient(ellipse at center,#22282e,#05080c 70%);transition:opacity .4s ease,visibility .4s}.is-loading .page-loader,.is-leaving .page-loader{visibility:visible;opacity:1;pointer-events:auto}.loader-inner{width:min(620px,85vw);text-align:center}.loader-brand{position:relative;isolation:isolate;width:100%;aspect-ratio:1536/760;overflow:hidden}.loader-art{position:absolute;left:0;top:-21.052632%;width:100%;height:auto;object-fit:contain;pointer-events:none}.loader-emblem{clip-path:inset(0 71.354167% 0 0);transform-origin:17% 50%}.loader-wordmark{clip-path:inset(0 0 0 28.645833%);transform-origin:64% 50%}.is-loading .loader-emblem,.is-leaving .loader-emblem{animation:emblem-enter .5s .08s both}.is-loading .loader-wordmark,.is-leaving .loader-wordmark{animation:wordmark-enter .6s .25s both}.loader-sweep{position:absolute;inset:0;overflow:hidden;mix-blend-mode:screen;pointer-events:none}.loader-sweep:after{content:'';position:absolute;top:0;bottom:0;width:15%;background:linear-gradient(90deg,transparent,#ffffff35,transparent);transform:translateX(-160%) skewX(-15deg)}.is-loading .loader-sweep:after,.is-leaving .loader-sweep:after{animation:light-sweep 1.1s .2s both}.loader-label{font-size:10px;letter-spacing:.3em;color:#b9bec5;margin:18px 0 24px}.loader-progress{width:140px;height:1px;background:#ffffff20;margin:auto;overflow:hidden}.loader-progress:after{content:'';display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.is-loading .loader-progress:after,.is-leaving .loader-progress:after{animation:progress-fill .95s ease-out both}@keyframes emblem-enter{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes wordmark-enter{from{opacity:0;transform:scale(.76)}to{opacity:1;transform:scale(1)}}@keyframes light-sweep{to{transform:translateX(780%) skewX(-15deg)}}@keyframes progress-fill{to{transform:scaleX(1)}}@keyframes hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.service-card.reveal.is-visible:hover{transform:translateY(-8px)}.gallery-item.reveal.is-visible:hover{transform:translateY(-4px)}.value-grid article.reveal.is-visible:hover{transform:translateY(-6px)}
@media(max-width:760px){.brand img{width:142px;height:70px}.loader-label{font-size:9px;letter-spacing:.2em}.about-grid>img:hover,.about-grid>div>img:hover{box-shadow:7px 7px 0 #caa57820}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.page-loader{display:none}.reveal{opacity:1;transform:none}.service-card:hover,.gallery-item:hover,.button:hover,.value-grid article:hover,nav a:hover{transform:none}}

/* Compact PNG logo in the page transition. */
.loader-inner{width:min(240px,72vw)}.loader-brand{aspect-ratio:175/85}.loader-art{top:0;width:100%;height:100%;object-fit:contain}.loader-label{font-size:8px;letter-spacing:.16em;margin:16px 0 20px}.loader-progress{width:90px}
