:root{
  --bg:#f3f0e8;
  --surface:#fbfaf6;
  --ink:#0f1712;
  --muted:#667068;
  --line:#d6dbd5;
  --green:#0b5d42;
  --green-dark:#083d2f;
  --green-deep:#062b22;
  --mint:#cdebd7;
  --lime:#d9f4b7;
  --white:#fff;
  --radius:28px;
  --radius-lg:42px;
  --shadow:0 28px 80px rgba(11,33,23,.12);
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button,input,textarea{font:inherit}
::selection{background:var(--lime);color:var(--ink)}
.shell{width:min(var(--max),calc(100% - 56px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(243,240,232,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(214,219,213,.8)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{font-weight:800;letter-spacing:-.06em;font-size:24px}.brand i{font-style:normal;color:var(--green)}
.nav{display:flex;gap:30px;font-size:14px;color:#4f5c54}.nav a:hover{color:var(--ink)}
.header-cta,.pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 16px;background:var(--ink);color:var(--white);font-weight:700;font-size:13px;transition:.25s ease}.header-cta:hover,.pill-btn:hover{transform:translateY(-2px);background:var(--green)}
.ghost-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:3px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:11px;color:#607066}
.eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:#49a976;box-shadow:0 0 0 6px rgba(73,169,118,.11)}
.hero{padding:92px 0 64px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:70px;align-items:end}
.hero h1,.display{font-family:"Manrope",Inter,sans-serif;letter-spacing:-.065em;margin:24px 0 0;font-size:clamp(64px,8.3vw,126px);line-height:.88;font-weight:650}
.hero h1 em{font-style:normal;color:var(--green)}
.hero-side{padding-bottom:10px}
.hero-side p{font-size:19px;line-height:1.6;color:#526057;margin:0 0 28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.signal-strip{margin-top:64px;display:grid;grid-template-columns:1.3fr .7fr;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:0 18px 60px rgba(11,33,23,.06)}
.signal-main{position:relative;min-height:360px;padding:38px;background:linear-gradient(145deg,var(--green-deep),var(--green-dark) 62%,#146348);overflow:hidden;color:white}
.signal-main:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(135deg,#000,transparent 78%)}
.signal-main:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(164,241,191,.45),rgba(164,241,191,0) 65%);right:-110px;top:-160px}
.signal-kicker{position:relative;z-index:2;color:#cfe6d8;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.signal-main h2{position:relative;z-index:2;font-family:"Manrope";font-size:clamp(34px,4vw,58px);letter-spacing:-.05em;line-height:1.02;max-width:650px;margin:94px 0 0}
.signal-main p{position:relative;z-index:2;max-width:590px;color:#d3e2da;line-height:1.6;margin:18px 0 0}
.signal-side{display:grid;grid-template-rows:repeat(3,1fr);background:var(--surface)}
.signal-item{padding:28px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:26px}.signal-item:last-child{border-bottom:0}.signal-item span{font-size:11px;color:#869089}.signal-item strong{font-family:"Manrope";font-size:20px;letter-spacing:-.035em}.signal-item small{color:var(--muted);line-height:1.45}
.section{padding:120px 0}
.section-top{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;padding-bottom:42px;border-bottom:1px solid var(--line);margin-bottom:52px}.section-top h2{font-family:"Manrope";font-size:clamp(44px,5.1vw,78px);line-height:.96;letter-spacing:-.055em;margin:0}.section-top p{font-size:18px;line-height:1.65;color:var(--muted);max-width:680px;margin:7px 0 0}
.case-list{display:flex;flex-direction:column;gap:38px}
.case-card{display:grid;grid-template-columns:1.18fr .82fr;min-height:540px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);transition:.35s ease}.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.case-media{position:relative;min-height:540px;background:#dfe7e1;overflow:hidden}.case-media img{height:100%;object-fit:cover;transition:.5s ease}.case-card:hover .case-media img{transform:scale(1.025)}
.case-index{position:absolute;left:24px;top:24px;z-index:2;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);padding:10px 13px;border-radius:999px;font-size:11px;font-weight:800}
.case-copy{padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:36px}.case-meta{display:flex;justify-content:space-between;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#7d8880}.case-copy h3{font-family:"Manrope";font-size:clamp(36px,4vw,58px);line-height:1.02;letter-spacing:-.055em;margin:18px 0}.case-copy p{color:var(--muted);line-height:1.65;margin:0}.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.case-tags span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:#57645c}.case-bottom{display:flex;align-items:end;justify-content:space-between;gap:28px}.case-outcome{max-width:280px}.case-outcome span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#879189;margin-bottom:7px}.case-outcome strong{font-size:14px;line-height:1.45}
.case-card.alt{grid-template-columns:.82fr 1.18fr}.case-card.alt .case-media{order:2}.case-card.alt .case-copy{order:1}
.principles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--line)}.principle{padding:30px;min-height:270px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.principle span{font-size:11px;color:#8b938e}.principle h3{font-family:"Manrope";font-size:24px;letter-spacing:-.035em;margin:0 0 10px}.principle p{color:var(--muted);font-size:14px;line-height:1.55;margin:0}
.human-section{padding:20px 0 120px}.human-card{display:grid;grid-template-columns:.8fr 1.2fr;border-radius:var(--radius-lg);overflow:hidden;background:var(--green-deep);color:white;min-height:580px;box-shadow:var(--shadow)}
.human-copy{padding:56px;display:flex;flex-direction:column;justify-content:space-between}.human-copy h2{font-family:"Manrope";font-size:clamp(44px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:22px 0}.human-copy p{color:#cbded4;line-height:1.65;font-size:17px;max-width:480px}.human-quote{border-top:1px solid rgba(255,255,255,.18);padding-top:24px;color:#dce9e2;font-size:14px;line-height:1.5}.video-wrap{position:relative;min-height:580px;background:#0c1712}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-note{position:absolute;z-index:3;right:18px;bottom:18px;background:rgba(6,26,19,.78);backdrop-filter:blur(14px);color:#dce9e2;padding:10px 13px;border-radius:999px;font-size:11px}
.experience-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.experience-lead{position:sticky;top:118px;align-self:start}.experience-lead h2{font-family:"Manrope";font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.05em;margin:0 0 18px}.experience-lead p{color:var(--muted);line-height:1.6}.timeline{border-top:1px solid var(--ink)}.timeline-row{display:grid;grid-template-columns:1fr auto;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}.timeline-row strong{font-family:"Manrope";font-size:24px;letter-spacing:-.03em}.timeline-row span,.timeline-row small{display:block;color:var(--muted);margin-top:5px}.timeline-row time{color:#77817a;font-size:13px}
.contact-card{padding:72px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--green-dark),var(--green-deep));color:white;position:relative;overflow:hidden}.contact-card:after{content:"";position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(165,239,193,.45),rgba(165,239,193,0) 67%);right:-120px;top:-200px}.contact-card h2{font-family:"Manrope";font-size:clamp(48px,6.5vw,92px);letter-spacing:-.06em;line-height:.93;max-width:960px;margin:24px 0}.contact-card p{max-width:700px;color:#d3e1da;font-size:18px;line-height:1.6;position:relative;z-index:2}.contact-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:34px;position:relative;z-index:2}.light-btn{background:white;color:var(--green-deep)}.light-btn:hover{background:var(--lime);color:var(--green-deep)}
.footer{height:120px;display:flex;align-items:center;justify-content:space-between;color:#6f7972;font-size:12px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}

/* Case study pages */
.case-hero{padding:78px 0 56px}.case-hero-grid{display:grid;grid-template-columns:1.26fr .74fr;gap:72px;align-items:end}.case-hero h1{font-family:"Manrope";font-size:clamp(58px,7.7vw,112px);line-height:.9;letter-spacing:-.065em;margin:22px 0}.case-dek{font-size:20px;line-height:1.6;color:#59645d;max-width:820px}.case-summary{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--line)}.case-summary div{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.case-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#849087;margin-bottom:8px}.case-summary strong{font-size:14px;line-height:1.4}.hero-image{margin-top:52px;border-radius:var(--radius-lg);overflow:hidden;background:#dbe2dc;box-shadow:var(--shadow)}.hero-image img{aspect-ratio:16/9;object-fit:cover}
.case-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:78px;padding:110px 0}.case-nav{position:sticky;top:118px;align-self:start}.case-nav a{display:block;padding:10px 0;font-size:13px;color:#758078;border-bottom:1px solid var(--line)}.case-nav a:hover{color:var(--ink)}
.story{max-width:880px}.story-section{padding:0 0 96px;scroll-margin-top:120px}.story-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#859088;font-weight:800;margin-bottom:18px}.story h2{font-family:"Manrope";font-size:clamp(38px,4.2vw,64px);line-height:1;letter-spacing:-.05em;margin:0 0 24px}.story h3{font-family:"Manrope";font-size:27px;letter-spacing:-.035em;margin:40px 0 14px}.story p{font-size:17px;line-height:1.72;color:#59645d;margin:0 0 18px}.story strong{color:var(--ink)}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.insight{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.insight span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#8b958e}.insight strong{display:block;font-family:"Manrope";font-size:18px;line-height:1.3;margin-top:14px}.insight p{font-size:13px;line-height:1.55;margin:10px 0 0}
.decision{margin:34px 0;padding:28px;border-radius:24px;background:#e4efe7;border:1px solid #ceded3}.decision span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#607669;font-weight:800}.decision h3{margin:12px 0 10px}.decision p{margin:0;color:#4f6156}
.media-slot{margin:42px 0;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#0b2d22,#0d4c36);min-height:460px;position:relative;color:white;display:flex;align-items:flex-end;padding:32px}.media-slot:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px}.media-slot .slot-copy{position:relative;z-index:2;max-width:570px}.media-slot b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#bcd8c7}.media-slot strong{display:block;font-family:"Manrope";font-size:28px;letter-spacing:-.035em;margin:10px 0}.media-slot small{color:#d1e0d7;line-height:1.5}.media-slot.has-image{padding:0;min-height:0}.media-slot.has-image img{aspect-ratio:16/10;object-fit:cover}.media-slot.has-image:before{display:none}
.flow-line{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0}.flow-step{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);font-size:13px;line-height:1.4}.flow-step span{display:block;color:#89938d;font-size:10px;margin-bottom:8px}.impact-panel{display:grid;grid-template-columns:.72fr 1.28fr;border-radius:30px;overflow:hidden;background:var(--green-deep);color:white;margin-top:34px}.impact-panel>div{padding:34px}.impact-panel .impact-title{border-right:1px solid rgba(255,255,255,.16)}.impact-panel h3{font-size:31px;margin:8px 0}.impact-panel p{color:#ccddd4}.impact-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.impact-item span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#9fc4b0}.impact-item strong{display:block;margin-top:8px;line-height:1.45;color:white}
.next-case{padding:0 0 110px}.next-card{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:46px;border-radius:30px;background:var(--surface);border:1px solid var(--line)}.next-card span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#89938c}.next-card h3{font-family:"Manrope";font-size:clamp(32px,4vw,54px);letter-spacing:-.045em;margin:10px 0 0}
@media(max-width:1000px){.hero-grid,.section-top,.experience-grid,.case-hero-grid{grid-template-columns:1fr}.hero-side{max-width:760px}.signal-strip{grid-template-columns:1fr}.signal-side{grid-template-columns:repeat(3,1fr);grid-template-rows:none}.signal-item{border-bottom:0;border-right:1px solid var(--line)}.signal-item:last-child{border-right:0}.case-card,.case-card.alt{grid-template-columns:1fr}.case-card.alt .case-media,.case-card.alt .case-copy{order:initial}.principles{grid-template-columns:1fr 1fr}.human-card{grid-template-columns:1fr}.video-wrap{min-height:520px}.experience-lead{position:static}.case-body{grid-template-columns:1fr;gap:44px}.case-nav{position:static;display:flex;gap:14px;overflow:auto}.case-nav a{white-space:nowrap;border:1px solid var(--line);padding:9px 12px;border-radius:999px}.impact-panel{grid-template-columns:1fr}.impact-panel .impact-title{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}}
@media(max-width:720px){.shell{width:min(100% - 28px,var(--max))}.header-inner{height:72px}.nav{display:none}.header-cta{display:none}.hero{padding-top:64px}.hero h1{font-size:56px}.hero-grid{gap:34px}.signal-strip{margin-top:46px}.signal-main{min-height:390px;padding:28px}.signal-main h2{margin-top:110px}.signal-side{grid-template-columns:1fr}.signal-item{border-right:0;border-bottom:1px solid var(--line)}.section{padding:82px 0}.section-top{gap:24px;margin-bottom:34px}.case-media{min-height:320px}.case-copy{padding:28px}.case-bottom{align-items:flex-start;flex-direction:column}.principles{grid-template-columns:1fr}.human-copy{padding:34px 28px}.video-wrap{min-height:340px}.contact-card{padding:42px 28px}.footer{height:90px}.case-hero{padding-top:58px}.case-hero h1{font-size:54px}.case-summary{grid-template-columns:1fr}.case-body{padding:76px 0}.story-section{padding-bottom:72px}.insight-grid{grid-template-columns:1fr}.flow-line{grid-template-columns:1fr 1fr}.impact-list{grid-template-columns:1fr}.next-card{align-items:flex-start;flex-direction:column;padding:30px}}

/* 2026 art-direction refresh ------------------------------------------------ */
:root{
  --bg:#f7f8f4;
  --surface:#fcfdf9;
  --line:#dfe5df;
  --green:#0a6a4a;
  --green-dark:#074a38;
  --green-deep:#052f25;
}
body{position:relative;isolation:isolate;background:#f7f8f4;overflow-x:hidden}
body:before,
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2}
body:before{
  background:
    radial-gradient(circle at var(--mx,74%) var(--my,14%), rgba(57,165,112,.12), transparent 18rem),
    radial-gradient(circle at 12% 34%, rgba(127,210,165,.09), transparent 24rem),
    linear-gradient(180deg,#fbfcf8 0%,#f6f8f4 48%,#fbfcf8 100%);
}
body:after{
  z-index:-1;opacity:.42;
  background-image:radial-gradient(circle,rgba(9,72,50,.18) 1px,transparent 1.1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.08) 46%,transparent 78%);
  animation:dotDrift 28s linear infinite;
}
@keyframes dotDrift{to{background-position:34px 34px}}
.page-finora:before{background:radial-gradient(circle at 86% 8%,rgba(80,187,132,.16),transparent 24rem),radial-gradient(circle at 10% 48%,rgba(180,222,199,.14),transparent 28rem),linear-gradient(180deg,#fbfdf9,#f4f8f4 52%,#fbfdf9)}
.page-analytics:before{background:radial-gradient(circle at 78% 12%,rgba(43,128,100,.12),transparent 22rem),radial-gradient(circle at 10% 62%,rgba(161,188,179,.16),transparent 30rem),linear-gradient(180deg,#fafcfb,#f3f6f5 54%,#fbfcfb)}
.page-workflows:before{background:radial-gradient(circle at 84% 16%,rgba(89,176,127,.13),transparent 24rem),radial-gradient(circle at 16% 58%,rgba(210,225,216,.22),transparent 28rem),linear-gradient(180deg,#fcfdf9,#f7f8f4 58%,#fcfdf9)}
.site-header{background:rgba(250,252,248,.72);border-bottom:1px solid rgba(220,228,220,.72)}

/* Hero gets more air and less 'template' composition */
.hero{padding:106px 0 76px}
.hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);gap:96px;align-items:end}
.hero h1{max-width:1050px;font-size:clamp(72px,8.8vw,138px);line-height:.86;font-weight:620}
.hero h1 em{display:inline-block;position:relative;background:linear-gradient(120deg,#0a6a4a,#12815c 56%,#295f4b);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-side{padding:0 0 14px;max-width:430px}
.hero-side p{font-size:18px;line-height:1.72;color:#56645c}

/* Interactive product-team statement */
.signal-stage{margin-top:94px;position:relative;overflow:hidden;border-radius:44px;min-height:640px;padding:56px 58px 44px;color:white;background:
  radial-gradient(circle at var(--sx,78%) var(--sy,28%),rgba(155,238,190,.34),transparent 22rem),
  linear-gradient(118deg,#052f25 0%,#074b38 48%,#0d6b4b 100%);box-shadow:0 32px 90px rgba(8,54,39,.13)}
.signal-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.22) 1.1px,transparent 1.2px);background-size:38px 38px;opacity:.2;mask-image:linear-gradient(135deg,#000 0%,rgba(0,0,0,.2) 58%,transparent 85%)}
.signal-stage:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(201,244,218,.18);border-radius:50%;right:-170px;top:-240px;box-shadow:0 0 0 70px rgba(201,244,218,.035),0 0 0 150px rgba(201,244,218,.02)}
.signal-stage-head{position:relative;z-index:2;max-width:980px}
.signal-kicker{color:#c9dfd4;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.signal-stage h2{font-family:"Manrope";font-size:clamp(46px,6vw,84px);line-height:.95;letter-spacing:-.058em;margin:76px 0 22px;max-width:920px}
.signal-stage h2 em{font-style:normal;color:#b7e6c9}
.signal-stage-head>p{max-width:700px;color:#d0e0d8;line-height:1.65;font-size:17px;margin:0}
.signal-explorer{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:68px;align-items:end;margin-top:84px;padding-top:34px;border-top:1px solid rgba(255,255,255,.18)}
.signal-words{display:flex;align-items:flex-end;gap:34px;flex-wrap:wrap}
.signal-word{appearance:none;border:0;background:none;color:rgba(235,246,239,.5);padding:0;cursor:pointer;font-family:"Manrope";font-size:clamp(35px,4.4vw,62px);letter-spacing:-.055em;line-height:1;transition:color .25s ease,transform .25s ease;position:relative;text-align:left}
.signal-word span{font-family:Inter;font-size:9px;letter-spacing:.12em;position:absolute;top:-17px;left:3px;color:rgba(235,246,239,.45)}
.signal-word i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:10px;background:#a9dfbe;transform:scale(0);transition:transform .25s ease;vertical-align:middle}
.signal-word:hover,.signal-word.active{color:#fff;transform:translateY(-3px)}
.signal-word.active i{transform:scale(1)}
.signal-detail{min-height:118px;padding-left:28px;border-left:1px solid rgba(255,255,255,.18);transition:opacity .16s ease,transform .16s ease}
.signal-detail.is-changing{opacity:0;transform:translateY(6px)}
.signal-detail-index{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#9bc7b0;margin-bottom:12px}
.signal-detail h3{font-family:"Manrope";font-size:25px;letter-spacing:-.035em;margin:0 0 10px}
.signal-detail p{color:#ceddd6;line-height:1.5;font-size:13px;margin:0}

/* Slightly more editorial cards */
.section{padding:132px 0}
.case-list{gap:52px}
.case-card{border-color:rgba(204,214,206,.85);background:rgba(252,253,249,.83);backdrop-filter:blur(12px);box-shadow:0 18px 55px rgba(15,40,29,.045)}
.case-card:hover{box-shadow:0 34px 88px rgba(15,40,29,.11)}
.principles{background:rgba(252,253,249,.52);backdrop-filter:blur(10px)}

/* Human block: native-video first, no third-party-player look */
.human-section{padding:28px 0 134px}
.human-card{grid-template-columns:.84fr 1.16fr;min-height:640px;border-radius:44px;background:linear-gradient(135deg,#052d23,#073b2d 58%,#0a523b);box-shadow:0 36px 100px rgba(8,54,39,.15)}
.human-copy{padding:64px}
.video-wrap{position:relative;min-height:640px;background:linear-gradient(145deg,#14372d,#0b1f18);overflow:hidden}
.video-wrap:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,45,35,.22),transparent 25%),linear-gradient(0deg,rgba(3,19,14,.48),transparent 30%);pointer-events:none}
.human-video{position:absolute;inset:-8px 0 0 0;width:100%;height:calc(100% + 8px);object-fit:cover;z-index:2;background:#0b1f18}
.video-poster{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 60% 40%,rgba(120,212,158,.24),transparent 13rem),linear-gradient(145deg,#164b3a,#0a241b)}
.video-orbit{position:absolute;width:360px;height:360px;border:1px solid rgba(214,246,225,.16);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 58px rgba(214,246,225,.025),0 0 0 118px rgba(214,246,225,.018)}
.video-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#a9e2bf;left:calc(50% + 170px);top:calc(50% - 12px);box-shadow:0 0 0 12px rgba(169,226,191,.08)}
.video-placeholder{position:absolute;z-index:4;left:42px;right:42px;bottom:42px;max-width:440px;padding:26px;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:rgba(5,35,26,.62);backdrop-filter:blur(18px);color:white}
.video-placeholder-dot{display:block;width:9px;height:9px;border-radius:50%;background:#a9e2bf;margin-bottom:18px;box-shadow:0 0 0 8px rgba(169,226,191,.08)}
.video-placeholder strong{display:block;font-family:"Manrope";font-size:23px;letter-spacing:-.03em}
.video-placeholder small{display:block;color:#c9dad1;line-height:1.5;margin:8px 0 17px}
.video-placeholder a{font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:3px}
.video-note{z-index:5}
.video-wrap.video-loaded .video-placeholder{display:none}

/* Case pages keep structure but get individually tuned atmospheric canvases */
.case-hero,.case-body,.next-case{position:relative}
.case-summary,.insight,.flow-step,.next-card{background:rgba(252,253,249,.72);backdrop-filter:blur(10px)}
.hero-image{box-shadow:0 30px 90px rgba(20,48,36,.09)}

@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:42px}.hero-side{max-width:680px}
  .signal-stage{padding:44px;min-height:auto}.signal-explorer{grid-template-columns:1fr;gap:34px}.signal-detail{padding-left:0;padding-top:26px;border-left:0;border-top:1px solid rgba(255,255,255,.16)}
  .human-card{grid-template-columns:1fr}.video-wrap{min-height:560px}
}
@media(max-width:720px){
  body:after{background-size:28px 28px;opacity:.3}
  .hero{padding-top:70px}.hero h1{font-size:59px;line-height:.9}.hero-side p{font-size:17px}
  .signal-stage{margin-top:58px;padding:30px 26px;border-radius:30px}.signal-stage h2{margin-top:68px;font-size:46px}.signal-stage-head>p{font-size:15px}.signal-explorer{margin-top:58px}.signal-words{gap:24px}.signal-word{font-size:38px}
  .human-copy{padding:38px 28px}.video-wrap{min-height:420px}.video-placeholder{left:22px;right:22px;bottom:22px;padding:20px}
}
@media(prefers-reduced-motion:reduce){body:after{animation:none}.signal-word,.signal-detail{transition:none}}

/* 2026 dark art direction -------------------------------------------------- */
:root{
  --bg:#04130f;
  --surface:#071b15;
  --surface-2:#0a241b;
  --ink:#f4fbf7;
  --muted:#9fb3a8;
  --line:rgba(199,240,216,.14);
  --green:#53e08f;
  --green-dark:#0b5f43;
  --green-deep:#041b14;
  --mint:#bff6d1;
  --lime:#aef2c6;
  --shadow:0 32px 90px rgba(0,0,0,.34);
}
html{background:#03110d}
body{color:var(--ink);background:#04130f}
body:before{
  background:
    radial-gradient(circle at var(--mx,70%) var(--my,18%), rgba(69,229,143,.16), transparent 18rem),
    linear-gradient(120deg,#03110d 0%,#08241a 34%,#0a3526 52%,#061d16 72%,#020c09 100%);
  background-size:auto,220% 220%;
  animation:ambientGradient 24s ease-in-out infinite alternate;
}
body:after{display:none}
@keyframes ambientGradient{
  0%{background-position:center,0% 40%}
  50%{background-position:center,58% 62%}
  100%{background-position:center,100% 38%}
}
.page-finora:before,.page-analytics:before,.page-workflows:before{
  background:
    radial-gradient(circle at var(--mx,70%) var(--my,18%), rgba(69,229,143,.15), transparent 18rem),
    linear-gradient(128deg,#020c09 0%,#061912 32%,#0a2d20 54%,#062016 76%,#020b08 100%);
  background-size:auto,230% 230%;
  animation:ambientGradient 26s ease-in-out infinite alternate;
}
::selection{background:#77e7a2;color:#03110d}
.site-header{background:rgba(3,17,13,.74);border-bottom:1px solid rgba(190,238,208,.11);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.brand i{color:#74eba0;text-shadow:0 0 18px rgba(83,224,143,.75)}
.nav{color:#9dafA5}.nav a:hover{color:#fff}
.header-cta,.pill-btn{background:#eaf8ef;color:#04130f}.header-cta:hover,.pill-btn:hover{background:#72e99f;color:#03110d;box-shadow:0 0 30px rgba(83,224,143,.18)}
.ghost-btn{color:#d7e8dd}
.eyebrow{color:#a7bdb1}.eyebrow .pulse{background:#59e490;box-shadow:0 0 0 6px rgba(89,228,144,.09),0 0 22px rgba(89,228,144,.5)}
.hero h1 em{background:linear-gradient(120deg,#9ff1bd,#54dd8d 52%,#b9f8d0);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 42px rgba(83,224,143,.06)}
.hero-side p,.section-top p,.experience-lead p,.case-copy p,.case-dek,.story p{color:var(--muted)}
.scroll-cue{display:flex;align-items:center;gap:12px;margin-top:34px;color:#7f9689;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.dot-chevron{display:inline-block;width:42px;height:30px;position:relative;filter:drop-shadow(0 0 8px rgba(83,224,143,.32));background:
 radial-gradient(circle at 4px 4px,#79efa4 0 2.5px,transparent 2.8px) 0 0/12px 12px,
 radial-gradient(circle at 4px 4px,rgba(83,224,143,.46) 0 2.4px,transparent 2.8px) 6px 6px/12px 12px;
 clip-path:polygon(0 0,65% 50%,0 100%,32% 100%,100% 50%,32% 0)}
.dot-chevron.small{width:34px;height:24px;flex:0 0 auto}
.signal-stage{background:radial-gradient(circle at var(--sx,75%) var(--sy,32%),rgba(94,239,154,.18),transparent 21rem),linear-gradient(128deg,#031711 0%,#073122 48%,#0a422e 100%);box-shadow:0 35px 110px rgba(0,0,0,.42);border:1px solid rgba(183,239,204,.12)}
.signal-stage:before{opacity:.1;background-size:42px 42px}
.signal-stage:after{display:none}
.signal-icons{display:flex;gap:16px;margin-bottom:34px}
.neon-symbol{position:relative;width:50px;height:50px;border-radius:15px;border:1px solid rgba(124,240,166,.2);background:rgba(82,225,139,.035);box-shadow:inset 0 0 22px rgba(83,224,143,.025),0 0 22px rgba(83,224,143,.06)}
.neon-symbol i{position:absolute;display:block;background:#76eea2;box-shadow:0 0 6px #76eea2,0 0 15px rgba(82,234,143,.72)}
.neon-frame i:nth-child(1),.neon-frame i:nth-child(2){width:14px;height:2px;top:15px}.neon-frame i:nth-child(1){left:10px;transform:rotate(-38deg)}.neon-frame i:nth-child(2){right:10px;transform:rotate(38deg)}
.neon-frame i:nth-child(3),.neon-frame i:nth-child(4){width:14px;height:2px;bottom:15px}.neon-frame i:nth-child(3){left:10px;transform:rotate(38deg)}.neon-frame i:nth-child(4){right:10px;transform:rotate(-38deg)}
.neon-structure i:nth-child(1){width:18px;height:2px;left:16px;top:14px}.neon-structure i:nth-child(2){width:2px;height:20px;left:24px;top:14px}.neon-structure i:nth-child(3),.neon-structure i:nth-child(4){width:9px;height:9px;border-radius:50%;bottom:10px}.neon-structure i:nth-child(3){left:9px}.neon-structure i:nth-child(4){right:9px}
.neon-ship i:nth-child(1){width:22px;height:2px;left:12px;top:24px;transform:rotate(-42deg)}.neon-ship i:nth-child(2){width:13px;height:2px;right:10px;top:18px;transform:rotate(28deg)}.neon-ship i:nth-child(3){width:13px;height:2px;right:10px;top:29px;transform:rotate(-28deg)}
.signal-kicker{color:#bdd6c7}.signal-stage h2 em{color:#9ceab9}.signal-stage-head>p,.signal-detail p{color:#b9cfc2}.signal-word{color:rgba(219,242,227,.38)}.signal-word:hover,.signal-word.active{color:#fff;text-shadow:0 0 24px rgba(83,224,143,.12)}.signal-word i{background:#73eba0;box-shadow:0 0 14px rgba(83,224,143,.65)}
.section-top{border-color:var(--line)}
.case-card{border-color:var(--line);background:linear-gradient(145deg,rgba(9,33,25,.9),rgba(5,20,15,.94));box-shadow:0 18px 55px rgba(0,0,0,.18)}
.case-card:hover{box-shadow:0 34px 100px rgba(0,0,0,.38),0 0 42px rgba(83,224,143,.05);border-color:rgba(124,240,166,.22)}
.case-media{background:#061b14}.case-index{background:rgba(2,16,11,.76);color:#dff7e8;border:1px solid rgba(209,245,220,.13)}
.case-meta,.case-outcome span{color:#789184}.case-tags span{border-color:var(--line);color:#a9beb3;background:rgba(255,255,255,.018)}
.case-link-cue{display:flex;align-items:center;gap:12px;color:#d7ebe0;font-weight:700;font-size:12px;white-space:nowrap}
.case-link-cue span:last-child{transition:.25s ease}.case-card:hover .case-link-cue span:last-child{color:#79efa4}
.approach-section{position:relative}
.approach-track{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.approach-step{min-height:360px;padding:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(11,39,29,.72),rgba(4,18,13,.72));position:relative;overflow:hidden;display:grid;grid-template-rows:auto 92px 1fr auto;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.approach-step:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(83,224,143,.14),transparent 67%);right:-75px;top:-80px;opacity:0;transition:.35s ease}
.approach-step:hover{transform:translateY(-6px);border-color:rgba(108,237,157,.24);background:linear-gradient(160deg,rgba(12,51,36,.84),rgba(4,18,13,.9))}.approach-step:hover:before{opacity:1}
.approach-number{color:#6d887a;font-size:10px;letter-spacing:.12em}
.approach-title{display:flex;align-items:flex-start;gap:13px;padding-top:20px}.approach-dot{width:7px;height:7px;margin-top:10px;border-radius:50%;background:#69e797;box-shadow:0 0 16px rgba(83,224,143,.62);flex:0 0 auto}.approach-title h3{font-family:"Manrope";font-size:22px;line-height:1.15;letter-spacing:-.035em;margin:0}
.approach-step p{color:#9fb3a8;font-size:14px;line-height:1.65;margin:0;padding-top:18px}.approach-note{border-top:1px solid var(--line);padding-top:16px;color:#759082;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.principles{background:none}
.human-card{background:linear-gradient(135deg,#052018,#073323 58%,#0a432d);box-shadow:0 36px 100px rgba(0,0,0,.34);border:1px solid rgba(192,241,210,.1)}
.human-copy p,.human-quote{color:#b9cfc2}.video-wrap{background:linear-gradient(145deg,#071b14,#03100c)}.video-poster{background:radial-gradient(circle at 58% 40%,rgba(83,224,143,.14),transparent 14rem),linear-gradient(145deg,#0b2b20,#04110d)}.video-orbit{display:none}.video-placeholder{background:rgba(3,18,13,.66);border-color:rgba(189,238,207,.14)}.video-coming{display:inline-block;color:#7ceea5;font-size:12px;font-weight:700}
.timeline{border-color:rgba(235,250,241,.3)}.timeline-row{border-color:var(--line)}.timeline-row span,.timeline-row small,.timeline-row time{color:#8fa59a}.timeline-row.project-row{background:linear-gradient(90deg,rgba(82,225,139,.035),transparent);padding-left:18px;padding-right:18px;margin-inline:-18px;border-radius:18px}.timeline-row.project-row time{color:#6f8b7d;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.contact-card{background:linear-gradient(135deg,#062219,#0a422d 56%,#052118);border:1px solid rgba(188,240,207,.12);box-shadow:0 35px 100px rgba(0,0,0,.3)}.contact-card:after{display:none}.contact-card p{color:#b7cbbf}.light-btn{background:#eaf8ef;color:#04130f}.footer{color:#71887c}
/* Case studies in dark mode */
.case-summary,.insight,.flow-step,.next-card{background:linear-gradient(145deg,rgba(10,35,26,.82),rgba(4,18,13,.86));border-color:var(--line);backdrop-filter:blur(12px)}
.hero-image{box-shadow:0 30px 90px rgba(0,0,0,.35)}
.case-nav a{color:#8fa69a}.case-nav a:hover{color:#fff}.story-label{color:#70e99d}.story h2,.story h3{color:#f4fbf7}.decision{background:linear-gradient(145deg,#0a2e21,#061b14);border-color:rgba(113,235,157,.15)}
.media-slot{background:linear-gradient(145deg,#061b14,#0a3d2b)}.flow-step span,.next-card span{color:#718a7d}.impact-panel{background:linear-gradient(135deg,#041b14,#0a3c2a)}
.next-card:hover{border-color:rgba(119,238,162,.22);box-shadow:0 22px 70px rgba(0,0,0,.25)}
@media(max-width:1000px){.approach-track{grid-template-columns:1fr 1fr}.approach-step{min-height:330px}}
@media(max-width:720px){.approach-track{grid-template-columns:1fr}.approach-step{min-height:0;grid-template-rows:auto auto auto auto}.signal-icons{margin-bottom:26px}.neon-symbol{width:44px;height:44px}.scroll-cue{margin-top:26px}.case-link-cue{margin-top:4px}}
@media(prefers-reduced-motion:reduce){body:before,.page-finora:before,.page-analytics:before,.page-workflows:before{animation:none}}

/* v4 homepage art direction */
.page-home{background:#020b08;isolation:isolate}
.page-home .ambient-bg{position:fixed;inset:-18%;z-index:-1;pointer-events:none;background:
  radial-gradient(ellipse 34% 24% at 12% 16%,rgba(35,167,103,.25),transparent 72%),
  radial-gradient(ellipse 28% 38% at 86% 23%,rgba(14,103,68,.28),transparent 74%),
  radial-gradient(ellipse 42% 26% at 64% 74%,rgba(27,148,91,.17),transparent 73%),
  radial-gradient(ellipse 26% 36% at 17% 88%,rgba(10,83,55,.24),transparent 75%),
  linear-gradient(125deg,#020a07 0%,#04130e 30%,#061d15 52%,#03110d 74%,#010705 100%);
  background-size:140% 140%,155% 155%,160% 160%,150% 150%,100% 100%;
  filter:saturate(.94);animation:ambientForms 18s ease-in-out infinite alternate;will-change:background-position}
.page-home .ambient-bg:before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 18% 12% at 28% 42%,rgba(102,242,157,.10),transparent 72%),
  radial-gradient(ellipse 15% 10% at 74% 58%,rgba(85,231,145,.08),transparent 72%);
  filter:blur(28px);animation:lightFloat 11s ease-in-out infinite alternate}
.page-home .ambient-bg:after{content:"";position:fixed;inset:0;background:radial-gradient(circle 260px at var(--mx,70%) var(--my,18%),rgba(97,241,153,.15),rgba(56,189,116,.045) 38%,transparent 72%);filter:blur(4px)}
@keyframes ambientForms{0%{background-position:0% 0%,100% 8%,65% 100%,5% 88%,center}45%{background-position:12% 16%,88% 24%,54% 88%,16% 74%,center}100%{background-position:28% 8%,72% 2%,78% 68%,0% 58%,center}}
@keyframes lightFloat{0%{transform:translate3d(-2%,-1%,0) scale(1)}100%{transform:translate3d(4%,3%,0) scale(1.08)}}
.page-home:before{display:none!important}
.page-home main,.page-home footer,.page-home .site-header{position:relative;z-index:1}

/* hero */
.page-home .hero-actions .pill-btn{min-width:108px}
.page-home .scroll-cue,.page-home .dot-chevron{display:none!important}

/* signal stage: fixed detail card with glowing contextual icon */
.page-home .signal-stage{background:linear-gradient(132deg,rgba(3,21,15,.92),rgba(6,49,34,.88) 48%,rgba(5,71,46,.76));box-shadow:0 34px 110px rgba(0,0,0,.44),inset 0 1px 0 rgba(190,247,211,.05)}
.page-home .signal-detail{min-height:148px;height:148px;padding:22px 22px 22px 24px;border:1px solid rgba(150,238,182,.12);border-radius:24px;background:linear-gradient(145deg,rgba(5,27,19,.78),rgba(5,38,26,.58));display:grid;grid-template-columns:78px 1fr;gap:22px;align-items:center;overflow:hidden;box-shadow:inset 0 0 34px rgba(80,228,137,.025),0 0 0 1px rgba(80,228,137,.015);position:relative}
.page-home .signal-detail:after{content:"";position:absolute;height:1px;width:48%;left:26%;bottom:-1px;background:linear-gradient(90deg,transparent,rgba(93,239,149,.75),transparent);box-shadow:0 0 20px rgba(93,239,149,.38)}
.page-home .signal-detail-copy{min-width:0}
.page-home .signal-detail-icon{width:68px;height:68px;border-radius:21px;position:relative;background:radial-gradient(circle at 50% 44%,rgba(87,239,147,.11),rgba(5,27,19,.38) 64%);border:1px solid rgba(114,240,163,.18);box-shadow:inset 0 0 24px rgba(81,231,141,.06),0 0 25px rgba(68,211,127,.08)}
.page-home .signal-detail-icon span{position:absolute;display:block;background:#78f0a5;box-shadow:0 0 6px #78f0a5,0 0 18px rgba(79,237,142,.8)}
/* Frame — four corner marks */
.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(1),.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(2),.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(3),.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(4){width:17px;height:2px}
.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(1){left:14px;top:18px;transform:rotate(-38deg)}
.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(2){right:14px;top:18px;transform:rotate(38deg)}
.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(3){left:14px;bottom:18px;transform:rotate(38deg)}
.page-home .signal-detail[data-mode="frame"] .signal-detail-icon span:nth-child(4){right:14px;bottom:18px;transform:rotate(-38deg)}
/* Structure — connected nodes */
.page-home .signal-detail[data-mode="structure"] .signal-detail-icon span:nth-child(1){width:22px;height:2px;left:23px;top:18px}
.page-home .signal-detail[data-mode="structure"] .signal-detail-icon span:nth-child(2){width:2px;height:23px;left:33px;top:18px}
.page-home .signal-detail[data-mode="structure"] .signal-detail-icon span:nth-child(3),.page-home .signal-detail[data-mode="structure"] .signal-detail-icon span:nth-child(4){width:11px;height:11px;border-radius:50%;bottom:14px}
.page-home .signal-detail[data-mode="structure"] .signal-detail-icon span:nth-child(3){left:13px}.page-home .signal-detail[data-mode="structure"] .signal-detail-icon span:nth-child(4){right:13px}
/* Ship — directional arrow */
.page-home .signal-detail[data-mode="ship"] .signal-detail-icon span:nth-child(1){width:30px;height:2px;left:16px;top:34px;transform:rotate(-42deg)}
.page-home .signal-detail[data-mode="ship"] .signal-detail-icon span:nth-child(2){width:16px;height:2px;right:13px;top:25px;transform:rotate(30deg)}
.page-home .signal-detail[data-mode="ship"] .signal-detail-icon span:nth-child(3){width:16px;height:2px;right:13px;top:38px;transform:rotate(-30deg)}
.page-home .signal-detail[data-mode="ship"] .signal-detail-icon span:nth-child(4){display:none}
.page-home .signal-detail h3{margin-bottom:8px}.page-home .signal-detail p{max-width:260px}

/* selected work: perimeter light, no extra visual cue */
.page-home .case-card{position:relative;border:1px solid rgba(118,190,145,.15);box-shadow:0 18px 58px rgba(0,0,0,.24);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.page-home .case-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(115deg,transparent 8%,rgba(91,236,148,.12) 34%,rgba(103,243,158,.55) 50%,rgba(91,236,148,.10) 66%,transparent 92%);background-size:240% 100%;background-position:120% 0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.15;transition:opacity .35s ease;animation:caseEdge 7s linear infinite}
.page-home .case-card:hover{border-color:rgba(117,239,160,.25);box-shadow:0 30px 90px rgba(0,0,0,.4),0 0 42px rgba(69,218,132,.08)}
.page-home .case-card:hover:before{opacity:.75}
@keyframes caseEdge{from{background-position:130% 0}to{background-position:-130% 0}}
.page-home .case-link-cue{color:#b8d1c2}.page-home .case-link-cue span{transition:color .25s ease}.page-home .case-card:hover .case-link-cue span{color:#78efa4}

/* contact */
.page-home .contact-card{box-shadow:0 32px 100px rgba(0,0,0,.38),0 0 60px rgba(65,207,125,.04)}

@media(max-width:1000px){.page-home .signal-detail{width:100%;max-width:520px;grid-template-columns:72px 1fr}}
@media(max-width:720px){.page-home .signal-detail{height:auto;min-height:150px;grid-template-columns:60px 1fr;gap:16px;padding:18px}.page-home .signal-detail-icon{width:56px;height:56px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.page-home .ambient-bg,.page-home .ambient-bg:before,.page-home .case-card:before{animation:none}}

/* v5 — tighter light pools, scroll timing and stronger luminous focus */
.page-home .ambient-bg{
  inset:-8%;
  background:
    radial-gradient(ellipse 17% 13% at 14% 13%,rgba(55,224,130,.22),transparent 70%),
    radial-gradient(ellipse 13% 18% at 79% 18%,rgba(28,158,94,.24),transparent 72%),
    radial-gradient(ellipse 16% 11% at 60% 46%,rgba(81,234,148,.13),transparent 68%),
    radial-gradient(ellipse 12% 17% at 22% 68%,rgba(22,138,82,.20),transparent 72%),
    radial-gradient(ellipse 18% 12% at 84% 84%,rgba(49,201,119,.16),transparent 70%),
    linear-gradient(128deg,#010805 0%,#03110c 31%,#041912 53%,#020d09 76%,#010604 100%);
  background-size:112% 112%,118% 118%,122% 122%,116% 116%,120% 120%,100% 100%;
  animation:ambientPools 14s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  filter:saturate(1.02) contrast(1.02);
}
.page-home .ambient-bg:before{
  inset:0;
  background:
    radial-gradient(ellipse 9% 7% at 38% 29%,rgba(104,255,171,.10),transparent 72%),
    radial-gradient(ellipse 8% 6% at 70% 66%,rgba(83,239,151,.09),transparent 70%),
    radial-gradient(ellipse 7% 9% at 30% 88%,rgba(66,219,133,.07),transparent 72%);
  filter:blur(18px);
  animation:microLight 10s ease-in-out infinite alternate;
}
@keyframes ambientPools{
  0%{background-position:0% 0%,100% 2%,60% 45%,8% 72%,95% 94%,center}
  38%{background-position:9% 7%,91% 12%,54% 50%,18% 62%,84% 86%,center}
  72%{background-position:16% 3%,82% 4%,66% 42%,10% 75%,76% 92%,center}
  100%{background-position:6% 13%,88% 18%,58% 55%,22% 66%,89% 80%,center}
}
@keyframes microLight{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}100%{transform:translate3d(2.5%,2%,0) scale(1.06)}}

/* Reveal timing is softer and slightly staggered instead of one generic fade. */
.reveal{opacity:0;transform:translateY(34px) scale(.992);filter:blur(4px);transition:opacity .82s cubic-bezier(.2,.72,.2,1) var(--reveal-delay,0ms),transform .9s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),filter .7s ease var(--reveal-delay,0ms)}
.reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}

/* Shared scroll-focus glow: stronger like the reference, still green and restrained. */
.page-home .signal-stage,
.page-home .case-card,
.page-home .approach-step,
.page-home .human-card,
.page-home .contact-card{--scroll-glow:0;transition:box-shadow .55s ease,border-color .55s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.page-home .signal-stage.is-spotlit{box-shadow:0 34px 110px rgba(0,0,0,.48),0 0 calc(72px * var(--scroll-glow)) rgba(59,229,138,.17),inset 0 1px 0 rgba(193,248,214,.07)}

/* What I bring — larger fixed detail state, no underline, and Deliver icon. */
.page-home .signal-detail{
  min-height:190px;height:190px;
  padding:26px 28px;
  grid-template-columns:84px minmax(0,1fr);
  gap:24px;
  overflow:visible;
  box-shadow:inset 0 0 42px rgba(80,228,137,.035),0 16px 44px rgba(0,0,0,.18),0 0 calc(42px * var(--scroll-glow,0)) rgba(77,234,142,.10);
}
.page-home .signal-detail:after{display:none}
.page-home .signal-detail h3{font-size:27px;line-height:1.08;margin:0 0 10px;max-width:290px}
.page-home .signal-detail p{max-width:310px;line-height:1.55}
.page-home .signal-detail-icon{width:72px;height:72px}
/* Deliver — glowing check / resolved state rather than a launch arrow. */
.page-home .signal-detail[data-mode="deliver"] .signal-detail-icon span:nth-child(1){width:20px;height:2px;left:17px;top:39px;transform:rotate(42deg);transform-origin:left center}
.page-home .signal-detail[data-mode="deliver"] .signal-detail-icon span:nth-child(2){width:32px;height:2px;left:31px;top:45px;transform:rotate(-48deg);transform-origin:left center}
.page-home .signal-detail[data-mode="deliver"] .signal-detail-icon span:nth-child(3){width:9px;height:9px;border-radius:50%;right:12px;top:12px;opacity:.7}
.page-home .signal-detail[data-mode="deliver"] .signal-detail-icon span:nth-child(4){display:none}
/* Kill the old ship glyph if an old cached state briefly exists. */
.page-home .signal-detail[data-mode="ship"] .signal-detail-icon span{display:none!important}

/* Case studies: stronger perimeter illumination, especially as they enter focus. */
.page-home .case-card{
  border-color:rgba(113,203,148,.18);
  box-shadow:0 20px 62px rgba(0,0,0,.26),0 0 calc(34px * var(--scroll-glow)) rgba(61,223,135,.08);
}
.page-home .case-card:before{
  padding:1.25px;
  background:linear-gradient(112deg,rgba(74,223,137,.04) 4%,rgba(101,247,162,.16) 27%,rgba(129,255,182,.78) 50%,rgba(94,239,153,.13) 72%,rgba(75,220,137,.03) 96%);
  background-size:250% 100%;
  opacity:calc(.22 + (var(--scroll-glow) * .58));
  filter:drop-shadow(0 0 10px rgba(83,236,145,.18));
  animation-duration:8.5s;
}
.page-home .case-card.is-spotlit{
  border-color:rgba(129,245,171,.33);
  box-shadow:0 34px 100px rgba(0,0,0,.44),0 0 46px rgba(73,229,140,.13),0 0 100px rgba(44,184,111,.07);
}
.page-home .case-card:hover{transform:translateY(-5px);border-color:rgba(139,251,180,.38);box-shadow:0 36px 108px rgba(0,0,0,.46),0 0 56px rgba(77,237,146,.16),0 0 120px rgba(45,191,115,.08)}

/* How I work and human/contact cards get the same visual language, less intense than case cards. */
.page-home .approach-step{box-shadow:0 14px 42px rgba(0,0,0,.14),0 0 calc(34px * var(--scroll-glow)) rgba(63,221,134,.055)}
.page-home .approach-step.is-spotlit{border-color:rgba(119,237,161,.22);box-shadow:0 22px 60px rgba(0,0,0,.24),0 0 38px rgba(70,226,139,.09)}
.page-home .human-card.is-spotlit,.page-home .contact-card.is-spotlit{box-shadow:0 36px 110px rgba(0,0,0,.42),0 0 58px rgba(58,218,131,.10)}

@media(max-width:1000px){
  .page-home .signal-detail{height:180px;min-height:180px;max-width:580px}
}
@media(max-width:720px){
  .page-home .signal-detail{height:auto;min-height:176px;grid-template-columns:64px minmax(0,1fr);padding:20px;gap:18px}
  .page-home .signal-detail h3{font-size:23px}
  .reveal{transform:translateY(24px);filter:blur(2px)}
}
@media(prefers-reduced-motion:reduce){
  .page-home .ambient-bg,.page-home .ambient-bg:before{animation:none}
  .reveal{transition:none;filter:none}
}

/* v6 — intentionally luminous: visible wave gradients + long-range glow */
.page-home .ambient-bg{
  inset:-12%;
  opacity:1;
  background:
    radial-gradient(ellipse 48% 28% at 18% 12%, rgba(59,255,146,.58) 0%, rgba(28,185,104,.30) 18%, rgba(5,57,37,.08) 38%, transparent 58%),
    radial-gradient(ellipse 40% 24% at 82% 20%, rgba(92,255,167,.48) 0%, rgba(23,172,96,.26) 20%, rgba(4,47,31,.08) 40%, transparent 60%),
    radial-gradient(ellipse 38% 22% at 66% 63%, rgba(49,239,132,.44) 0%, rgba(18,148,82,.22) 22%, transparent 58%),
    radial-gradient(ellipse 34% 23% at 16% 78%, rgba(42,217,118,.36) 0%, rgba(12,116,68,.22) 24%, transparent 62%),
    linear-gradient(132deg,#010704 0%,#02110b 22%,#052b1d 42%,#03150e 59%,#062d1e 77%,#010805 100%);
  background-size:128% 128%,132% 132%,136% 136%,130% 130%,100% 100%;
  filter:saturate(1.25) contrast(1.14);
  animation:ambientPoolsV6 11s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}
/* Curved luminous bands — deliberately visible rather than subtle blobs. */
.page-home .ambient-bg:before{
  content:"";
  position:absolute;
  inset:-10%;
  opacity:.88;
  background:
    repeating-radial-gradient(ellipse 72% 42% at 18% 15%,
      rgba(91,255,165,.00) 0 8%,
      rgba(91,255,165,.22) 10%,
      rgba(24,182,101,.10) 13%,
      rgba(2,18,12,0) 18% 25%),
    repeating-radial-gradient(ellipse 66% 38% at 88% 52%,
      rgba(77,250,151,0) 0 9%,
      rgba(77,250,151,.18) 11%,
      rgba(18,151,83,.09) 14%,
      rgba(1,16,10,0) 20% 28%),
    conic-gradient(from 214deg at 53% 50%,
      transparent 0deg 32deg,
      rgba(72,245,148,.12) 46deg,
      transparent 63deg 118deg,
      rgba(38,192,108,.12) 137deg,
      transparent 160deg 360deg);
  background-size:115% 115%,125% 125%,140% 140%;
  background-position:0% 0%,100% 50%,50% 50%;
  filter:blur(12px) saturate(1.25);
  transform:translate3d(0,0,0) scale(1.04);
  animation:waveDriftV6 13s ease-in-out infinite alternate;
  will-change:transform,background-position;
}
/* Cursor light: much larger, brighter and with a long spill. */
.page-home .ambient-bg:after{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle 560px at var(--mx,70%) var(--my,18%),
      rgba(120,255,178,.46) 0%,
      rgba(64,234,142,.28) 18%,
      rgba(33,189,111,.15) 38%,
      rgba(15,107,67,.07) 58%,
      transparent 78%);
  filter:blur(8px) saturate(1.2);
  mix-blend-mode:screen;
  pointer-events:none;
}
@keyframes ambientPoolsV6{
  0%{background-position:-8% -4%,108% 0%,62% 70%,0% 86%,center}
  33%{background-position:9% 12%,91% 15%,48% 58%,15% 70%,center}
  66%{background-position:22% 4%,76% -3%,72% 50%,5% 62%,center}
  100%{background-position:6% 18%,92% 24%,57% 72%,24% 84%,center}
}
@keyframes waveDriftV6{
  0%{transform:translate3d(-4%,-2%,0) scale(1.02) rotate(-1deg);background-position:-5% -2%,105% 48%,48% 48%}
  45%{transform:translate3d(3%,1%,0) scale(1.08) rotate(.7deg);background-position:8% 5%,92% 55%,54% 43%}
  100%{transform:translate3d(-1%,4%,0) scale(1.05) rotate(-.4deg);background-position:15% 13%,84% 45%,46% 58%}
}

/* What I bring: wider detail panel and more breathing room. */
.page-home .signal-explorer{
  grid-template-columns:minmax(0,1fr) minmax(430px,.66fr);
  gap:44px;
}
.page-home .signal-detail{
  width:100%;
  min-width:430px;
  min-height:212px;
  height:212px;
  padding:28px 32px;
  grid-template-columns:86px minmax(0,1fr);
  gap:28px;
  border-color:rgba(127,255,174,.28);
  background:linear-gradient(145deg,rgba(3,24,16,.92),rgba(6,53,35,.82));
  box-shadow:
    inset 0 0 58px rgba(77,235,142,.09),
    0 18px 52px rgba(0,0,0,.36),
    0 0 48px rgba(78,239,145,.20),
    0 0 110px rgba(43,201,119,.12);
}
.page-home .signal-detail h3{
  font-size:28px;
  line-height:1.08;
  margin:0 0 11px;
  max-width:none;
}
.page-home .signal-detail p{
  max-width:none;
  line-height:1.52;
  font-size:13px;
}
.page-home .signal-detail-icon{
  width:76px;height:76px;
  box-shadow:
    inset 0 0 30px rgba(85,246,150,.12),
    0 0 28px rgba(83,244,149,.30),
    0 0 70px rgba(48,202,122,.22);
}

/* Signal stage itself now throws visible light into the page. */
.page-home .signal-stage{
  border-color:rgba(128,243,169,.24);
  box-shadow:
    0 40px 120px rgba(0,0,0,.56),
    0 0 78px rgba(58,228,137,.18),
    0 0 180px rgba(28,162,95,.13),
    inset 0 1px 0 rgba(197,255,218,.08);
}
.page-home .signal-stage.is-spotlit{
  box-shadow:
    0 44px 130px rgba(0,0,0,.62),
    0 0 calc(150px + 70px * var(--scroll-glow)) rgba(72,244,148,.34),
    0 0 calc(280px + 100px * var(--scroll-glow)) rgba(31,182,105,.19),
    inset 0 1px 0 rgba(203,255,222,.10);
}

/* Case cards: obvious perimeter glow with a much larger spill radius. */
.page-home .case-card{
  border-color:rgba(127,236,168,.26);
  box-shadow:
    0 24px 72px rgba(0,0,0,.38),
    0 0 52px rgba(73,228,140,.17),
    0 0 120px rgba(37,171,103,.10);
}
.page-home .case-card:before{
  padding:1.5px;
  background:linear-gradient(112deg,
    rgba(61,216,129,.08) 0%,
    rgba(100,255,166,.40) 24%,
    rgba(151,255,193,1) 49%,
    rgba(91,245,155,.38) 74%,
    rgba(51,198,119,.07) 100%);
  background-size:250% 100%;
  opacity:calc(.48 + (var(--scroll-glow) * .46));
  filter:drop-shadow(0 0 14px rgba(106,255,170,.48)) drop-shadow(0 0 32px rgba(62,221,135,.28));
}
.page-home .case-card.is-spotlit{
  border-color:rgba(145,255,187,.55);
  box-shadow:
    0 38px 120px rgba(0,0,0,.54),
    0 0 92px rgba(84,246,150,.30),
    0 0 190px rgba(39,190,112,.18),
    0 0 300px rgba(20,120,74,.10);
}
.page-home .case-card:hover{
  transform:translateY(-5px);
  border-color:rgba(157,255,197,.64);
  box-shadow:
    0 42px 128px rgba(0,0,0,.58),
    0 0 110px rgba(95,255,158,.34),
    0 0 220px rgba(42,197,116,.20),
    0 0 340px rgba(20,122,75,.11);
}

/* How I work / human / contact use the same luminous family. */
.page-home .approach-step{
  border-color:rgba(112,222,153,.20);
  box-shadow:0 18px 54px rgba(0,0,0,.28),0 0 42px rgba(64,220,134,.11),0 0 95px rgba(31,151,91,.07);
}
.page-home .approach-step:before{
  width:260px;height:260px;right:-90px;top:-100px;
  background:radial-gradient(circle,rgba(96,255,161,.34),rgba(48,208,126,.16) 30%,transparent 70%);
  filter:blur(7px);
  opacity:.28;
}
.page-home .approach-step.is-spotlit,
.page-home .approach-step:hover{
  border-color:rgba(139,255,181,.42);
  box-shadow:0 26px 78px rgba(0,0,0,.38),0 0 78px rgba(79,242,146,.24),0 0 160px rgba(33,173,101,.14);
}
.page-home .human-card,
.page-home .contact-card{
  box-shadow:0 34px 110px rgba(0,0,0,.48),0 0 70px rgba(65,226,137,.18),0 0 160px rgba(30,157,93,.10);
}
.page-home .human-card.is-spotlit,
.page-home .contact-card.is-spotlit{
  box-shadow:0 40px 124px rgba(0,0,0,.54),0 0 105px rgba(83,246,150,.28),0 0 220px rgba(33,177,104,.16);
}

@media(max-width:1100px){
  .page-home .signal-explorer{grid-template-columns:minmax(0,1fr) minmax(380px,.7fr);gap:30px}
  .page-home .signal-detail{min-width:380px}
}
@media(max-width:1000px){
  .page-home .signal-explorer{grid-template-columns:1fr;gap:34px}
  .page-home .signal-detail{min-width:0;max-width:680px;width:100%;height:auto;min-height:202px}
}
@media(max-width:720px){
  .page-home .signal-detail{min-height:190px;padding:22px;grid-template-columns:66px minmax(0,1fr);gap:18px}
  .page-home .signal-detail-icon{width:60px;height:60px}
  .page-home .ambient-bg:after{background:radial-gradient(circle 360px at var(--mx,70%) var(--my,18%),rgba(105,255,170,.34),rgba(53,222,134,.18) 30%,transparent 72%)}
}
@media(prefers-reduced-motion:reduce){
  .page-home .ambient-bg,.page-home .ambient-bg:before{animation:none}
}

/* v7 — polished aurora background + stable signal composition */
.page-home .ambient-bg{
  inset:-10%;
  opacity:1;
  background:
    radial-gradient(ellipse 34% 22% at 15% 14%, rgba(82,255,156,.26) 0%, rgba(24,177,98,.13) 36%, transparent 72%),
    radial-gradient(ellipse 30% 18% at 84% 18%, rgba(119,255,181,.20) 0%, rgba(28,178,102,.10) 38%, transparent 72%),
    radial-gradient(ellipse 28% 18% at 72% 72%, rgba(62,238,143,.16) 0%, rgba(17,139,80,.08) 42%, transparent 76%),
    linear-gradient(135deg,#010805 0%,#02120c 28%,#05291b 49%,#03140e 68%,#010805 100%);
  background-size:135% 135%,140% 140%,145% 145%,100% 100%;
  filter:saturate(1.18) contrast(1.08);
  animation:auroraBaseV7 12s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}

/* Wide translucent ribbons: no concentric/repeating rings. */
.page-home .ambient-bg:before{
  content:"";
  position:absolute;
  inset:-18% -12%;
  opacity:.96;
  background:
    linear-gradient(108deg,
      transparent 0 14%,
      rgba(30,152,91,.05) 20%,
      rgba(80,244,149,.24) 28%,
      rgba(149,255,193,.36) 34%,
      rgba(58,224,132,.18) 40%,
      rgba(9,91,54,.04) 48%,
      transparent 58%),
    linear-gradient(76deg,
      transparent 0 24%,
      rgba(18,119,72,.04) 31%,
      rgba(71,230,139,.18) 38%,
      rgba(137,255,187,.30) 44%,
      rgba(45,194,117,.13) 51%,
      transparent 62%),
    linear-gradient(122deg,
      transparent 0 45%,
      rgba(30,164,96,.04) 52%,
      rgba(78,238,145,.16) 58%,
      rgba(129,255,180,.24) 63%,
      rgba(38,172,102,.10) 69%,
      transparent 78%);
  background-size:150% 100%,165% 115%,145% 105%;
  background-position:-28% 18%,118% 54%,42% 86%;
  filter:blur(26px) saturate(1.24);
  transform:skewY(-5deg) rotate(-2deg) scale(1.08);
  transform-origin:center;
  animation:auroraRibbonsV7 13s ease-in-out infinite alternate;
  will-change:transform,background-position,filter;
}

/* A second, sharper light veil creates the layered night-sky edge. */
.page-home .ambient-bg > .aurora-veil{display:none}

@keyframes auroraBaseV7{
  0%{background-position:-8% -4%,108% 2%,70% 78%,center}
  45%{background-position:10% 10%,92% 12%,58% 62%,center}
  100%{background-position:22% 1%,78% 22%,82% 70%,center}
}
@keyframes auroraRibbonsV7{
  0%{
    transform:translate3d(-5%,-2%,0) skewY(-5deg) rotate(-2deg) scale(1.06);
    background-position:-28% 18%,118% 54%,42% 86%;
    filter:blur(25px) saturate(1.20);
  }
  48%{
    transform:translate3d(3%,2%,0) skewY(-2deg) rotate(.5deg) scale(1.10);
    background-position:-2% 28%,94% 46%,57% 72%;
    filter:blur(29px) saturate(1.28);
  }
  100%{
    transform:translate3d(-1%,5%,0) skewY(-7deg) rotate(-.8deg) scale(1.08);
    background-position:18% 14%,75% 62%,35% 80%;
    filter:blur(24px) saturate(1.22);
  }
}

/* What I bring: keep the three verbs on one line and preserve room for detail. */
.page-home .signal-explorer{
  grid-template-columns:minmax(0,1fr) 460px;
  gap:40px;
  align-items:end;
}
.page-home .signal-words{
  display:grid;
  grid-template-columns:repeat(3,max-content);
  align-items:end;
  gap:28px;
  flex-wrap:nowrap;
  min-width:0;
}
.page-home .signal-word{
  font-size:clamp(31px,3.45vw,50px);
  white-space:nowrap;
}
.page-home .signal-detail{
  min-width:460px;
  width:460px;
  min-height:212px;
  height:212px;
  padding:28px 32px;
  grid-template-columns:76px minmax(0,1fr);
  gap:24px;
}
.page-home .signal-detail h3{font-size:27px;line-height:1.08}
.page-home .signal-detail p{font-size:13px;line-height:1.5}

@media(max-width:1180px){
  .page-home .signal-explorer{grid-template-columns:minmax(0,1fr) 410px;gap:28px}
  .page-home .signal-detail{min-width:410px;width:410px}
  .page-home .signal-word{font-size:clamp(28px,3.2vw,44px)}
  .page-home .signal-words{gap:22px}
}
@media(max-width:1000px){
  .page-home .signal-explorer{grid-template-columns:1fr;gap:34px}
  .page-home .signal-words{grid-template-columns:repeat(3,max-content);gap:26px}
  .page-home .signal-detail{min-width:0;width:100%;max-width:680px;height:auto;min-height:202px}
}
@media(max-width:720px){
  .page-home .signal-words{grid-template-columns:1fr;gap:28px}
  .page-home .signal-word{font-size:40px}
  .page-home .signal-detail{min-height:190px}
}


/* v8 — darker aurora ribbons + editorial signal layout */
.page-home .ambient-bg{
  inset:-9%;
  opacity:1;
  background:
    radial-gradient(ellipse 28% 17% at 13% 12%, rgba(66,242,142,.18) 0%, rgba(17,136,79,.08) 42%, transparent 76%),
    radial-gradient(ellipse 24% 15% at 87% 20%, rgba(92,250,158,.14) 0%, rgba(18,124,74,.065) 44%, transparent 78%),
    radial-gradient(ellipse 22% 13% at 72% 78%, rgba(49,220,128,.11) 0%, rgba(10,103,61,.05) 48%, transparent 80%),
    linear-gradient(136deg,#010705 0%,#020d09 30%,#041a12 49%,#020d09 69%,#010604 100%);
  background-size:138% 138%,145% 145%,150% 150%,100% 100%;
  filter:saturate(1.16) contrast(1.10);
  animation:auroraBaseV8 12s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}

/* Thin, irregular aurora streaks rather than large luminous fields. */
.page-home .ambient-bg:before{
  content:"";
  position:absolute;
  inset:-16% -12%;
  opacity:.82;
  background:
    linear-gradient(111deg,
      transparent 0 25%,
      rgba(28,146,87,.025) 28%,
      rgba(72,232,139,.16) 31.5%,
      rgba(142,255,190,.24) 33.2%,
      rgba(63,217,130,.12) 35.2%,
      rgba(12,92,55,.025) 39%,
      transparent 44%),
    linear-gradient(79deg,
      transparent 0 43%,
      rgba(26,140,84,.025) 46%,
      rgba(74,226,137,.13) 49%,
      rgba(130,255,181,.20) 50.8%,
      rgba(51,196,117,.10) 53%,
      transparent 58%),
    linear-gradient(126deg,
      transparent 0 56%,
      rgba(24,133,79,.02) 59%,
      rgba(66,211,128,.11) 61.5%,
      rgba(112,247,168,.16) 63%,
      rgba(39,170,101,.08) 65.2%,
      transparent 69%);
  background-size:165% 115%,180% 120%,160% 110%;
  background-position:-34% 22%,126% 50%,40% 82%;
  filter:blur(14px) saturate(1.22);
  transform:skewY(-4deg) rotate(-1.5deg) scale(1.05);
  transform-origin:center;
  animation:auroraRibbonsV8 13s ease-in-out infinite alternate;
  will-change:transform,background-position,filter;
}

@keyframes auroraBaseV8{
  0%{background-position:-7% -3%,107% 2%,70% 79%,center}
  45%{background-position:9% 8%,92% 13%,58% 63%,center}
  100%{background-position:20% 0%,80% 20%,82% 70%,center}
}
@keyframes auroraRibbonsV8{
  0%{
    transform:translate3d(-4%,-2%,0) skewY(-4deg) rotate(-1.5deg) scale(1.04);
    background-position:-34% 22%,126% 50%,40% 82%;
    filter:blur(13px) saturate(1.18);
  }
  48%{
    transform:translate3d(3%,1.5%,0) skewY(-2deg) rotate(.35deg) scale(1.07);
    background-position:-4% 28%,96% 45%,57% 70%;
    filter:blur(15px) saturate(1.24);
  }
  100%{
    transform:translate3d(-1%,4%,0) skewY(-5deg) rotate(-.7deg) scale(1.05);
    background-position:16% 16%,76% 60%,34% 80%;
    filter:blur(13px) saturate(1.20);
  }
}

/* What I bring: editorial two-column interaction instead of a card-inside-card. */
.page-home .signal-explorer{
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:0;
  align-items:stretch;
  margin-top:76px;
  padding-top:0;
  border-top:0;
  min-height:286px;
}
.page-home .signal-words{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:28px;
  padding:28px 54px 28px 0;
  min-width:0;
}
.page-home .signal-word{
  font-size:clamp(34px,3.9vw,54px);
  line-height:.96;
  white-space:nowrap;
}
.page-home .signal-word span{
  top:50%;
  left:-34px;
  transform:translateY(-50%);
  font-size:9px;
}
.page-home .signal-word i{
  width:7px;height:7px;margin-left:9px;
}
.page-home .signal-detail{
  min-width:0;
  width:auto;
  height:auto;
  min-height:286px;
  padding:42px 0 42px 58px;
  grid-template-columns:82px minmax(0,1fr);
  align-items:center;
  gap:30px;
  border:0;
  border-left:1px solid rgba(189,237,207,.20);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.page-home .signal-detail-icon{
  width:74px;height:74px;
  border-radius:22px;
  background:rgba(2,27,18,.54);
  border:1px solid rgba(118,244,164,.18);
}
.page-home .signal-detail-copy{
  max-width:520px;
}
.page-home .signal-detail-index{margin-bottom:14px}
.page-home .signal-detail h3{
  font-size:clamp(30px,3vw,44px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0 0 14px;
  max-width:460px;
}
.page-home .signal-detail p{
  font-size:15px;
  line-height:1.6;
  max-width:500px;
  color:#c9dbd2;
}

/* Keep the stage dark enough for strong text contrast. */
.page-home .signal-stage{
  background:
    radial-gradient(circle at var(--sx,78%) var(--sy,28%),rgba(94,235,153,.12),transparent 20rem),
    linear-gradient(120deg,#031b14 0%,#043125 52%,#063b2a 100%);
}

@media(max-width:1000px){
  .page-home .signal-explorer{grid-template-columns:220px minmax(0,1fr);min-height:260px}
  .page-home .signal-words{padding-right:34px;gap:24px}
  .page-home .signal-detail{min-height:260px;padding-left:36px;grid-template-columns:68px minmax(0,1fr);gap:22px}
  .page-home .signal-detail-icon{width:64px;height:64px;border-radius:19px}
}
@media(max-width:720px){
  .page-home .signal-explorer{grid-template-columns:1fr;min-height:0}
  .page-home .signal-words{padding:20px 0 30px;gap:24px}
  .page-home .signal-word{font-size:38px}
  .page-home .signal-word span{position:static;display:inline-block;transform:none;margin-right:12px;vertical-align:middle}
  .page-home .signal-detail{
    min-height:0;
    padding:30px 0 0;
    border-left:0;
    border-top:1px solid rgba(189,237,207,.20);
    grid-template-columns:60px minmax(0,1fr);
    gap:18px;
  }
  .page-home .signal-detail-icon{width:58px;height:58px}
  .page-home .signal-detail h3{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
  .page-home .ambient-bg,.page-home .ambient-bg:before{animation:none}
}

/* Finora case — portfolio v9 */
.page-finora .finora-hero h1 em{font-style:normal;color:#77eca2}.page-finora .finora-hero-shot{margin-top:54px;padding:14px;border:1px solid rgba(120,239,164,.18);border-radius:34px;background:linear-gradient(145deg,rgba(8,35,25,.94),rgba(3,17,12,.96));box-shadow:0 36px 120px rgba(0,0,0,.42),0 0 90px rgba(52,218,125,.08);overflow:hidden}.page-finora .finora-hero-shot img{display:block;width:100%;border-radius:22px}.page-finora .case-screen{margin:42px 0 14px;border:1px solid rgba(120,239,164,.15);border-radius:26px;overflow:hidden;background:#061711;box-shadow:0 24px 70px rgba(0,0,0,.28)}.page-finora .case-screen img{display:block;width:100%;height:auto}.page-finora .case-screen figcaption{padding:14px 18px 16px;color:#8fa89a;font-size:12px;line-height:1.5;border-top:1px solid rgba(145,210,168,.10)}.page-finora .screen-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:38px 0}.page-finora .screen-pair .case-screen{margin:0}.page-finora .screen-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:38px -7vw}.page-finora .screen-triptych .case-screen{margin:0;border-radius:20px}.page-finora .screen-triptych img{aspect-ratio:16/10;object-fit:cover}.page-finora .story-section{scroll-margin-top:110px}.page-finora .case-summary strong{color:#eaf7ef}.page-finora .case-summary span{color:#759084}.page-finora .case-nav a{transition:.2s ease}.page-finora .case-nav a:hover{padding-left:5px;color:#79efa4}@media(max-width:1000px){.page-finora .screen-triptych{margin:32px 0;grid-template-columns:1fr}.page-finora .screen-pair{grid-template-columns:1fr}}@media(max-width:720px){.page-finora .finora-hero-shot{padding:7px;border-radius:22px}.page-finora .finora-hero-shot img{border-radius:16px}.page-finora .case-screen{border-radius:18px}}

/* Finora v10 fixes --------------------------------------------------------- */
.page-finora{--finora:#107557;--finora-2:#2f9f78;--finora-soft:#79c7a7}
.page-finora .finora-hero h1 em{color:#72d7ad}

/* Screens are deliberate portfolio objects and open into a lightbox. */
.page-finora .case-screen,
.page-finora .finora-hero-shot{position:relative;cursor:zoom-in}
.page-finora .case-screen img,
.page-finora .finora-hero-shot img{transition:transform .35s ease,filter .35s ease}
.page-finora .case-screen:hover img,
.page-finora .finora-hero-shot:hover img{transform:scale(1.008);filter:brightness(1.025)}
.page-finora .case-screen:after,
.page-finora .finora-hero-shot:after{content:'View full screen ↗';position:absolute;right:14px;top:14px;padding:8px 11px;border-radius:999px;background:rgba(2,20,14,.78);border:1px solid rgba(131,216,177,.22);color:#dff5e8;font-size:10px;font-weight:700;letter-spacing:.03em;opacity:0;transform:translateY(3px);transition:.22s ease;pointer-events:none;backdrop-filter:blur(10px)}
.page-finora .case-screen:hover:after,
.page-finora .finora-hero-shot:hover:after{opacity:1;transform:translateY(0)}

/* Placeholder mapping: two screens, always inside the case-study grid. */
.page-finora .mapping-pair{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;margin:38px 0;gap:20px}
.page-finora .mapping-pair .case-screen{min-width:0;width:100%}
.page-finora .mapping-pair .case-screen img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Impact: horizontal summary first, then four equal columns. */
.page-finora .finora-impact{display:block;padding:0;overflow:hidden}
.page-finora .finora-impact .impact-title{padding:34px 36px 32px;border-bottom:1px solid rgba(145,218,174,.13)}
.page-finora .finora-impact .impact-title h3{max-width:820px;font-size:clamp(28px,3.5vw,46px);line-height:1.06;margin:8px 0 12px}
.page-finora .finora-impact .impact-title p{max-width:760px;margin:0}
.page-finora .finora-impact .impact-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.page-finora .finora-impact .impact-item{padding:28px 28px 32px;border-top:0;border-left:1px solid rgba(145,218,174,.11)}
.page-finora .finora-impact .impact-item:first-child{border-left:0}
.page-finora .finora-impact .impact-item span{color:#86a596}
.page-finora .finora-impact .impact-item strong{display:block;margin-top:10px;line-height:1.42}

/* Lightbox */
.image-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:34px;background:rgba(0,8,5,.92);backdrop-filter:blur(16px)}
.image-lightbox.open{display:flex}
.image-lightbox-stage{position:relative;max-width:min(94vw,1800px);max-height:92vh;display:flex;align-items:center;justify-content:center}
.image-lightbox img{display:block;max-width:100%;max-height:88vh;width:auto;height:auto;border-radius:18px;box-shadow:0 38px 140px rgba(0,0,0,.62),0 0 80px rgba(33,173,107,.10)}
.image-lightbox-close{position:fixed;top:22px;right:24px;width:46px;height:46px;border:1px solid rgba(220,247,231,.18);border-radius:50%;background:rgba(5,29,20,.82);color:white;font-size:25px;line-height:1;cursor:pointer;display:grid;place-items:center}
.image-lightbox-caption{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(760px,80vw);padding:9px 14px;border-radius:999px;background:rgba(4,25,17,.78);border:1px solid rgba(190,235,207,.12);color:#abc2b6;font-size:11px;text-align:center}
body.lightbox-open{overflow:hidden}

@media(max-width:1000px){
  .page-finora .finora-impact .impact-list{grid-template-columns:1fr 1fr}
  .page-finora .finora-impact .impact-item:nth-child(3){border-left:0;border-top:1px solid rgba(145,218,174,.11)}
  .page-finora .finora-impact .impact-item:nth-child(4){border-top:1px solid rgba(145,218,174,.11)}
}
@media(max-width:720px){
  .page-finora .mapping-pair{grid-template-columns:1fr}
  .page-finora .finora-impact .impact-list{grid-template-columns:1fr}
  .page-finora .finora-impact .impact-item{border-left:0;border-top:1px solid rgba(145,218,174,.11)}
  .page-finora .finora-impact .impact-item:first-child{border-top:0}
  .image-lightbox{padding:14px}.image-lightbox img{border-radius:11px}.image-lightbox-close{top:12px;right:12px}
}

/* v11 — CargoCredit workflow case */
.case-v11 .cargo-hero{padding-bottom:34px}
.case-v11 .case-hero-actions{display:flex;align-items:center;gap:16px;margin-top:28px;flex-wrap:wrap}
.case-v11 .case-live-note{font-size:12px;color:#8da397;max-width:210px;line-height:1.45}
.case-v11 .cargo-hero-stage{position:relative;margin-top:58px;padding:34px 6.5% 38px;min-height:520px;border:1px solid rgba(119,236,164,.16);border-radius:32px;background:radial-gradient(circle at 78% 20%,rgba(73,234,142,.18),transparent 30%),linear-gradient(145deg,rgba(4,33,23,.94),rgba(2,13,9,.98));overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.35),0 0 70px rgba(42,205,119,.08)}
.case-v11 .cargo-orbit{position:absolute;border:1px solid rgba(95,241,154,.13);border-radius:50%;filter:drop-shadow(0 0 18px rgba(77,231,142,.12))}
.case-v11 .cargo-orbit-a{width:520px;height:520px;right:-160px;top:-220px}.case-v11 .cargo-orbit-b{width:330px;height:330px;left:-130px;bottom:-190px}
.case-v11 .screen-frame{position:relative;border-radius:13px;overflow:hidden;background:#fff;border:1px solid rgba(182,221,198,.17);box-shadow:0 22px 55px rgba(0,0,0,.25)}
.case-v11 .screen-frame:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.case-v11 .screen-frame img{display:block;width:100%;height:auto}
.case-v11 .hero-screen{position:relative;z-index:2;transform:perspective(1600px) rotateX(1.8deg) rotateY(-3deg);box-shadow:0 40px 80px rgba(0,0,0,.42),0 0 55px rgba(55,223,132,.12)}
.case-v11 .hero-chip{position:absolute;z-index:3;padding:11px 14px;border-radius:999px;background:rgba(3,19,13,.88);border:1px solid rgba(116,243,164,.26);backdrop-filter:blur(14px);font-size:12px;color:#d8e9df;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.case-v11 .hero-chip span{color:#72efaa;font-weight:700;margin-right:5px}.case-v11 .chip-a{right:3.5%;top:16%}.case-v11 .chip-b{left:2.5%;bottom:13%}
.case-v11 .context-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0 4px}.case-v11 .context-facts div{padding:22px;border:1px solid rgba(181,227,199,.13);border-radius:18px;background:rgba(7,30,21,.44)}.case-v11 .context-facts span{display:block;color:#6feaa6;font-size:11px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:10px}.case-v11 .context-facts strong{font-size:14px;line-height:1.5}
.case-v11 .case-figure{margin:30px 0 14px}.case-v11 .case-figure figcaption{display:flex;gap:10px;align-items:baseline;margin-top:12px;color:#91a59a;font-size:12px;line-height:1.5}.case-v11 .case-figure figcaption span{color:#69e8a2;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.case-v11 .featured-shot{margin:34px -5vw 20px}.case-v11 .featured-shot .screen-frame{box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 50px rgba(54,218,129,.07)}
.case-v11 .muted-shot .screen-frame{filter:saturate(.55) brightness(.78);opacity:.84}.case-v11 .before-after-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 36px}.case-v11 .before-after-pair .case-figure{margin:0}
.case-v11 .architecture-map{display:grid;grid-template-columns:1fr .58fr 1fr;gap:16px;align-items:center;margin:36px 0;padding:28px;border-radius:22px;border:1px solid rgba(120,235,164,.15);background:linear-gradient(135deg,rgba(6,35,24,.72),rgba(3,19,13,.5))}.case-v11 .arch-role{display:grid;gap:8px;padding:22px;border-radius:16px;background:rgba(1,11,8,.55);border:1px solid rgba(189,233,206,.1)}.case-v11 .arch-role small{font-size:10px;letter-spacing:.15em;color:#68e7a0}.case-v11 .arch-role strong{font-size:22px;margin-bottom:4px}.case-v11 .arch-role span{padding:9px 11px;border-radius:9px;background:rgba(255,255,255,.035);color:#aabdb3;font-size:12px}.case-v11 .arch-role .accent-node{color:#bff7d6;background:rgba(55,207,124,.11);border:1px solid rgba(82,227,144,.14)}.case-v11 .arch-bridge{display:grid;gap:8px;text-align:center;color:#7f9689;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.case-v11 .arch-bridge i{height:1px;background:linear-gradient(90deg,transparent,rgba(90,232,149,.55),transparent)}
.case-v11 .product-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 46px}.case-v11 .product-trio div{position:relative;padding:22px 20px;border-radius:16px;border:1px solid rgba(181,227,199,.12);background:rgba(6,27,19,.45)}.case-v11 .product-trio span{display:block;color:#68e8a1;font:700 10px Manrope,sans-serif;letter-spacing:.12em;margin-bottom:13px}.case-v11 .product-trio strong{font-size:15px}.case-v11 .product-trio p{font-size:12px!important;line-height:1.5!important;margin:7px 0 0!important;color:#8ea398!important}
.case-v11 .application-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px -8vw 46px}.case-v11 .application-gallery .case-figure{margin:0}.case-v11 .application-gallery .screen-frame{height:360px}.case-v11 .application-gallery img{height:100%;object-fit:cover;object-position:top center}.case-v11 .application-gallery figcaption{justify-content:center}
.case-v11 .two-up{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px -4vw 46px}.case-v11 .two-up .case-figure{margin:0}.case-v11 .documents-pair{margin-left:-5vw;margin-right:-5vw;align-items:start}
.case-v11 .case-closing{margin-top:52px;padding:34px;border-radius:22px;border:1px solid rgba(104,235,158,.17);background:radial-gradient(circle at 85% 15%,rgba(77,230,141,.12),transparent 35%),rgba(5,27,19,.56)}.case-v11 .case-closing>span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#68e7a0}.case-v11 .case-closing h3{font-size:30px;margin:10px 0}.case-v11 .case-closing p{margin-bottom:0}
@media(max-width:980px){.case-v11 .context-facts,.case-v11 .product-trio{grid-template-columns:1fr}.case-v11 .application-gallery{grid-template-columns:1fr;margin-left:0;margin-right:0}.case-v11 .application-gallery .screen-frame{height:auto}.case-v11 .architecture-map{grid-template-columns:1fr}.case-v11 .arch-bridge{grid-template-columns:1fr auto 1fr;align-items:center}.case-v11 .featured-shot,.case-v11 .documents-pair,.case-v11 .two-up{margin-left:0;margin-right:0}}
@media(max-width:720px){.case-v11 .cargo-hero-stage{min-height:0;padding:22px 14px 52px;border-radius:22px}.case-v11 .hero-chip{display:none}.case-v11 .before-after-pair,.case-v11 .two-up{grid-template-columns:1fr}.case-v11 .case-figure figcaption{display:block}.case-v11 .case-figure figcaption span{display:block;margin-bottom:4px}}

/* v12 — case-study polish: contained media, readable wrapping, universal case lightbox */
body:not(.page-home) h1,
body:not(.page-home) h2,
body:not(.page-home) h3,
body:not(.page-home) h4,
body:not(.page-home) p,
body:not(.page-home) figcaption,
body:not(.page-home) strong,
body:not(.page-home) .case-dek,
body:not(.page-home) .impact-item { text-wrap: pretty; }
body:not(.page-home) h1,
body:not(.page-home) h2,
body:not(.page-home) h3 { text-wrap: balance; }

.page-case .screen-frame,
.page-case .case-screen,
.page-case figure { min-width:0; max-width:100%; }
.page-case .screen-frame img,
.page-case .case-screen img,
.page-case .finora-hero-shot img { cursor:zoom-in; }

/* Cargo workflow v12 */
.case-v12 .case-hero-grid h1{max-width:760px;font-size:clamp(48px,6.1vw,82px);line-height:.98;letter-spacing:-.055em}
.case-v12 .case-dek{max-width:720px}
.case-v12 .cargo-hero-stage{position:relative;margin-top:58px;padding:46px clamp(24px,5vw,72px) 48px;min-height:590px;border:1px solid rgba(119,236,164,.16);border-radius:32px;background:radial-gradient(circle at 74% 20%,rgba(73,234,142,.17),transparent 32%),radial-gradient(circle at 20% 80%,rgba(41,135,91,.12),transparent 30%),linear-gradient(145deg,rgba(4,33,23,.95),rgba(2,13,9,.99));overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.35),0 0 70px rgba(42,205,119,.08)}
.case-v12 .cargo-hero-stack{position:relative;height:470px;max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.case-v12 .hero-screen{position:relative;z-index:3;width:min(84%,900px);margin:0;transform:translateY(10px);box-shadow:0 40px 90px rgba(0,0,0,.48),0 0 60px rgba(55,223,132,.12)}
.case-v12 .hero-support{position:absolute;z-index:1;width:46%;margin:0;opacity:.62;filter:saturate(.72) brightness(.68);box-shadow:0 28px 60px rgba(0,0,0,.34)}
.case-v12 .hero-support-left{left:0;top:28px;transform:rotate(-3deg) translateX(-3%)}
.case-v12 .hero-support-right{right:0;bottom:0;transform:rotate(3deg) translateX(3%)}
.case-v12 .hero-system-note{position:absolute;z-index:4;left:clamp(22px,4vw,56px);bottom:24px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;padding:13px 16px;border:1px solid rgba(119,236,164,.2);border-radius:15px;background:rgba(2,19,13,.88);backdrop-filter:blur(14px);box-shadow:0 12px 32px rgba(0,0,0,.32)}
.case-v12 .hero-system-note span{grid-row:1/3;color:#70edaa;font:700 12px Manrope,sans-serif;align-self:center}.case-v12 .hero-system-note strong{font-size:12px;color:#e7f5ed}.case-v12 .hero-system-note small{font-size:10px;color:#82998c}
.case-v12 .hero-chip{position:absolute;z-index:4;padding:10px 13px;border-radius:999px;background:rgba(3,19,13,.9);border:1px solid rgba(116,243,164,.24);backdrop-filter:blur(14px);font-size:11px;color:#d8e9df;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.case-v12 .hero-chip span{color:#72efaa;font-weight:700;margin-right:5px}.case-v12 .chip-a{right:4%;top:13%}.case-v12 .chip-b{right:7%;bottom:12%;left:auto}
.case-v12 .cargo-orbit{position:absolute;border:1px solid rgba(95,241,154,.11);border-radius:50%;filter:drop-shadow(0 0 18px rgba(77,231,142,.10))}.case-v12 .cargo-orbit-a{width:520px;height:520px;right:-160px;top:-220px}.case-v12 .cargo-orbit-b{width:330px;height:330px;left:-130px;bottom:-190px}

/* Never escape the story column. */
.case-v12 .featured-shot,
.case-v12 .featured-shot-contained,
.case-v12 .before-after-pair,
.case-v12 .documents-pair,
.case-v12 .two-up,
.case-v12 .application-gallery{width:100%;max-width:100%;margin-left:0;margin-right:0}
.case-v12 .featured-shot-contained{margin:34px 0 28px}
.case-v12 .featured-shot-contained .screen-frame{width:100%;box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 50px rgba(54,218,129,.07)}

/* Applications: review first, then one large + two supporting product forms. */
.case-v12 .application-review{margin-top:28px;margin-bottom:34px}
.case-v12 .application-review .screen-frame img{width:100%;height:auto;object-fit:contain}
.case-v12 .application-forms-layout{display:grid;gap:18px;width:100%;margin:22px 0 48px}
.case-v12 .application-credit{margin:0}
.case-v12 .application-credit .screen-frame{width:100%}
.case-v12 .application-credit img{width:100%;height:auto;object-fit:contain}
.case-v12 .application-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%}
.case-v12 .application-secondary-grid .case-figure{margin:0;min-width:0}
.case-v12 .application-secondary-grid .screen-frame{width:100%;aspect-ratio:1.47/1;display:flex;align-items:flex-start;background:#fff}
.case-v12 .application-secondary-grid img{width:100%;height:100%;object-fit:contain;object-position:top center}
.case-v12 .post-submit-shot{margin-top:26px;margin-bottom:46px}
.case-v12 .post-submit-shot .screen-frame img{width:100%;height:auto;object-fit:contain}

/* Before/after and document-readiness layouts remain strictly inside the grid. */
.case-v12 .before-after-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;margin-bottom:36px;align-items:start}
.case-v12 .before-after-pair .case-figure{margin:0;min-width:0;width:100%}
.case-v12 .before-after-pair .screen-frame{width:100%}
.case-v12 .before-after-pair img{width:100%;height:auto;object-fit:contain}
.case-v12 .documents-pair{gap:18px}
.case-v12 .documents-pair .screen-frame{aspect-ratio:auto}
.case-v12 .documents-pair img{display:block;width:100%;height:auto;object-fit:contain}

/* Keep captions aligned and calm. */
.case-v12 .case-figure figcaption{max-width:100%;padding-right:8px}

@media(max-width:980px){
  .case-v12 .cargo-hero-stack{height:390px}.case-v12 .hero-support{width:50%}.case-v12 .hero-screen{width:88%}
  .case-v12 .application-secondary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .case-v12 .case-hero-grid h1{font-size:clamp(42px,12vw,64px)}
  .case-v12 .cargo-hero-stage{min-height:0;padding:24px 14px 70px;border-radius:22px}.case-v12 .cargo-hero-stack{height:auto;display:block}.case-v12 .hero-screen{width:100%;transform:none}.case-v12 .hero-support{display:none}.case-v12 .hero-chip{display:none}.case-v12 .hero-system-note{left:18px;right:18px;bottom:14px}
  .case-v12 .before-after-pair,.case-v12 .application-secondary-grid{grid-template-columns:1fr}
  .case-v12 .application-secondary-grid .screen-frame{aspect-ratio:auto}.case-v12 .application-secondary-grid img{height:auto}
}

/* v12 — stronger CargoCredit card on the home page */
.page-home .cargo-feature-card .case-media{background:radial-gradient(circle at 76% 16%,rgba(67,228,139,.20),transparent 32%),linear-gradient(145deg,#052319,#02110c);padding:38px 34px;display:flex;align-items:center;justify-content:center}
.page-home .cargo-card-stage{position:relative;width:100%;height:100%;min-height:470px;display:flex;align-items:center;justify-content:center}
.page-home .cargo-card-stage img{position:absolute;display:block;height:auto;object-fit:contain;border-radius:12px;border:1px solid rgba(185,230,203,.16);box-shadow:0 24px 60px rgba(0,0,0,.34);transition:transform .45s ease,opacity .45s ease}
.page-home .cargo-card-main{z-index:3;width:88%;left:5%;top:19%;transform:rotate(-1deg)}
.page-home .cargo-card-support{z-index:1;width:47%;opacity:.58;filter:saturate(.78) brightness(.7)}
.page-home .cargo-card-support-a{left:-2%;top:5%;transform:rotate(-4deg)}
.page-home .cargo-card-support-b{right:-2%;bottom:7%;transform:rotate(4deg)}
.page-home .cargo-card-glass{position:absolute;z-index:5;left:7%;bottom:8%;display:flex;gap:7px;flex-wrap:wrap;max-width:82%;padding:9px;border-radius:14px;background:rgba(2,18,12,.84);border:1px solid rgba(109,238,159,.18);backdrop-filter:blur(13px);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.page-home .cargo-card-glass span{padding:7px 9px;border-radius:999px;background:rgba(83,222,142,.08);border:1px solid rgba(119,239,166,.11);color:#bce8ce;font-size:9px;font-weight:650;letter-spacing:.025em;white-space:nowrap}
.page-home .cargo-feature-card:hover .cargo-card-main{transform:rotate(-.4deg) translateY(-4px) scale(1.01)}
.page-home .cargo-feature-card:hover .cargo-card-support-a{transform:rotate(-5deg) translate(-3px,-2px)}
.page-home .cargo-feature-card:hover .cargo-card-support-b{transform:rotate(5deg) translate(3px,2px)}
@media(max-width:1000px){.page-home .cargo-card-stage{min-height:420px}.page-home .cargo-feature-card .case-media{padding:28px 22px}}
@media(max-width:720px){.page-home .cargo-card-stage{min-height:300px}.page-home .cargo-card-main{width:92%;left:4%;top:18%}.page-home .cargo-card-support{width:48%}.page-home .cargo-card-glass{left:5%;bottom:5%}}

/* v13 — CargoCredit composition fixes + strict media containment */
.case-v13{} /* reserved marker */

/* No case-study media is allowed to escape its content column. */
.page-case .story,
.page-case .story-section,
.page-case .case-figure,
.page-case .screen-frame,
.page-case .before-after-pair,
.page-case .two-up,
.page-case .documents-pair,
.page-case .application-forms-layout,
.page-case .application-secondary-grid{
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.page-case .story-section{overflow:clip}
.page-case .case-figure{overflow:visible}
.page-case .screen-frame{overflow:hidden}
.page-case .screen-frame img{display:block;width:100%;max-width:100%;height:auto;box-sizing:border-box}

/* A visible but restrained zoom affordance. JS makes the whole frame clickable. */
.page-case .screen-frame.is-zoomable{cursor:zoom-in;position:relative}
.page-case .screen-frame.is-zoomable:before{
  content:'Expand ↗';position:absolute;z-index:6;right:12px;top:12px;padding:7px 10px;border-radius:999px;
  color:#eaf7ef;background:rgba(3,20,14,.82);border:1px solid rgba(122,236,164,.2);
  font:600 10px/1 Manrope,sans-serif;letter-spacing:.01em;opacity:0;transform:translateY(-3px);
  transition:.2s ease;pointer-events:none;backdrop-filter:blur(10px)
}
.page-case .screen-frame.is-zoomable:hover:before,
.page-case .screen-frame.is-zoomable:focus-within:before{opacity:1;transform:none}

/* Cleaner CargoCredit hero: one strong product moment instead of a screenshot collage. */
.case-v12 .cargo-hero-stage{
  min-height:0;padding:30px clamp(24px,4vw,56px) 34px;
  background:
    radial-gradient(ellipse 48% 58% at 78% 12%,rgba(64,224,136,.15),transparent 68%),
    radial-gradient(ellipse 38% 50% at 5% 92%,rgba(34,128,86,.10),transparent 70%),
    linear-gradient(145deg,rgba(4,31,22,.97),rgba(2,12,9,.995));
}
.case-v12 .cargo-hero-kicker{position:relative;z-index:3;margin:0 0 18px;color:#78a08b;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.case-v12 .cargo-hero-stack{height:auto;max-width:1120px;margin:0 auto;display:block}
.case-v12 .hero-screen{width:100%;margin:0;transform:none;border-radius:18px;box-shadow:0 34px 90px rgba(0,0,0,.46),0 0 62px rgba(55,223,132,.09)}
.case-v12 .hero-support{display:none!important}
.case-v12 .hero-system-note{left:clamp(42px,6vw,90px);bottom:54px;padding:14px 18px;background:rgba(2,18,12,.91)}
.case-v12 .chip-a{right:clamp(38px,5vw,70px);top:68px}.case-v12 .chip-b{right:clamp(38px,5vw,70px);bottom:58px}
.case-v12 .cargo-orbit-a{width:430px;height:430px;right:-150px;top:-210px}.case-v12 .cargo-orbit-b{width:270px;height:270px;left:-120px;bottom:-160px}

/* Challenge: both legacy screens stay inside the grid at every width. */
.case-v12 .before-after-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-v12 .before-after-pair > *{min-width:0;max-width:100%}
.case-v12 .before-after-pair .screen-frame{max-width:100%;overflow:hidden}

/* Applications: review is the shared pattern; then one primary + two secondary forms. */
.case-v12 .application-review{width:100%;margin:30px 0 40px}
.case-v12 .application-review .screen-frame{width:100%;max-width:100%}
.case-v12 .application-review img{width:100%;height:auto;object-fit:contain}
.case-v12 .application-forms-layout{display:block;margin:26px 0 52px}
.case-v12 .application-credit{width:100%;margin:0 0 20px}
.case-v12 .application-credit .screen-frame{width:100%;max-width:100%}
.case-v12 .application-credit img{width:100%;height:auto;object-fit:contain}
.case-v12 .application-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;max-width:100%}
.case-v12 .application-secondary-grid > *{min-width:0;width:100%;max-width:100%}
.case-v12 .application-secondary-grid .screen-frame{width:100%;max-width:100%;aspect-ratio:auto;display:block}
.case-v12 .application-secondary-grid img{display:block;width:100%;height:auto;object-fit:contain}

/* Businesses and documents must never use old negative-margin presentation rules. */
.case-v12 #businesses .featured-shot,
.case-v12 #businesses .case-figure,
.case-v12 #documents .documents-pair{margin-left:0!important;margin-right:0!important;max-width:100%!important}
.case-v12 #businesses .screen-frame,
.case-v12 #documents .screen-frame{width:100%;max-width:100%}

/* Captions can wrap, but not into an isolated last word (JS also hard-binds the final pair). */
body:not(.page-home) h1,body:not(.page-home) h2,body:not(.page-home) h3,
body:not(.page-home) p,body:not(.page-home) figcaption,body:not(.page-home) .case-dek,
body:not(.page-home) .impact-item strong{overflow-wrap:normal;word-break:normal;text-wrap:pretty}
body:not(.page-home) h1,body:not(.page-home) h2,body:not(.page-home) h3{text-wrap:balance}
.keep-last{white-space:nowrap}

@media(max-width:980px){
  .case-v12 .hero-system-note{left:34px;bottom:46px}.case-v12 .chip-b{display:none}
}
@media(max-width:760px){
  .case-v12 .cargo-hero-stage{padding:20px 12px 72px}.case-v12 .cargo-hero-kicker{margin-left:4px}.case-v12 .hero-screen{border-radius:12px}
  .case-v12 .hero-system-note{left:22px;right:22px;bottom:16px}.case-v12 .hero-chip{display:none}
  .case-v12 .before-after-pair,.case-v12 .application-secondary-grid{grid-template-columns:1fr}
}

/* v14 — MyCreditApp.AI decision-support case */
.page-case:not(.page-home) .story h2,.page-case:not(.page-home) .story h3,.page-case:not(.page-home) .story p,.page-case:not(.page-home) figcaption,.page-case:not(.page-home) .case-dek,.page-case:not(.page-home) .impact-item strong,.page-case:not(.page-home) .insight p{ text-wrap:pretty; }
.analytics-v14 .analytics-hero{padding-bottom:58px;overflow:hidden}
.analytics-v14 .analytics-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:56px;align-items:center;padding-top:34px}
.analytics-v14 .analytics-hero-copy h1{font-size:clamp(50px,5.6vw,88px);line-height:.94;letter-spacing:-.055em;max-width:760px;margin:22px 0 24px;text-wrap:balance}
.analytics-v14 .analytics-hero-copy .case-dek{max-width:660px}
.analytics-v14 .hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.analytics-v14 .hero-facts span{font-size:11px;color:#a6baae;border:1px solid rgba(169,225,193,.16);border-radius:999px;padding:8px 12px;background:rgba(7,39,27,.34)}
.analytics-v14 .analytics-hero-visual{position:relative;min-width:0;min-height:610px;display:flex;align-items:center;justify-content:flex-end}
.analytics-v14 .hero-screen{position:absolute;overflow:hidden;background:#fff;border:1px solid rgba(103,231,160,.28);box-shadow:0 38px 100px rgba(0,0,0,.45),0 0 70px rgba(47,211,123,.10)}
.analytics-v14 .hero-screen img{display:block;width:100%;max-width:100%;height:auto}
.analytics-v14 .hero-screen-main{width:min(92%,860px);right:0;top:44px;z-index:2;transform:rotate(.35deg)}
.analytics-v14 .hero-screen-support{width:46%;left:0;bottom:18px;z-index:3;transform:rotate(-1.4deg)}
.analytics-v14 .case-summary{margin-top:26px}
.analytics-v14 .story{min-width:0}.analytics-v14 .story-section{min-width:0}
.analytics-v14 .before-after-pair,.analytics-v14 .two-up{width:100%;max-width:100%;margin-left:0;margin-right:0;min-width:0}
.analytics-v14 .case-figure,.analytics-v14 .screen-frame{min-width:0;max-width:100%;box-sizing:border-box}.analytics-v14 .screen-frame img{width:100%;max-width:100%;height:auto;object-fit:contain}
.analytics-v14 .analytics-before-after{gap:18px;align-items:start}.analytics-v14 .analytics-before-after .screen-frame{aspect-ratio:1.42/1;display:flex;align-items:flex-start}.analytics-v14 .analytics-before-after img{height:100%;object-fit:cover;object-position:top center}
.analytics-v14 .analytics-equal-pair,.analytics-v14 .analytics-failure-pair{gap:18px;align-items:start}.analytics-v14 .analytics-equal-pair .screen-frame,.analytics-v14 .analytics-failure-pair .screen-frame{aspect-ratio:1.42/1;display:flex;align-items:flex-start}.analytics-v14 .analytics-equal-pair img,.analytics-v14 .analytics-failure-pair img{height:100%;object-fit:cover;object-position:top center}
.analytics-v14 .process-strip{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:center;margin:28px 0 34px}.analytics-v14 .process-strip>div{border:1px solid rgba(155,218,181,.15);border-radius:18px;padding:20px;background:rgba(4,35,24,.38);min-height:112px}.analytics-v14 .process-strip span{display:block;color:#68e8a1;font:700 10px/1.2 Inter,sans-serif;letter-spacing:.1em;margin-bottom:11px}.analytics-v14 .process-strip strong{display:block;font:650 18px/1.25 Manrope,sans-serif;color:#eff9f3;margin-bottom:7px}.analytics-v14 .process-strip small{display:block;color:#8fa499;font-size:12px;line-height:1.5;text-wrap:pretty}.analytics-v14 .process-strip i{font-style:normal;color:#5d7a69}
.analytics-v14 .analytics-groups-shot .screen-frame,.analytics-v14 .metric-detail-shot .screen-frame{width:100%;max-width:100%}
.analytics-v14 .featured-shot-contained{width:100%;max-width:100%;margin-left:0;margin-right:0}
@media(max-width:1100px){.analytics-v14 .analytics-hero-grid{grid-template-columns:1fr;gap:24px}.analytics-v14 .analytics-hero-visual{min-height:560px}.analytics-v14 .hero-screen-main{width:88%}.analytics-v14 .hero-screen-support{width:43%}}
@media(max-width:720px){.analytics-v14 .analytics-hero-copy h1{font-size:clamp(44px,13vw,66px)}.analytics-v14 .analytics-hero-visual{min-height:390px}.analytics-v14 .hero-screen-main{width:94%;top:20px}.analytics-v14 .hero-screen-support{width:48%;bottom:4px}.analytics-v14 .analytics-before-after,.analytics-v14 .analytics-equal-pair,.analytics-v14 .analytics-failure-pair{grid-template-columns:1fr}.analytics-v14 .analytics-before-after .screen-frame,.analytics-v14 .analytics-equal-pair .screen-frame,.analytics-v14 .analytics-failure-pair .screen-frame{aspect-ratio:auto}.analytics-v14 .analytics-before-after img,.analytics-v14 .analytics-equal-pair img,.analytics-v14 .analytics-failure-pair img{height:auto}.analytics-v14 .process-strip{grid-template-columns:1fr}.analytics-v14 .process-strip i{transform:rotate(90deg);justify-self:center}}
