:root{--ink:#0b0b0c;--graphite:#17181b;--pearl:#faf9f7;--white:#fff;--gold:#c6a667;--gold-deep:#8a6e3c;--gold-light:#f0dfa8;--display:"Archivo",Arial,sans-serif;--body:"Manrope",Arial,sans-serif;--mono:"JetBrains Mono",monospace;--pad:clamp(1.25rem,4vw,5rem);--line:rgba(198,166,103,.3)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img{display:block;max-width:100%}address{font-style:normal}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:9999;top:1rem;left:1rem;background:var(--gold-light);color:var(--ink);padding:.6rem 1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{height:70px;background:rgba(11,11,12,.88);backdrop-filter:blur(14px);border-color:rgba(198,166,103,.16)}.brand{display:flex;align-items:center;gap:.7rem;font:600 .78rem/1 var(--display);letter-spacing:.03em}.brand svg{width:35px;height:35px;fill:none;stroke:var(--gold-light);stroke-width:1.1}.brand small{display:block;margin-top:.35rem;color:var(--gold-light);font:400 .55rem/1 var(--mono);letter-spacing:.16em}.main-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.5rem);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;bottom:-.5rem;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .3s}.main-nav a:hover:after{transform:scaleX(1);transform-origin:left}.main-nav .nav-call{color:var(--gold-light);font-family:var(--mono);font-size:.68rem}.nav-toggle{display:none;background:none;border:0}.measure-rail{position:fixed;z-index:80;top:0;bottom:0;left:1.2rem;width:1px;background:rgba(198,166,103,.16);pointer-events:none}.measure-progress{display:block;width:1px;height:0;background:var(--gold-light);box-shadow:0 0 8px rgba(240,223,168,.5)}.measure-labels span{position:absolute;left:-3px;display:flex;align-items:center;gap:.6rem;color:rgba(240,223,168,.45);font:400 .54rem/1 var(--mono);letter-spacing:.1em;white-space:nowrap;transition:.25s}.measure-labels span:before{content:"";width:7px;height:1px;background:var(--gold)}.measure-labels span.active{color:var(--gold-light)}.section{position:relative;padding:clamp(6rem,11vw,10rem) var(--pad);border-bottom:1px solid rgba(198,166,103,.12)}.pearl{background:var(--pearl);color:var(--ink)}.eyebrow{display:block;color:var(--gold-light);font:500 .64rem/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase}.pearl .eyebrow{color:var(--gold-deep)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display)}h2{font-size:clamp(2.2rem,5.6vw,5.6rem);line-height:.96;letter-spacing:-.055em}.section-head{display:grid;grid-template-columns:minmax(150px,1fr) 3fr;gap:2rem;margin-bottom:clamp(3rem,7vw,7rem)}.section-head h2{max-width:950px;margin:0}.section-head>p{grid-column:2;max-width:520px;color:#aaa}.pearl .section-head>p{color:#575757}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:170px;padding:1rem 1.2rem;border:1px solid var(--gold-deep);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;transition:.25s}.button-gold{background:var(--gold-light);color:var(--ink);border-color:var(--gold-light)}.button-gold:hover{background:var(--white);border-color:var(--white)}.button-ghost:hover{border-color:var(--gold-light);color:var(--gold-light)}.text-link{display:inline-flex;gap:2rem;margin-top:2.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--gold);color:var(--gold-light);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.text-link.dark{color:var(--gold-deep)}.hero{min-height:100svh;padding-top:140px;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(11,11,12,.98) 35%,rgba(11,11,12,.62)),var(--hero);background-size:cover;background-position:center}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 80%);opacity:.18}.grain{position:absolute;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.hero-copy{position:relative;z-index:2;max-width:960px}.hero h1{font-size:clamp(3.6rem,8.5vw,9rem);line-height:.84;letter-spacing:-.075em;max-width:1050px;margin:1.5rem 0 2rem;text-wrap:balance}.hero-copy>p{max-width:620px;color:#c9c9c9;font-size:clamp(1rem,1.5vw,1.2rem)}.hero-actions{display:flex;gap:1rem;margin-top:2.5rem}.hero-object{position:relative;height:min(60vw,650px);min-height:420px;perspective:800px}.layer{position:absolute;border:1px solid var(--gold-deep);background:rgba(23,24,27,.78);backdrop-filter:blur(4px);clip-path:polygon(0 10%,90% 0,100% 90%,10% 100%)}.l1{inset:13% 8% 15% 15%;transform:translate(30px,-25px)}.l2{inset:20% 15% 8% 7%;border-color:rgba(240,223,168,.55)}.l3{inset:27% 25% 18% 20%;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(198,166,103,.1) 8px 9px)}.hero-object:after,.hero-object:before{content:"";position:absolute;background:var(--gold)}.hero-object:before{width:70%;height:1px;left:10%;bottom:8%}.hero-object:after{height:75%;width:1px;left:6%;top:10%}.dimension{position:absolute;bottom:3%;left:12%;font:400 .53rem var(--mono);letter-spacing:.16em;color:var(--gold-light)}.scroll-cue{position:absolute;right:var(--pad);bottom:2rem;display:flex;align-items:center;gap:.8rem;font:400 .55rem var(--mono);letter-spacing:.16em}.scroll-cue i{width:40px;height:1px;background:var(--gold);animation:scrollcue 1.8s infinite}.about{display:grid;grid-template-columns:1.3fr 1fr;gap:5vw}.about .section-head{display:block}.about-copy{padding-top:3rem;max-width:540px;font-size:1.08rem}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:2rem;border-top:1px solid rgba(138,110,60,.3)}.stats div{padding:2.5rem 0;border-right:1px solid rgba(138,110,60,.3)}.stats div+div{padding-left:3vw}.stats strong{display:block;color:var(--gold-deep);font:500 clamp(3rem,7vw,7rem)/1 var(--display);letter-spacing:-.06em}.stats span{font:.65rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:rgba(198,166,103,.25);border:1px solid rgba(198,166,103,.25)}.service-card{position:relative;min-height:310px;padding:2rem;background:var(--graphite);display:flex;flex-direction:column;overflow:hidden}.service-card:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold-light);transform:scaleX(0);transform-origin:left;transition:.4s}.service-card:hover:after{transform:scaleX(1)}.service-card-1,.service-card-6{grid-column:span 8}.service-card-2,.service-card-5{grid-column:span 4}.service-card-3,.service-card-4{grid-column:span 6}.service-no{font:.6rem var(--mono);color:var(--gold-light);letter-spacing:.15em}.service-icon{width:42px;height:42px;margin:auto 0 1.5rem;border:1px solid var(--gold-deep);display:grid;place-items:center;color:var(--gold-light);font:500 1rem var(--mono);transform:rotate(45deg)}.service-icon::first-letter{transform:rotate(-45deg)}.service-card h3,.service-card h2{max-width:500px;margin:0 0 .7rem;font-size:clamp(1.35rem,2.3vw,2.4rem);line-height:1;letter-spacing:-.04em}.service-card p{max-width:520px;margin:0;color:#999;font-size:.88rem}.card-arrow{position:absolute;right:2rem;top:1.7rem;color:var(--gold);font-size:1.3rem;transition:.25s}.service-card:hover .card-arrow{transform:translate(3px,-3px)}.service-card.light{background:var(--white);color:var(--ink)}.service-card.light p{color:#5e5e5e}.masonry{columns:3;column-gap:1rem}.gallery-item{position:relative;display:block;width:100%;margin:0 0 1rem;padding:0;border:0;background:#ddd;cursor:zoom-in;break-inside:avoid;overflow:hidden}.gallery-item img{width:100%;height:auto;transition:transform .5s}.gallery-item:hover img{transform:scale(1.03)}.gallery-item>span{position:absolute;left:1rem;bottom:1rem;background:rgba(11,11,12,.82);padding:.35rem .55rem;color:var(--gold-light);font:.55rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.empty-showcase{min-height:420px;border:1px solid rgba(138,110,60,.3);display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}.empty-showcase>span{font:.62rem var(--mono);color:var(--gold-deep);letter-spacing:.2em}.empty-showcase>div{position:absolute;width:30vw;height:30vw;border:1px solid rgba(138,110,60,.2);transform:rotate(45deg)}.empty-showcase p{align-self:end;color:#777}.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-list li{position:relative;padding:2rem 2rem 0 0;border-right:1px solid var(--line);min-height:260px}.process-list li+li{padding-left:2rem}.process-list span{font:400 2rem var(--mono);color:var(--gold-light)}.process-list h3{margin-top:4rem;font-size:1.35rem}.process-list p{color:#999;font-size:.88rem}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(138,110,60,.25)}.testimonial-grid article{background:var(--white);padding:clamp(2rem,5vw,5rem)}.testimonial-grid article>p{font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.5}.testimonial-grid footer{display:flex;gap:1rem;font-size:.75rem}.testimonial-grid footer span{color:#777}.rating{color:var(--gold-deep);font-size:.5rem;letter-spacing:.5em;margin-bottom:2rem}.faq-list{max-width:1000px;margin:6rem 0 0 auto;border-top:1px solid rgba(138,110,60,.3)}.faq-list details{border-bottom:1px solid rgba(138,110,60,.3)}.faq-list summary{list-style:none;display:grid;grid-template-columns:50px 1fr 30px;align-items:center;cursor:pointer;padding:1.6rem 0;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:.6rem var(--mono);color:var(--gold-deep)}.faq-list summary i{position:relative;width:14px;height:14px}.faq-list summary i:before,.faq-list summary i:after{content:"";position:absolute;top:7px;width:14px;height:1px;background:currentColor}.faq-list summary i:after{transform:rotate(90deg);transition:.2s}.faq-list details[open] i:after{transform:rotate(0)}.faq-list details>div{padding:0 3rem 1.6rem 50px;color:#5d5d5d}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw}.contact-intro h2{font-size:clamp(3rem,6vw,6.5rem)}.contact-intro>p,.contact-intro address{max-width:470px;color:#aaa}.pearl .contact-intro>p,.pearl .contact-intro address{color:#555}.big-phone{display:block;margin:3rem 0 1rem;color:var(--gold-light);font:500 clamp(1.7rem,3vw,3.4rem) var(--mono);letter-spacing:-.05em}.big-phone.dark{color:var(--gold-deep)}.contact-form{display:grid;gap:1.4rem}.field{display:grid;gap:.5rem}.field label{font:.6rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(198,166,103,.4);border-radius:0;background:transparent;color:inherit;padding:.8rem 0;outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-light)}.pearl .field input,.pearl .field select,.pearl .field textarea{color:var(--ink);border-color:rgba(138,110,60,.35)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.consent{font-size:.72rem;color:#999}.pearl .consent{color:#555}.consent a{text-decoration:underline}.honeypot{position:absolute;left:-9999px}.alert{padding:1rem;margin-bottom:1.5rem;border:1px solid}.alert.success{border-color:#7f9d7f;background:rgba(89,129,89,.1)}.alert.error{border-color:#b66;background:rgba(160,80,80,.1)}.map-section iframe{display:block;width:100%;filter:grayscale(1) contrast(1.05)}.page-hero{min-height:74svh;padding-top:180px;display:flex;flex-direction:column;justify-content:flex-end}.page-hero.compact{min-height:60svh}.page-hero h1{margin:1.5rem 0 0;font-size:clamp(4rem,10vw,11rem);line-height:.84;letter-spacing:-.075em}.page-hero p{max-width:580px;color:#aaa;font-size:1.1rem}.service-index{padding-top:4rem}.service-detail-hero{min-height:90svh;padding-top:150px;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center}.service-detail-hero h1{font-size:clamp(3.5rem,8vw,8rem);line-height:.88;letter-spacing:-.07em;margin:1.5rem 0 2rem}.service-detail-hero p{max-width:600px;color:#aaa;font-size:1.1rem}.service-detail-hero img,.detail-blueprint{width:100%;aspect-ratio:4/5;object-fit:cover}.detail-blueprint{position:relative;border:1px solid var(--gold-deep);background:repeating-linear-gradient(45deg,transparent 0 15px,rgba(198,166,103,.04) 15px 16px);display:grid;place-items:center}.detail-blueprint:after,.detail-blueprint:before{content:"";position:absolute;background:var(--gold-deep)}.detail-blueprint:before{left:-1rem;right:-1rem;height:1px}.detail-blueprint:after{top:-1rem;bottom:-1rem;width:1px}.detail-blueprint span{font:500 8rem var(--mono);color:rgba(198,166,103,.2)}.detail-content{display:grid;grid-template-columns:2fr 1fr;gap:10vw}.prose{max-width:800px;font-size:1.05rem}.prose h2{font-size:clamp(2rem,4vw,4rem);margin-top:2em}.prose a{color:var(--gold-deep);text-decoration:underline}.detail-content aside{border-top:1px solid var(--gold-deep);padding-top:2rem}.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:3rem}.filters button{padding:.6rem 1rem;border:1px solid rgba(138,110,60,.35);background:transparent;color:var(--ink);cursor:pointer;font:.6rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.filters button.active{background:var(--ink);color:var(--gold-light)}.gallery-item.hidden{display:none}.legal .prose{margin:auto}.footer{padding-bottom:2rem}.footer-lead{padding-bottom:7rem;border-bottom:1px solid var(--line)}.footer-lead h2{max-width:900px;margin:2rem 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:5vw;padding:5rem 0}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-grid p,.footer-grid address{max-width:360px;color:#888;font-size:.8rem}.footer-grid h3{color:var(--gold-light);font:.6rem var(--mono);letter-spacing:.14em;text-transform:uppercase}.footer-grid a:not(.brand){font-size:.78rem;color:#aaa}.footer-bottom{display:flex;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--line);color:#777;font:.55rem var(--mono);letter-spacing:.1em}.footer-bottom span{margin-right:auto}.contact-dock{position:fixed;z-index:90;right:1.4rem;top:50%;display:grid;gap:.7rem;transform:translate(150%,-50%);transition:transform .5s}.contact-dock.visible{transform:translate(0,-50%)}.dock-button{position:relative;width:54px;height:54px;border-radius:50%;border:1px solid var(--gold-deep);background:rgba(11,11,12,.74);backdrop-filter:blur(12px);display:grid;place-items:center;color:var(--gold-light)}.dock-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.dock-label{position:absolute;right:65px;padding:.5rem .7rem;border:1px solid var(--gold-deep);background:var(--ink);white-space:nowrap;font:.55rem var(--mono);letter-spacing:.08em;opacity:0;transform:translateX(8px);pointer-events:none;transition:.25s}.dock-button:hover .dock-label,.dock-button:focus .dock-label{opacity:1;transform:none}.pulse:before{content:"";position:absolute;inset:-1px;border:1px solid var(--gold);border-radius:50%;animation:pulse 2.5s infinite}.contact-dock.wiggle{animation:wiggle .6s}.error-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.error-page>strong{position:absolute;color:rgba(198,166,103,.08);font:600 35vw/1 var(--display)}.error-page h1{z-index:1;font-size:clamp(2.5rem,6vw,6rem);margin:2rem 0 1rem}.error-page p,.error-page a{z-index:1}.reveal-section>*{transition:opacity .7s,transform .7s}.js .reveal-section:not(.revealed)>*{opacity:0;transform:translateY(24px)}.lightbox{position:fixed;z-index:1000;inset:0;background:rgba(5,5,6,.96);display:grid;grid-template-columns:70px 1fr 70px;place-items:center;padding:3rem}.lightbox img{max-height:86vh;max-width:100%;grid-column:2}.lightbox button{border:1px solid var(--gold-deep);background:var(--ink);color:var(--gold-light);width:44px;height:44px;cursor:pointer}.lightbox .close{position:absolute;right:2rem;top:2rem}.lightbox p{position:absolute;bottom:.5rem;font:.6rem var(--mono);color:#aaa}@keyframes pulse{0%{transform:scale(1);opacity:.7}75%,100%{transform:scale(1.5);opacity:0}}@keyframes scrollcue{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}51%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}@keyframes wiggle{20%{transform:translate(-5px,-50%) rotate(-4deg)}40%{transform:translate(5px,-50%) rotate(4deg)}60%{transform:translate(-3px,-50%) rotate(-2deg)}80%{transform:translate(3px,-50%) rotate(2deg)}}
@media(max-width:900px){.measure-rail{left:5px}.measure-labels span{display:none}.section-head{grid-template-columns:1fr}.section-head h2,.section-head>p{grid-column:1}.hero{grid-template-columns:1fr}.hero-object{position:absolute;right:-10%;width:55%;opacity:.55}.hero-copy{max-width:90%}.about,.contact,.service-detail-hero,.detail-content{grid-template-columns:1fr}.service-card-1,.service-card-2,.service-card-3,.service-card-4,.service-card-5,.service-card-6{grid-column:span 6}.process-list{grid-template-columns:1fr 1fr}.testimonial-grid{grid-template-columns:1fr}.masonry{columns:2}.footer-grid{grid-template-columns:1.5fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.service-detail-hero{padding-top:150px}.service-detail-hero img,.detail-blueprint{max-height:550px}.contact-intro h2{max-width:700px}}
@media(max-width:767px){body{padding-bottom:68px}.site-header{height:70px}.nav-toggle{display:grid;gap:5px;padding:10px}.nav-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:var(--gold-light)}.main-nav{position:fixed;inset:70px 0 0;background:rgba(11,11,12,.98);display:flex;flex-direction:column;align-items:flex-start;padding:3rem var(--pad);font:500 1.7rem var(--display);transform:translateX(100%);transition:.35s}.main-nav.open{transform:none}.main-nav .nav-call{margin-top:auto;font-size:1rem}.hero{padding-top:120px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(3.2rem,15vw,5.5rem)}.hero-actions{flex-direction:column;align-items:flex-start}.hero-object{top:28%;right:-45%;width:100%;height:50vh;min-height:300px}.scroll-cue{display:none}.section{padding-top:5rem;padding-bottom:5rem}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid rgba(138,110,60,.3)}.stats div+div{padding-left:0}.service-card-1,.service-card-2,.service-card-3,.service-card-4,.service-card-5,.service-card-6{grid-column:span 12;min-height:280px}.process-list{grid-template-columns:1fr}.process-list li{border-right:0;border-bottom:1px solid var(--line);min-height:210px}.process-list li+li{padding-left:0}.process-list h3{margin-top:2rem}.masonry{columns:1}.contact{gap:4rem}.form-pair{grid-template-columns:1fr}.page-hero{min-height:65svh;padding-top:130px}.page-hero h1{font-size:clamp(3.5rem,17vw,6rem)}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-wrap:wrap}.footer-bottom span{width:100%}.contact-dock,.contact-dock.visible{top:auto;bottom:0;left:0;right:0;width:100%;height:68px;padding:.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background:rgba(11,11,12,.94);border-top:1px solid var(--gold-deep);transform:none}.dock-button{width:100%;height:50px;border-radius:0;display:flex;gap:.6rem}.dock-label{position:static;opacity:1;transform:none;padding:0;border:0;background:none;order:2}.pulse:before{border-radius:0}.lightbox{grid-template-columns:45px 1fr 45px;padding:1rem}.lightbox .close{right:1rem;top:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal-section:not(.revealed)>*{opacity:1;transform:none}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}
.brand>img{width:auto;height:42px;object-fit:contain}.site-header .brand svg path{stroke-dasharray:150;stroke-dashoffset:150;animation:drawline .5s ease-out forwards}.hero-copy>*{opacity:0;transform:translateY(24px);animation:herorise .45s ease-out forwards}.hero-copy .hero-eyebrow{animation-delay:.25s}.hero-copy h1{animation-delay:.35s}.hero-copy>p{animation-delay:.48s}.hero-actions{animation-delay:.58s}.hero-object{clip-path:inset(100% 0 0);animation:heroopen .65s .3s cubic-bezier(.2,.7,.2,1) forwards}@keyframes drawline{to{stroke-dashoffset:0}}@keyframes herorise{to{opacity:1;transform:none}}@keyframes heroopen{to{clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.hero-copy>*{opacity:1;transform:none}.hero-object{clip-path:none}.site-header .brand svg path{stroke-dashoffset:0}}
.hero-photo{position:relative;z-index:2;height:min(72vh,760px);min-height:520px;margin:0;border:1px solid rgba(198,166,103,.42);overflow:hidden;clip-path:polygon(7% 0,100% 0,100% 93%,0 100%,0 7%);animation:heroopen .75s .25s cubic-bezier(.2,.7,.2,1) both}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,11,12,.92));pointer-events:none}.hero-photo picture,.hero-photo img{display:block;width:100%;height:100%}.hero-photo img{object-fit:cover;transition:transform .8s}.hero-photo:hover img{transform:scale(1.03)}.hero-photo figcaption{position:absolute;z-index:2;left:clamp(1.2rem,3vw,2.5rem);right:2rem;bottom:2rem;display:grid;gap:.35rem}.hero-photo figcaption span{color:var(--gold-light);font:.55rem var(--mono);letter-spacing:.16em}.hero-photo figcaption strong{font:500 clamp(1rem,1.6vw,1.4rem) var(--display)}.hero-photo>i{position:absolute;z-index:2;right:1.5rem;top:1.5rem;color:var(--gold-light);font:400 .6rem var(--mono);font-style:normal}.about-visual{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem);align-items:end;margin:2rem 0 5rem}.visual-note{grid-column:1/span 3;align-self:start;padding-top:2rem;border-top:1px solid var(--gold-deep)}.visual-note p{margin-top:1rem;color:#646464;font-size:.85rem}.about-photo{position:relative;margin:0;overflow:hidden}.about-photo picture,.about-photo img{display:block;width:100%;height:100%}.about-photo img{object-fit:cover;transition:transform .55s}.about-photo:hover img{transform:scale(1.03)}.about-photo-1{grid-column:4/span 5;height:clamp(380px,48vw,680px)}.about-photo-2{grid-column:9/span 4;height:clamp(280px,34vw,500px);margin-bottom:-2rem}.about-photo figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.55rem .7rem;background:rgba(11,11,12,.84);color:var(--gold-light);font:.55rem var(--mono);letter-spacing:.08em}.service-card-body{position:relative;z-index:2;min-height:inherit;display:flex;flex-direction:column}.service-card-media{position:absolute;z-index:0;inset:0}.service-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,.25),rgba(11,11,12,.94) 78%)}.service-card-media picture,.service-card-media img{display:block;width:100%;height:100%}.service-card-media img{object-fit:cover;filter:saturate(.75);transition:transform .55s,filter .55s}.service-card.has-media:hover .service-card-media img{transform:scale(1.03);filter:saturate(1)}.service-card.has-media p{color:#c3c3c3}.process-photo{position:relative;margin:0 0 5rem;height:clamp(380px,55vw,720px);overflow:hidden;border:1px solid var(--gold-deep)}.process-photo picture,.process-photo img{display:block;width:100%;height:100%}.process-photo img{object-fit:cover}.process-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.9),transparent 62%)}.process-photo figcaption{position:absolute;z-index:2;left:clamp(1.5rem,5vw,5rem);bottom:clamp(1.5rem,5vw,5rem);display:grid;max-width:420px}.process-photo figcaption span{color:var(--gold-light);font:.57rem var(--mono);letter-spacing:.17em}.process-photo figcaption strong{margin:.8rem 0;font:500 clamp(1.8rem,4vw,4rem)/1 var(--display);letter-spacing:-.04em}.process-photo figcaption small{color:#ccc}.process .process-list{margin-top:0}
@media(max-width:900px){.hero-photo{position:absolute;right:var(--pad);width:48%;height:64vh;min-height:460px;opacity:.62}.hero-copy{z-index:3}.about-visual{grid-template-columns:repeat(2,1fr)}.visual-note{grid-column:1/-1}.about-photo-1,.about-photo-2{grid-column:auto;height:480px;margin:0}.process-photo{height:520px}}
@media(max-width:767px){.hero-photo{inset:18% -22% auto auto;width:78%;height:62vh;min-height:430px;opacity:.45}.hero-photo figcaption{display:none}.about-visual{display:grid;grid-template-columns:1fr;margin-bottom:3rem}.about-photo-1,.about-photo-2{height:420px}.about-photo-2{display:none}.process-photo{height:460px;margin-bottom:3rem}.process-photo:after{background:linear-gradient(180deg,transparent 25%,rgba(11,11,12,.92))}.process-photo figcaption{left:1.2rem;right:1.2rem;bottom:1.5rem}}
@media(prefers-reduced-motion:reduce){.hero-photo{clip-path:none;animation:none}.hero-photo img,.about-photo img,.service-card-media img{transform:none!important}}
.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;columns:auto}.masonry .gallery-item{width:100%;margin:0;aspect-ratio:4/3;min-height:0}.masonry .gallery-item picture{display:block;width:100%;height:100%}.masonry .gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.gallery-page .masonry{align-items:stretch}.gallery-preview .masonry .gallery-item:nth-child(n){aspect-ratio:4/3}
@media(max-width:900px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr));columns:auto}}
@media(max-width:600px){.masonry{grid-template-columns:1fr;gap:.75rem}.masonry .gallery-item{aspect-ratio:4/3}}
