@font-face{font-family:Barlow;src:url('assets/barlow-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/barlow-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/barlow-condensed-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}

:root{color-scheme:dark;--bg:#111213;--panel:#191b1d;--panel-soft:#202225;--line:#313438;--text:#f2f1ee;--muted:#a7a8a8;--orange:#ff5600;--font:Barlow,'Segoe UI',sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
.shell{width:min(100% - 64px,1160px);margin-inline:auto}
.skip-link{position:absolute;z-index:50;top:-100px;left:20px;background:var(--orange);color:#111;padding:10px 16px}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:#222;border-bottom:1px solid var(--line)}
.header-inner{height:78px;display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none}
.brand-mark{position:relative;display:block;overflow:hidden;width:48px;height:48px;flex:none;background:#222}
.brand-mark img{position:absolute;max-width:none;width:132px;height:132px;left:-42px;top:-33px}
.brand-wordmark{display:block;flex:none;color:#e9e9e8;font:400 20px/1 var(--font);letter-spacing:.13em;white-space:nowrap}
.desktop-nav{display:flex;justify-content:flex-end;align-items:center;gap:31px;margin-left:auto}
.desktop-nav a,.mobile-nav a{font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#b6b7b8;transition:color .2s}
.desktop-nav a:hover,.mobile-nav a:hover{color:var(--orange)}
.header-cta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;border:1px solid var(--orange);padding:11px 15px;transition:background .2s,color .2s}
.header-cta:hover{background:var(--orange);color:#161616}
.mobile-nav{display:none}
.mobile-menu{display:none}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 19px;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.eyebrow-line{width:20px;height:1px;background:var(--orange)}
.hero{display:grid;grid-template-columns:1.05fr .95fr;padding-top:32.5px;padding-bottom:32.5px;gap:64px;align-items:stretch}
.hero-copy{align-self:center}
.hero h1{max-width:600px;margin:0 0 19px;font:600 clamp(58px,5vw,68px)/.98 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.hero h1 em{color:var(--orange);font-style:normal}
.hero-lead{max-width:480px;color:#b9bbbc;font-size:16px;line-height:1.55}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:0 17px;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--orange);color:#171717}
.button-primary:hover{background:#ff762d}
.text-link{display:inline-flex;align-items:center;border-bottom:1px solid #747678;padding:7px 0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:border-color .2s,color .2s}
.text-link:hover{border-color:var(--orange);color:var(--orange)}
.hero-visual{position:relative;min-height:445px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.visual-head,.visual-bottom{position:absolute;z-index:2;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#9d9fa1;font-size:10px;font-weight:700;letter-spacing:.16em}
.visual-head{top:18px}.visual-bottom{bottom:19px;color:#d2d3d3}.visual-bottom b{font-weight:400;color:var(--orange)}
.visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255 / .045) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .045) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}
.hero-visual:before{content:'';position:absolute;inset:12% 14%;border:1px solid rgb(255 255 255 / .09);transform:rotate(-18deg)}
.hero-visual:after{content:'';position:absolute;width:300px;height:300px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgb(255 86 0 / .16),transparent 68%)}
.cube-art{--cube-size:220px;--cube-depth:110px;position:absolute;z-index:1;width:var(--cube-size);height:var(--cube-size);left:50%;top:50%;transform:translate(-50%,-50%)}
.cube-spinner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:cube-turn 20s cubic-bezier(.64,0,.36,1) infinite}
.cube-face{position:absolute;inset:0;display:block;backface-visibility:visible;border:2px solid #a5a6a4}
.cube-front,.cube-back{border-color:#eeece9}
.cube-right,.cube-left{border-color:var(--orange)}
.cube-front{transform:translateZ(var(--cube-depth))}
.cube-back{transform:rotateY(180deg) translateZ(var(--cube-depth))}
.cube-right{transform:rotateY(90deg) translateZ(var(--cube-depth))}
.cube-left{transform:rotateY(-90deg) translateZ(var(--cube-depth))}
.cube-top{transform:rotateX(90deg) translateZ(var(--cube-depth))}
.cube-bottom{transform:rotateX(-90deg) translateZ(var(--cube-depth))}
@keyframes cube-turn{0%{transform:rotateX(-35.264deg) rotateY(-45deg) rotateZ(0deg)}25%{transform:rotateX(35.264deg) rotateY(45deg) rotateZ(90deg)}50%{transform:rotateX(144.736deg) rotateY(135deg) rotateZ(180deg)}75%{transform:rotateX(215.264deg) rotateY(225deg) rotateZ(270deg)}100%{transform:rotateX(324.736deg) rotateY(315deg) rotateZ(360deg)}}
.section{padding:44.5px 0}
.services{border-top:1px solid var(--line)}
.section-heading{margin-bottom:31px}
.section-heading h2,.approach h2,.about h2,.contact h2{margin:0;font:600 clamp(39px,4.6vw,61px)/.98 var(--display);letter-spacing:-.013em;text-transform:uppercase}
.section-heading>p:last-child{max-width:600px;margin:16px 0 0;color:var(--muted)}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto auto;align-content:center;gap:8px 12px;min-height:125px;border-bottom:1px solid var(--line)}
.service-number{color:var(--orange);font:600 15px var(--display)}
.service-row h3{grid-column:2;margin:0;font:600 23px/1 var(--display);letter-spacing:.015em;text-transform:uppercase}
.service-row p{grid-column:2;grid-row:2;margin:0;color:#aeb0b0;font-size:13px}
.approach{background:#1c1e20;border-block:1px solid var(--line)}
.approach-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}
.approach-copy{padding-top:35px}
.approach h2 span{color:var(--orange)}
.approach-copy>p{max-width:440px;margin-bottom:25px;color:#c2c3c3;font-size:16px}
.process-list{border-top:1px solid #414346}
.process-list>div{display:grid;grid-template-columns:35px 1fr 1.25fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #414346}
.process-list span{color:var(--orange);font-size:11px;font-weight:700}
.process-list strong{font:600 19px var(--display);text-transform:uppercase}
.process-list small{color:#999b9d;font-size:12px}
.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}
.about-aside{display:flex;flex-direction:column;align-items:flex-start}
.about-main{padding-top:35px}
.about-year{display:flex;flex-direction:column;align-items:flex-start;color:#8e9091;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.about-year strong{color:var(--orange);font:600 92px/.9 var(--display);letter-spacing:0}
.about-year span{margin-top:10px}
.about-main h2{margin-bottom:24px}
.about-main p{max-width:580px;margin-bottom:21px;color:#adafb0;font-size:16px}
.project{padding-top:0}
.project-panel{padding:26px 34px 35px;background:var(--panel-soft);border:1px solid #414347}
.project-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #4a4c4f;padding-bottom:10px}
.project-top .eyebrow{margin:0}.project-top>span{color:#8d9092;font-size:10px;font-weight:700;letter-spacing:.13em}
.project-content{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-top:26px}
.project h2{margin:0 0 8px;font:600 clamp(55px,7vw,100px)/.8 var(--display);letter-spacing:-.02em}
.project h2 span{color:var(--orange)}
.project p{max-width:520px;margin:20px 0 0;color:#b3b5b6}
.project-content>.text-link{flex:none}
.contact{background:var(--orange);color:#191919;padding:44px 0}
.contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:start;gap:60px}
.contact-form{max-width:420px}
.contact .eyebrow{color:#4a210f}
.contact h2{font-size:clamp(43px,4.6vw,60px)}
.contact-copy>p:not(.eyebrow){max-width:570px;margin:17px 0 0;font-size:15px}
.contact-email{display:inline-block;margin-top:18px;border-bottom:1px solid #4a210f;font-size:14px;font-weight:700}
.contact-email:hover{border-color:#191919}
.contact-address{margin-top:22px;font-size:14px;font-style:normal;line-height:1.5}
.contact-address span,.contact-address strong{display:block}
.contact-address span{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.contact-address strong{margin:4px 0 2px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field-wide{grid-column:1/-1}
.form-field label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.form-field label span{color:#58230a}
.form-field input,.form-field textarea{width:100%;min-height:40px;padding:9px 12px;border:1px solid #171819;border-radius:0;background:#171819;color:#fff;font:400 14px/1.4 var(--font)}
.form-field input{min-height:36px;padding-block:6px}
.form-field textarea{min-height:84px;resize:vertical}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid #191919;outline-offset:2px}
.form-actions{display:flex;align-items:center;gap:18px;margin-top:14px}
.form-status{max-width:260px;margin:0;font-size:12px;line-height:1.4}
.button-dark{min-width:180px;background:#9a3100;color:#fff}
.contact-form .button-dark{border:0;cursor:pointer;font-family:var(--font)}
.button-dark:hover{background:#802900}
.site-footer{padding:27px 0;background:#222}
.footer-inner{text-align:center}
.site-footer p{margin:0;color:#898c8e;font-size:12px}
@media(max-width:900px){.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.header-inner{gap:20px}.hero{gap:30px}.hero h1{font-size:clamp(58px,7vw,78px)}.service-list{grid-template-columns:1fr}.service-row{min-height:90px}.approach-grid{gap:45px}.about-grid{gap:45px}}
@media(max-width:800px){html{scroll-padding-top:88px}.shell{width:min(100% - 36px,1160px)}.header-inner{height:69px;justify-content:space-between}.brand-mark{width:42px;height:42px}.brand-mark img{width:116px;height:116px;left:-37px;top:-29px}.desktop-nav{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:28.5px;padding-bottom:30px}.hero h1{max-width:580px;font-size:clamp(50px,9vw,64px)}.hero-visual{min-height:325px}.cube-art{--cube-size:170px;--cube-depth:85px}.section{padding:33px 0}.section-heading>p:last-child{margin-top:14px}.section-heading h2,.approach h2,.about h2{font-size:clamp(43px,9vw,58px)}.service-row{grid-template-columns:28px 1fr;gap:10px;padding:13px 0}.service-row h3{font-size:22px}.service-row p{font-size:13px}.approach-grid,.about-grid{grid-template-columns:1fr;gap:30px}.approach-copy,.about-main{padding-top:0}.about-aside{gap:20px}.about-year strong{font-size:73px}.project{padding-top:0}.project-panel{padding:20px}.project-content{align-items:flex-start;flex-direction:column;gap:20px}.project h2{font-size:clamp(55px,11vw,82px)}.contact-inner{grid-template-columns:1fr;gap:30px}.contact h2{font-size:clamp(43px,9vw,56px)}}
@media(max-width:800px){
  .header-cta{display:none}
  .mobile-menu{display:block;margin-left:auto}
  .mobile-menu summary{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);list-style:none;cursor:pointer}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary::before{content:'☰';font-size:23px;line-height:1}
  .mobile-menu[open] summary::before{content:'×';font-size:29px}
  .mobile-menu summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
  .mobile-menu .mobile-nav{position:absolute;inset:100% 0 auto;flex-direction:column;padding:8px 18px 18px;background:#222;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #0008}
  .mobile-menu[open] .mobile-nav{display:flex}
  .mobile-menu .mobile-nav a{display:flex;align-items:center;min-height:48px;padding:0 8px;border-bottom:1px solid var(--line)}
  .mobile-menu .mobile-nav .mobile-contact{justify-content:center;min-height:44px;margin-top:14px;border:1px solid var(--orange);color:var(--orange)}
}
@media(max-width:420px){.brand{gap:5px}.brand-wordmark{font-size:16px;letter-spacing:.11em}.hero-actions{align-items:flex-start;flex-direction:column;gap:13px}.hero h1{font-size:clamp(45px,11vw,50px)}.hero-visual{min-height:300px}.cube-art{--cube-size:145px;--cube-depth:72.5px}.visual-head,.visual-bottom{left:12px;right:12px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.cube-spinner{animation:none!important;transform:rotateX(-35.264deg) rotateY(-45deg)}}
