@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:300 800;font-display:swap;src:url("/assets/fonts/nwpStKy2OAdR1K-IwhWudF-R3w8aZQ.woff2") format("woff2")}
:root{--ink:#101417;--black:#080b0d;--paper:#f2f0eb;--paper-2:#e7e4dc;--blue:#68a7e2;--blue-dark:#1e4b70;--green:#b7c21b;--green-text:#697200;--muted:#696d6f;--line:rgba(16,20,23,.16);--pad:clamp(1.2rem,4vw,5.5rem);--sans:"Source Sans 3","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.96rem + .18vw,1.16rem);line-height:1.55;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit}button{font:inherit}.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;top:.5rem;left:.5rem;z-index:99999;padding:.7rem 1rem;background:#fff;color:#000;transform:translateY(-150%)}.skip-link:focus{transform:none}.studio-shell{overflow:hidden;background:var(--paper)}
.site-header{height:6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 var(--pad);position:absolute;inset:0 0 auto;z-index:20;color:#fff}.brand{display:inline-flex;flex-direction:column;text-decoration:none;line-height:.75}.brand__word{font-size:clamp(2rem,2.45vw,3rem);font-weight:300;letter-spacing:-.085em}.brand__sub{font-size:.63rem;text-transform:uppercase;letter-spacing:.5em;margin:.75rem 0 0 .18rem}.brand__mark{position:relative;display:inline-block;width:.7em;height:.66em;margin:0 .02em}.brand__mark i{position:absolute;left:12%;right:0;height:14%;background:var(--green);transform:skewX(-24deg)}.brand__mark i:first-child{top:27%}.brand__mark i:last-child{top:56%;width:74%}.main-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.8rem);font-size:.77rem;font-weight:650;text-transform:uppercase;letter-spacing:.16em}.main-nav a{text-decoration:none;position:relative}.main-nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-.4rem;height:1px;background:var(--green);transition:right .25s}.main-nav a:hover::after,.main-nav a:focus-visible::after{right:0}.nav-contact{border:1px solid rgba(255,255,255,.45);padding:.7rem 1rem}.menu-toggle{display:none;border:0;background:none;color:#fff;width:2.5rem;height:2.5rem}.menu-toggle span{display:block;width:1.6rem;height:1px;background:currentColor;margin:.4rem auto;transition:.2s}
.brand-logo{display:block;width:clamp(10rem,15vw,17rem);height:auto;line-height:1}.site-header .brand-logo{width:clamp(10rem,14.4vw,16.2rem)}.brand--footer .brand-logo{width:9rem;filter:brightness(0) invert(1) grayscale(1)}
.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);background:var(--black);color:#fff}.hero__copy{padding:clamp(9rem,17vh,13rem) var(--pad) 8rem;position:relative;z-index:5;background:linear-gradient(114deg,#f6f4ef 0%,#efede7 80%,transparent 80.1%);color:var(--ink)}.eyebrow,.section-index{text-transform:uppercase;letter-spacing:.28em;font-size:.69rem;font-weight:700}.eyebrow b{color:var(--green);padding:0 .65rem}.hero h1{max-width:8.7ch;margin:clamp(2rem,5vh,4rem) 0 1.8rem;font-size:clamp(4.3rem,9.2vw,10.5rem);font-weight:300;line-height:.78;letter-spacing:-.07em;text-transform:uppercase}.hero h1 span{display:block;color:var(--green);font-weight:760}.hero__lead{max-width:38rem;margin:0;font-size:clamp(1.05rem,1.4vw,1.45rem);line-height:1.45}.hero__actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.8rem 1.25rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.72rem;text-decoration:none}.button--primary{background:var(--ink);color:#fff}.button--primary:hover{background:var(--blue-dark)}.button--text span{margin-left:.7rem;color:var(--green);font-size:1.15rem}.hero-art{position:relative;min-height:100%;overflow:hidden;background:radial-gradient(circle at 78% 18%,#1f262a,transparent 28%),linear-gradient(135deg,#171b1e,#050708)}.hero-art__ink{position:absolute;width:70%;height:80%;left:-7%;top:12%;background:var(--green);clip-path:polygon(0 15%,90% 0,55% 34%,100% 46%,26% 58%,76% 100%,0 82%,35% 54%);filter:drop-shadow(0 10px 20px #0008);opacity:.94;transform:rotate(-8deg)}.hero-art__ring{position:absolute;width:min(33vw,32rem);aspect-ratio:1;border:clamp(2.5rem,5.5vw,5.8rem) solid #e8e4dc;border-radius:50%;left:3%;top:22%;box-shadow:inset 1rem 1.2rem 2rem #0007,1.2rem 1.8rem 3rem #0009;transform:rotate(-13deg)}.hero-art__cube{position:absolute;width:min(19vw,18rem);aspect-ratio:1;left:26%;top:39%;transform:rotate(-10deg)}.hero-art__cube i{position:absolute;inset:0;background:#1c2226;box-shadow:1rem 1.5rem 2.5rem #0009}.hero-art__cube i:nth-child(2){clip-path:polygon(0 0,100% 0,76% 22%,20% 28%);background:#667077}.hero-art__cube i:nth-child(3){clip-path:polygon(76% 22%,100% 0,100% 100%,76% 75%);background:#0c0f11}.hero-art__orb{position:absolute;width:min(12vw,11rem);aspect-ratio:1;border-radius:50%;left:51%;top:24%;background:radial-gradient(circle at 32% 28%,#a7d1f1,var(--blue) 40%,#1a4a72 100%);box-shadow:1.2rem 2rem 2.5rem #0008}.hero-art p{position:absolute;right:5%;bottom:6%;font-size:clamp(3rem,7vw,8rem);line-height:.7;letter-spacing:.08em;color:transparent;-webkit-text-stroke:1px #ffffff45;writing-mode:vertical-rl;margin:0}.hero-art p span{font-size:.08em;letter-spacing:.4em;color:#fff;-webkit-text-stroke:0}.hero__side-note{position:absolute;right:var(--pad);top:7rem;z-index:6;text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;line-height:1.8}.hero__side-note strong{color:var(--blue)}.hero__scroll{position:absolute;z-index:7;left:var(--pad);bottom:2rem;font-size:.66rem;text-decoration:none;text-transform:uppercase;letter-spacing:.22em}.hero__scroll span{margin-left:.5rem;color:var(--green)}
.manifest{display:grid;grid-template-columns:minmax(10rem,24%) 1fr;gap:clamp(2rem,7vw,9rem);padding:clamp(7rem,13vw,14rem) var(--pad);background:var(--paper)}.section-index{margin:0;color:var(--muted)}.display-title{margin:0;max-width:17ch;font-size:clamp(3rem,6.4vw,7.5rem);font-weight:300;line-height:.94;letter-spacing:-.055em}.display-title em{color:var(--blue-dark);font-style:normal}.lead{max-width:54rem;margin:2.2rem 0 0;font-size:clamp(1.1rem,1.6vw,1.55rem);color:#414547}.work{padding:clamp(5rem,10vw,10rem) var(--pad);background:#ddd9d0;background-image:radial-gradient(#00000008 .7px,transparent .7px);background-size:5px 5px}.section-head{display:grid;grid-template-columns:1.5fr minmax(18rem,.7fr);align-items:end;gap:3rem;margin-bottom:clamp(3rem,6vw,6rem)}.section-head h2{margin:1.2rem 0 0;font-size:clamp(3.2rem,6vw,7rem);font-weight:300;line-height:.86;letter-spacing:-.06em;text-transform:uppercase}.section-head>p,.section-head>div+div,.section-head>.ccm-block-area{max-width:28rem;margin:0;color:#575b5d}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,6rem) clamp(1.5rem,3vw,3.5rem)}.project{margin:0}.project:nth-child(2),.project:nth-child(4){margin-top:clamp(4rem,10vw,11rem)}.project__open{display:block;padding:0;border:0;width:100%;background:#111;cursor:zoom-in;overflow:hidden;box-shadow:0 1.5rem 4rem #1112}.project img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s}.project__open:hover img,.project__open:focus-visible img{transform:scale(1.025);filter:contrast(1.04)}.project figcaption{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:baseline;padding-top:1rem;border-top:1px solid var(--ink);margin-top:1rem}.project figcaption span,.project figcaption small{text-transform:uppercase;letter-spacing:.15em;font-size:.62rem}.project figcaption strong{font-size:1.12rem}.project figcaption small{text-align:right;color:var(--muted)}
.services{padding:clamp(6rem,10vw,11rem) var(--pad);background:var(--black);color:#fff;position:relative}.services::before{content:"";position:absolute;inset:0 0 auto;width:28%;height:.5rem;background:var(--green)}.section-head--light .section-index{color:#aaa}.section-head--light>p{color:#b9bdbe}.service-list{border-top:1px solid #ffffff35}.service-list article{display:grid;grid-template-columns:5rem 1fr auto;align-items:center;gap:2rem;padding:2.2rem 0;border-bottom:1px solid #ffffff35;transition:padding .25s,background .25s}.service-list article:hover{padding-left:1rem;background:linear-gradient(90deg,#ffffff08,transparent)}.service-list article>span{color:var(--green);font-size:.72rem;letter-spacing:.15em}.service-list article div{display:grid;grid-template-columns:minmax(12rem,.6fr) 1fr;align-items:baseline;gap:3rem}.service-list h3{margin:0;font-size:clamp(2.5rem,5vw,6rem);font-weight:300;letter-spacing:-.05em}.service-list p{margin:0;max-width:33rem;color:#b8bcbd}.service-list b{font-size:1.8rem;color:var(--blue);font-weight:300}
.process{display:grid;grid-template-columns:minmax(10rem,24%) 1fr;padding:clamp(7rem,12vw,13rem) var(--pad);gap:clamp(2rem,7vw,9rem);position:relative}.process::after{content:"";position:absolute;width:25vw;aspect-ratio:1;border:clamp(1.5rem,3vw,3rem) solid #1111110b;border-radius:50%;right:-8vw;top:3rem}.process__intro h2{margin:0;font-size:clamp(3rem,6vw,7rem);font-weight:300;line-height:.9;letter-spacing:-.06em}.process__intro h2 span{color:var(--green);font-weight:700}.process__intro p{max-width:42rem;font-size:1.25rem}.process ol{grid-column:2;list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process li{padding:1.8rem 1.4rem 0 0;border-right:1px solid var(--line);min-height:14rem}.process li+li{padding-left:1.4rem}.process li span{color:var(--blue-dark);font-size:.7rem;letter-spacing:.15em}.process li h3{font-size:1.5rem;margin:2.4rem 0 .5rem}.process li p{font-size:.95rem;color:var(--muted)}
.contact{min-height:80vh;padding:clamp(6rem,10vw,11rem) var(--pad) 3rem;background:var(--blue-dark);color:#fff;position:relative;display:grid;grid-template-columns:24% 1fr;gap:clamp(2rem,7vw,9rem);align-content:center;overflow:hidden}.contact::before{content:"";position:absolute;inset:auto -15% -35% 28%;height:65%;background:var(--green);transform:rotate(-8deg);opacity:.94}.contact__shape{position:absolute;width:min(28vw,30rem);aspect-ratio:1;border:clamp(2.2rem,4vw,4.5rem) solid #ffffff18;border-radius:50%;right:6%;top:3%;transform:rotate(-15deg)}.contact .section-index{color:#c5d4df;position:relative}.contact__copy{position:relative;z-index:2}.contact h2{max-width:11ch;margin:0;font-size:clamp(4rem,8vw,10rem);font-weight:300;line-height:.82;letter-spacing:-.07em;text-transform:uppercase}.contact h2 span{color:var(--green);font-weight:750}.contact__copy>p,.contact__copy>.ccm-block-area p{max-width:38rem;font-size:1.2rem}.contact__mail{display:inline-flex;align-items:center;margin-top:2.3rem;font-size:clamp(1.4rem,2.6vw,3rem);text-decoration:none;border-bottom:1px solid #ffffff88}.contact__mail span{margin-left:1rem;color:var(--green)}.contact__facts{grid-column:2;position:relative;z-index:3;display:flex;gap:2rem;flex-wrap:wrap;margin-top:5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}.contact__facts a{text-decoration:none}.site-footer{display:grid;grid-template-columns:1.2fr repeat(3,auto);gap:2rem;align-items:center;padding:2.3rem var(--pad);background:var(--black);color:#c7c9ca;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em}.brand--footer{color:#fff;text-transform:none;letter-spacing:normal}.brand--footer .brand__word{font-size:1.75rem}.brand--footer .brand__sub{font-size:.45rem}.site-footer a,.footer-link{color:inherit;text-decoration:none;border:0;background:none;padding:0;text-transform:inherit;letter-spacing:inherit;font-size:inherit;cursor:pointer}
dialog{border:0;padding:0;background:#0c1012;color:#fff;box-shadow:0 3rem 8rem #0008}dialog::backdrop{background:#050708df;backdrop-filter:blur(8px)}.lightbox{width:min(92vw,1500px);max-height:92vh}.lightbox figure{margin:0}.lightbox img{display:block;width:100%;max-height:84vh;object-fit:contain}.lightbox figcaption{padding:.9rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}.lightbox__close{position:absolute;top:.7rem;right:.7rem;z-index:3;border:1px solid #ffffff55;background:#0b0e10cc;color:#fff;border-radius:50%;width:2.8rem;height:2.8rem;font-size:1.8rem;line-height:1;cursor:pointer}.privacy-dialog{width:min(42rem,92vw);padding:clamp(2rem,5vw,4rem)}.privacy-dialog h2{font-size:3rem;margin:0 0 1.5rem}.privacy-dialog a{color:var(--green)}.reveal{opacity:0;transform:translateY(2rem);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}.cms-empty-hint,.cms-area{margin:1rem 0;padding:1rem;border:2px dashed var(--blue);font-size:.8rem}.utility-page{min-height:100vh;max-width:70rem;margin:auto;padding:4rem var(--pad)}.brand--utility{color:var(--ink);margin-bottom:4rem}.utility-page__content{padding:2rem 0;border-top:1px solid var(--line)}.text-link{font-weight:700}
@media(max-width:900px){.site-header{height:5rem}.menu-toggle{display:block;z-index:2}.main-nav{position:absolute;right:var(--pad);top:4.5rem;display:none;flex-direction:column;align-items:stretch;min-width:15rem;padding:1.5rem;background:#0b0f11f5;border:1px solid #ffffff25}.main-nav.is-open{display:flex}.hero{grid-template-columns:1fr;min-height:auto}.hero__copy{min-height:86svh;padding-top:9rem;background:linear-gradient(114deg,#f6f4ef 0%,#efede7 96%,transparent 96.2%)}.hero-art{min-height:65vh}.hero__side-note{top:auto;bottom:2rem}.hero__scroll{display:none}.manifest,.process,.contact{grid-template-columns:1fr}.process ol,.contact__facts{grid-column:1}.process ol{grid-template-columns:repeat(2,1fr)}.contact__facts{margin-top:3rem}.section-head{grid-template-columns:1fr}.service-list article div{grid-template-columns:1fr;gap:.4rem}}
@media(max-width:640px){:root{--pad:1.15rem}.brand__word{font-size:2rem}.brand__sub{font-size:.5rem}.hero__copy{padding-top:7.5rem;padding-bottom:5rem}.hero h1{font-size:clamp(3.7rem,19vw,6rem);line-height:.82}.hero__actions{align-items:flex-start;flex-direction:column;gap:.5rem}.hero-art{min-height:52vh}.hero-art__ring{width:78vw;border-width:3.6rem;left:2%;top:14%}.hero-art__cube{width:45vw;left:28%;top:35%}.hero-art__orb{width:28vw;left:57%;top:17%}.hero__side-note{font-size:.58rem}.manifest{padding-block:6rem}.work-grid{grid-template-columns:1fr}.project:nth-child(2),.project:nth-child(4){margin-top:1.5rem}.project figcaption{grid-template-columns:auto 1fr}.project figcaption small{grid-column:2;text-align:left}.service-list article{grid-template-columns:2.5rem 1fr auto;gap:.5rem}.service-list article div{gap:.25rem}.service-list h3{font-size:2.4rem}.service-list p{font-size:.9rem}.process ol{grid-template-columns:1fr}.process li{min-height:0;padding:1.5rem 0!important;border-right:0;border-bottom:1px solid var(--line)}.process li h3{margin:1rem 0 .2rem}.contact{min-height:auto;padding-block:7rem}.contact__facts{flex-direction:column;gap:.8rem}.site-footer{grid-template-columns:1fr 1fr}.site-footer .brand{grid-column:1/-1}.lightbox{width:96vw}.privacy-dialog{padding:2rem 1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Palette refinement: blue leads, chartreuse punctuates. */
.site-header .brand{color:var(--ink)}
.site-header .brand__word{font-size:clamp(2.4rem,2.94vw,3.6rem)}
.site-header .brand__sub{font-size:.72rem;letter-spacing:.48em;margin-top:.82rem}
.hero h1 span{color:var(--green-text)}
.hero-art__ink{background:var(--green)}
.hero-art__orb{background:radial-gradient(circle at 32% 28%,#a7d1f1,var(--blue) 40%,#1a4a72 100%)}
.process__intro h2 span{color:var(--blue-dark)}
.contact::before{background:linear-gradient(135deg,var(--blue) 0%,#8cc1ec 100%);opacity:.82}
.contact h2 span{color:#fff}
.contact__facts{align-items:flex-start;gap:clamp(2rem,4vw,5rem);font-size:.95rem;letter-spacing:.035em;text-transform:none}
.contact-fact{display:flex;flex-direction:column;gap:.35rem;max-width:22rem;font-size:1rem;line-height:1.5}
.contact-fact__label{margin-bottom:.25rem;color:#fff;font-size:inherit;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.contact-fact strong{font-size:inherit;line-height:inherit}
.contact-fact address{font:inherit;font-style:normal;line-height:1.5}
.contact-fact--primary a{font-size:inherit;font-weight:400;letter-spacing:inherit;text-decoration:none}
.site-footer{grid-template-columns:1fr repeat(4,auto)}
.legal-dialog{width:min(66rem,94vw);max-height:90vh;padding:clamp(2rem,5vw,4.5rem);overflow:auto;background:#f3f1eb;color:var(--ink)}
.legal-dialog h2{margin:.2rem 0 clamp(2rem,4vw,3.5rem);font-size:clamp(3rem,6vw,6rem);font-weight:300;line-height:.9;letter-spacing:-.055em;text-transform:uppercase}
.legal-dialog h3{margin:0 0 .8rem;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.legal-dialog p,.legal-dialog address{margin:.4rem 0 0;color:#42484b;font:inherit;font-style:normal;line-height:1.65}
.legal-dialog a{color:var(--blue-dark);font-weight:700;text-underline-offset:.2em}
.legal-dialog .lightbox__close{position:fixed;background:var(--ink)}
.legal-dialog__eyebrow{margin:0!important;color:var(--blue-dark)!important;font-size:.68rem!important;font-weight:750;text-transform:uppercase;letter-spacing:.2em}
.legal-dialog__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem)}
.legal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,2.8vw,2.75rem) var(--pad);background:var(--paper)}
.legal-header .brand--utility{margin:0;color:var(--ink)}
.legal-back{font-size:.72rem;font-weight:750;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}
.legal-back span{margin-left:.6rem;color:var(--green)}
.legal-page{min-height:0;padding:clamp(2.25rem,4vw,4.5rem) var(--pad) clamp(4rem,7vw,7rem);background:var(--paper)}
.legal-page h1{margin:.3rem 0 clamp(2rem,3.5vw,3.5rem);font-size:clamp(3.5rem,5.8vw,7rem);font-weight:300;line-height:.84;letter-spacing:-.065em;text-transform:uppercase}
.legal-page__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,3.5vw,3.5rem);max-width:78rem;margin-left:auto}
.legal-page section{padding-top:1.2rem;border-top:1px solid var(--line)}
.legal-page h2{margin:0 0 .9rem;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.legal-page p,.legal-page address{margin:.5rem 0 0;color:#42484b;font:inherit;font-style:normal;line-height:1.7}
.legal-page a{color:var(--blue-dark);font-weight:700;text-underline-offset:.2em}
.site-footer--legal{grid-template-columns:1fr repeat(3,auto)}

@media(max-width:900px){.site-header .brand{color:var(--ink)}.site-header .brand__word{font-size:2.4rem}.site-header .brand__sub{font-size:.58rem}.menu-toggle{color:var(--ink)}.legal-dialog__grid,.legal-page__grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.site-footer--legal{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.contact__facts{gap:2rem}.legal-dialog{padding:3.5rem 1.2rem 2rem}.legal-dialog h2{font-size:3rem}}
@media(max-width:640px){.contact__mail,.contact-fact a,.site-footer a,.site-footer .footer-link{display:flex;align-items:center;min-height:44px}.site-footer{column-gap:1.2rem;row-gap:.35rem}}
@media(max-width:900px){.menu-toggle{min-width:44px;min-height:44px}.main-nav{padding-block:1.1rem}.main-nav a{display:flex;align-items:center;min-height:44px}}
