:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f4f3ee;--surface:#fbfaf7;--surface-soft:#ece9df;--text:#202326;--muted:#686c70;--graphite:#24272a;--graphite-deep:#17191b;--graphite-soft:#34383c;--amber:#d79a20;--amber-strong:#a96707;--line:#20232624;--shadow:0 28px 80px #20232629;--nav-bg:#17191beb;--nav-text:#f4f3ee;--nav-muted:#f4f3eeb8;--nav-border:#d79a205c;--beam:#d79a2057;--radius:18px;--radius-small:12px;--max:1180px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#17191b;--surface:#202326;--surface-soft:#2a2d30;--text:#f4f3ee;--muted:#c0bdb5;--graphite:#f4f3ee;--graphite-deep:#111315;--graphite-soft:#2d3135;--amber:#e0a53c;--amber-strong:#f0bd58;--line:#f4f3ee24;--shadow:0 28px 80px #00000052}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:linear-gradient(115deg, #d79a201a, transparent 28rem), linear-gradient(68deg, transparent 0 42%, #ffffff0d 47%, transparent 56%), linear-gradient(180deg, var(--surface), var(--paper) 36rem);min-width:320px;color:var(--text);text-rendering:optimizelegibility;margin:0;font-family:Aptos,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;opacity:.62;background:linear-gradient(115deg,#0000 0 40%,#d79a201a 45%,#0000 52%) 0 0/180% 180%,linear-gradient(90deg,#0000,#24272a0a,#0000) 0 0/100% 100%;position:fixed;inset:0}body:after{content:"";z-index:40;pointer-events:none;mix-blend-mode:soft-light;opacity:.038;background-image:repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#17191b0d 0 1px,#0000 1px 5px);position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--amber);color:var(--graphite-deep)}.site-header{z-index:20;background:0 0;padding-top:14px;position:sticky;top:0}.nav{isolation:isolate;border:1px solid var(--nav-border);background:var(--nav-bg);width:min(1156px,100% - 32px);height:66px;color:var(--nav-text);-webkit-backdrop-filter:blur(24px)saturate(1.18);border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin:0 auto;padding:0 10px 0 26px;animation:.72s cubic-bezier(.16,1,.3,1) both nav-enter;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #11131547,inset 0 1px #ffffff1f,inset 0 0 0 1px #d79a201f}.nav:before,.nav:after{content:"";pointer-events:none;border-radius:inherit;position:absolute;inset:0}.nav:before{z-index:-1;background:linear-gradient(110deg,#0000 0 34%,#d79a2047 46%,#ffffff2e 51%,#0000 64%);animation:7s ease-in-out infinite nav-sheen;transform:translate(-68%)}.nav:after{z-index:-1;background:radial-gradient(240px circle at var(--spot-x,50%) var(--spot-y,50%), #d79a2042, transparent 60%);opacity:0;transition:opacity .24s}.nav:hover:after{opacity:1}.nav>*{z-index:1;position:relative}.brand{min-width:0;color:var(--nav-text);letter-spacing:-.03em;white-space:nowrap;align-items:center;font-weight:850;display:inline-flex}.nav-links{color:var(--nav-muted);justify-self:center;align-items:center;gap:clamp(14px,2vw,28px);font-size:.94rem;display:flex}.nav-links a,.nav-action{transition:color .22s,transform .22s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--amber)}.nav-action{background:var(--amber);min-height:48px;color:var(--graphite-deep);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font-weight:800;display:inline-flex;box-shadow:0 14px 34px #d79a204d,inset 0 1px #ffffff3d}.nav-action:hover,.nav-action:focus-visible{background:var(--paper);color:var(--graphite-deep);transform:translateY(-1px)}.section{padding:clamp(76px,9vw,132px) 0}.section-inner{width:min(var(--max), calc(100% - 32px));margin:0 auto}.hero{isolation:isolate;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:clamp(28px,4.5vw,70px);width:min(1320px,100% - 32px);min-height:calc(100dvh - 80px);margin:0 auto;padding:clamp(54px,7vw,86px) 0 clamp(56px,8vw,96px);display:grid;position:relative}.hero-copy{z-index:1;max-width:680px;position:relative}.hero-ambient{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient-line,.ambient-plane{pointer-events:none;display:block;position:absolute}.ambient-line{transform-origin:50%;opacity:.64;background:linear-gradient(90deg,#0000,#d79a208a,#ffffff6b,#0000);width:min(760px,66vw);height:1px;box-shadow:0 0 28px #d79a202e}.ambient-line-one{animation:9s ease-in-out infinite alternate ambient-line-one;top:22%;left:-9%;transform:rotate(-11deg)}.ambient-line-two{animation:11s ease-in-out infinite alternate ambient-line-two;bottom:19%;right:-16%;transform:rotate(-13deg)}.ambient-plane{clip-path:polygon(12% 0,100% 16%,78% 100%,0 72%);filter:blur(1px);opacity:.66;mix-blend-mode:screen;background:linear-gradient(118deg,#0000 0 18%,#d79a2026 36%,#0000 62%),linear-gradient(90deg,#0000,#ffffff0f,#0000);width:min(580px,58vw);height:min(420px,42vw)}.ambient-plane-one{animation:13s ease-in-out infinite alternate plane-drift;top:3%;right:24%}.ambient-plane-two{animation:15s ease-in-out infinite alternate-reverse plane-drift;bottom:10%;right:-14%;transform:rotate(14deg)}.hero-kicker{color:var(--amber-strong);letter-spacing:-.01em;margin:0 0 18px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;text-wrap:balance;margin-bottom:22px;font-size:clamp(3rem,4.6vw,4.9rem);line-height:.94}.hero-lead{max-width:600px;color:var(--muted);margin-bottom:32px;font-size:clamp(1.05rem,1.5vw,1.22rem)}.hero-actions,.contact-actions{flex-wrap:wrap;gap:12px;display:flex}.button{isolation:isolate;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 22px;font-weight:850;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s,background .22s,color .22s;display:inline-flex;position:relative;overflow:hidden}.button:after{content:"";z-index:-1;border-radius:inherit;opacity:0;background:linear-gradient(90deg,#ffffff47,#0000 56%);transition:opacity .22s,transform .22s;position:absolute;inset:3px;transform:translate(-10px)}.button:hover,.button:focus-visible{transform:translateY(-2px);box-shadow:0 20px 48px #d79a203d,inset 0 1px #ffffff1f}.button:hover:after,.button:focus-visible:after{opacity:1;transform:translate(0)}.button:active{transform:translateY(1px)scale(.99)}.button-primary{background:var(--amber);color:var(--graphite-deep);box-shadow:0 16px 38px #d79a2042}.button-secondary{background:var(--graphite-deep);color:#f4f3ee;box-shadow:0 16px 36px #17191b2e}.button-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.hero-media,.gallery-item{margin:0}.hero-media{z-index:1;isolation:isolate;border-radius:var(--radius);min-height:clamp(360px,62vh,690px);box-shadow:var(--shadow);background:var(--surface-soft);transform-style:preserve-3d;position:relative;overflow:hidden}.hero-media:before{content:"";z-index:2;opacity:.72;pointer-events:none;background:linear-gradient(90deg,#0000,#d79a20e6,#ffffffc7,#0000);width:170%;height:2px;animation:6.5s cubic-bezier(.16,1,.3,1) infinite measure-sweep;position:absolute;top:24%;left:-58%;transform:rotate(-2deg)translate(-16%);box-shadow:0 0 24px #d79a2075,0 20px 60px #d79a202e}.hero-media:after{content:"";z-index:3;background:radial-gradient(260px circle at var(--spot-x,78%) var(--spot-y,28%), #ffffff38, transparent 58%), linear-gradient(90deg, #17191b33, transparent 34%, #d79a2014);pointer-events:none;transition:opacity .26s;position:absolute;inset:0}.hero-media img{width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s;transform:scale(1.02)}.hero-media:hover img{filter:saturate(1.07)contrast(1.04);transform:scale(1.065)}.about-grid{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:start;gap:clamp(30px,7vw,86px);display:grid}.about-main{position:sticky;top:104px}.about-main h2,.section-heading h2,.contact h2{letter-spacing:-.055em;text-wrap:balance;margin-bottom:18px;font-size:clamp(2.15rem,4.5vw,4.55rem);line-height:.98}.about-main p,.section-heading p,.contact p{max-width:650px;color:var(--muted);margin-bottom:0;font-size:clamp(1rem,1.25vw,1.16rem)}.work-principles{gap:14px;display:grid}.work-principles article{border-radius:var(--radius-small);background:color-mix(in srgb, var(--surface) 88%, var(--amber) 12%);border:1px solid var(--line);padding:24px;position:relative;overflow:hidden}.work-principles article:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000,#ffffff1a,#0000);transition:transform .58s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-110%)}.work-principles article:hover:before{transform:translate(110%)}.work-principles article:nth-child(2n){background:var(--surface);transform:translate(clamp(0px,3vw,34px))}.work-principles h3,.service-card span{letter-spacing:-.025em;margin-bottom:8px;font-size:1.02rem;font-weight:850}.work-principles p,.service-card p{color:var(--muted);margin-bottom:0}.section-heading{max-width:720px;margin-bottom:clamp(30px,5vw,58px)}.services-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(170px,auto);gap:14px;display:grid}.service-card{isolation:isolate;border:1px solid var(--line);border-radius:var(--radius-small);background:linear-gradient(145deg, #d79a2014, transparent 42%), var(--surface);flex-direction:column;grid-column:span 2;justify-content:space-between;min-height:170px;padding:24px;transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .24s,background .24s;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";z-index:-1;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%), #d79a203d, transparent 64%);opacity:0;transition:opacity .26s;position:absolute;inset:0}.service-card:after{content:"";z-index:-1;border-radius:inherit;opacity:0;background:linear-gradient(135deg,#ffffff1f,#0000 40%);transition:opacity .26s;position:absolute;inset:0}.service-card:hover,.service-card:focus-within{border-color:color-mix(in srgb, var(--amber) 56%, var(--line));transform:translateY(-7px)scale(1.012)}.service-card:hover:before,.service-card:focus-within:before,.service-card:hover:after,.service-card:focus-within:after{opacity:1}.service-card-strong,.service-card-amber{grid-column:span 3;min-height:230px}.service-card-strong,.service-card-dark{background:linear-gradient(135deg, #d79a2033, transparent 38%), var(--graphite-deep);color:#f4f3ee;border-color:#ffffff1f}.service-card-strong p,.service-card-dark p{color:#f4f3eeb8}.service-card-amber{background:linear-gradient(135deg, #ffffff47, transparent 46%), var(--amber);color:var(--graphite-deep);border-color:#a9670733}.service-card-amber p{color:color-mix(in srgb, var(--graphite-deep) 74%, transparent)}.gallery-heading{margin-left:clamp(0px,10vw,120px)}.gallery-grid{grid-template-columns:repeat(8,minmax(0,1fr));align-items:start;gap:clamp(14px,2vw,22px);display:grid}.gallery-item{isolation:isolate;grid-column:span 3;position:relative}.gallery-item:before{content:"";z-index:-1;border-radius:calc(var(--radius) + 2px);background:radial-gradient(280px circle at var(--spot-x,50%) var(--spot-y,50%), #d79a2057, transparent 64%);opacity:0;transition:opacity .28s;position:absolute;inset:-1px}.gallery-wide{grid-column:span 5}.gallery-tall{grid-column:3/span 4}.gallery-item img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--surface-soft);width:100%;box-shadow:var(--shadow);transition:transform .36s cubic-bezier(.16,1,.3,1),filter .36s}.gallery-wide img{aspect-ratio:16/10}.gallery-item:hover img{filter:saturate(1.08)contrast(1.04);transform:scale(1.035)translateY(-2px)}.gallery-item:hover:before{opacity:1}figcaption{color:var(--muted);margin-top:12px;font-size:.95rem}.contact{padding-bottom:clamp(64px,8vw,110px)}.contact-inner{isolation:isolate;border-radius:var(--radius);background:linear-gradient(125deg, #d79a2024, transparent 42%), var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:clamp(28px,5vw,56px);display:grid;position:relative;overflow:hidden}.contact-inner:before{content:"";z-index:-1;background:radial-gradient(360px circle at var(--spot-x,76%) var(--spot-y,42%), #d79a203d, transparent 62%), linear-gradient(110deg, transparent, #ffffff14, transparent);opacity:.88;position:absolute;inset:0}.contact-actions{justify-content:flex-end}.footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0}.footer-inner{justify-content:space-between;gap:18px;font-size:.94rem;display:flex}[data-reveal]{opacity:1;transform:none}.js [data-reveal]{opacity:0;filter:blur(10px);transform:translateY(34px)scale(.985)}.js [data-reveal].is-visible{opacity:1;filter:blur();transition:opacity .9s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s), filter .9s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s), transform .9s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s);transform:translateY(0)}@media (prefers-reduced-motion:no-preference){body:before{animation:16s ease-in-out infinite alternate background-drift}.hero-copy{animation:.78s cubic-bezier(.16,1,.3,1) both hero-enter}.hero-media{animation:.9s cubic-bezier(.16,1,.3,1) .12s both hero-image}}@keyframes nav-enter{0%{opacity:0;transform:translateY(-18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes nav-sheen{0%,42%{transform:translate(-72%)}62%,to{transform:translate(72%)}}@keyframes background-drift{0%{background-position:0%,0 0}to{background-position:100%,0 0}}@keyframes ambient-line-one{0%{opacity:.42;transform:rotate(-11deg)translate(-4%)}to{opacity:.82;transform:rotate(-8deg)translate(7%,10px)}}@keyframes ambient-line-two{0%{opacity:.34;transform:rotate(-13deg)translate(8%)}to{opacity:.78;transform:rotate(-16deg)translate(-7%,-12px)}}@keyframes plane-drift{0%{opacity:.34;transform:translate(-18px,8px)rotate(4deg)}to{opacity:.78;transform:translate(24px,-10px)rotate(9deg)}}@keyframes measure-sweep{0%,30%{opacity:0;transform:rotate(-2deg)translate(-20%)}45%{opacity:.82}68%,to{opacity:0;transform:rotate(-2deg)translate(48%)}}@keyframes hero-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image{0%{opacity:0;transform:translateY(28px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:980px){.nav{grid-template-columns:auto auto;justify-content:space-between}.nav-links{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:780px}.hero-media{min-height:420px}.about-grid,.contact-inner{grid-template-columns:1fr}.about-main{position:static}.work-principles article:nth-child(2n){transform:none}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card-strong,.service-card-amber,.service-card-dark{grid-column:span 1}.gallery-heading{margin-left:0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-wide,.gallery-tall{grid-column:span 1}.contact-actions{justify-content:flex-start}}@media (max-width:640px){.site-header{padding-top:10px}.nav{width:min(var(--max), calc(100% - 20px));gap:10px;height:58px;padding:0 8px 0 18px}.brand{font-size:.95rem}.brand span:last-child{text-overflow:ellipsis;max-width:146px;overflow:hidden}.nav-action{min-height:42px;padding:0 14px;font-size:.88rem}.section-inner,.hero{width:calc(100% - 24px)}.hero{gap:28px;padding-top:34px}.ambient-line,.ambient-plane{opacity:.32}h1{letter-spacing:-.06em;font-size:clamp(2.7rem,14vw,4rem)}.hero-lead{margin-bottom:24px}.hero-actions,.contact-actions{flex-direction:column;width:100%}.button{width:100%}.hero-media{border-radius:16px;min-height:330px}.section{padding:68px 0}.about-main h2,.section-heading h2,.contact h2{font-size:clamp(2.2rem,12vw,3.25rem)}.work-principles article,.service-card,.contact-inner{padding:20px}.services-grid,.gallery-grid{grid-template-columns:1fr}.gallery-item img,.gallery-wide img{aspect-ratio:1/.82;border-radius:16px}.footer-inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}}
