:root{--bg:#0c0c0c;--ink:#f4eee9;--peach:#ffb08f;--muted:#a7a09a;--line:rgba(244,238,233,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.noise{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;width:500px;height:500px;left:var(--x,50%);top:var(--y,50%);transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,rgba(255,176,143,.07),transparent 65%);z-index:-1}.site-header{height:93px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:5}.logo{font-size:19px;letter-spacing:-1.5px;font-weight:800;color:var(--ink);text-decoration:none;position:relative}.logo span{font-weight:400}.logo i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--peach);right:-11px;top:1px}nav{display:flex;align-items:center;gap:32px}nav a{color:var(--ink);font:12px "DM Mono",monospace;letter-spacing:.02em;text-decoration:none;opacity:.58;transition:.2s}nav a:hover,nav a.active{opacity:1}.nav-cta{border:1px solid var(--line);padding:12px 16px!important;opacity:1!important}.nav-cta b,.button b{color:var(--peach);margin-left:9px;font-size:16px}.menu-button{display:none;background:none;border:0;color:var(--ink);font:12px "DM Mono"}.hero{min-height:calc(100vh - 93px);padding:8vw 5vw 3vw;position:relative;display:flex;align-items:center}.hero-copy{width:53%;z-index:2}.eyebrow{font:11px "DM Mono",monospace;letter-spacing:.08em;color:var(--muted);margin:0 0 32px}.eyebrow span{display:inline-block;width:24px;height:1px;background:var(--peach);vertical-align:middle;margin-right:10px}.hero h1,.page-hero h1{font-size:clamp(58px,8vw,126px);letter-spacing:-.075em;line-height:.87;margin:0;font-weight:600}.hero h1 em,h2 em,h3 em,.page-hero h1 em{font-family:"Playfair Display",serif;font-weight:600;color:var(--peach);letter-spacing:-.07em}.lede{font-size:16px;line-height:1.7;color:#b9b1ab;max-width:420px;margin:38px 0}.button-row{display:flex;align-items:center;gap:28px}.button{display:inline-block;text-decoration:none;padding:16px 20px;font:12px "DM Mono",monospace;color:var(--ink)}.peach{color:#181313;background:var(--peach)}.text-link{font:12px "DM Mono",monospace;text-decoration:none;color:var(--ink)}.text-link span{margin-left:12px;color:var(--peach);font-size:17px}.hero-orbit{height:min(67vw,740px);width:60vw;position:absolute;right:-4vw;top:4%;z-index:1}.hero-orbit canvas,.page-scene canvas,.statement-scene canvas{width:100%;height:100%;display:block}.scene-caption{position:absolute;bottom:10%;right:15%;font:10px "DM Mono";color:var(--muted);letter-spacing:.06em}.scene-caption span{color:var(--peach);font-size:18px;margin-left:7px}.orbit-label{position:absolute;font:13px "DM Mono";line-height:1.05;z-index:2}.orbit-label small{font-size:8px;color:var(--muted);letter-spacing:.1em}.label-a{left:14%;top:25%}.label-b{right:4%;top:45%}.label-c{left:27%;bottom:19%}.hero-scroll{font:10px "DM Mono";letter-spacing:.1em;position:absolute;bottom:5%;left:5%;color:var(--muted);display:flex;gap:12px;align-items:center}.hero-scroll span{height:1px;width:40px;background:var(--peach)}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:21px 0;color:var(--peach);font:12px "DM Mono";letter-spacing:.08em}.marquee div{animation:slide 22s linear infinite}.marquee b{margin:0 34px}.section{padding:140px 10vw}.manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end}.section h2{font-size:clamp(47px,6vw,92px);letter-spacing:-.07em;line-height:.93;font-weight:600;margin:0}.manifesto-grid p,.about-intro p{font-size:18px;line-height:1.65;color:#c7c0bb;margin:0 0 35px}.services-preview{background:#f2e9e3;color:#171313}.services-preview .eyebrow{color:#685f59}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:80px}.outline{border:1px solid #c9beba;color:#171313}.service-list{border-top:1px solid #c9beba}.service-row{display:grid;grid-template-columns:80px 1fr 1fr 45px 50px;align-items:center;border-bottom:1px solid #c9beba;min-height:125px;text-decoration:none;color:#171313;position:relative;overflow:hidden}.number{font:11px "DM Mono";color:#796f69}.service-title{font-size:42px;letter-spacing:-.06em;font-weight:600}.service-detail{font-size:14px;max-width:220px;line-height:1.5}.arrow{font-size:24px}.service-disc{width:25px;height:25px;border-radius:50%;background:var(--peach)}.service-row:after{content:"";position:absolute;inset:0;background:var(--peach);transform:translateX(-101%);transition:.4s;z-index:0}.service-row>*{z-index:1}.service-row:hover:after{transform:none}.statement{min-height:700px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.statement h2{position:relative;z-index:1}.statement>p:last-child{font-size:16px;line-height:1.6;color:#b7afaa;position:relative;z-index:1;margin:35px 0 0}.statement-scene{position:absolute;right:-9%;width:60%;height:100%;opacity:.9}.contact{padding-top:155px;padding-bottom:155px;border-top:1px solid var(--line);position:relative}.contact h2{font-size:clamp(52px,7vw,112px)}.round-link{width:147px;height:147px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:absolute;right:15%;bottom:22%;background:var(--peach);color:#161111;text-decoration:none;font:11px "DM Mono";transition:transform .3s}.round-link:hover{transform:rotate(10deg) scale(1.08)}.round-link b{font-size:18px;margin-left:7px}footer{padding:32px 5vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}footer p,footer a{font:10px "DM Mono";color:var(--muted);text-decoration:none}footer div{display:flex;gap:20px}.page-hero{min-height:570px;padding:95px 10vw;position:relative;display:flex;align-items:center}.page-hero>div:first-child{position:relative;z-index:1}.page-hero .lede{margin-bottom:0}.page-scene{position:absolute;right:3vw;top:0;width:57%;height:100%;opacity:.92}.detail-section{border-top:1px solid var(--line);padding:105px 10vw;display:grid;grid-template-columns:35% 1fr;min-height:540px}.detail-meta{font:11px "DM Mono";color:var(--muted);letter-spacing:.04em;display:flex;flex-direction:column;justify-content:space-between}.detail-meta b{font:clamp(70px,10vw,140px) "Playfair Display";font-weight:400;color:#272322;line-height:.8}.detail-body{max-width:620px}.detail-body h2{font-size:clamp(45px,5.4vw,80px);margin-bottom:34px}.detail-body p{max-width:500px;color:#bdb5b0;line-height:1.7;font-size:16px;margin-bottom:34px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 36px}.tags span{font:10px "DM Mono";color:#d7ccc6;border:1px solid var(--line);padding:10px 12px}.reverse{background:#171515}.about-intro{display:grid;grid-template-columns:34% 1fr;gap:5vw;background:#f2e9e3;color:#191413}.about-intro .eyebrow{color:#685f59}.about-intro h2{font-size:clamp(45px,5.7vw,84px)}.about-intro p{max-width:445px;margin:45px 0 0;color:#514945}.principles{padding-top:110px;padding-bottom:110px}.principle{border-top:1px solid var(--line);display:grid;grid-template-columns:15% 1fr 31%;padding:33px 0 42px;align-items:baseline}.principle span{font:11px "DM Mono";color:var(--peach)}.principle h3{font-size:clamp(34px,4vw,59px);letter-spacing:-.06em;line-height:.92;margin:0;font-weight:600}.principle p{font-size:14px;color:#bdb5b0;line-height:1.7;margin:0}@keyframes slide{to{transform:translateX(-35%)}}@media(max-width:720px){.site-header{height:74px;padding:0 6vw}nav{display:none}.menu-button{display:block}.hero{min-height:680px;padding:22vw 6vw 7vw;align-items:flex-start}.hero-copy{width:100%}.hero h1,.page-hero h1{font-size:16vw}.lede{font-size:14px;margin:26px 0}.hero-orbit{width:105vw;height:105vw;right:-24vw;top:32%}.orbit-label{font-size:10px}.label-a{left:15%;top:19%}.label-b{right:9%;top:43%}.label-c{left:23%;bottom:19%}.hero-scroll{bottom:4%}.section{padding:88px 6vw}.manifesto-grid,.about-intro{display:block}.manifesto-grid p,.about-intro p{font-size:16px;margin-top:35px}.section-top{margin-bottom:45px}.section-top .button{display:none}.service-row{grid-template-columns:36px 1fr 28px;min-height:95px}.service-detail,.service-disc{display:none}.service-title{font-size:32px}.statement{min-height:590px}.statement-scene{width:110%;right:-35%;opacity:.7}.contact{padding-top:100px;padding-bottom:190px}.round-link{right:7%;bottom:34px;width:118px;height:118px}.page-hero{min-height:520px;padding:115px 6vw 45px;align-items:flex-start}.page-scene{width:110%;height:70%;right:-20%;bottom:0;top:auto;opacity:.6}.detail-section{padding:70px 6vw;display:block;min-height:0}.detail-meta{flex-direction:row;margin-bottom:52px}.detail-meta b{font-size:45px}.detail-body p{font-size:14px}.about-intro{padding-top:80px}.principle{grid-template-columns:17% 1fr;padding:28px 0}.principle p{grid-column:2;margin-top:20px}footer{padding:28px 6vw;align-items:flex-start;gap:20px;flex-wrap:wrap}footer p{order:3;width:100%}}

/* Mobile refinements */
@media (max-width: 720px) {
  .site-header nav { display:none; }
  .site-header nav.is-open { display:flex; position:absolute; top:73px; left:0; right:0; z-index:20; flex-direction:column; gap:0; padding:8px 6vw 22px; background:#111; border-bottom:1px solid var(--line); }
  .site-header nav.is-open a { padding:14px 0; border-bottom:1px solid var(--line); }
  .site-header nav.is-open .nav-cta { margin-top:14px; text-align:center; border:1px solid var(--line); }
  .hero { min-height:730px; padding:15vw 6vw 7vw; }
  .hero h1, .page-hero h1 { font-size:15.4vw; }
  .hero .lede { max-width:290px; margin:23px 0; }
  .button-row { gap:16px; flex-wrap:wrap; }
  .hero-orbit { width:118vw; height:118vw; right:-37vw; top:37%; opacity:.88; }
  .orbit-label { font-size:9px; }
  .label-a { left:15%; top:15%; }.label-b { right:9%; top:44%; }.label-c { left:20%; bottom:17%; }
  .scene-caption { bottom:2%; right:12%; }.hero-scroll { display:none; }
  .statement { min-height:520px; }.statement-scene { width:128%; right:-46%; opacity:.56; }
  .page-hero { min-height:500px; padding:100px 6vw 40px; }.page-scene { width:125%; height:66%; right:-31%; bottom:-4%; top:auto; opacity:.5; }
  .detail-section { padding:68px 6vw; }.detail-meta { margin-bottom:45px; }.tags span { font-size:9px; padding:9px 10px; }
}
@media (max-width:390px) { .hero { min-height:690px; }.hero-orbit { top:39%; width:115vw; height:115vw; }.contact h2 { font-size:14vw; }.round-link { width:100px; height:100px; font-size:9px; }.page-hero { min-height:465px; } }

/* Mobile composition: canvases deliberately flow after their copy. */
@media (max-width: 720px) {
  .site-header { position:relative; z-index:100; }
  .menu-button { position:relative; z-index:101; min-width:58px; min-height:44px; padding:0; cursor:pointer; }
  .site-header nav.is-open { z-index:100; }
  .hero { display:block; min-height:0; padding:58px 6vw 46px; }
  .hero-copy { width:100%; position:relative; z-index:2; }
  .hero-orbit { position:relative; inset:auto; width:100%; height:330px; margin:12px 0 0; right:auto; top:auto; overflow:hidden; opacity:1; }
  .hero-orbit canvas { transform:scale(.92); }
  .scene-caption { bottom:14px; right:5px; }
  .orbit-label { z-index:3; }
  .label-a { left:6%; top:19%; }.label-b { right:2%; top:48%; }.label-c { left:15%; bottom:13%; }
  .page-hero { display:block; min-height:0; padding:62px 6vw 26px; }
  .page-hero > div:first-child { z-index:2; }
  .page-scene { position:relative; inset:auto; width:100%; height:285px; margin:10px 0 0; right:auto; top:auto; bottom:auto; opacity:1; }
  .page-scene canvas { transform:scale(.9); }
  .statement { min-height:0; padding-top:72px; padding-bottom:72px; }
  .statement-scene { position:relative; inset:auto; width:100%; height:270px; margin:-45px 0 18px; right:auto; opacity:.82; order:-1; }
  .statement > .eyebrow, .statement > h2, .statement > p { position:relative; z-index:2; }
}
@media (max-width:390px) {
  .hero { padding-top:46px; }.hero-orbit { height:295px; }.page-scene { height:250px; }
}

/* Desktop hero: reduce the dead space above the introductory label. */
@media (min-width: 721px) { .hero { padding-top:4vw; } }

/* Seamless homepage marquee: four identical tracks loop by exactly one track. */
.marquee .marquee-track { display:flex; width:max-content; will-change:transform; animation:marquee-loop 28s linear infinite; }
.marquee .marquee-track span { display:block; flex:none; padding-right:52px; white-space:nowrap; }
@keyframes marquee-loop { to { transform:translateX(-25%); } }
@media (max-width:720px) { .marquee .marquee-track { animation-duration:20s; } .marquee .marquee-track span { padding-right:32px; } }

/* Exact two-set marquee: three messages followed by their identical copy. */
.marquee .marquee-track { animation:marquee-seamless 24s linear infinite; }
.marquee .marquee-track span { padding-right:56px; }
@keyframes marquee-seamless { to { transform:translateX(-50%); } }
@media (max-width:720px) { .marquee .marquee-track { animation-duration:18s; } }

/* Wide screens need a longer track; one four-message set advances per loop. */
@media (min-width:721px) {
  .marquee .marquee-track { animation:marquee-desktop 26s linear infinite; }
  @keyframes marquee-desktop { to { transform:translateX(-25%); } }
}

/* Fine-tune the Academy hero label on desktop. */
@media (min-width:721px) { .hero-orbit .label-c { left:24%; } }

@media (min-width:721px) { .hero-orbit .label-c { left:18%; } }

/* Reveal a slim marquee preview beneath the desktop hero. */
@media (min-width:721px) { .hero { min-height:calc(100vh - 93px - 32px); } }

/* Desktop first viewport: tighter hero start and a full marquee preview. */
@media (min-width:721px) {
  .hero { min-height:calc(100vh - 93px - 64px); padding-top:1.5vw; padding-bottom:1.5vw; }
}

/* Lift the desktop hero composition without changing the marquee reveal. */
@media (min-width:721px) {
  .hero-copy { transform:translateY(-4vh); }
  .hero-orbit { top:0; }
}

/* Compass labels for the Services hero. */
.compass-point{position:absolute;z-index:2;font:500 13px "DM Mono",monospace;letter-spacing:.18em;color:var(--peach);text-shadow:0 0 14px rgba(255,176,143,.25)}
.compass-point.north{top:7%;left:50%;transform:translateX(-50%)}.compass-point.east{right:7%;top:50%;transform:translateY(-50%)}.compass-point.south{bottom:7%;left:50%;transform:translateX(-50%)}.compass-point.west{left:7%;top:50%;transform:translateY(-50%)}
@media(max-width:720px){.compass-point{font-size:10px}.compass-point.north{top:4%}.compass-point.east{right:4%}.compass-point.south{bottom:4%}.compass-point.west{left:4%}}

/* Force cardinal labels to render as a compass overlay, not document-flow text. */
.page-scene.compass-scene { position:absolute; isolation:isolate; }
.page-scene.compass-scene > .compass-point { position:absolute !important; display:block !important; z-index:5; margin:0; font:500 14px/1 "DM Mono",monospace; letter-spacing:.18em; color:#ffb08f; opacity:1; }
.page-scene.compass-scene > .north { top:9% !important; left:50% !important; right:auto !important; bottom:auto !important; transform:translateX(-50%) !important; }
.page-scene.compass-scene > .east { top:50% !important; right:8% !important; left:auto !important; bottom:auto !important; transform:translateY(-50%) !important; }
.page-scene.compass-scene > .south { bottom:9% !important; left:50% !important; top:auto !important; right:auto !important; transform:translateX(-50%) !important; }
.page-scene.compass-scene > .west { top:50% !important; left:8% !important; right:auto !important; bottom:auto !important; transform:translateY(-50%) !important; }
@media(max-width:720px){.page-scene.compass-scene > .north{top:5%!important}.page-scene.compass-scene > .east{right:5%!important}.page-scene.compass-scene > .south{bottom:5%!important}.page-scene.compass-scene > .west{left:5%!important}}

/* Quiet, conventional compass lettering positioned inside the rim. */
.compass-scene .compass-labels { position:absolute; inset:0; z-index:5; pointer-events:none; }
.compass-scene .compass-labels .compass-point { position:absolute !important; display:block; margin:0; font:500 11px/1 "DM Mono",monospace; letter-spacing:.12em; color:#ffb08f; opacity:.32; text-shadow:none; }
.compass-scene .compass-labels .north { top:31% !important; left:50% !important; right:auto !important; bottom:auto !important; transform:translateX(-50%) !important; }
.compass-scene .compass-labels .east { top:50% !important; right:35% !important; left:auto !important; bottom:auto !important; transform:translateY(-50%) !important; }
.compass-scene .compass-labels .south { bottom:25% !important; left:50% !important; top:auto !important; right:auto !important; transform:translateX(-50%) !important; }
.compass-scene .compass-labels .west { top:50% !important; left:35% !important; right:auto !important; bottom:auto !important; transform:translateY(-50%) !important; }
@media(max-width:720px){.compass-scene .compass-labels .compass-point{font-size:9px}.compass-scene .compass-labels .north{top:26%!important}.compass-scene .compass-labels .south{bottom:21%!important}.compass-scene .compass-labels .east{right:29%!important}.compass-scene .compass-labels .west{left:29%!important}}

/* Slightly stronger but still subtle compass lettering. */
.compass-scene .compass-labels .compass-point { font-size:14px; }
@media(max-width:720px){.compass-scene .compass-labels .compass-point{font-size:11px}}

/* Dedicated mobile compass composition. */
@media(max-width:720px){
  .services-hero{padding-bottom:52px;}
  .services-hero .compass-scene{width:100%;height:340px;margin:22px auto 0;right:auto;bottom:auto;opacity:1;}
  .services-hero .compass-scene canvas{transform:none;}
}
@media(max-width:390px){.services-hero .compass-scene{height:290px;margin-top:16px;}}

/* Services needs the same confident typographic weight as the home hero. */
@media (min-width:721px) {
  .services-hero { min-height:calc(100vh - 93px); padding-top:5vw; padding-bottom:5vw; }
  .services-hero h1 { font-size:clamp(68px,8.7vw,136px); line-height:.84; }
  .services-hero .lede { font-size:17px; max-width:455px; }
  .services-hero .page-scene { width:61%; right:0; height:108%; top:-4%; }
}

/* Give the WebGL compass a quiet, intentional presentation instead of a flat overlay. */
.compass-scene { filter:drop-shadow(0 26px 42px rgba(0,0,0,.32)); }
.compass-scene::after { content:"DRAG TO ORIENT"; position:absolute; right:12%; bottom:12%; color:var(--muted); font:10px "DM Mono",monospace; letter-spacing:.12em; opacity:.72; pointer-events:none; }
@media (max-width:720px) { .compass-scene::after { right:4%; bottom:5%; font-size:9px; } }
/* Contact page */.contact-hero{min-height:590px}.contact-hero .page-scene{width:54%;right:5vw}.contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.55fr);gap:9vw;padding-top:110px;padding-bottom:130px}.contact-layout h2{font-size:clamp(46px,5.4vw,80px);letter-spacing:-.07em;line-height:.9;margin:0 0 42px;font-weight:600}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:29px 24px}.contact-form label{display:block;color:var(--muted);font:10px "DM Mono",monospace;letter-spacing:.1em}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea{display:block;width:100%;padding:14px 0 13px;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:0;background:transparent;color:var(--ink);font:15px Manrope,Arial,sans-serif}.contact-form textarea{min-height:112px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--peach)}.contact-form button{justify-self:start;border:0;cursor:pointer;margin-top:10px}.contact-aside{border-left:1px solid var(--line);padding-left:4vw;padding-top:7px}.contact-aside p{color:var(--muted);font:11px/1.8 "DM Mono",monospace;letter-spacing:.04em;margin:0 0 40px}.contact-aside a{color:var(--ink);font:18px Manrope,Arial,sans-serif;text-decoration:none}.contact-aside a:hover{color:var(--peach)}.contact-aside .eyebrow{margin-bottom:14px}@media(min-width:721px){.contact-hero h1{font-size:clamp(68px,8.5vw,132px)}}@media(max-width:720px){.contact-hero{min-height:0}.contact-hero .page-scene{width:100%;right:auto}.contact-layout{display:block;padding-top:74px;padding-bottom:80px}.contact-layout h2{margin-bottom:34px}.contact-form{grid-template-columns:1fr;gap:25px}.contact-form label.full{grid-column:auto}.contact-aside{border-left:0;border-top:1px solid var(--line);margin-top:70px;padding:38px 0 0}}
/* Contact form rendering reinforcement */.contact-form{padding:28px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,0));box-shadow:0 24px 70px rgba(0,0,0,.16)}.contact-form label{min-width:0;padding:0 0 10px;border-bottom:1px solid rgba(244,238,233,.25);color:#cfc5bf}.contact-form input,.contact-form textarea{-webkit-appearance:none;appearance:none;margin-top:8px;padding:8px 0 3px;border:0;color:var(--ink);font-size:16px;line-height:1.5}.contact-form textarea{height:116px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#746d68}.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 1px 0 var(--peach)}.contact-form button{margin-top:4px}@media(max-width:720px){.contact-form{padding:22px}.contact-form label{width:100%}}
.contact-hero{min-height:500px;background:radial-gradient(circle at 78% 42%,rgba(255,176,143,.11),transparent 28%)}.contact-hero>div:first-child{max-width:720px}.contact-hero .lede{max-width:480px}@media(max-width:720px){.contact-hero{min-height:420px;background:radial-gradient(circle at 88% 42%,rgba(255,176,143,.09),transparent 32%)}}
/* Simple Contact hero: message left, form right */.contact-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,.72fr);gap:9vw;min-height:640px;padding-top:80px;padding-bottom:80px}.contact-hero .contact-copy{position:relative;z-index:1;max-width:600px}.contact-hero>.contact-form{position:relative;z-index:1;width:100%;margin:0}.contact-hero .contact-form .full{grid-column:1/-1}@media(max-width:720px){.contact-hero{display:block;min-height:0;padding-top:68px;padding-bottom:68px}.contact-hero>.contact-form{margin-top:48px}.contact-hero .contact-form .full{grid-column:auto}}
/* Services showcases */.showcase-section{border-top:1px solid var(--line);background:#141211}.showcase-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:76px}.showcase-intro h2{font-size:clamp(46px,5.8vw,86px)}.showcase-intro>p:last-child{max-width:360px;margin:0;color:#bdb5b0;font-size:16px;line-height:1.7}.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.showcase-card{min-height:330px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);background:linear-gradient(145deg,#211b19,#121111);transition:transform .3s,background .3s}.showcase-card:nth-child(1){background:radial-gradient(circle at 78% 18%,rgba(255,176,143,.2),transparent 30%),#1c1716}.showcase-card:nth-child(3){background:radial-gradient(circle at 22% 20%,rgba(255,176,143,.13),transparent 28%),#171414}.showcase-card:hover{transform:translateY(-8px);background-color:#2b201d}.showcase-card span{margin-bottom:auto;color:var(--peach);font:10px "DM Mono",monospace;letter-spacing:.12em}.showcase-card h3{margin:0;font-size:clamp(30px,3vw,46px);letter-spacing:-.065em;line-height:.92;font-weight:600}.showcase-card h3 em{font-family:"Playfair Display",serif;color:var(--peach);font-weight:600}.showcase-card p{margin:22px 0 0;color:#bdb5b0;font-size:13px;line-height:1.6}@media(max-width:720px){.showcase-intro{display:block;margin-bottom:42px}.showcase-intro>p:last-child{margin-top:28px;font-size:14px}.showcase-grid{grid-template-columns:1fr}.showcase-card{min-height:245px;padding:24px}.showcase-card:hover{transform:none}}
.form-status{grid-column:1/-1;margin:0;color:var(--muted);font:11px "DM Mono",monospace;letter-spacing:.03em}.form-status.is-success{color:var(--peach)}.contact-form button:disabled{cursor:wait;opacity:.72}@media(max-width:720px){.form-status{grid-column:auto}}
/* Mobile Services composition: keep the compass and content in normal flow. */@media(max-width:720px){.services-hero{display:block;padding:62px 6vw 54px}.services-hero>div:first-child{position:relative;z-index:2}.services-hero .compass-scene{position:relative;inset:auto;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:300px;margin:26px 0 0;opacity:1}.services-hero .compass-scene canvas{transform:none}.services-hero .lede{max-width:320px}.services-hero+.detail-section{border-top:1px solid var(--line)}.detail-section .detail-meta{gap:22px}.showcase-section{padding-top:76px;padding-bottom:76px}}@media(max-width:390px){.services-hero{padding-top:48px}.services-hero .compass-scene{height:250px;margin-top:18px}}
