/* 2026 editorial studio redesign */
body.home-body {
  --studio-black: #0b0b0b;
  --studio-paper: #f3f1ea;
  --studio-acid: #dfff00;
  --studio-line: rgba(243, 241, 234, .18);
  margin: 0;
  overflow-x: hidden;
  background: var(--studio-black);
  color: var(--studio-paper);
  font-family: "Manrope", "Inter", sans-serif;
}

.site-atmosphere { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; background:radial-gradient(circle at 72% 22%,rgba(255,153,0,.025),transparent 34%),linear-gradient(180deg,#0a0a0a 0%,#070707 100%); }
.site-atmosphere::after { display:none; }
.ambient-poly { position:absolute; overflow:visible; stroke:rgba(220,222,225,.12); stroke-width:2; vector-effect:non-scaling-stroke; }
.ambient-poly path { vector-effect:non-scaling-stroke; }
.ambient-poly g { transform-box:fill-box; transform-origin:center; animation:ambient-spin 38s linear infinite; }
.ambient-poly-a { width:min(58vw,820px); right:-16vw; top:-18vh; animation:ambient-drift-a 16s ease-in-out infinite alternate; }
.ambient-poly-b { width:min(18vw,240px); left:-5vw; top:28vh; animation:ambient-drift-b 13s ease-in-out infinite alternate; }
.ambient-poly-b g,.ambient-poly-d g { animation-direction:reverse; animation-duration:29s; }
.ambient-poly-c { width:min(30vw,420px); right:-9vw; bottom:-13vh; animation:ambient-drift-c 18s ease-in-out infinite alternate; }
.ambient-poly-d { width:min(13vw,180px); left:35vw; bottom:4vh; animation:ambient-drift-d 11s ease-in-out infinite alternate; }
@keyframes ambient-spin { to { transform:rotate(360deg); } }
@keyframes ambient-drift-a { to { transform:translate3d(-9vw,14vh,0) rotate(8deg); } }
@keyframes ambient-drift-b { to { transform:translate3d(14vw,-13vh,0) rotate(-10deg); } }
@keyframes ambient-drift-c { to { transform:translate3d(-13vw,-16vh,0) rotate(12deg); } }
@keyframes ambient-drift-d { to { transform:translate3d(8vw,-18vh,0) rotate(-14deg); } }
body.home-body > header,body.home-body > main,body.home-body > footer { position:relative; z-index:1; }
body.home-body .hero-atmosphere { display:none; }
body.home-body .hero,body.home-body .process-section,body.home-body .services,body.home-body .portfolio,body.home-body .footer { background:transparent !important; }
body.home-body .process-section,body.home-body .services,body.home-body .portfolio { border-top-color:rgba(255,255,255,.08) !important; }

html { scroll-behavior:smooth; scroll-padding-top:80px; }
body.home-body .site-header { opacity:0; transform:translateY(-18px); transition:opacity .75s ease .1s,transform .75s cubic-bezier(.2,.8,.2,1) .1s,background .3s ease; }
body.home-body.page-ready .site-header { opacity:1; transform:none; }
body.home-body .hero-copy > * { opacity:0; transform:translateY(34px); transition:opacity .85s ease,transform .85s cubic-bezier(.16,1,.3,1); }
body.home-body.page-ready .hero-copy > * { opacity:1; transform:none; }
body.home-body.page-ready .hero-copy > *:nth-child(1) { transition-delay:.18s; }
body.home-body.page-ready .hero-copy > *:nth-child(2) { transition-delay:.3s; }
body.home-body.page-ready .hero-copy > *:nth-child(3) { transition-delay:.42s; }
.hero-atmosphere { transform:translate3d(0,var(--hero-scroll,0),0); transition:transform .08s linear; }
.motion-reveal { opacity:0; transform:translateY(52px); transition:opacity .9s ease var(--reveal-delay,0ms),transform .9s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms); }
.motion-reveal.is-in-view { opacity:1; transform:none; }
.reveal-item { transition-duration:.9s; transition-timing-function:cubic-bezier(.16,1,.3,1); }
.drop-ready { opacity:0 !important; transform:translate3d(0,72px,0) !important; filter:blur(5px); transition:opacity .9s ease var(--drop-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--drop-delay,0ms),filter .8s ease var(--drop-delay,0ms) !important; }
.drop-ready.drop-in { opacity:1 !important; transform:translate3d(0,0,0) !important; filter:blur(0); }
.portfolio-card .work-shot.image-ready { opacity:1 !important; clip-path:none !important; transform:none; transition:filter .45s ease,transform .45s ease !important; }
.portfolio-card .work-shot.image-ready.image-in { opacity:1 !important; clip-path:none !important; transform:none; }
body.home-body .portfolio-card:nth-of-type(2) { transition-delay:80ms; }
body.home-body .portfolio-card:nth-of-type(3) { transition-delay:160ms; }
body.home-body .portfolio-card:nth-of-type(4) { transition-delay:240ms; }

body.home-body .container { width: min(1380px, calc(100vw - 8vw)); }

body.home-body .site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  height: 108px; background:transparent; border:0; backdrop-filter:none;
}
body.home-body .site-header .nav-wrap { width:100%; height:108px; max-width:none; padding:0 4vw; }
body.home-body .brand-logo { width:72px; height:auto; filter:brightness(0) invert(1); }
body.home-body .site-header .nav-links, body.home-body .site-header .nav-cta { display:none; }
body.menu-open { overflow:hidden !important; }
body.home-body .site-header .brand { position:relative; z-index:103; }
body.home-body .site-header .nav-toggle { position:relative; z-index:103; }
body.home-body .site-header .nav-links.is-open { position:fixed; inset:0 !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; z-index:101; width:100vw !important; max-width:none !important; height:100vh !important; height:100dvh !important; box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:1.35rem; margin:0 !important; padding:8rem 12vw 5rem; background:#080808; border:0; border-radius:0; opacity:1; visibility:visible; transform:none !important; }
body.home-body .site-header .nav-links.is-open::before { content:"Menu"; position:absolute; left:12vw; top:21vh; color:#555; font-size:.68rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
body.home-body .site-header .nav-links.is-open a { position:relative; width:auto; padding:0; color:#aaa; font-size:clamp(2rem,3vw,3.3rem); font-weight:600; line-height:1.25; letter-spacing:-.045em; text-transform:none; transition:color .25s ease,transform .25s ease; }
body.home-body .site-header .nav-links.is-open a:hover, body.home-body .site-header .nav-links.is-open a.active { color:#ff9900; transform:translateX(12px); }
body.home-body .site-header .nav-links.is-open a::before { content:""; position:absolute; left:-28px; top:50%; width:0; height:2px; background:#ff9900; transition:width .25s ease; }
body.home-body .site-header .nav-links.is-open a:hover::before, body.home-body .site-header .nav-links.is-open a.active::before { width:16px; }
body.home-body .site-header .nav-toggle span { transition:transform .3s ease,opacity .2s ease,width .3s ease; transform-origin:center; }
body.home-body .site-header .nav-toggle[aria-expanded="true"] span { position:absolute; width:34px; transform:none; }
body.home-body .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:rotate(45deg); }
body.home-body .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
body.home-body .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:rotate(-45deg); }
body.home-body .site-header .nav-toggle { display:inline-flex; width:48px; height:48px; margin-left:auto; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:0; background:transparent; }
body.home-body .site-header .nav-toggle span { display:block; width:34px; height:3px; margin:0; background:#fff; border-radius:0; }
body.home-body .site-header .nav-toggle span:first-child { transform:translateX(-5px); }
body.home-body .site-header .nav-toggle span:last-child { transform:translateX(5px); }

body.home-body .hero {
  min-height:100svh; padding:150px 0 100px; isolation:isolate;
  display:flex; align-items:center; overflow:hidden;
  background:linear-gradient(135deg,rgba(13,13,13,.96),rgba(7,7,7,.94));
}
body.home-body .hero::before {
  display:none;
}
body.home-body .hero::after { display:none; }
.hero-atmosphere { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; perspective:1000px; }
.wire-orb { position:absolute; overflow:visible; stroke:rgba(214,218,222,.21); stroke-width:2.4; vector-effect:non-scaling-stroke; }
.wire-orb path { vector-effect:non-scaling-stroke; }
.wire-orb-main { width:min(54vw,720px); aspect-ratio:1; right:2vw; top:-10%; filter:drop-shadow(0 0 20px rgba(255,255,255,.018)); animation:wire-float 13s ease-in-out infinite alternate; }
.wire-orb-small { width:min(17vw,225px); aspect-ratio:1; left:-2vw; bottom:-5%; stroke:rgba(214,218,222,.17); stroke-width:1.6; animation:wire-float-small 10s ease-in-out infinite alternate; }
.wire-orb-medium { width:min(28vw,370px); aspect-ratio:1; right:-7vw; bottom:-12%; stroke:rgba(214,218,222,.16); stroke-width:1.8; animation:wire-float-medium 15s ease-in-out infinite alternate; }
.wire-orb-spin { transform-box:fill-box; transform-origin:center; animation:wire-spin 28s linear infinite; }
.wire-orb-small .wire-orb-spin { animation-duration:19s; animation-direction:reverse; }
.wire-orb-medium .wire-orb-spin { animation-duration:24s; animation-direction:reverse; }
@keyframes wire-spin { to { transform:rotate(360deg); } }
@keyframes wire-float { 0% { transform:translate3d(0,0,0) rotateX(0); } 45% { transform:translate3d(-7vw,8vh,70px) rotateX(7deg) rotateY(-6deg); } 100% { transform:translate3d(3vw,14vh,20px) rotateX(-4deg) rotateY(5deg); } }
@keyframes wire-float-small { 0% { transform:translate3d(0,0,0); } 50% { transform:translate3d(9vw,-12vh,30px) rotateX(-5deg); } 100% { transform:translate3d(16vw,-4vh,10px) rotateX(4deg); } }
@keyframes wire-float-medium { 0% { transform:translate3d(0,0,0); } 48% { transform:translate3d(-12vw,-10vh,45px) rotateY(8deg); } 100% { transform:translate3d(-5vw,-19vh,10px) rotateY(-5deg); } }
body.home-body .hero-grid { min-height:0; display:block; }
body.home-body .hero-copy { width:min(100%,850px); max-width:none; margin-left:9vw; }
body.home-body .hero-availability { display:inline-flex; align-items:center; gap:.7rem; color:#ddd; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; background:transparent; border:0; padding:0; }
body.home-body .hero-availability span { width:10px; height:10px; background:var(--studio-acid); box-shadow:0 0 0 5px rgba(223,255,0,.12); }
body.home-body .hero h1, body.home-body .hero-title { margin:0; max-width:850px; color:#f4f4f4; font-size:clamp(3.2rem,5.8vw,6.6rem); font-weight:300; line-height:1.08; letter-spacing:-.055em; text-transform:none; }
body.home-body .hero-title strong { font-weight:700; }
body.home-body .hero-title span { font-weight:300; }
body.home-body .hero-text { max-width:560px; margin:4.2rem 0 0; color:#666; font-size:clamp(.95rem,1.15vw,1.12rem); line-height:1.7; }
body.home-body .hero-actions { margin-top:3rem; gap:2rem; align-items:center; }
body.home-body .hero-actions .btn { min-height:70px; border-radius:999px; padding:0 1.2rem 0 2.6rem; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
body.home-body .hero-actions .btn span { display:grid; place-items:center; width:46px; height:46px; margin-left:2rem; padding:0 !important; color:#fff; background:#0b0b0b; border-radius:50%; }
body.home-body .hero-actions .btn-primary { color:#0b0b0b; background:#ff9900; }
body.home-body .hero-actions .btn-primary { min-width:270px; padding:0 .55rem; justify-content:space-between; gap:.8rem; box-shadow:0 12px 34px rgba(255,153,0,.18); }
body.home-body .hero-actions .btn-primary b { font:inherit; font-weight:800; white-space:nowrap; }
body.home-body .hero-actions .btn-primary .btn-leading { flex:0 0 auto; margin:0; }
body.home-body .hero-actions .btn-primary .btn-leading svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body.home-body .hero-actions .btn-primary .btn-arrow { flex:0 0 auto; margin:0; transition:transform .3s ease; }
body.home-body .hero-actions .btn .btn-arrow svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.home-body .hero-actions .btn-primary:hover .btn-arrow { transform:rotate(-35deg); }
body.home-body .hero-actions .btn-light { min-height:54px; padding:0; color:#ddd; background:transparent; border:0; }
body.home-body .hero-actions .btn-light span { margin-left:1.2rem; background:#202020; }
.hero-page-label { position:absolute; left:3.2vw; bottom:8vh; color:#fff; font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }
.hero-scroll { position:absolute; right:12vw; bottom:12vh; display:grid; place-items:center; width:74px; height:74px; color:#fff; background:#ff9900; border-radius:50%; }
.hero-scroll span { position:absolute; width:130px; height:130px; display:grid; place-items:center; color:#666; font-size:.62rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; border:1px dashed rgba(255,255,255,.1); border-radius:50%; }
.hero-scroll b { display:grid; place-items:center; width:42px; height:42px; color:#ff9900; background:#0b0b0b; border-radius:50%; font-size:1rem; }

.studio-marquee { overflow:hidden; color:#0b0b0b; background:var(--studio-acid); border-block:1px solid #0b0b0b; transform:rotate(-1.2deg) scale(1.02); }
.studio-marquee div { width:max-content; display:flex; align-items:center; gap:2rem; padding:1.25rem 0; animation:studio-ticker 24s linear infinite; }
.studio-marquee span { font-size:clamp(1.2rem,2vw,2rem); font-weight:800; text-transform:uppercase; white-space:nowrap; }
.studio-marquee i { font-size:1.2rem; font-style:normal; }
@keyframes studio-ticker { to { transform:translateX(-50%); } }

body.home-body .process-section, body.home-body .services, body.home-body .portfolio, body.home-body .project-cta, body.home-body .footer { color:var(--studio-paper); background:var(--studio-black); }
body.home-body .process-section { padding:clamp(6rem,11vw,11rem) 0; }
body.home-body .process-heading { width:min(100%,1100px); margin:0 auto 6rem; display:flex; flex-direction:column; align-items:center; text-align:center; }
body.home-body .section-kicker, body.home-body .process-heading .section-kicker { justify-content:flex-start; color:var(--studio-acid); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
body.home-body .section-kicker::before { background:var(--studio-acid); }
body.home-body .process-heading h2, body.home-body .section-title h2, body.home-body .portfolio-copy h2 { color:#fff; font-size:clamp(3.5rem,7.8vw,7.5rem); font-weight:600; line-height:.9; letter-spacing:-.065em; }
body.home-body .process-heading h2 span, body.home-body .portfolio-copy h2 em { color:var(--studio-acid); font-family:Georgia,serif; font-weight:400; }
body.home-body .process-heading .section-kicker { justify-content:center; color:#ff9900; }
body.home-body .process-heading .section-kicker::before, body.home-body .process-heading .section-kicker::after { background:#ff9900; }
body.home-body .process-heading h2 { width:100%; text-align:center; }
body.home-body .process-heading h2 span { color:#ff9900; }
body.home-body .process-heading > p:last-child { width:min(100%,650px); max-width:650px; margin:2rem auto 0; color:#888; font-size:1.08rem; line-height:1.7; text-align:center; }
body.home-body .process-heading::after { margin:1.7rem auto 0; background:#ff9900; }
body.home-body .process-map { width:100%; height:auto !important; margin:4rem auto 0; filter:none; overflow:visible; }
body.home-body .process-map-scroll { width:100% !important; height:auto !important; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.12); transform:none !important; }
body.home-body .process-path-svg, body.home-body .process-icon { display:none !important; }
body.home-body .process-step, body.home-body .process-step[class*="step-"] { position:relative !important; inset:auto !important; width:auto !important; min-height:280px; padding:2rem; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:#111; border:0; border-radius:0; box-shadow:none; transform:none !important; opacity:1; overflow:hidden; }
body.home-body .process-step::before { content:""; position:absolute; width:130px; height:130px; right:-65px; top:-65px; border:1px solid rgba(255,153,0,.22); border-radius:50%; }
body.home-body .process-step::after { content:""; position:absolute; inset:auto 2rem 0; height:3px; background:#ff9900; transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
body.home-body .process-step:hover::after { transform:scaleX(1); }
body.home-body .process-step b { position:static; order:-1; margin:0 0 auto; color:#ff9900; font-size:clamp(2rem,3vw,3.3rem); font-weight:500; line-height:1; }
body.home-body .process-step h3 { margin:2rem 0 .7rem; color:#fff; font-size:1.15rem; line-height:1.25; }
body.home-body .process-step p { margin:0; color:#777; font-size:.9rem; line-height:1.6; }
body.home-body .process-step.step-7 { grid-column:2 / 4; }

/* Clear editorial workflow list */
body.home-body .process-map-scroll { display:block; background:transparent; border-bottom:1px solid rgba(255,255,255,.14); }
body.home-body .process-step, body.home-body .process-step[class*="step-"] { width:100% !important; min-height:150px; padding:1.6rem 2rem; display:grid; grid-template-columns:120px minmax(230px,.8fr) minmax(280px,1.2fr) 54px; align-items:center; gap:2rem; background:transparent; border-top:1px solid rgba(255,255,255,.14); transition:background .35s ease,color .35s ease; }
body.home-body .process-step::before { width:10px; height:10px; left:1.8rem; right:auto; top:50%; border:0; background:#ff9900; opacity:0; transform:translateY(-50%) scale(0); transition:.35s ease; }
body.home-body .process-step::after { content:"↗"; position:static; width:50px; height:50px; display:grid; place-items:center; color:#fff; background:#1e1e1e; border-radius:50%; transform:none; transition:.35s ease; }
body.home-body .process-step:hover { background:#ff9900; }
body.home-body .process-step:hover::before { opacity:1; transform:translateY(-50%) scale(1); }
body.home-body .process-step:hover::after { color:#ff9900; background:#0b0b0b; transform:rotate(45deg); }
body.home-body .process-step b { order:initial; margin:0; color:#ff9900; font-size:1rem; font-weight:700; letter-spacing:.16em; transition:color .35s ease; }
body.home-body .process-step h3 { margin:0; color:#fff; font-size:clamp(1.25rem,2vw,1.8rem); font-weight:600; letter-spacing:-.03em; transition:color .35s ease; }
body.home-body .process-step p { margin:0; max-width:520px; color:#777; font-size:.95rem; line-height:1.65; transition:color .35s ease; }
body.home-body .process-step:hover b, body.home-body .process-step:hover h3, body.home-body .process-step:hover p { color:#0b0b0b; }
body.home-body .process-step.step-7 { grid-column:auto; }
body.home-body .process-map { filter:grayscale(1); }
body.home-body .process-path-progress, body.home-body .process-marker, body.home-body .process-start-point { stroke:var(--studio-acid); fill:var(--studio-acid); }
body.home-body .process-step h3 { color:#fff; }
body.home-body .process-step p { color:#8e8e8a; }
body.home-body .process-step b { color:var(--studio-acid); }
body.home-body .process-icon { color:#0b0b0b; background:var(--studio-acid); border-color:var(--studio-acid); }
body.home-body .process-benefits { border-color:var(--studio-line); }
body.home-body .process-benefits article { background:transparent; border-color:var(--studio-line); }
body.home-body .process-benefits span { color:var(--studio-acid); }
body.home-body .process-benefits h3 { color:#fff; }
body.home-body .process-benefits p { color:#888; }

body.home-body .services { padding:clamp(6rem,10vw,10rem) 0; border-top:1px solid var(--studio-line); }
body.home-body .services .section-row { align-items:end; margin-bottom:4rem; }
body.home-body .section-intro { color:#9a9a94; }
body.home-body .services-grid-wrap { min-height:auto; overflow:visible; }
body.home-body .services-grid { display:grid !important; grid-template-columns:repeat(5,1fr); gap:0; height:auto !important; perspective:none; }
body.home-body .services-grid article, body.home-body .services-grid article[data-slot] { position:relative !important; inset:auto !important; width:auto !important; min-height:570px; padding:1rem 1.2rem 2rem; transform:none !important; opacity:1 !important; color:#fff; background:transparent; border:0; border-left:1px solid var(--studio-line); border-radius:0; box-shadow:none; }
body.home-body .services-grid article:last-child { border-right:1px solid var(--studio-line); }
body.home-body .services-grid article::after { display:none; }
body.home-body .services-grid article > .service-icon { width:100%; height:310px; margin:0 0 2rem; border-radius:0; background:#151515; filter:grayscale(1); transition:.45s ease; }
body.home-body .services-grid article:hover > .service-icon { filter:none; transform:translateY(-8px); }
body.home-body .services-grid h3 { color:#fff; font-size:clamp(1.25rem,1.8vw,1.65rem); }
body.home-body .services-grid p { color:#888; }
body.home-body .services-grid a { color:var(--studio-acid); }

body.home-body .portfolio { width:min(1380px,92vw); padding:clamp(6rem,10vw,10rem) 0; display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(2rem,4vw,5rem); border-top:1px solid var(--studio-line); }
body.home-body .portfolio-copy { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:end; margin-bottom:2rem; }
body.home-body .portfolio-copy > p, body.home-body .portfolio-copy > h2 { grid-column:1; }
body.home-body .portfolio-copy small, body.home-body .portfolio-copy .portfolio-points, body.home-body .portfolio-copy > a { grid-column:2; }
body.home-body .portfolio-card { padding:0 0 2rem; color:#fff; background:transparent; border:0; border-bottom:1px solid var(--studio-line); border-radius:0; box-shadow:none; }
body.home-body .portfolio-card .work-shot { height:min(52vw,560px); border-radius:0; filter:grayscale(1); transition:.55s cubic-bezier(.2,.8,.2,1); }
body.home-body .portfolio-card:hover .work-shot { filter:none; transform:scale(.98); }
body.home-body .portfolio-card strong { color:var(--studio-acid); }
body.home-body .portfolio-card h3 { color:#fff; font-size:clamp(2rem,4vw,4rem); letter-spacing:-.04em; }
body.home-body .portfolio-card p { color:#888; }
body.home-body .portfolio-card a { color:#fff; }

body.home-body .project-cta { width:min(1380px,92vw); margin:0 auto clamp(5rem,10vw,9rem); padding:clamp(3rem,7vw,7rem); display:grid; grid-template-columns:1fr auto; border:1px solid rgba(255,153,0,.55); border-radius:0; background:#ff9900; color:#0b0b0b; }
body.home-body .project-cta h2 { margin:.8rem 0; color:#0b0b0b; font-size:clamp(3rem,7vw,7rem); line-height:.9; letter-spacing:-.06em; }
body.home-body .project-cta h2 em { font-family:Georgia,serif; font-weight:400; }
body.home-body .project-cta .section-kicker { color:#0b0b0b; }
body.home-body .project-cta p { color:#292929; }
body.home-body .project-cta .black-btn { background:#0b0b0b; border-radius:999px; }

body.home-body .footer { padding-top:5rem; border-top:1px solid var(--studio-line); }
body.home-body .footer p, body.home-body .footer a { color:#8d8d88; }
body.home-body .footer h3, body.home-body .footer-brand strong { color:#fff; }
body.home-body .footer .brand-logo { filter:brightness(0) invert(1); }
body.home-body .footer-bottom { border-color:var(--studio-line); }

.reveal-item { opacity:0; transform:translateY(38px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1); }
.reveal-item.is-visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  body.home-body .process-map-scroll { display:block; }
  body.home-body .process-step.step-7 { grid-column:auto; }
  body.home-body .services-grid { grid-template-columns:repeat(2,1fr); }
  body.home-body .services-grid article { min-height:520px; border-bottom:1px solid var(--studio-line); }
  body.home-body .portfolio-copy { display:block; }
  body.home-body .portfolio-copy small { display:block; margin-top:1.5rem; }
}

@media (max-width: 720px) {
  html, body.home-body { max-width:100%; overflow-x:hidden; }
  body.home-body .container { width:calc(100vw - 36px); }
  body.home-body .site-header, body.home-body .site-header .nav-wrap { height:80px; }
  body.home-body .site-header .nav-wrap { width:100%; padding:0 18px; box-sizing:border-box; gap:.7rem; }
  body.home-body .site-header .brand-logo { width:64px; }
  body.home-body .nav-toggle span { background:#fff !important; }
  body.home-body .nav-links, body.home-body .nav-links.is-open { top:72px; background:#0b0b0b; border-color:var(--studio-line); }
  body.home-body .hero { min-height:760px; padding:120px 0 70px; align-items:center; }
  .hero-atmosphere { inset:72px 0 0; opacity:.88; }
  .wire-orb-main { width:105vw; right:-57vw; top:2%; }
  .wire-orb-small { width:48vw; left:-22vw; bottom:1%; }
  .wire-orb-medium { width:65vw; right:-38vw; bottom:-10%; }
  body.home-body .hero-copy { width:100%; max-width:100%; margin-left:0; }
  body.home-body .hero h1, body.home-body .hero-title { max-width:100%; font-size:clamp(2.65rem,12vw,3.75rem); line-height:1.04; letter-spacing:-.06em; }
  body.home-body .hero-text { max-width:88%; margin-top:2.5rem; font-size:.9rem; }
  body.home-body .hero-actions { width:100%; margin-top:2rem; gap:1rem; flex-direction:row; align-items:center; }
  body.home-body .hero-actions .btn { width:auto !important; min-height:58px; padding-left:1.4rem; }
  body.home-body .hero-actions .btn span { width:38px; height:38px; margin-left:1rem; }
  body.home-body .hero-actions .btn-primary { min-width:250px; padding:.45rem; }
  body.home-body .hero-actions .btn-primary .btn-leading, body.home-body .hero-actions .btn-primary .btn-arrow { margin-left:0; }
  body.home-body .hero-actions .btn-light { padding-left:0; }
  .hero-page-label { display:none; }
  body.home-body .hero-scroll { display:none; }
  body.home-body .process-map { display:block; width:100%; padding:0; }
  body.home-body .process-map::before { display:none; }
  body.home-body .process-map-scroll { display:grid; grid-template-columns:1fr; gap:1px; }
  body.home-body .process-step, body.home-body .process-step[class*="step-"] { grid-column:auto; grid-row:auto; min-height:220px; padding:1.5rem; }
  body.home-body .process-step.step-7 { grid-column:auto; }
  body.home-body .process-step b { position:static; margin-bottom:auto; }
  body.home-body .process-step h3 { margin-top:1.5rem; }
  body.home-body .process-step, body.home-body .process-step[class*="step-"] { min-height:190px; padding:1.5rem; display:grid; grid-template-columns:1fr 44px; gap:.6rem 1rem; }
  body.home-body .process-step b { grid-column:1; margin:0 0 .8rem; }
  body.home-body .process-step h3 { grid-column:1; margin:0; }
  body.home-body .process-step p { grid-column:1 / -1; margin-top:.45rem; }
  body.home-body .process-step::after { grid-column:2; grid-row:1 / 3; width:42px; height:42px; }
  body.home-body .process-benefits { grid-template-columns:1fr 1fr; margin-top:3rem; }
  body.home-body .services-grid { display:block !important; }
  body.home-body .services-grid article, body.home-body .services-grid article[data-slot] { min-height:auto; padding:2rem 0 2.5rem; border-left:0; border-right:0; border-bottom:1px solid var(--studio-line); }
  body.home-body .services-grid article > .service-icon { height:300px; }
  body.home-body .portfolio { grid-template-columns:1fr; }
  body.home-body .portfolio-card .work-shot { height:90vw; max-height:520px; }
  body.home-body .project-cta { display:block; padding:3rem 1.5rem; }
  body.home-body .project-cta .black-btn { margin-top:2rem; }
}

/* Portfolio aligned with the dark/orange studio theme */
body.home-body .portfolio { width:min(1280px,90vw) !important; max-width:1280px; margin:0 auto !important; padding:clamp(5rem,8vw,8rem) 0 !important; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; grid-auto-rows:auto !important; gap:1.5rem !important; align-items:start; overflow:visible; background:#0b0b0b !important; border:0 !important; border-top:1px solid rgba(255,255,255,.14) !important; border-radius:0 !important; box-shadow:none !important; }
body.home-body .portfolio-copy { grid-column:1 / -1 !important; grid-row:auto !important; margin:0 0 1.5rem !important; padding:0 0 4.5rem !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:3rem; align-items:end; color:#fff; background:transparent !important; border:0 !important; border-bottom:1px solid rgba(255,255,255,.14) !important; border-radius:0 !important; box-shadow:none !important; }
body.home-body .portfolio-copy > p { grid-column:1; margin:0 0 1rem; color:#ff9900 !important; background:transparent !important; font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
body.home-body .portfolio-copy > p::before { background:#ff9900 !important; }
body.home-body .portfolio-copy h2 { grid-column:1; margin:0; color:#fff !important; font-size:clamp(3.5rem,7vw,7rem) !important; font-weight:600; line-height:.88; letter-spacing:-.065em; }
body.home-body .portfolio-copy h2 em { color:#ff9900 !important; font-family:Georgia,serif; font-weight:400; }
body.home-body .portfolio-copy > small { grid-column:2; display:block; max-width:560px; margin:0 0 1.5rem; color:#777 !important; font-size:.98rem; line-height:1.65; }
body.home-body .portfolio-points { grid-column:2; margin:0 0 1.7rem; display:grid; gap:.85rem; }
body.home-body .portfolio-points li { display:grid; grid-template-columns:38px 1fr; column-gap:.8rem; align-items:center; color:#fff; }
body.home-body .portfolio-points li span { grid-row:1 / 3; display:grid; place-items:center; width:34px; height:34px; color:#ff9900 !important; background:rgba(255,153,0,.08) !important; border:1px solid rgba(255,153,0,.35) !important; border-radius:50%; }
body.home-body .portfolio-points b { color:#fff; }
body.home-body .portfolio-points em { color:#666; font-style:normal; }
body.home-body .portfolio-copy > a { grid-column:2; justify-self:start; min-height:52px; padding:0 1.35rem; display:inline-flex; align-items:center; gap:1rem; color:#0b0b0b !important; background:#ff9900 !important; border-radius:999px !important; }
body.home-body .portfolio-copy > a b { display:grid; place-items:center; width:30px; height:30px; color:#ff9900; background:#0b0b0b; border-radius:50%; }
body.home-body .portfolio-card { min-height:0 !important; padding:1rem 1rem 1.4rem !important; color:#fff; background:#121212 !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:14px !important; box-shadow:0 18px 45px rgba(0,0,0,.22) !important; transition:transform .4s ease,border-color .4s ease; }
body.home-body .portfolio-card:hover { transform:translateY(-7px); border-color:rgba(255,153,0,.5) !important; }
body.home-body .portfolio-card .work-shot { width:100%; height:270px !important; margin:0 0 1.35rem; display:block; object-fit:cover; object-position:top center; border-radius:9px !important; filter:saturate(.68) brightness(.72); transition:filter .45s ease,transform .45s ease; }
body.home-body .portfolio-card:hover .work-shot { filter:none; transform:scale(.985); }
body.home-body .portfolio-card strong { color:#ff9900 !important; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; }
body.home-body .portfolio-card h3 { margin:.65rem 0; color:#fff !important; font-size:clamp(1.5rem,2vw,2.1rem) !important; letter-spacing:-.045em; }
body.home-body .portfolio-card p { min-height:48px; max-width:520px; color:#777 !important; font-size:.86rem; line-height:1.55; }
body.home-body .portfolio-card a { color:#ff9900 !important; }
body.home-body .portfolio-card:last-child { grid-column:auto; }
body.home-body .portfolio-card:last-child .work-shot { height:270px !important; }

@media (max-width: 980px) and (min-width: 721px) {
  body.home-body .portfolio { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body.home-body .portfolio-card:last-child { grid-column:1 / -1; width:calc(50% - .75rem); justify-self:center; }
}

@media (max-width: 720px) {
  body.home-body .portfolio { width:calc(100vw - 36px) !important; grid-template-columns:1fr !important; gap:3rem !important; }
  body.home-body .portfolio-copy { display:block !important; padding-bottom:3rem !important; }
  body.home-body .portfolio-copy > small { margin-top:1.5rem; }
  body.home-body .portfolio-points { margin-top:1.5rem; }
  body.home-body .portfolio-copy > a { margin-top:1.5rem; }
  body.home-body .portfolio-card:last-child { grid-column:auto; width:auto; }
  body.home-body .portfolio-card .work-shot, body.home-body .portfolio-card:last-child .work-shot { height:62vw !important; max-height:320px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .ambient-poly,.ambient-poly g { animation:none; }
  .studio-marquee div { animation:none; }
  .wire-orb, .wire-orb-spin { animation:none; }
  .reveal-item, .motion-reveal, .drop-ready, body.home-body .hero-copy > *, body.home-body .site-header { opacity:1 !important; transform:none !important; filter:none; transition:none !important; }
  .portfolio-card .work-shot.image-ready { opacity:1; clip-path:none; transform:none; transition:none !important; }
  .hero-atmosphere { transform:none; transition:none; }
}

/* Connected process journey */
@media (min-width: 1000px) {
  body.home-body .process-map { height:820px !important; margin-top:3.5rem; overflow:visible; }
  body.home-body .process-map-scroll { position:relative; width:1200px !important; max-width:100%; height:820px !important; margin:0 auto; display:block; border:0; background:transparent; }
  body.home-body .process-path-svg { display:block !important; position:absolute; inset:0 0 auto; width:100%; height:760px; overflow:visible; }
  body.home-body .process-path-base { stroke:rgba(255,255,255,.12); stroke-width:2; }
  body.home-body .process-path-progress { stroke:#ff9900; stroke-width:3.5; filter:drop-shadow(0 0 8px rgba(255,153,0,.3)); }
  body.home-body .process-start-ring { fill:#0b0b0b; stroke:#ff9900; }
  body.home-body .process-start-point, body.home-body .process-marker { fill:#ff9900; stroke:#0b0b0b; }

  body.home-body .process-icon { position:absolute !important; z-index:5; width:64px; height:64px; display:grid !important; place-items:center; color:#0b0b0b; background:#ff9900; border:0; border-radius:50%; box-shadow:0 0 0 9px rgba(255,153,0,.1),0 16px 35px rgba(0,0,0,.35); transform:none !important; }
  body.home-body .process-icon::after { inset:-8px; border-color:rgba(255,153,0,.08); }
  body.home-body .icon-1 { left:113px; top:94px; }
  body.home-body .icon-2 { left:auto; right:353px; top:174px; }
  body.home-body .icon-3 { left:113px; top:309px; }
  body.home-body .icon-4 { left:auto; right:353px; top:384px; }
  body.home-body .icon-5 { left:113px; top:524px; }
  body.home-body .icon-6 { left:auto; right:353px; top:539px; }
  body.home-body .icon-7 { left:428px; top:699px; }

  body.home-body .process-step, body.home-body .process-step[class*="step-"] { position:absolute !important; z-index:3; width:360px !important; min-height:122px; padding:1.25rem 1.25rem 1.1rem 6.4rem; display:block; color:#fff; background:#141414; border:1px solid rgba(255,153,0,.3); border-radius:15px; box-shadow:0 18px 45px rgba(0,0,0,.28); opacity:1; overflow:visible; transition:transform .3s ease,border-color .3s ease,background .3s ease; }
  body.home-body .process-step::before, body.home-body .process-step::after { display:none; }
  body.home-body .process-step:hover { color:#fff; background:#191919; border-color:#ff9900; transform:translateY(-5px) !important; }
  body.home-body .process-step b { position:absolute; left:6.4rem; top:1rem; margin:0; color:#ff9900 !important; font-size:1.45rem; line-height:1; }
  body.home-body .process-step h3 { margin:1.9rem 0 .3rem; color:#fff !important; font-size:.98rem; font-weight:700; }
  body.home-body .process-step p { margin:0; color:#888 !important; font-size:.84rem; line-height:1.45; }
  body.home-body .step-1 { left:85px !important; right:auto !important; top:70px !important; }
  body.home-body .step-2 { left:auto !important; right:85px !important; top:150px !important; }
  body.home-body .step-3 { left:85px !important; right:auto !important; top:285px !important; }
  body.home-body .step-4 { left:auto !important; right:85px !important; top:360px !important; }
  body.home-body .step-5 { left:85px !important; right:auto !important; top:500px !important; }
  body.home-body .step-6 { left:auto !important; right:85px !important; top:515px !important; }
  body.home-body .step-7 { left:400px !important; right:auto !important; top:675px !important; }
}

/* Keep the global atmosphere visible behind every major section */
body.home-body main,
body.home-body .hero,
body.home-body .process-section,
body.home-body .services,
body.home-body .portfolio,
body.home-body .portfolio-copy,
body.home-body .footer {
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* Orange focus carousel for services */
body.home-body .services-grid-wrap { position:relative; min-height:620px; overflow:hidden; }
body.home-body .services-grid { position:relative; width:100%; height:600px !important; display:block !important; perspective:1400px; }
body.home-body .services-grid article, body.home-body .services-grid article[data-slot] { position:absolute !important; left:50% !important; top:36px !important; right:auto !important; width:340px !important; min-height:520px; padding:1.1rem 1.1rem 1.6rem; display:block; color:#fff; background:linear-gradient(145deg,#181818,#101010); border:1px solid rgba(255,153,0,.2); border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.38); opacity:0 !important; transform:translateX(-50%) scale(.55) !important; transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .55s ease,filter .55s ease,border-color .45s ease; transform-origin:center; overflow:hidden; pointer-events:none; }
body.home-body .services-grid article::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#ff9900; opacity:.35; }
body.home-body .services-grid article::after { display:block; position:absolute; right:1.1rem; bottom:.4rem; color:rgba(255,255,255,.045); font-size:5rem; font-weight:800; line-height:1; }
body.home-body .services-grid article:nth-child(1)::after { content:"01"; }
body.home-body .services-grid article:nth-child(2)::after { content:"02"; }
body.home-body .services-grid article:nth-child(3)::after { content:"03"; }
body.home-body .services-grid article:nth-child(4)::after { content:"04"; }
body.home-body .services-grid article:nth-child(5)::after { content:"05"; }
body.home-body .services-grid article[data-slot="0"] { z-index:5; opacity:1 !important; transform:translateX(-50%) scale(1) !important; filter:none; border-color:rgba(255,153,0,.8); box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,153,0,.12); pointer-events:auto; }
body.home-body .services-grid article[data-slot="-1"] { z-index:4; opacity:.7 !important; transform:translateX(calc(-50% - 315px)) scale(.82) !important; filter:saturate(.45) brightness(.75); pointer-events:auto; }
body.home-body .services-grid article[data-slot="1"] { z-index:4; opacity:.7 !important; transform:translateX(calc(-50% + 315px)) scale(.82) !important; filter:saturate(.45) brightness(.75); pointer-events:auto; }
body.home-body .services-grid article[data-slot="-2"] { z-index:3; opacity:.28 !important; transform:translateX(calc(-50% - 540px)) scale(.64) !important; filter:grayscale(.75) brightness(.55); }
body.home-body .services-grid article[data-slot="2"] { z-index:3; opacity:.28 !important; transform:translateX(calc(-50% + 540px)) scale(.64) !important; filter:grayscale(.75) brightness(.55); }
body.home-body .services-grid article > .service-icon { width:100%; height:270px; margin:0 0 1.4rem; display:grid; place-items:center; background:radial-gradient(circle,rgba(255,153,0,.12),transparent 62%),#121212; border:1px solid rgba(255,255,255,.06); border-radius:13px; filter:none; transform:none; }
body.home-body .services-grid article > .service-icon img { width:88%; height:88%; object-fit:contain; filter:grayscale(.25) sepia(.12) saturate(1.2); }
body.home-body .services-grid article[data-slot="0"] > .service-icon img { filter:none; }
body.home-body .services-grid h3 { margin:0 0 .7rem; color:#fff; font-size:1.55rem; letter-spacing:-.035em; }
body.home-body .services-grid p { margin:0 0 1rem; color:#7d7d78; font-size:.9rem; line-height:1.55; }
body.home-body .services-grid a { position:relative; z-index:2; color:#ff9900; font-size:.82rem; font-weight:800; }
body.home-body .services-grid article[data-slot="0"]::before { opacity:1; }

@media (max-width: 720px) {
  body.home-body .services-grid-wrap { min-height:535px; width:100%; overflow:hidden; }
  body.home-body .services-grid { height:520px !important; }
  body.home-body .services-grid article, body.home-body .services-grid article[data-slot] { top:20px !important; width:min(310px,78vw) !important; min-height:470px; padding:1rem; }
  body.home-body .services-grid article[data-slot="0"] { transform:translateX(-50%) scale(1) !important; }
  body.home-body .services-grid article[data-slot="-1"] { opacity:.28 !important; transform:translateX(calc(-50% - 68vw)) scale(.78) !important; }
  body.home-body .services-grid article[data-slot="1"] { opacity:.28 !important; transform:translateX(calc(-50% + 68vw)) scale(.78) !important; }
  body.home-body .services-grid article[data-slot="-2"], body.home-body .services-grid article[data-slot="2"] { opacity:0 !important; }
  body.home-body .services-grid article > .service-icon { height:235px; }
}

@media (max-width: 720px) {
  body.home-body .process-map-scroll { display:grid; gap:14px; border:0; background:transparent; }
  body.home-body .process-step, body.home-body .process-step[class*="step-"] { min-height:180px; border:1px solid rgba(255,153,0,.25); border-radius:14px; background:#131313; }
  body.home-body .process-step::before { display:none; }
  body.home-body .process-step::after { color:#ff9900; background:#222; }
}

/* Stable alternating timeline */
@media (min-width: 721px) {
  body.home-body .process-map { position:relative; width:min(1120px,100%); height:auto !important; margin:4rem auto 0; padding:1rem 0; overflow:visible; }
  body.home-body .process-map::before { content:""; position:absolute; z-index:0; left:50%; top:0; bottom:0; width:2px; background:linear-gradient(#ff9900,rgba(255,153,0,.25),#ff9900); transform:translateX(-50%); }
  body.home-body .process-map-scroll { position:relative; width:100% !important; max-width:none; height:auto !important; margin:0; display:grid; grid-template-columns:1fr; gap:2rem; border:0; background:transparent; }
  body.home-body .process-path-svg, body.home-body .process-icon { display:none !important; }
  body.home-body .process-step, body.home-body .process-step[class*="step-"] { position:relative !important; inset:auto !important; right:auto !important; left:auto !important; top:auto !important; width:calc(50% - 64px) !important; min-height:170px; padding:2rem 2.1rem; display:flex; flex-direction:column; justify-content:center; gap:0; color:#fff; background:#141414; border:1px solid rgba(255,255,255,.12); border-radius:18px; box-shadow:0 18px 48px rgba(0,0,0,.25); opacity:1 !important; transform:none !important; overflow:visible; }
  body.home-body .process-step:nth-of-type(odd) { justify-self:start; text-align:right; align-items:flex-end; }
  body.home-body .process-step:nth-of-type(even) { justify-self:end; text-align:left; align-items:flex-start; }
  body.home-body .process-step::before { content:""; display:block; position:absolute; top:50%; width:64px; height:1px; border:0; border-radius:0; background:rgba(255,153,0,.55); opacity:1; transform:none; }
  body.home-body .process-step:nth-of-type(odd)::before { left:100%; }
  body.home-body .process-step:nth-of-type(even)::before { right:100%; }
  body.home-body .process-step::after { content:""; display:block; position:absolute; top:50%; width:16px; height:16px; padding:0; background:#ff9900; border:4px solid #0b0b0b; border-radius:50%; box-shadow:0 0 0 2px #ff9900,0 0 24px rgba(255,153,0,.28); transform:translateY(-50%); }
  body.home-body .process-step:nth-of-type(odd)::after { left:calc(100% + 56px); }
  body.home-body .process-step:nth-of-type(even)::after { right:calc(100% + 56px); }
  body.home-body .process-step:hover { color:#fff; background:#191919; border-color:rgba(255,153,0,.7); transform:translateY(-4px) !important; }
  body.home-body .process-step:hover::after { background:#fff; transform:translateY(-50%) scale(1.15); }
  body.home-body .process-step b { position:static; order:-1; margin:0 0 1rem; color:#ff9900 !important; font-size:.8rem; font-weight:800; letter-spacing:.2em; }
  body.home-body .process-step h3 { margin:0 0 .55rem; color:#fff !important; font-size:clamp(1.2rem,1.8vw,1.6rem); font-weight:650; }
  body.home-body .process-step p { margin:0; max-width:390px; color:#777 !important; font-size:.92rem; line-height:1.6; }
}

@media (max-width: 720px) {
  body.home-body .process-map { padding-left:28px; }
  body.home-body .process-map::before { content:""; display:block; position:absolute; left:7px; top:0; bottom:0; width:2px; background:#ff9900; }
  body.home-body .process-map-scroll { display:grid; gap:1rem; }
  body.home-body .process-step, body.home-body .process-step[class*="step-"] { min-height:170px; padding:1.5rem; display:flex; align-items:flex-start; justify-content:center; text-align:left; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:#141414; opacity:1 !important; }
  body.home-body .process-step::before { content:""; display:block; position:absolute; left:-28px; top:50%; width:28px; height:1px; background:#ff9900; }
  body.home-body .process-step::after { content:""; display:block; position:absolute; left:-31px; top:50%; width:10px; height:10px; background:#ff9900; border:3px solid #0b0b0b; border-radius:50%; transform:translate(-50%,-50%); }
  body.home-body .process-step b, body.home-body .process-step h3, body.home-body .process-step p { grid-column:auto; }
  body.home-body .process-step b { margin:0 0 .8rem; color:#ff9900; }
}

/* Final scroll-drawn snake journey */
@media (min-width: 1000px) {
  body.home-body .process-map { position:relative; width:min(1200px,100%); height:820px !important; margin:4rem auto 0; padding:0; overflow:visible; filter:none !important; }
  body.home-body .process-map::before { display:none !important; }
  body.home-body .process-map-scroll { position:relative; width:1200px !important; max-width:100%; height:820px !important; margin:0 auto; display:block; }
  body.home-body .process-path-svg { position:absolute; inset:0; z-index:1; display:block !important; width:100%; height:760px; overflow:visible; }
  body.home-body .process-path-base, body.home-body .process-path-progress { fill:none !important; stroke-linecap:round; stroke-linejoin:round; }
  body.home-body .process-path-base { stroke:rgba(255,255,255,.13) !important; stroke-width:3; }
  body.home-body .process-path-progress { stroke:#b7b7b7 !important; stroke-width:4; filter:none; }
  body.home-body .process-start-ring { display:block; fill:#0b0b0b !important; stroke:#aaa !important; stroke-width:3; }
  body.home-body .process-start-point { display:block; fill:#aaa !important; stroke:#0b0b0b !important; }
  body.home-body .process-marker { display:block; fill:#b7b7b7 !important; stroke:#0b0b0b !important; stroke-width:4; }

  body.home-body .process-icon { position:absolute !important; z-index:6; width:72px; height:72px; display:grid !important; place-items:center; color:#0b0b0b; background:#b9b9b9 !important; border:7px solid #0b0b0b; border-radius:50%; box-shadow:0 0 0 3px rgba(255,153,0,.28),0 0 0 10px rgba(255,153,0,.08),0 0 24px rgba(255,153,0,.24),0 16px 34px rgba(0,0,0,.4) !important; opacity:1 !important; filter:none !important; transform:none !important; transition:transform .3s ease,box-shadow .3s ease; }
  body.home-body .process-icon svg { width:26px; height:26px; stroke-width:1.9; }
  body.home-body .process-icon.is-active { background:#b9b9b9 !important; transform:scale(1.08) !important; box-shadow:0 0 0 3px rgba(255,153,0,.55),0 0 0 13px rgba(255,153,0,.16),0 0 42px rgba(255,153,0,.6) !important; animation:orange-icon-pulse 1.25s ease-in-out infinite !important; }
  body.home-body .process-icon::after { display:none; }
  body.home-body .icon-1 { left:84px !important; right:auto !important; top:97px !important; }
  body.home-body .icon-2 { left:auto !important; right:374px !important; top:177px !important; }
  body.home-body .icon-3 { left:84px !important; right:auto !important; top:312px !important; }
  body.home-body .icon-4 { left:auto !important; right:374px !important; top:387px !important; }
  body.home-body .icon-5 { left:84px !important; right:auto !important; top:527px !important; }
  body.home-body .icon-6 { left:auto !important; right:374px !important; top:542px !important; }
  body.home-body .icon-7 { left:419px !important; right:auto !important; top:702px !important; }

  body.home-body .process-step, body.home-body .process-step[class*="step-"] { position:absolute !important; z-index:4; width:390px !important; min-height:142px; padding:1.3rem 1.35rem 1.15rem 7.2rem; display:block; align-items:initial; text-align:left; color:#fff; background:linear-gradient(135deg,#171717,#111); border:1px solid rgba(255,255,255,.22); border-radius:16px; box-shadow:0 22px 54px rgba(0,0,0,.38); opacity:1 !important; visibility:visible !important; transform:none !important; overflow:visible; }
  body.home-body .process-step::before, body.home-body .process-step::after { display:none !important; }
  body.home-body .process-step b { position:absolute; left:7.2rem; top:1rem; margin:0; color:#aaa !important; font-size:1.45rem; line-height:1; }
  body.home-body .process-step h3 { margin:1.85rem 0 .35rem; color:#fff !important; font-size:1rem; line-height:1.3; }
  body.home-body .process-step p { margin:0; color:#888 !important; font-size:.84rem; line-height:1.45; }
  body.home-body .process-step:hover { background:#191919; border-color:rgba(255,255,255,.42); transform:translateY(-4px) !important; }
  body.home-body .process-step.step-1 { inset:70px auto auto 70px !important; }
  body.home-body .process-step.step-2 { inset:150px 70px auto auto !important; }
  body.home-body .process-step.step-3 { inset:285px auto auto 70px !important; }
  body.home-body .process-step.step-4 { inset:360px 70px auto auto !important; }
  body.home-body .process-step.step-5 { inset:500px auto auto 70px !important; }
  body.home-body .process-step.step-6 { inset:515px 70px auto auto !important; }
  body.home-body .process-step.step-7 { inset:675px auto auto 405px !important; }
}

@keyframes orange-icon-pulse {
  0%,100% { box-shadow:0 0 0 3px rgba(255,153,0,.42),0 0 0 10px rgba(255,153,0,.12),0 0 26px rgba(255,153,0,.42); }
  50% { box-shadow:0 0 0 4px rgba(255,153,0,.62),0 0 0 15px rgba(255,153,0,.2),0 0 48px rgba(255,153,0,.72); }
}

/* Contact opens over the homepage instead of navigating away. */
body.contact-float-open { overflow:hidden; }
.contact-float { position:fixed; inset:0; z-index:10000; visibility:hidden; pointer-events:none; opacity:0; transition:opacity .35s ease,visibility .35s; }
.contact-float.is-open { visibility:visible; pointer-events:auto; opacity:1; }
.contact-float-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(12px); }
.contact-float-panel { position:absolute; inset:22px; overflow:hidden; background:#090909; border:1px solid rgba(255,153,0,.32); border-radius:22px; box-shadow:0 30px 100px rgba(0,0,0,.7); transform:translateY(42px) scale(.985); transition:transform .45s cubic-bezier(.22,1,.36,1); }
.contact-float.is-open .contact-float-panel { transform:none; }
.contact-float-panel iframe { width:100%; height:100%; border:0; background:#090909; }
.contact-float-close { position:absolute; z-index:3; top:22px; right:24px; width:52px; height:52px; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:#ff9900; cursor:pointer; box-shadow:0 0 28px rgba(255,153,0,.28); }
.contact-float-close span { position:absolute; left:14px; top:24px; width:23px; height:2px; background:#080808; transform:rotate(45deg); }
.contact-float-close span+span { transform:rotate(-45deg); }
@media (max-width:700px) {
  .contact-float-panel { inset:0; border:0; border-radius:0; }
  .contact-float-close { top:14px; right:14px; width:46px; height:46px; }
  .contact-float-close span { left:12px; top:21px; width:21px; }
}

/* Final phone layout — kept last to beat legacy responsive rules. */
@media (max-width:720px) {
  html,body.home-body{width:100%;max-width:100%;overflow-x:hidden!important}
  body.home-body .site-header{inset:0 0 auto 0!important;width:100vw!important;height:76px!important;position:absolute!important;transform:none!important;opacity:1!important;overflow:visible!important}
  body.home-body .site-header .nav-wrap{width:100%!important;max-width:none!important;height:76px!important;min-height:76px!important;padding:0 18px!important}
  body.home-body .site-header .brand{position:relative;z-index:104}
  body.home-body .site-header .brand-logo{width:62px!important;opacity:1!important}
  body.home-body .site-header .nav-toggle{display:flex!important;position:absolute!important;top:14px!important;right:auto!important;left:min(calc(100vw - 84px),324px)!important;z-index:20000!important;width:48px!important;height:48px!important;margin:0!important;opacity:1!important;visibility:visible!important;background:#111!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:50%!important}
  body.home-body .site-header .nav-toggle span{display:block!important;width:30px!important;height:2px!important;background:#fff!important}
  body.home-body .nav-links,body.home-body .nav-links.is-open{position:fixed!important;inset:0!important;top:0!important;width:100vw!important;height:100dvh!important;padding:110px 28px 36px!important;box-sizing:border-box!important}

  body.home-body .hero{min-height:720px!important;padding:112px 0 64px!important;align-items:center!important}
  body.home-body .hero .container,body.home-body .hero-grid,body.home-body .hero-copy{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
  body.home-body .hero .container{padding-left:18px!important;padding-right:18px!important}
  body.home-body .hero h1,body.home-body .hero-title{width:min(320px,calc(100vw - 54px))!important;max-width:320px!important;margin:0!important;color:#f4f4f4!important;font-size:clamp(2.25rem,10.2vw,2.9rem)!important;line-height:1.02!important;letter-spacing:-.06em!important;overflow-wrap:normal!important;word-break:normal!important}
  body.home-body .hero-title strong,body.home-body .hero-title span{display:inline!important}
  body.home-body .hero-title br+strong+span{display:block!important}
  body.home-body .hero-text{width:min(320px,calc(100vw - 54px))!important;max-width:320px!important;margin:1.6rem 0 0!important;color:#777!important;font-size:.9rem!important;line-height:1.65!important;white-space:normal!important}
  body.home-body .hero-actions{width:min(320px,calc(100vw - 54px))!important;max-width:320px!important;margin-top:1.8rem!important;display:grid!important;grid-template-columns:1fr!important;gap:.8rem!important;align-items:stretch!important}
  body.home-body .hero-actions .btn{width:100%!important;max-width:100%!important;min-height:58px!important;margin:0!important;box-sizing:border-box!important}
  body.home-body .hero-actions .btn-primary,body.home-body .hero-actions .btn:first-child{width:100%!important;min-width:0!important;padding:.45rem!important;color:#090909!important;background:#ff9900!important;border:0!important;border-radius:999px!important;box-shadow:0 12px 34px rgba(255,153,0,.2)!important}
  body.home-body .hero-actions .btn-primary b{color:#090909!important;opacity:1!important}
  body.home-body .hero-actions .btn-light,body.home-body .hero-actions .btn:last-child{width:100%!important;min-height:52px!important;justify-content:center!important;color:#eee!important;background:transparent!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important}
  body.home-body .hero-actions .btn span{flex:0 0 auto!important}
  .wire-orb-main{width:112vw!important;right:-64vw!important;opacity:.72}
  .wire-orb-small{width:54vw!important;left:-30vw!important}

  body.home-body .process-section,body.home-body .services,body.home-body .portfolio,body.home-body .project-cta,body.home-body .footer{overflow:hidden!important}
  body.home-body .process-heading h2,body.home-body .services h2,body.home-body .section-row h2{font-size:clamp(2.45rem,11vw,3.35rem)!important;line-height:1!important}
  body.home-body .process-map{width:100%!important;margin-top:2.5rem!important;padding-left:24px!important;box-sizing:border-box!important}
  body.home-body .process-map::before{left:5px!important}
  body.home-body .process-step,body.home-body .process-step[class*="step-"]{width:100%!important;min-height:150px!important;padding:1.25rem!important;box-sizing:border-box!important}
  body.home-body .process-step::before{left:-19px!important;width:19px!important}
  body.home-body .process-step::after{left:-21px!important}
  body.home-body .process-benefits{grid-template-columns:1fr!important;gap:1px!important}

  body.home-body .services-grid-wrap{width:100vw!important;margin-left:calc(50% - 50vw)!important;min-height:510px!important}
  body.home-body .services-grid{height:500px!important}
  body.home-body .services-grid article,body.home-body .services-grid article[data-slot]{width:min(304px,82vw)!important;min-height:450px!important;padding:.9rem!important}
  body.home-body .services-grid article>.service-icon{height:220px!important}

  body.home-body .portfolio{width:calc(100vw - 36px)!important;padding:4.5rem 0!important;gap:1.5rem!important}
  body.home-body .portfolio-copy{grid-template-columns:1fr!important;padding-bottom:2.5rem!important}
  body.home-body .portfolio-copy h2{font-size:clamp(3rem,16vw,4.5rem)!important}
  body.home-body .portfolio-card{width:100%!important;box-sizing:border-box!important}
  body.home-body .portfolio-card .work-shot,body.home-body .portfolio-card:last-child .work-shot{height:58vw!important;min-height:190px!important}
  body.home-body .project-cta{width:calc(100vw - 36px)!important;margin-left:auto!important;margin-right:auto!important;padding:2.4rem 1.25rem!important;box-sizing:border-box!important}
  body.home-body .project-cta h2{font-size:clamp(2.6rem,14vw,4rem)!important}
  body.home-body .footer-grid{grid-template-columns:1fr!important;gap:2.2rem!important}
  body.home-body .footer-bottom{align-items:flex-start!important;gap:.8rem!important}
}
/* Minimal DWA loader: solid source logo, then a single loading line. */
.cinematic-intro{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#000;
  animation:dwaIntroExit 3s cubic-bezier(.55,0,.2,1) both;
}
body.intro-playing{overflow:hidden}
.cinematic-intro__loader{
  width:clamp(220px,27vw,410px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:34px;
  opacity:1 !important;
  visibility:visible !important;
}
.cinematic-intro__logo{
  position:relative;
  width:100%;
  aspect-ratio:1036 / 375;
}
.cinematic-intro__logo img,
.cinematic-intro__mark{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.cinematic-intro__mark{
  display:block;
  object-fit:contain;
  opacity:1 !important;
  filter:none !important;
  animation:none !important;
}
.cinematic-intro__track{
  position:relative;
  width:86%;
  height:4px;
  overflow:hidden;
  background:#252525;
  border-radius:999px;
}
.cinematic-intro__track span{
  position:absolute;
  inset:0;
  display:block;
  background:#fff;
  border-radius:inherit;
  transform:scaleX(0);
  transform-origin:left center;
  animation:dwaProgress 2.35s cubic-bezier(.45,0,.15,1) .28s forwards;
}
body.intro-playing > .site-atmosphere,
body.intro-playing > .site-header,
body.intro-playing > main,
body.intro-playing > .footer,
body.intro-playing > .contact-float{
  animation:dwaSiteReveal 3s cubic-bezier(.22,.72,.2,1) both;
}
@keyframes dwaProgress{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
@keyframes dwaIntroExit{
  0%,86%{opacity:1;visibility:visible}
  100%{opacity:0;visibility:hidden;pointer-events:none}
}
@keyframes dwaSiteReveal{
  0%,85%{opacity:0;transform:scale(.992)}
  100%{opacity:1;transform:scale(1)}
}
@media(max-width:620px){
  .cinematic-intro__loader{width:min(64vw,290px);gap:26px}
  .cinematic-intro__track{height:3px}
}
@media(prefers-reduced-motion:reduce){
  .cinematic-intro{animation:dwaIntroExit .3s linear both}
  .cinematic-intro__loader{animation:none;opacity:1}
  .cinematic-intro__track span{animation:none;transform:scaleX(1)}
  body.intro-playing > .site-atmosphere,
  body.intro-playing > .site-header,
  body.intro-playing > main,
  body.intro-playing > .footer,
  body.intro-playing > .contact-float{animation:dwaSiteReveal .3s linear both}
}
