:root{color-scheme:light;--white:#f8f8f5;--paper:#fff;--charcoal:#161615;--graphite:#2b2c2f;--line:#d7d2c8;--muted:#6b6b66;--gold:#d4a62a;--gold-dark:#8a650f;--steel:#66707a;--max:1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(90deg, #16161509 1px, transparent 1px), linear-gradient(#16161509 1px, transparent 1px), var(--white);color:var(--charcoal);background-size:42px 42px;margin:0}a{color:inherit}.site-header{z-index:10;backdrop-filter:blur(16px);background:#f8f8f5eb;border-bottom:1px solid #1616151f;justify-content:space-between;align-items:center;gap:24px;padding:10px clamp(18px,4vw,42px);display:flex;position:sticky;top:0}.brand,nav,.hero-actions,.contact-actions{align-items:center;display:flex}.brand{text-transform:uppercase;gap:9px;font-size:.9rem;font-weight:800;text-decoration:none}.brand img{width:clamp(32px,3.4vw,42px);height:auto;display:block}.brand-copy{gap:0;line-height:.88;display:grid}.brand-copy strong{letter-spacing:0;font-size:clamp(.86rem,1.08vw,1rem)}nav{text-transform:uppercase;letter-spacing:0;gap:clamp(12px,3vw,30px);font-size:.82rem}nav a{color:var(--graphite);text-decoration:none}.hero{min-height:64vh;width:min(var(--max), calc(100% - 36px));grid-template-columns:minmax(0,.88fr) minmax(280px,.54fr);align-items:center;gap:clamp(22px,3.4vw,44px);margin:0 auto;padding:clamp(26px,4.4vw,54px) 0 26px;display:grid;position:relative}.hero-grid{pointer-events:none;border:1px solid #1616151a;position:absolute;inset:7% -2% 10%}.hero-grid span{background:#d4a62a57;position:absolute}.hero-grid span:first-child{width:34%;height:1px;top:24%;left:8%}.hero-grid span:nth-child(2){width:1px;height:58%;top:12%;left:72%}.hero-grid span:nth-child(3){width:22%;height:1px;bottom:22%;right:8%}.hero-grid span:nth-child(4){width:1px;height:26%;bottom:12%;left:18%}.hero-content,.hero-panel{position:relative}.kicker{color:var(--gold-dark);text-transform:uppercase;letter-spacing:0;margin:0 0 10px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;text-transform:uppercase;max-width:700px;margin-bottom:14px;font-size:clamp(2.5rem,5.2vw,4.55rem);line-height:.98}.hero-copy{max-width:590px;color:var(--graphite);font-size:clamp(.98rem,1.22vw,1.08rem);line-height:1.5}.hero-actions,.contact-actions{flex-wrap:wrap;gap:12px;margin-top:18px}.button{border:1px solid var(--charcoal);border-radius:4px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.button.primary{background:var(--charcoal);color:var(--white)}.button.secondary{background:#ffffff94}.hero-panel,.backend-status,.service-card,.case-card{background:#ffffffc7;border:1px solid #16161529;border-radius:6px;box-shadow:0 24px 80px #16161514}.hero-panel{padding:clamp(16px,2vw,22px);overflow:hidden}.panel-mark{opacity:.055;pointer-events:none;width:min(44%,190px);position:absolute;bottom:-20px;right:-18px}.panel-topline,.backend-status,.stats,.split{display:grid}.panel-topline{color:var(--steel);grid-template-columns:1fr auto;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem}.schematic{border:1px solid var(--line);background-color:#0000;background-image:linear-gradient(90deg,#1616150e 1px,#0000 1px),linear-gradient(#1616150e 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:198px;margin:15px 0;position:relative}.hero-graphic{border:1px solid var(--line);background:linear-gradient(90deg, #1616150b 1px, transparent 1px), linear-gradient(#1616150b 1px, transparent 1px), var(--paper);background-size:22px 22px;height:198px;margin:15px 0;position:relative;overflow:hidden}.hero-graphic img{object-fit:contain;object-position:center;filter:saturate(.88)contrast(1.06);width:100%;height:100%;display:block}.hero-graphic figcaption{max-width:calc(100% - 20px);color:var(--gold-dark);text-transform:uppercase;background:#f8f8f5e6;padding:6px 8px;font-size:.68rem;font-weight:900;position:absolute;bottom:10px;left:10px}.node,.trace{display:block;position:absolute}.node{border:2px solid var(--charcoal);background:var(--paper);width:44px;height:44px}.node-a{top:18%;left:12%}.node-b{top:31%;right:14%}.node-c{border-color:var(--gold-dark);bottom:14%;left:42%}.trace{background:var(--gold);transform-origin:0;height:2px}.trace-one{width:48%;top:29%;left:21%;transform:rotate(12deg)}.trace-two{width:33%;top:50%;right:20%;transform:rotate(125deg)}.trace-three{width:28%;bottom:25%;left:30%;transform:rotate(-18deg)}dl{gap:10px;margin:0;display:grid}dl div{border-top:1px solid var(--line);justify-content:space-between;gap:18px;padding-top:10px;display:flex}dt{color:var(--muted);text-transform:uppercase;font-size:.78rem}dd{text-align:right;margin:0;font-weight:800}.backend-status{width:min(var(--max), calc(100% - 36px));grid-template-columns:1fr auto;align-items:center;gap:18px;margin:0 auto;padding:18px}.backend-status span{color:var(--muted);margin-top:4px;display:block}code{overflow-wrap:anywhere;max-width:100%;color:var(--gold-dark)}.stats{width:min(var(--max), calc(100% - 36px));border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:42px auto}.stats div{border-right:1px solid var(--line);padding:24px 18px}.stats div:last-child{border-right:0}.stats strong{font-size:clamp(1.7rem,4vw,3rem);display:block}.stats span,.service-card span,.case-card span,.about-copy,.contact-actions p{color:var(--muted);line-height:1.65}.section,.contact-band{width:min(var(--max), calc(100% - 36px));margin:0 auto;padding:clamp(54px,8vw,98px) 0}.section-heading{max-width:720px;margin-bottom:28px}h2{letter-spacing:0;text-transform:uppercase;font-size:clamp(2rem,5vw,4.4rem);line-height:1}.service-card h2,.case-card h2{overflow-wrap:anywhere;font-size:2rem;line-height:1.15}.service-grid,.case-grid,.deliverable-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.service-card,.case-card,.deliverable-card{padding:clamp(22px,3vw,32px)}.service-card>p,.case-card>p{color:var(--gold-dark);text-transform:uppercase;font-size:.8rem;font-weight:800}h3{font-size:clamp(1.35rem,3vw,2.1rem);line-height:1.1}ul{gap:8px;margin:22px 0 0;padding-left:18px;display:grid}li::marker{color:var(--gold-dark)}.projects{border-top:1px solid var(--line)}.project-image-note{color:var(--muted);margin-bottom:24px;font-size:.8rem;line-height:1.5}.consulting{border-top:1px solid var(--line)}.deliverable-grid{grid-template-columns:repeat(3,1fr)}.deliverable-card{border-left:3px solid var(--gold);color:var(--white);background:#161615eb;border-radius:4px;min-height:360px;position:relative;overflow:hidden}.deliverable-card img{opacity:.06;width:180px;position:absolute;bottom:-46px;right:-42px}.deliverable-card span{color:#d9d6cc;line-height:1.65}.deliverable-card li::marker{color:var(--gold)}.case-card{background:linear-gradient(135deg, #d4a62a21, #ffffffc7 45%), var(--paper);min-height:340px}.split{border-top:1px solid var(--line);grid-template-columns:.8fr 1fr;gap:clamp(28px,7vw,88px)}.contact-band{background:var(--charcoal);color:var(--white);border-radius:6px;grid-template-columns:1fr .72fr;align-items:center;gap:clamp(24px,6vw,72px);margin-bottom:36px;padding-inline:clamp(20px,4vw,42px);display:grid}.contact-band .kicker,.contact-band .contact-actions p{color:#e0b94d}.contact-band .button.primary{background:var(--gold);border-color:var(--gold);color:var(--charcoal)}@media (width<=840px){.site-header,.brand,nav{align-items:flex-start}.site-header{flex-direction:column;position:static}nav{white-space:nowrap;justify-content:space-between;gap:10px;width:100%;font-size:.68rem;overflow-x:hidden}.hero,.service-grid,.case-grid,.deliverable-grid,.split,.contact-band,.backend-status{grid-template-columns:1fr}.hero{min-height:auto}.hero-panel{max-width:520px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=520px){h1{font-size:2.28rem}.hero-actions .button,.contact-actions .button{width:100%}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line)}.stats div:last-child{border-bottom:0}.schematic,.hero-graphic{height:168px}.hero-panel{padding:14px}dl div{gap:4px;display:grid}dd{text-align:left}}.page-hero,.media-band,.cta-band,.site-footer{width:min(var(--max), calc(100% - 36px));margin:0 auto;padding:clamp(36px,5vw,66px) 0}.page-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(260px,.43fr);align-items:center;gap:clamp(22px,3.2vw,40px);min-height:48vh;display:grid}.page-hero h1{max-width:840px;margin-bottom:14px;font-size:clamp(2.45rem,4.55vw,4.15rem);line-height:.98}.page-hero p:not(.kicker),.media-band p:not(.kicker){color:var(--graphite);font-size:clamp(.98rem,1.22vw,1.08rem);line-height:1.5}.page-hero p:not(.kicker){max-width:600px}.page-hero figure,.media-feature{background:var(--paper);border:1px solid #16161529;border-radius:6px;margin:0;overflow:hidden;box-shadow:0 22px 70px #16161517}.page-hero figure{aspect-ratio:1.18;max-height:420px}.page-hero .portrait-figure{aspect-ratio:4/5;background:#ffffffa3;max-height:430px}.page-hero .portrait-figure img{object-fit:contain;object-position:center top}.page-hero .rooftop-figure img{object-position:center 16%}.page-hero .technical-figure img,.technical-image{object-fit:contain;background:linear-gradient(90deg, #16161509 1px, transparent 1px), linear-gradient(#16161509 1px, transparent 1px), var(--paper);background-size:22px 22px}.page-hero img,.media-feature img,.image-card>img,.project-card>img{object-fit:cover;width:100%;height:100%;display:block}.image-card>img.technical-image,.project-card>img.technical-image{object-fit:contain}.service-card,.case-card,.deliverable-card{min-width:0}.service-card h3,.case-card h3{overflow-wrap:anywhere}.proof-strip{width:min(var(--max), calc(100% - 36px));border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:42px auto;display:grid}.proof-strip div{border-right:1px solid var(--line);padding:24px 18px}.proof-strip div:last-child{border-right:0}.proof-strip strong{font-size:clamp(1.55rem,3.6vw,2.65rem);display:block}.proof-strip span{color:var(--muted);line-height:1.5}.media-band{border-bottom:1px solid var(--line);grid-template-columns:minmax(280px,.8fr) 1fr;align-items:center;gap:clamp(26px,6vw,76px);display:grid}.media-feature{aspect-ratio:1.28}.text-link{color:var(--gold-dark);text-transform:uppercase;margin-top:18px;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-flex}.text-link:after{content:">";margin-left:8px}.image-card{overflow:hidden}.image-card>img{width:calc(100% + clamp(44px,6vw,64px));height:230px;margin:calc(-1*clamp(22px,3vw,32px)) calc(-1*clamp(22px,3vw,32px)) 24px}.project-card>img{border:1px solid #1616151a;height:260px;margin-bottom:24px}.detail-grid,.contact-layout{grid-template-columns:1fr minmax(280px,.52fr);align-items:start;gap:clamp(28px,6vw,76px);display:grid}.contact-layout{grid-template-columns:1fr minmax(280px,.42fr)}.detail-panel,.contact-card{background:var(--paper);border:1px solid #16161529;border-radius:6px;padding:clamp(22px,3vw,34px);box-shadow:0 22px 70px #16161514}.large-list{gap:14px;padding-left:0;list-style:none}.large-list li,.checklist-grid div{border-left:3px solid var(--gold);color:var(--graphite);background:#ffffffb8;padding:18px;line-height:1.6}.checklist-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.cta-band{background:var(--charcoal);color:var(--white);border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-bottom:42px;padding-inline:clamp(22px,4vw,42px);display:grid}.cta-band p:not(.kicker){color:#d9d6cc;max-width:720px}.cta-band .kicker{color:#e0b94d}.cta-band .button.primary{background:var(--gold);border-color:var(--gold);color:var(--charcoal)}.inquiry-form{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.inquiry-form label{color:var(--graphite);gap:8px;font-weight:800;display:grid}.inquiry-form .wide,.inquiry-form button,.form-note{grid-column:1/-1}input,select,textarea{background:var(--paper);width:100%;color:var(--charcoal);font:inherit;border:1px solid #16161538;border-radius:4px;padding:12px 14px}textarea{resize:vertical}.form-note,.contact-card p{color:var(--muted);margin:0;line-height:1.55}.contact-card{gap:14px;display:grid}.contact-card a{color:var(--gold-dark);font-weight:900;text-decoration:none}.site-footer{background:var(--charcoal);width:100%;color:var(--white);grid-template-columns:1fr auto minmax(220px,.35fr);align-items:start;gap:32px;padding-inline:clamp(18px,4vw,48px);display:grid}.footer-brand{color:var(--white);text-transform:uppercase;align-items:center;gap:12px;font-weight:900;text-decoration:none;display:inline-flex}.footer-brand img{width:42px}.site-footer p,.site-footer span{color:#d9d6cc;line-height:1.6}.site-footer nav,.footer-contact{gap:10px;display:grid}.site-footer a{color:var(--white);font-weight:800;text-decoration:none}@media (width<=840px){.page-hero,.media-band,.detail-grid,.contact-layout,.cta-band,.site-footer,.checklist-grid,.inquiry-form{grid-template-columns:1fr}.page-hero{min-height:auto}.proof-strip{grid-template-columns:repeat(2,1fr)}.proof-strip div:nth-child(2){border-right:0}.proof-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=520px){.proof-strip{grid-template-columns:1fr}.page-hero{padding-top:30px}.page-hero h1{font-size:2.02rem;line-height:1}.page-hero p:not(.kicker){font-size:.96rem}.proof-strip div{border-right:0;border-bottom:1px solid var(--line)}.proof-strip div:last-child{border-bottom:0}}:focus-visible{outline:3px solid var(--gold-dark);outline-offset:4px}.inquiry-form .inquiry-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.inquiry-form [hidden]{display:none}.inquiry-form button:disabled{cursor:default;opacity:.65}html{scroll-padding-top:100px}.skip-link{z-index:100;background:#fff;padding:12px 18px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header nav a{align-items:center;min-height:44px;display:inline-flex}.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--gold-dark);text-underline-offset:7px}.menu-toggle{display:none}.hero{min-height:auto;padding-block:52px}.hero h1{font-size:clamp(2.3rem,4.8vw,4rem);line-height:1.06}.hero-grid{inset:5% -1%}.panel-title{font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.12}.page-hero{min-height:auto}.text-only{grid-template-columns:1fr}.text-band{max-width:var(--max);grid-template-columns:1fr}.text-band>div{max-width:850px}.section,.media-band{padding-block:clamp(36px,5vw,64px)}h2{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.12}.service-card h2,.case-card h2{font-size:clamp(1.5rem,2.4vw,2rem)}.deliverable-card{min-height:auto}.button,button{cursor:pointer;min-height:44px}.section-action{margin-top:24px}.related-services{border-top:1px solid var(--line);flex-wrap:wrap;gap:24px;display:flex}.related-services .kicker{flex-basis:100%}.related-services .text-link{margin:0}.contact-card a{overflow-wrap:anywhere}#draft-panel[hidden]{display:none}#draft-panel{gap:14px;display:grid}@media (width<=840px){.site-header{flex-flow:wrap;align-items:center;gap:12px}.menu-toggle:not([hidden]){border:1px solid var(--line);font:inherit;background:#fff;border-radius:4px;padding:8px 14px;display:block}.site-header nav{white-space:normal;flex-wrap:wrap;flex-basis:100%;justify-content:flex-start;gap:4px 20px;font-size:.85rem}.menu-toggle:not([hidden])+nav:not(.is-open){display:none}.site-header nav.is-open{grid-template-columns:1fr 1fr;display:grid}.site-footer nav{white-space:normal;overflow:visible}.hero{padding-block:32px}.hero-grid{inset-inline:0}.page-hero figure{max-width:520px}.contact-layout,.inquiry-form,.inquiry-form label{min-width:0}}@media (width<=520px){.proof-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-strip div{padding:18px 10px}.proof-strip div:nth-child(odd){border-right:1px solid var(--line)}.proof-strip div:nth-last-child(-n+2){border-bottom:0}.proof-strip strong{font-size:1.4rem}.proof-strip span{font-size:.85rem}}
