@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap");
/* DRONEHAZE — Original site concept, design v3.
   No external fonts, libraries, analytics, or third-party requests. */
:root{--ink:#08060b;--ink2:#130d18;--cream:#f2efe9;--paper:#e9e6df;--coral:#fb3449;--mint:#49c3b1;--violet:#8b5cf6;--line:rgba(255,255,255,.18);--white:#f7f2ff;--muted:#aba4ad;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font:400 16px/1.5 Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--mint);color:var(--ink)}:focus-visible{outline:3px solid var(--mint);outline-offset:4px}h1,h2,h3,p,figure{margin:0}em{font-style:normal;color:var(--coral)}.overline{font:700 11px/1.45 "Courier New",monospace;letter-spacing:.16em;text-transform:uppercase}.overline--dark{color:#695e69}.site-header{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:26px clamp(20px,5vw,86px);border-bottom:1px solid rgba(255,255,255,.12)}.site-logo{display:flex;align-items:center;gap:11px;min-width:0}.site-logo img{width:48px;height:48px;object-fit:contain}.logo-word{font-weight:900;letter-spacing:-.055em;font-size:21px;line-height:1}.logo-word small{display:block;margin-top:6px;font:600 9px/1.2 "Courier New",monospace;letter-spacing:.1em;color:#ada3b4}.nav{display:flex;gap:clamp(18px,2.3vw,38px);align-items:center;font-size:12px;font-weight:700}.nav>a:not(.nav-contact){opacity:.8;transition:opacity .2s}.nav>a:hover,.nav>a[aria-current]{opacity:1;color:#fff}.nav-contact{border:1px solid rgba(255,255,255,.33);border-radius:99px;padding:11px 18px;transition:background .3s,color .3s}.nav-contact:hover{background:var(--white);color:var(--ink)}.nav-contact span{margin-left:18px}.nav-toggle{display:none;background:none;border:0;width:40px;padding:9px}.nav-toggle span{height:2px;background:var(--white);display:block;margin:6px 0;transition:transform .3s}
/* INTRO */
.hero{position:relative;min-height:800px;min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse 48% 65% at 80% 50%,#26112b 0%,transparent 77%),#08060b;overflow:hidden}.hero-grain{position:absolute;inset:0;pointer-events:none;opacity:.35;background:repeating-linear-gradient(90deg,transparent 0,transparent 119px,rgba(255,255,255,.035) 120px)}.hero-eyebrow{z-index:2;display:flex;align-items:center;gap:12px;margin:145px clamp(20px,5vw,86px) 24px;font:700 10px "Courier New",monospace;letter-spacing:.14em;color:#d7cbd7}.hero-issue{margin-left:auto;color:var(--muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(73,195,177,.1)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;width:100%;max-width:1900px;margin:auto;flex:1;align-items:center;padding:0 clamp(20px,5vw,86px) 80px}.hero-copy{position:relative;z-index:3;max-width:970px;pointer-events:auto}.hero-pretitle{color:var(--mint);font:700 12px "Courier New",monospace;letter-spacing:.11em;margin-bottom:21px}.hero h1{font-size:clamp(62px,7.25vw,144px);line-height:.91;letter-spacing:-.085em;font-weight:900;max-width:1100px;white-space:nowrap}.hero h1>span{color:var(--coral)}.hero h1 .punct{color:var(--mint)}.hero-lead{max-width:560px;margin-top:38px;font-size:clamp(16px,1.25vw,20px);color:#bdb7c1;line-height:1.7}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:36px;flex-wrap:wrap}.btn-light{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:57px;border-radius:2px;padding:16px 22px;font-weight:800;font-size:13px;background:var(--mint);color:#06120f;transition:transform .3s var(--ease),background .3s}.btn-light:hover{background:#80e4d2;transform:translateY(-3px)}.btn-light span,.btn-line span{font-size:21px;font-weight:400}.btn-line{font-weight:700;display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #928b98;padding:13px 0;font-size:13px;transition:color .2s}.btn-line:hover{color:var(--mint)}.hero-sculpture{height:min(42vw,620px);min-height:430px;position:relative;isolation:isolate;margin-left:-14%;pointer-events:none}.art-space{position:absolute;inset:-5%;perspective:1000px;transform:translate3d(calc(var(--scroll-hero,0) * -20px),calc(var(--scroll-hero,0) * 32px),0) rotate(calc(var(--scroll-hero,0) * -8deg));transition:transform .08s linear;filter:drop-shadow(0 30px 70px rgba(0,0,0,.4))}.art-halo{position:absolute;width:83%;height:83%;border-radius:50%;left:12%;top:7%;background:radial-gradient(circle,rgba(251,52,73,.24),rgba(139,92,246,.12) 35%,transparent 70%);filter:blur(20px)}.art-sheet{position:absolute;left:25%;top:10%;width:56%;height:80%;clip-path:polygon(12% 0%,100% 19%,79% 100%,0% 80%);transform-style:preserve-3d;border:1px solid rgba(255,255,255,.2);transition:transform .1s linear}.art-sheet--a{background:linear-gradient(146deg,rgba(255,131,137,.98),var(--coral) 48%,#650d42 95%);transform:rotate(-25deg) skew(10deg,1deg) translate(calc(var(--scroll-hero,0) * -12px),calc(var(--scroll-hero,0) * 16px));box-shadow:0 30px 90px rgba(251,52,73,.2)}.art-sheet--b{background:linear-gradient(125deg,rgba(145,255,230,.9),var(--mint) 48%,#146b74);transform:rotate(37deg) translate(21%,3%) scale(.72);mix-blend-mode:screen;opacity:.9}.art-sheet--c{background:linear-gradient(140deg,#a56dff,var(--violet),#3b1970);transform:rotate(-50deg) translate(-13%,6%) scale(.72);mix-blend-mode:screen;opacity:.83}.art-sheet--d{background:#08060b;transform:rotate(-9deg) translate(18%,11%) scale(.42);opacity:.85}.art-type{position:absolute;left:13%;top:28%;font-weight:900;letter-spacing:-.22em;font-size:clamp(190px,22vw,420px);line-height:1;color:#f9eff5;white-space:nowrap;mix-blend-mode:overlay;transform:rotate(-11deg);opacity:.9}.art-type span{color:var(--mint)}.art-grid{position:absolute;inset:14%;border:1px solid rgba(255,255,255,.24);transform:rotate(14deg);pointer-events:none}.art-grid::before,.art-grid::after{content:"";position:absolute;background:rgba(255,255,255,.18)}.art-grid::before{left:50%;height:100%;width:1px}.art-grid::after{top:50%;width:100%;height:1px}.art-label{position:absolute;font:600 10px "Courier New",monospace;letter-spacing:.12em;color:#e6d1e6}.art-label--a{top:7%;right:0;transform:rotate(90deg);transform-origin:top right}.art-label--b{bottom:4%;left:4%}.hero-bottom{display:flex;gap:15px;justify-content:space-between;align-items:center;z-index:2;padding:18px clamp(20px,5vw,86px);border-top:1px solid var(--line);font:600 10px "Courier New",monospace;letter-spacing:.11em;color:#aca0ac}.hero-scroll{color:var(--white)}.hero-scroll span{color:var(--mint);font-size:19px;margin-left:10px}
/* SCROLL-DRIVEN CHAPTERS */
.manifesto{height:340vh;background:#100b14;position:relative}.manifesto-sticky{position:sticky;top:0;height:100vh;min-height:650px;overflow:hidden;padding:35px clamp(20px,5vw,86px);display:flex;flex-direction:column;background:radial-gradient(circle at 24% 53%,rgba(139,92,246,.13),transparent 51%),#100b14}.manifesto-meta{display:flex;align-items:center;justify-content:space-between;font:700 11px "Courier New",monospace;color:#a99db4;letter-spacing:.1em}.manifesto-meta span span{color:var(--mint)}.manifesto-scene{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8%;flex:1}.manifesto-graphic{width:100%;max-width:570px;aspect-ratio:1;position:relative;display:grid;place-items:center;isolation:isolate;transform:rotate(calc(var(--scene-rotate,0) * 1deg)) scale(var(--scene-scale,1));transition:transform .25s linear}.mg-disc{position:absolute;inset:16%;border-radius:100%;border:1px solid rgba(73,195,177,.48);box-shadow:0 0 0 40px rgba(73,195,177,.025),0 0 0 100px rgba(251,52,73,.017)}.mg-disc::after{content:"";position:absolute;inset:15%;border-radius:100%;border:25px solid var(--coral);transform:translate(25%,-13%);filter:blur(1px);opacity:.8}.mg-bar{position:absolute;width:18%;height:85%;clip-path:polygon(8% 0,100% 12%,80% 100%,0 88%);background:var(--mint);box-shadow:0 15px 60px rgba(73,195,177,.15)}.mg-bar--one{transform:rotate(39deg)}.mg-bar--two{transform:rotate(-37deg);background:var(--violet);mix-blend-mode:screen}.mg-core{position:relative;font-weight:900;font-size:clamp(120px,22vw,310px);letter-spacing:-.13em;line-height:1;color:#fff;text-shadow:0 6px 60px rgba(0,0,0,.24);mix-blend-mode:overlay}.scene-kicker{font:700 12px "Courier New",monospace;letter-spacing:.12em;color:var(--mint);margin-bottom:28px}.manifesto h2{font-size:clamp(54px,6.7vw,116px);line-height:.95;letter-spacing:-.075em;font-weight:900;max-width:900px}.manifesto h2 em{color:var(--coral)}.manifesto-text>p:last-child{margin-top:29px;max-width:460px;color:#bcb0bd;font-size:clamp(16px,1.2vw,21px);line-height:1.75}.manifesto-progress{display:flex;align-items:center;gap:20px;font:700 10px "Courier New",monospace;letter-spacing:.1em;color:#a89ba8}.progress-track{flex:1;height:1px;background:rgba(255,255,255,.25)}.progress-track i{display:block;height:3px;width:0;background:var(--mint);transition:width .15s}
/* STATEMENT */
.statement{background:var(--paper);color:var(--ink);min-height:85vh;padding:clamp(110px,13vw,220px) clamp(20px,10vw,150px);position:relative;overflow:hidden}.statement>p:first-of-type{position:relative;z-index:2}.statement h2{position:relative;z-index:2;font-size:clamp(45px,6.25vw,105px);line-height:1.06;letter-spacing:-.075em;margin:42px 0 24px;max-width:1280px}.statement h2 span{color:#9b9098}.statement>p:last-child{position:relative;z-index:2;font-size:clamp(16px,1.35vw,20px);line-height:1.7;max-width:530px;color:#5e5960}.statement-orbit{position:absolute;right:-90px;bottom:-190px;font-size:min(90vw,850px);color:rgba(251,52,73,.13);line-height:1;font-weight:900;transform:rotate(-19deg)}
/* WORK */
.work{background:#eae7e0;color:var(--ink);padding:125px clamp(20px,5vw,86px) 150px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.section-head h2{font-size:clamp(50px,6.3vw,105px);line-height:.96;letter-spacing:-.075em;margin-top:20px}.section-head h2 em{color:var(--coral)}.section-head .overline{color:#615b61}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #55505a;font-size:13px;font-weight:800;padding-bottom:12px;white-space:nowrap}.text-link span{font-size:23px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 25px}.work-item--wide{grid-column:span 2}.work-item figure{position:relative;aspect-ratio:1.37;overflow:hidden;background:#19141a}.work-item--wide figure{aspect-ratio:2.12}.work-item img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease),filter .85s var(--ease)}.work-item:hover img{transform:scale(1.045);filter:saturate(1.1)}.work-marker{position:absolute;top:20px;left:20px;background:rgba(8,6,11,.84);color:#fff;padding:10px 13px;font:700 10px "Courier New",monospace;letter-spacing:.05em}.work-meta{display:flex;justify-content:space-between;align-items:center;padding-top:18px}.work-meta span:first-child{font:700 10px "Courier New",monospace;letter-spacing:.06em;color:#696269}.work-meta h3{font-size:clamp(25px,2.6vw,43px);letter-spacing:-.055em;line-height:1.2;margin-top:9px}.work-arrow{font-size:30px;color:#232023}
/* SERVICES */
.services{padding:125px clamp(20px,5vw,86px) 145px;background:var(--ink2)}.section-head--light{color:#fff}.section-head--light .overline{color:var(--mint)}.section-head--light>p{max-width:290px;color:#b4a9b9;font-size:16px}.service-list{border-top:1px solid rgba(255,255,255,.2)}.service-row{display:grid;grid-template-columns:65px minmax(0,1.4fr) minmax(0,.75fr) 30px;align-items:center;gap:20px;border-bottom:1px solid rgba(255,255,255,.2);padding:37px 0;transition:padding .4s var(--ease),color .4s,background .4s}.service-row:hover{padding-left:25px;color:var(--mint)}.service-row>span{font:700 12px "Courier New",monospace;color:#b5a9b8}.service-row h3{font-size:clamp(28px,3.45vw,56px);letter-spacing:-.055em;line-height:1.15}.service-row p{max-width:340px;color:#a99daa;font-size:14px;line-height:1.7}.service-row strong{font-size:27px;font-weight:400}
/* CONTACT */
.contact-home{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:145px clamp(20px,5vw,86px);background:#18111e;color:#fff}.contact-intro h2{font-size:clamp(58px,6.1vw,106px);line-height:.99;letter-spacing:-.075em;margin:36px 0 30px}.contact-intro>p:nth-of-type(2){color:#b7aabb;max-width:390px;line-height:1.8}.contact-intro .overline{color:var(--mint)}.brief-optional{margin-top:50px;font-size:13px;color:#aa9daf}.brief-optional a{display:block;width:fit-content;margin-top:9px;border-bottom:1px solid #9e92a4;padding-bottom:8px;color:#fff;font-weight:700}.contact-pane{align-self:start;border-top:1px solid var(--mint);padding-top:35px}.contact-form{display:grid;gap:26px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:19px}.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:12px;font-weight:700;color:#e2d9e3}.contact-form input:not(.honeypot),.contact-form textarea{width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;padding:13px 0 16px;outline:none;resize:vertical;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--mint)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7f7585}.form-bottom{display:flex;align-items:end;justify-content:space-between;gap:20px}.form-bottom p{font-size:11px;line-height:1.7;color:#a79eaf}.form-submit{padding:19px 21px;border:0;background:var(--coral);color:#fff;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;transition:background .2s}.form-submit:hover{background:#ff5c6d}.form-submit span{font-size:21px;font-weight:400}.form-message{padding:15px;font-size:14px;background:rgba(73,195,177,.1);color:#b9f4e6}.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
/* FOOTER */
.footer{background:#08060b;padding:90px clamp(20px,5vw,86px) 26px}.footer-top{display:flex;justify-content:space-between;align-items:end;gap:40px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:100px}.footer-top .overline{color:var(--mint)}.footer-top h2{margin-top:20px;font-size:clamp(58px,7vw,122px);line-height:.94;letter-spacing:-.082em}.footer-contact{border:1px solid #817582;padding:17px 22px;white-space:nowrap;font-size:12px;font-weight:800}.footer-contact span{margin-left:40px;font-size:20px}.footer-contact:hover{background:var(--mint);color:#08060b;border-color:var(--mint)}.footer-bottom{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-top:24px;color:#948994;font-size:11px}.footer-brand{font-size:24px;font-weight:900;letter-spacing:-.08em;color:#fff}.footer-brand span{font-size:9px;vertical-align:top;letter-spacing:0}.footer-bottom>div{display:flex;gap:15px}
/* SUBPAGES */
.subpage{background:var(--ink)}.sub-hero{min-height:74vh;padding:clamp(190px,18vw,260px) clamp(20px,6vw,98px) 125px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 95% 15%,rgba(139,92,246,.16),transparent 48%),#09060c}.sub-hero .overline{color:var(--mint)}.sub-hero h1{font-size:clamp(62px,8.3vw,150px);letter-spacing:-.085em;line-height:.94;margin:27px 0 35px;position:relative;z-index:1}.sub-hero>p:last-of-type{font-size:clamp(16px,1.5vw,21px);color:#bdb0c2;max-width:740px;line-height:1.75;position:relative;z-index:1}.sub-hero-shape{position:absolute;right:-2%;top:22%;font-size:clamp(250px,29vw,560px);font-weight:900;letter-spacing:-.16em;line-height:1;color:rgba(251,52,73,.13);transform:rotate(-13deg);pointer-events:none}.sub-hero-shape span{color:rgba(73,195,177,.2)}.editorial-editor{display:grid;grid-template-columns:1fr 2fr;gap:4%;padding:145px clamp(20px,6vw,98px);background:var(--paper);color:var(--ink)}.section-eyebrow{font:700 11px "Courier New",monospace;letter-spacing:.1em;color:#736a72}.editorial-editor h2{font-size:clamp(55px,6.3vw,103px);line-height:.99;letter-spacing:-.075em;margin-bottom:35px}.editorial-editor p:not(.section-eyebrow){font-size:clamp(18px,1.7vw,25px);line-height:1.7;max-width:760px;margin-bottom:21px;color:#504a50}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:130px clamp(20px,6vw,98px);background:#180e1e}.principles>div{border-top:2px solid var(--mint);padding-top:25px}.principles span{font:700 11px "Courier New",monospace;color:var(--mint)}.principles h3{font-size:clamp(28px,3vw,44px);letter-spacing:-.045em;margin:30px 0 12px}.principles p{color:#a99eac;line-height:1.75}.service-detail{background:#eae7e0;color:var(--ink);padding:50px clamp(20px,6vw,98px) 100px}.service-detail article{display:grid;grid-template-columns:1fr 2fr;gap:6%;padding:90px 0;border-bottom:1px solid #b6adb3}.service-detail article>span{font:700 11px "Courier New",monospace;letter-spacing:.09em;color:#807580}.service-detail h2{font-size:clamp(36px,5.4vw,81px);letter-spacing:-.067em;line-height:1.05}.service-detail p{font-size:20px;line-height:1.75;max-width:750px;color:#5c535a;margin:22px 0}.service-detail ul{display:flex;gap:9px;flex-wrap:wrap;list-style:none;padding:0;margin:34px 0 0}.service-detail li{border:1px solid #c6bfc4;padding:10px 13px;font-size:12px;font-weight:700}.sub-cta{padding:110px clamp(20px,6vw,98px);background:#24152b;display:flex;align-items:center;justify-content:space-between;gap:30px}.sub-cta>span{font:700 11px "Courier New",monospace;color:var(--mint);letter-spacing:.09em}.sub-cta h2{font-size:clamp(38px,5vw,78px);letter-spacing:-.06em}.portfolio-section{background:#eae7e0;padding:110px clamp(20px,6vw,98px);color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px 28px}.portfolio-item:nth-child(5n + 1){grid-column:span 2}.portfolio-image{width:100%;aspect-ratio:1.34;overflow:hidden;background:#160e18}.portfolio-item:nth-child(5n + 1) .portfolio-image{aspect-ratio:2.3}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.portfolio-item:hover img{transform:scale(1.035)}.portfolio-copy{padding-top:20px}.portfolio-copy>span{font:700 11px "Courier New",monospace;color:#7c7179}.portfolio-copy h2{font-size:clamp(28px,3.3vw,52px);letter-spacing:-.06em;margin:10px 0}.portfolio-copy p{font-size:14px;color:#6c6269}.contact-subhead{min-height:0;padding-bottom:95px}.contact-page-layout{background:#1a1020;padding:100px clamp(20px,6vw,98px) 135px;display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact-page-layout>div>p.overline{color:var(--mint)}.contact-page-layout h2{font-size:clamp(40px,4.8vw,78px);line-height:1.07;letter-spacing:-.068em;margin:30px 0}.contact-page-layout>div>p:last-of-type{max-width:390px;color:#b1a3b6;line-height:1.8}.brief-hero{min-height:0;padding-bottom:70px}.brief-hero .text-link{margin-top:28px}.brief-section{background:#eae7e0;color:var(--ink);padding:80px clamp(20px,10vw,180px) 135px;min-height:470px}.brief-top{display:flex;align-items:center;gap:20px;font:700 12px "Courier New",monospace;margin-bottom:55px}.brief-meter{flex:1;height:2px;background:#beb3bb}.brief-meter i{height:100%;display:block;width:25%;background:var(--coral);transition:width .3s}.brief-top button{background:none;border:0;color:var(--ink);font-size:12px;font-weight:700}.brief-top button:disabled{opacity:.3;cursor:default}.brief-root h2{font-size:clamp(35px,5vw,68px);letter-spacing:-.05em;margin-bottom:15px}.brief-root>p{color:#655b62;margin-bottom:30px}.brief-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.brief-options button{text-align:left;background:#fff;color:#130b15;border:1px solid #d5cbd1;padding:24px;transition:border .2s,background .2s}.brief-options button:hover{border-color:var(--coral);background:#fff7f7}.brief-options strong{display:block;font-size:20px;letter-spacing:-.025em}.brief-options small{display:block;margin-top:8px;color:#746a70;line-height:1.5}.brief-summary{padding:22px 0;border-bottom:1px solid #c7bfc6;font-size:15px}.brief-summary span{font:700 11px "Courier New",monospace;color:#716770;margin-right:20px}.brief-final{margin-top:28px}
/* Reduced motion & responsive */
@media(prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-in{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.art-space{transform:none!important}}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(64px,7.4vw,110px)}.hero-sculpture{margin-left:-28%;min-height:350px}.art-type{font-size:25vw}.manifesto h2{font-size:clamp(47px,6vw,84px)}.service-row{grid-template-columns:44px 1.3fr .7fr 30px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:760px){.site-header{padding:14px 18px}.site-logo img{width:44px;height:44px}.logo-word{font-size:19px}.nav-toggle{display:block;z-index:40}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#140d1a;border-bottom:1px solid #4d3d51;flex-direction:column;align-items:stretch;padding:18px 24px 26px;gap:0}.nav.is-open{display:flex}.nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.13)}.nav-contact{border-radius:0;border:0!important}.hero{min-height:830px}.hero-eyebrow{margin:112px 21px 10px;letter-spacing:.04em;font-size:9px}.hero-issue{display:none}.hero-grid{grid-template-columns:1fr;padding:32px 21px 22px;align-content:start}.hero-copy{max-width:100%}.hero-pretitle{font-size:10px;margin-bottom:18px}.hero h1{font-size:clamp(50px,13.2vw,91px);white-space:normal}.hero-lead{font-size:15px;margin-top:22px;max-width:500px}.hero-actions{margin-top:24px;gap:15px}.hero-sculpture{height:290px;min-height:0;margin:0 12% 0 6%;order:2}.art-type{font-size:220px}.art-space{inset:0}.art-label{font-size:7px}.hero-bottom{padding:14px 20px;font-size:9px}.hero-bottom>span:first-child,.hero-bottom>span:last-child{display:none}.hero-scroll{width:100%;display:flex;justify-content:space-between}.manifesto{height:285vh}.manifesto-sticky{min-height:0;padding:24px 22px}.manifesto-scene{grid-template-columns:1fr;gap:0;align-content:center}.manifesto-graphic{width:min(53vw,260px);margin:0 auto 28px}.mg-core{font-size:36vw}.manifesto-text{max-width:560px}.manifesto h2{font-size:clamp(42px,11vw,75px)}.manifesto-text>p:last-child{font-size:15px;margin-top:16px}.scene-kicker{margin-bottom:15px}.statement{min-height:0;padding:95px 22px}.statement h2{font-size:clamp(43px,9.8vw,72px);margin:25px 0}.statement-orbit{font-size:95vw;right:-10%;bottom:-16%}.work{padding:90px 22px 100px}.section-head{display:block;margin-bottom:34px}.section-head h2{font-size:clamp(46px,10vw,76px)}.section-head .text-link{margin-top:25px}.work-grid{grid-template-columns:1fr;gap:45px}.work-item--wide{grid-column:span 1}.work-item--wide figure,.work-item figure{aspect-ratio:1.27}.work-meta h3{font-size:31px}.services{padding:90px 22px}.section-head--light>p{margin-top:25px}.service-row{grid-template-columns:35px 1fr 24px;gap:10px;padding:25px 0}.service-row h3{font-size:clamp(27px,7vw,44px)}.service-row p{grid-column:2;grid-row:2;font-size:12px}.service-row strong{grid-column:3;grid-row:1}.service-row:hover{padding-left:0}.contact-home{grid-template-columns:1fr;gap:55px;padding:100px 22px}.contact-intro h2{font-size:clamp(56px,11vw,88px)}.footer{padding:70px 22px 20px}.footer-top{display:block;padding-bottom:65px}.footer-top h2{font-size:clamp(57px,13vw,92px);margin-bottom:38px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px}.footer-bottom>div{grid-column:span 2;flex-wrap:wrap}.footer-contact{display:inline-flex;gap:12px}.sub-hero{padding:164px 22px 90px;min-height:0}.sub-hero h1{font-size:clamp(54px,11.5vw,89px)}.sub-hero-shape{top:16%;right:-8%;opacity:.45}.editorial-editor{grid-template-columns:1fr;padding:85px 22px}.editorial-editor h2{margin-top:25px}.principles{grid-template-columns:1fr;padding:90px 22px;gap:40px}.service-detail{padding:30px 22px 75px}.service-detail article{grid-template-columns:1fr;padding:48px 0}.service-detail article h2{margin-top:18px}.service-detail p{font-size:17px}.sub-cta{padding:75px 22px;display:block}.sub-cta h2{margin:20px 0}.portfolio-section{padding:75px 22px}.portfolio-grid{grid-template-columns:1fr;gap:55px}.portfolio-item:nth-child(5n+1){grid-column:span 1}.portfolio-image,.portfolio-item:nth-child(5n+1) .portfolio-image{aspect-ratio:1.36}.contact-page-layout{grid-template-columns:1fr;padding:75px 22px;gap:50px}.brief-section{padding:55px 22px 90px}.brief-options{grid-template-columns:1fr}}
@media(max-width:460px){.hero{min-height:780px}.hero h1{font-size:clamp(50px,13.2vw,66px)}.hero-sculpture{height:250px;margin:0 7%}.art-type{font-size:195px}.hero-actions .btn-light{font-size:12px}.field-row{grid-template-columns:1fr}.form-bottom{align-items:stretch;flex-direction:column}.form-submit{width:100%}.manifesto-progress{font-size:8px;gap:9px}}


/* ============================================================
   DRONEHAZE — MOTION V4 / 4-step scroll-driven connected geometry
   All rules scoped to actual site components. No third-party JS.
   ============================================================ */
:root{--display:'Oswald','Arial Narrow',Impact,Arial,sans-serif}
h1,h2,h3,.footer-brand,.logo-word,.work-meta h3,.service-row h3,.brief-root h2{font-family:var(--display);font-weight:600;letter-spacing:-.025em}
.hero h1{font-family:var(--display);font-size:clamp(75px,7.4vw,149px);font-weight:600;letter-spacing:-.038em;line-height:1.04}
.manifesto h2{font-family:var(--display);font-weight:600;font-size:clamp(70px,6.75vw,122px);letter-spacing:-.025em;line-height:1.04}
.statement h2,.section-head h2,.contact-intro h2,.footer-top h2{letter-spacing:-.025em}
.sub-hero h1{letter-spacing:-.03em}
.hero-sculpture{isolation:isolate}
.art-space{transform:none!important;filter:none;isolation:isolate}
.art-space .art-sheet,.art-space .art-type,.art-space .art-grid{display:none}
.art-space .art-halo{background:radial-gradient(circle,rgba(251,52,73,.13),rgba(73,195,177,.06) 43%,transparent 72%);filter:blur(24px)}
.art-space .art-label{z-index:3}
.dh-mesh-canvas{position:absolute;display:block;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.dh-mesh-canvas--hero{inset:0;width:100%;height:100%;opacity:.86}
.manifesto{height:485vh;background:#0b080e}
.manifesto-sticky{height:100svh;min-height:630px;overflow:hidden;background:radial-gradient(ellipse at 26% 54%,rgba(251,52,73,.065),transparent 46%),#0b080e}
.manifesto-scene{gap:clamp(12px,5vw,80px);grid-template-columns:minmax(0,1.06fr) minmax(0,1fr)}
.manifesto-graphic{max-width:720px;aspect-ratio:1.03;overflow:visible;transform:none!important;transition:none!important}
.manifesto[data-graph-active='true'] .manifesto-graphic .mg-disc,
.manifesto[data-graph-active='true'] .manifesto-graphic .mg-bar,
.manifesto[data-graph-active='true'] .manifesto-graphic .mg-core{display:none}
.manifesto-text{max-width:690px;position:relative;z-index:3}
.manifesto-text .scene-kicker{font-size:13px;letter-spacing:.16em;color:var(--mint)}
.manifesto .manifesto-text>p:last-child{max-width:540px;font-size:clamp(16px,1.35vw,21px);line-height:1.7}
.dh-network-caption{position:absolute;left:11%;bottom:2%;font:600 9px/1.3 'Courier New',monospace;letter-spacing:.19em;color:#8c748a;z-index:4}
.manifesto-meta{position:relative;z-index:4}
.dh-phase-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 0 22px;color:#756b7a;font:700 clamp(8px,.72vw,11px)/1.5 'Courier New',monospace;letter-spacing:.12em}
.dh-phase-strip>span{border-top:1px solid rgba(255,255,255,.12);padding-top:13px;transition:border-color .25s,color .25s}
.dh-phase-strip>span.is-current{border-color:var(--mint);color:#ddf8f2}
.manifesto-progress{font-size:9px;letter-spacing:.14em}
.progress-track i{transition:none}
@media(max-width:1100px){.hero h1{font-size:clamp(66px,7.7vw,112px)}.manifesto h2{font-size:clamp(59px,7vw,94px)}}
@media(max-width:760px){
 .hero h1{font-size:clamp(60px,12vw,89px);line-height:1.04}
 .hero-sculpture{margin:0 4%;height:300px;min-height:0}
 .art-space .art-label{opacity:.7}
 .manifesto{height:430vh}
 .manifesto-sticky{height:100svh;min-height:0;padding:22px 20px 24px}
 .manifesto-scene{grid-template-columns:1fr;gap:0;align-content:center}
 .manifesto-graphic{width:min(87vw,390px);aspect-ratio:1.2;margin:0 auto 3px}
 .manifesto h2{font-size:clamp(53px,10vw,79px);line-height:1.03}
 .manifesto .manifesto-text>p:last-child{font-size:15px;margin-top:14px;line-height:1.55}
 .manifesto-text .scene-kicker{margin-bottom:12px}
 .dh-network-caption{bottom:0;left:3%;font-size:7px}
 .dh-phase-strip{gap:6px;padding-bottom:11px;font-size:7px;letter-spacing:0}
 .dh-phase-strip>span{padding-top:7px}
 .manifesto-progress{font-size:8px}
}
@media(max-width:460px){.hero h1{font-size:clamp(55px,13vw,76px)}.hero-sculpture{height:255px}.manifesto-graphic{width:min(87vw,330px)}.manifesto h2{font-size:clamp(47px,10.5vw,62px)}.manifesto-sticky{padding:16px 17px 21px}.dh-network-caption{font-size:6px}}
@media(prefers-reduced-motion:reduce){.dh-phase-strip>span{transition:none}}

/* ============================================================
   DRONEHAZE V7 — Genuine ambient motion, natural-scrolling hero,
   timed statement / work entrances. Other sections unchanged.
   ============================================================ */
.home .contact-home{background:#08060b}
.home .footer--compact{padding-top:34px;background:#08060b}
.home .footer--compact .footer-bottom{border-top:1px solid rgba(255,255,255,.18)}
.service-detail article[id]{scroll-margin-top:105px}
/* Hero is no longer sticky: nothing stays glued while leaving this section. */
@media (prefers-reduced-motion:no-preference) {
  html.dh-motion-enhanced .home .hero{
    height:auto;min-height:120svh;display:flex;flex-direction:column;overflow:hidden;
  }
  html.dh-motion-enhanced .home .hero-eyebrow{
    position:relative;top:auto;left:auto;right:auto;
    margin:clamp(115px,14svh,160px) clamp(20px,5vw,86px) 24px;
  }
  html.dh-motion-enhanced .home .hero-grid{
    position:relative;top:auto;height:auto;min-height:0;
    flex:1;display:grid;align-items:center;align-content:center;
    padding:10px clamp(20px,5vw,86px) clamp(70px,8svh,105px);
  }
  html.dh-motion-enhanced .home .hero-bottom{
    position:relative;bottom:auto;left:auto;right:auto;
  }
  html.dh-motion-enhanced .home .hero-sculpture,
  html.dh-motion-enhanced .home .hero-copy{transform:none;opacity:1}
  html.dh-motion-enhanced .home .hero-sculpture .art-halo{opacity:.8}
  /* Headline visibly arrives oversized; stays fully readable after entrance. */
  html.dh-v7-entrances .home .statement .overline{
    opacity:.3;transform:translate3d(-45px,15px,0);
    transition:transform .95s cubic-bezier(.18,.75,.21,1),opacity .85s ease;
  }
  html.dh-v7-entrances .home .statement h2{
    opacity:.08;
    transform:translate3d(-80px,94px,0) scale(1.23);
    transform-origin:10% 50%;
    transition:transform 1.35s cubic-bezier(.16,.78,.18,1),opacity 1.1s ease;
  }
  html.dh-v7-entrances .home .statement>p:last-child{
    opacity:.14;transform:translate3d(0,42px,0);
    transition:transform 1.15s cubic-bezier(.2,.7,.2,1) .18s,opacity .9s ease .18s;
  }
  html.dh-v7-entrances .home .statement.dh-v7-statement-in .overline,
  html.dh-v7-entrances .home .statement.dh-v7-statement-in h2,
  html.dh-v7-entrances .home .statement.dh-v7-statement-in>p:last-child{
    opacity:1;transform:none;
  }
  /* Cards animate when each becomes visible, even during a fast scroll. */
  html.dh-v7-entrances .home .work-grid>.work-item{
    opacity:0;transform:translate3d(0,75px,0) scale(.97);
    transition:opacity 1.10s cubic-bezier(.15,.7,.2,1),
               transform 1.15s cubic-bezier(.18,.75,.22,1);
  }
  html.dh-v7-entrances .home .work-grid>.work-item.dh-v7-project-in{
    opacity:1;transform:none;
  }
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
  html.dh-motion-enhanced .home .hero{min-height:117svh}
  html.dh-motion-enhanced .home .hero-eyebrow{
    margin:clamp(85px,11svh,112px) 21px 14px;
  }
  html.dh-motion-enhanced .home .hero-grid{
    min-height:0;grid-template-columns:1fr;align-content:center;
    padding:10px 21px 28px;
  }
  html.dh-motion-enhanced .home .hero-sculpture{
    min-height:0;height:clamp(190px,29svh,300px);margin:0 4%;
  }
  html.dh-v7-entrances .home .statement h2{
    transform:translate3d(-18px,65px,0) scale(1.13);
    transform-origin:0 50%;
  }
  html.dh-v7-entrances .home .statement.dh-v7-statement-in h2{transform:none}
}
@media(max-width:460px) and (prefers-reduced-motion:no-preference){
  html.dh-motion-enhanced .home .hero-sculpture{height:clamp(170px,25svh,240px)}
}
@media(prefers-reduced-motion:reduce){
  html.dh-v7-entrances .home .statement *,
  html.dh-v7-entrances .home .work-grid>.work-item{opacity:1!important;transform:none!important}
}

/* V8 / Hero-only interactive geometry: no global or section layout changes. */
.home .dh-mesh-canvas--hero{opacity:1}
@media (prefers-reduced-motion: reduce){.home .dh-mesh-canvas--hero{opacity:.86}}


/* =============================================================
   DRONEHAZE / HERO AUTONOMOUS V9
   Independent CSS animation begins as soon as the illustration exists.
   Does not interfere with the JS scroll-driven enlargement or the story.
   ============================================================= */
@media (prefers-reduced-motion: no-preference) {
  /* The network itself orbits continuously — not tied to scrolling or hover. */
  .home .hero .dh-mesh-canvas--hero {
    transform-origin: 50% 50%;
    animation: dh-v9-network-orbit 26s linear infinite !important;
    backface-visibility: hidden;
  }
  @keyframes dh-v9-network-orbit {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
  }

  /* An independent heartbeat is visible from first paint, even as JS loads. */
  .home .hero .art-halo {
    animation: dh-v9-ambient-breath 3.2s ease-in-out infinite !important;
    will-change: opacity, transform;
  }
  @keyframes dh-v9-ambient-breath {
    0%, 100% { opacity:.40; transform:scale(.91); }
    50%      { opacity:1; transform:scale(1.14); }
  }

  /* A distinct rotating glint: motion remains visible between canvas frames. */
  .home .hero .hero-sculpture::after {
    content:"";
    position:absolute;
    z-index:1;
    pointer-events:none;
    left:12%;top:12%;width:76%;height:76%;
    border-radius:50%;
    background:conic-gradient(from 0deg,
      transparent 0deg,transparent 242deg,
      rgba(73,195,177,.0) 265deg,
      rgba(73,195,177,.64) 286deg,
      transparent 309deg,transparent 360deg);
    -webkit-mask:radial-gradient(circle,transparent 65%,#000 66%,#000 67%,transparent 68%);
    mask:radial-gradient(circle,transparent 65%,#000 66%,#000 67%,transparent 68%);
    animation:dh-v9-glint-orbit 9s linear infinite;
  }
  @keyframes dh-v9-glint-orbit {
    from { transform:rotate(0deg); }
    to   { transform:rotate(360deg); }
  }
}
@media (prefers-reduced-motion:reduce) {
  .home .hero .dh-mesh-canvas--hero,
  .home .hero .art-halo,
  .home .hero .hero-sculpture::after {animation:none!important;}
}

/* DRONEHAZE / MOTION V11 · ONLY HERO
   A calm automatic shape cycle is part of the artwork, independent of scroll.
   It responds to cursor as before. Animation starts on load for this hero only.
   No control button, no flashing transitions or extra libraries. */
@keyframes dh-v11-ambient-tilt {
  0%, 100% { transform:rotate(-5deg); }
  50% { transform:rotate(5deg); }
}
@keyframes dh-v11-breath {
  0%, 100% { opacity:.48; transform:scale(.90); }
  50% { opacity:.92; transform:scale(1.13); }
}
@keyframes dh-v11-glint {
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}
/* Explicit design requirement: calm, always-on hero animation, including on
   machines requesting reduced page movement. All other sections keep their
   existing motion settings. */
.home .hero .dh-mesh-canvas--hero {
  animation:dh-v11-ambient-tilt 11s ease-in-out infinite !important;
  animation-duration:11s !important;
  animation-play-state:running !important;
  transform-origin:50% 50%;
}
.home .hero .art-halo {
  animation:dh-v11-breath 3.8s ease-in-out infinite !important;
  animation-duration:3.8s !important;
  animation-play-state:running !important;
}
.home .hero .hero-sculpture::after {
  animation:dh-v11-glint 14s linear infinite !important;
  animation-duration:14s !important;
  animation-play-state:running !important;
}


/* DRONEHAZE V17 / iPhone polish — no hero animation or JS changes.
   Avoid Apple's emoji rendering of textual arrows and the large asterisk.
   Vector masks use currentColor, retain existing link behavior and labels. */
:root {
  --dh-ui-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19L19 5M8 5h11v11' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --dh-ui-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18m-7-7 7 7 7-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* All textual arrow placeholders are decorative and must not use emoji fonts. */
:is(a.btn-light, a.text-link, a.nav-contact, a.footer-contact, .brief-optional a, button.form-submit) > span:last-child,
.home .work-arrow,
.home .service-row > strong[aria-hidden],
.home .hero-actions a.btn-line > span:last-child,
.home .hero-scroll > span:last-child {
  display: inline-flex;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  flex: 0 0 22px;
  font-size: 0 !important;
  line-height: 0 !important;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
:is(a.btn-light, a.text-link, a.nav-contact, a.footer-contact, .brief-optional a, button.form-submit) > span:last-child::before,
.home .work-arrow::before,
.home .service-row > strong[aria-hidden]::before,
.home .hero-actions a.btn-line > span:last-child::before,
.home .hero-scroll > span:last-child::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background: currentColor;
  -webkit-mask-image: var(--dh-ui-arrow-up);
  mask-image: var(--dh-ui-arrow-up);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.home .hero-actions a.btn-line > span:last-child::before,
.home .hero-scroll > span:last-child::before {
  -webkit-mask-image: var(--dh-ui-arrow-down);
  mask-image: var(--dh-ui-arrow-down);
}

/* Replace the oversized U+2733 emoji with quiet geometric orbit lines. */
.home .statement .statement-orbit {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent;
  width: min(44vw, 590px);
  height: min(44vw, 590px);
  right: -7%;
  top: 48%;
  bottom: auto;
  transform: translateY(-50%) rotate(-23deg);
  opacity: .55;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.home .statement .statement-orbit::before,
.home .statement .statement-orbit::after {
  content: "";
  position: absolute;
  display: block;
  border: 1px solid rgba(251,52,73,.38);
  border-radius: 50%;
  width: 90%;
  height: 90%;
  left: 5%;
  top: 5%;
}
.home .statement .statement-orbit::before {transform: rotate(35deg) scaleX(.52);}
.home .statement .statement-orbit::after {transform: rotate(-31deg) scaleY(.58);border-color:rgba(73,195,177,.43);}
@media (max-width: 760px) {
  .home .statement .statement-orbit {
    width: 76vw;
    height: 76vw;
    right: -27vw;
    top: 45%;
    opacity: .35;
  }
  /* Keep ornament subordinate to heading/body at narrow widths. */
  .home .statement > :not(.statement-orbit) {position: relative;z-index:2;}
}
