@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Inter:wght@400;500;600;700&display=swap");:root{--primary-black:#0a0a0a;--charcoal:#1e1e1e;--graphite:#3f3f46;--mist:#d4d4d8;--offwhite:#f4f4f5;--purewhite:#fff;--grid-size:32px;--grid-line:hsla(0,0%,100%,.06);--bg-base:#0c0c0d;--bg-soft:#111214}*{box-sizing:border-box}body,html{margin:0;padding:0;scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;color:var(--charcoal);background-color:var(--bg-base);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),linear-gradient(180deg,var(--bg-soft) 0,var(--bg-base) 100%);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),100% 100%;background-attachment:fixed}body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.08;background-image:radial-gradient(hsla(0,0%,100%,.45) .55px,transparent 0);background-size:3px 3px;mix-blend-mode:soft-light;z-index:0}footer,header,main,section{position:relative;z-index:1}.container{max-width:1140px;margin:0 auto;padding:0 24px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:12px;opacity:.82;margin-bottom:10px}.h2{font-family:Playfair Display,serif;font-size:36px;margin:0 0 20px}.small{font-size:15px;line-height:1.65;color:var(--graphite)}.light{color:#d9d9d9}.topNavWrap{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,4%,.72);border-bottom:1px solid hsla(0,0%,100%,.12)}.topNav{display:flex;justify-content:space-between;align-items:center;min-height:62px}.brand{color:#fff;letter-spacing:.08em;font-size:13px;font-weight:700}.topNav nav{display:flex;gap:18px;align-items:center}.topNav a{color:#e6e6e6;text-decoration:none;font-size:14px}.topNav a:hover{color:#fff}.themeToggle{border:1px solid hsla(0,0%,100%,.35);background:hsla(0,0%,100%,.06);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer}.themeToggle:hover{background:hsla(0,0%,100%,.16)}.hero{color:var(--purewhite);padding:96px 0 88px;background:transparent;position:relative;overflow:hidden}.contourSvg{position:absolute;inset:0;width:100%;height:100%;opacity:.33;z-index:1}.contourSvg path{fill:none;stroke:hsla(0,0%,100%,.32);stroke-width:1.2;animation:contourPulse 9s ease-in-out infinite}.contourSvg path:nth-child(2){animation-delay:1.2s}.contourSvg path:nth-child(3){animation-delay:2.4s}.modernGrid:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);-webkit-mask-image:radial-gradient(circle at 65% 40%,#000 40%,transparent 78%);mask-image:radial-gradient(circle at 65% 40%,#000 40%,transparent 78%);animation:gridDrift 16s linear infinite}.heroWrap{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:22px;gap:22px;align-items:center;position:relative;z-index:2}.hero h1{font-family:Playfair Display,serif;font-size:64px;line-height:1.02;margin:0 0 16px}.lead{max-width:680px;color:#e5e5e5;font-size:19px;line-height:1.65}.heroActions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.btn{text-decoration:none;border-radius:10px;padding:12px 16px;font-weight:600;font-size:14px;transition:.25s ease;cursor:pointer}.btnLight{background:var(--purewhite);color:#111}.btnLight:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.2)}.btnGhost{border:1px solid #6e6e6e;color:var(--purewhite);background:hsla(0,0%,100%,.02)}.btnGhost:hover{background:hsla(0,0%,100%,.1);transform:translateY(-2px)}.archPanel{display:flex;justify-content:center}.archFrame{width:100%;min-height:320px;border:1px solid hsla(0,0%,100%,.28);border-radius:18px;padding:18px;position:relative;background:linear-gradient(140deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.02));-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:floaty 8s ease-in-out infinite}.planStack{position:absolute;inset:8% 7% 15% 7%;transform:perspective(1200px) rotateX(22deg) rotateY(-7deg) rotate(-8deg);transform-style:preserve-3d}.planLayer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:1px solid hsla(0,0%,100%,.2);border-radius:6px;filter:grayscale(1) contrast(1.12) brightness(.95);box-shadow:0 14px 24px rgba(0,0,0,.35)}.layerOne{transform:translateZ(0);animation:planFloatA 7s ease-in-out infinite}.layerTwo{transform:translate3d(10px,10px,-20px);opacity:.62;mix-blend-mode:screen;animation:planFloatB 7s ease-in-out infinite}.planScan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.95),transparent);animation:scanDown 3.4s ease-in-out infinite;box-shadow:0 0 12px hsla(0,0%,100%,.55)}.planGridOverlay{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.07) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.07) 1px,transparent 0);background-size:24px 24px}.blueprintDots{position:absolute;inset:12% 10% 20% 10%;background-image:radial-gradient(hsla(0,0%,100%,.55) 1px,transparent 0);background-size:14px 14px;opacity:.28;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%)}.archStamp{position:absolute;right:14px;bottom:14px;font-size:10px;letter-spacing:.11em;border:1px solid hsla(0,0%,100%,.45);border-radius:999px;padding:8px 12px}.metricStrip{background:#111;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;padding:20px 0}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.metricCard{border:1px solid #2f2f2f;border-radius:12px;padding:14px;background:#161616}.metricValue{color:#fff;font-size:28px;font-weight:700}.metricLabel{color:#bdbdbd;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.section{padding:72px 0;border-bottom:none;background:transparent}.section .h2{color:#fff}.section .small{color:#cfcfcf}.twoCol{display:grid;grid-template-columns:1.45fr 1fr;grid-gap:16px;gap:16px}.grid,.projectsGrid,.sfpGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.sfpSection{position:relative;background-color:transparent}.sfpSection:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);opacity:.65}.sfpSection .container{position:relative;z-index:1}.sfpSection .h2{color:#fff}.gridFlowSection{position:relative;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size)}.gridFlowSection .container{position:relative;z-index:1}.servicesSection{position:relative;background-color:transparent}.servicesSection .container{position:relative;z-index:1}.servicesSection .h2{color:#fff}.servicesSection .card{background:rgba(0,0,0,.46);border:1px solid hsla(0,0%,100%,.22)}.servicesSection .card h3{color:#fff}.servicesSection .card .small{color:#d0d0d0}.aiGallerySection{background:transparent}.aiGallerySection .h2{color:#fff}.aiImageGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.aiImageCard{min-height:240px;border-radius:14px;background-size:cover;background-position:50%;position:relative;overflow:hidden;border:1px solid hsla(0,0%,100%,.18);box-shadow:0 12px 24px rgba(0,0,0,.25);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.aiImageCard:before{content:"";position:absolute;inset:-10%;background:inherit;background-size:cover;background-position:50%;transform:scale(1);transition:transform .55s ease}.aiImageCard:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.16))}.aiImageCard:hover{transform:translateY(-6px);border-color:hsla(0,0%,100%,.4);box-shadow:0 20px 34px rgba(0,0,0,.35)}.aiImageCard:hover:before{transform:scale(1.06)}.aiImageCard span{position:absolute;z-index:2;left:12px;bottom:10px;color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.featureWhite{color:#fff!important}.featuredParallax{position:relative;overflow:hidden;min-height:420px;display:flex;align-items:center}.architectureFeatured{background-position:center 38%}.featuredImage{position:absolute;inset:0;background-image:url(https://images.unsplash.com/photo-1511818966892-d7d671e672a2?auto=format&fit=crop&w=2200&q=90);background-size:cover;background-position:50%;transform:scale(1.06);animation:featuredBreath 10s ease-in-out infinite}.featuredFlow{position:absolute;inset:-20% -10% auto -10%;height:220px;background:radial-gradient(ellipse at center,hsla(0,0%,100%,.55),hsla(0,0%,100%,0) 70%);filter:blur(18px);opacity:.5;animation:flowSweep 6s linear infinite}.featuredFlow.flow2{top:auto;bottom:-14%;animation-duration:8s;animation-direction:reverse;opacity:.32}.featuredBeam{position:absolute;inset:0;background-image:repeating-linear-gradient(120deg,hsla(0,0%,100%,.14) 0 2px,transparent 2px 26px);mix-blend-mode:soft-light;opacity:.38;animation:beamSlide 9s linear infinite}.featuredVideoOverlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.62))}.featureOverlay{position:relative;z-index:1;padding:18px 0}.compactSection{padding-top:46px;padding-bottom:46px}.sfpCard{background:linear-gradient(155deg,#111,#1f1f1f);color:#f6f6f6;border:1px solid #3b3b3b;border-radius:14px;padding:22px;position:relative;overflow:hidden;transition:transform .28s ease,border-color .28s ease}.sfpCard:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,hsla(0,0%,100%,.08) 52%,transparent);transform:translateX(-120%);transition:transform .7s ease}.sfpCard:hover{transform:translateY(-6px);border-color:#767676}.sfpCard:hover:after{transform:translateX(120%)}.sfpCard .small{color:#d8d8d8}.card,.panel{background:color-mix(in srgb,var(--purewhite) 90%,var(--offwhite) 10%);border:1px solid var(--mist);padding:20px;border-radius:14px}.card h3,.panel h3,.projectCard h3{color:#171717}.card .small,.panel .small,.projectCard .small{color:var(--graphite)}.elevated{box-shadow:0 8px 24px rgba(0,0,0,.12)}.motionCard{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.motionCard:hover{transform:translateY(-6px);box-shadow:0 16px 30px rgba(0,0,0,.2);border-color:var(--graphite)}.projectCard{border:1px solid hsla(0,0%,100%,.22);border-radius:14px;padding:20px;background:linear-gradient(160deg,rgba(0,0,0,.58),hsla(0,0%,8%,.78))}.projectCard h3{color:#fff}.projectCard .small{color:#d0d0d0}.tag{display:inline-block;margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:6px 10px;border:1px solid #bbb;border-radius:999px;color:#555}.cta{background:var(--primary-black);color:#f6f6f6}.cta .small{color:#d9d9d9}.processTimeline{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.processStep{border:1px solid hsla(0,0%,100%,.22);background:rgba(0,0,0,.42);border-radius:12px;padding:16px}.processStep span{display:inline-block;margin-bottom:8px;font-size:11px;letter-spacing:.08em;color:#fff;border:1px solid hsla(0,0%,100%,.25);border-radius:999px;padding:4px 8px}.processStep h3{color:#fff;margin:0 0 8px}.processStep .small{color:#d0d0d0}.stepFlow{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:14px}.stepCard{background:#171717;border:1px solid #2e2e2e;border-radius:12px;padding:14px}.stepCard span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#b0b0b0}.stepCard h4{margin:6px 0 10px;color:#fff}.stepCard input{width:100%;margin-bottom:8px;border:1px solid #3a3a3a;background:#0f0f0f;color:#fff;border-radius:8px;padding:10px}.stepCard button{width:100%;border:0;background:#fff;color:#111;border-radius:8px;padding:10px;font-weight:600}.fadeUp{animation:fadeUp .9s ease both}.delay2{animation-delay:.2s}.stagger>*{animation:fadeUp .8s ease both}.stagger>:nth-child(2){animation-delay:.07s}.stagger>:nth-child(3){animation-delay:.14s}.stagger>:nth-child(4){animation-delay:.21s}.stagger>:nth-child(5){animation-delay:.28s}.stagger>:nth-child(6){animation-delay:.35s}.floatingCta{position:fixed;right:18px;bottom:18px;z-index:80;background:#fff;color:#111;text-decoration:none;font-weight:700;font-size:13px;padding:12px 14px;border-radius:999px;box-shadow:0 14px 28px rgba(0,0,0,.32)}.floatingCta:hover{transform:translateY(-2px)}.siteFooter{background:linear-gradient(180deg,#101010,#0a0a0a);color:#d7d7d7;padding:54px 0 18px;border-top:1px solid #2a2a2a}.footerGrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:24px;gap:24px}.siteFooter h3,.siteFooter h4{color:#fff;margin:0 0 10px}.siteFooter .small{color:#b9b9b9}.footerList{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.footerList a{color:#d7d7d7;text-decoration:none;border-bottom:1px solid transparent}.footerList a:hover{color:#fff;border-color:#7a7a7a}.footerBottom{margin-top:24px;padding-top:14px;border-top:1px solid #2a2a2a;display:flex;justify-content:space-between;gap:12px;color:#9e9e9e;font-size:13px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes lineGrow{0%{transform:scaleX(.2);opacity:.25}to{transform:scaleX(1);opacity:1}}@keyframes gridDrift{0%{transform:translateX(0)}to{transform:translateX(var(--grid-size))}}@keyframes contourPulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.62;transform:translateY(-3px)}}@keyframes planFloatA{0%,to{transform:translateZ(0) translateY(0)}50%{transform:translateZ(0) translateY(-2px)}}@keyframes planFloatB{0%,to{transform:translate3d(10px,10px,-20px)}50%{transform:translate3d(12px,8px,-20px)}}@keyframes scanDown{0%{top:8%;opacity:.2}50%{opacity:1}to{top:92%;opacity:.2}}@keyframes flowSweep{0%{transform:translateX(-28%) translateY(0)}50%{transform:translateX(8%) translateY(-10px)}to{transform:translateX(34%) translateY(0)}}@keyframes featuredBreath{0%,to{transform:scale(1.06)}50%{transform:scale(1.1)}}@keyframes beamSlide{0%{transform:translateX(-10%)}to{transform:translateX(10%)}}[data-theme=light] body{background-color:#f2f3f5;background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 0),radial-gradient(circle at 20% 10%,#fff 0,#f3f4f6 50%,#eceef2 100%)}[data-theme=light] .section{border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=light] .section .h2{color:#111}[data-theme=light] .section .small{color:#3f3f46}[data-theme=light] .topNavWrap{background:hsla(0,0%,100%,.8);border-bottom-color:rgba(0,0,0,.1)}[data-theme=light] .brand,[data-theme=light] .topNav a{color:#161616}[data-theme=light] .themeToggle{color:#111;border-color:rgba(0,0,0,.25);background:rgba(0,0,0,.03)}[data-theme=light] .metricStrip{background:#eceef2;border-color:#d6d9df}[data-theme=light] .metricCard{background:#fff;border-color:#d4d7de}[data-theme=light] .metricValue{color:#111}[data-theme=light] .metricLabel{color:#555}[data-theme=light] .servicesSection,[data-theme=light] .sfpSection{background-color:transparent}[data-theme=light] .servicesSection .h2,[data-theme=light] .sfpSection .h2{color:#111}[data-theme=light] .sfpCard{background:linear-gradient(155deg,#fff,#f5f6f9);border-color:#d0d4dc}[data-theme=light] .sfpCard h3{color:#111}[data-theme=light] .sfpCard .small{color:#3f3f46}[data-theme=light] .processStep{background:hsla(0,0%,100%,.9);border-color:#d0d4dc}[data-theme=light] .processStep h3{color:#111}[data-theme=light] .processStep .small{color:#3f3f46}[data-theme=light] .projectOverlay{background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,8%,.82))}[data-theme=light] .stepCard{background:#fff;border-color:#d4d7de}[data-theme=light] .stepCard h4{color:#111}[data-theme=light] .stepCard input{background:#f7f8fb;color:#111;border-color:#cfd3db}@media (max-width:980px){.aiImageGrid,.footerGrid,.grid,.heroWrap,.metricGrid,.processTimeline,.projectsGrid,.sfpGrid,.stepFlow,.twoCol{grid-template-columns:1fr}.footerBottom{flex-direction:column}.topNav nav{display:none}.hero h1{font-size:46px}.featuredParallax{min-height:340px}.floatingCta{bottom:12px;right:12px;padding:10px 12px}}
/* Desktop-first upgrade + mobile nav */
.topNav .brand{text-decoration:none}
.topNav nav{gap:16px}
.topNav a.active{color:#fff;border-bottom:1px solid hsla(0,0%,100%,.45);padding-bottom:2px}
.navCta{border:1px solid hsla(0,0%,100%,.35);border-radius:999px;padding:9px 14px!important;background:hsla(0,0%,100%,.07)}
.navCta:hover{background:hsla(0,0%,100%,.16)!important}
.navToggle{display:none;border:1px solid hsla(0,0%,100%,.35);background:transparent;color:#fff;border-radius:8px;padding:8px 10px}
.conversionBand{background:linear-gradient(145deg,rgba(0,0,0,.58),rgba(255,255,255,.06));border-top:1px solid hsla(0,0%,100%,.16)}
.conversionWrap{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:center}
.conversionActions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.projectFilters{display:flex;gap:10px;margin:10px 0 16px;flex-wrap:wrap}
.filterBtn{background:transparent;border:1px solid hsla(0,0%,100%,.3);color:#ddd;padding:8px 12px;border-radius:999px;cursor:pointer}
.filterBtn.active,.filterBtn:hover{background:hsla(0,0%,100%,.14);color:#fff}
.contactAssist{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 16px}
.assistCard{border:1px solid hsla(0,0%,100%,.2);border-radius:12px;padding:14px;background:rgba(0,0,0,.35)}
.assistCard h4{margin:0 0 8px;color:#fff}
.assistCard ul{margin:0;padding-left:18px;color:#d6d6d6}
.assistCard li{margin-bottom:6px}
@media (max-width:980px){
  .navToggle{display:block}
  .topNav nav{position:absolute;top:62px;left:0;right:0;padding:12px 24px;background:rgba(10,10,10,.96);border-bottom:1px solid hsla(0,0%,100%,.12);display:none;flex-direction:column;align-items:flex-start;gap:12px}
  .topNav nav.open{display:flex}
  .topNav nav .navCta{margin-top:4px}
  .conversionWrap,.contactAssist{grid-template-columns:1fr}
  .conversionActions{justify-content:flex-start}
}
