/* Indian PR Distribution (IPRD)® | home.css: homepage-only sections. Loaded only on /. */
.hero{--fg:var(--paper);--fg2:var(--mute);--line:rgba(238,233,244,.16);--accent:var(--lime);color:var(--fg)}
.industries{--fg:var(--ink);--fg2:var(--soft);--line:rgba(21,13,34,.16);--accent:var(--violet);background:var(--paper)}
.pillars,.reach{background:var(--night2)}
.hero-title em{font-style:inherit;background:none;padding:0;color:inherit}
.hero-frame img,.intro-visual img,.pillar-visual img,.approach-visual img,.reach-visual img{mix-blend-mode:screen}
.hero-frame,.intro-visual,.reach-visual{-webkit-mask-image:radial-gradient(closest-side,#000 68%,transparent 100%);mask-image:radial-gradient(closest-side,#000 68%,transparent 100%)}
.pillar-visual{background:#0A0610}
/* hero */
.hero{position:relative;padding:clamp(120px,14vw,170px) 0 0;overflow:hidden;background:var(--night)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx,70%) var(--my,35%),rgba(123,63,201,.28),transparent 70%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(24px,4vw,64px)}
.hero-copy{padding-bottom:clamp(48px,6vw,80px)}
.hero .eyebrow{display:flex;align-items:center;gap:12px;font:500 15px var(--f-b);color:var(--mute);margin:0 0 28px}
.hero .eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(200,226,62,.6);animation:ping 2.4s infinite}
.hero-title{margin-bottom:36px}
.hero-title .line{display:block;overflow:hidden;padding:.04em 0 .1em}
.hero-title .line>span{display:inline-block}
.hero-title .line:last-child{font-style:italic;color:var(--lime)}
.hero-support{font-size:clamp(17px,1.4vw,20px);color:var(--mute);max-width:520px;margin-bottom:36px}
.hero-support strong{color:var(--paper);font-weight:500}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:44px}
.hero-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;max-width:560px;margin-bottom:22px}
.hero-stats div{padding:0 28px 0 16px;border-left:1px solid var(--line)}
.hero-stats div:first-child{padding-left:0;border-left:0}
.hero-stats strong{display:block;font:400 34px/1 var(--f-d);color:var(--paper)}
.hero-stats span{font-size:13px;color:var(--mute)}
.hero-visual{position:relative}
.hero-frame{aspect-ratio:1;width:112%;margin-left:-6%}
.hero-frame img{width:100%;height:100%;object-fit:contain}
.hero-marquee{position:relative;z-index:1;border-block:1px solid var(--line);padding:20px 0;overflow:hidden}
.marquee-track{display:flex;align-items:center;gap:36px;white-space:nowrap;width:max-content;font:italic 400 clamp(26px,3vw,44px)/1 var(--f-d);will-change:transform}
.marquee-track .star{color:var(--lime);font-size:.5em;font-style:normal}
/* intro */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.intro-lead{font:400 clamp(24px,2.4vw,34px)/1.25 var(--f-d);color:var(--paper)!important;margin-top:28px}
.intro-lead em{color:var(--lime)}
.intro-closing{font:italic 400 clamp(28px,3vw,44px)/1.1 var(--f-d);color:var(--paper)!important;border-left:2px solid var(--lime);padding-left:24px;margin-top:40px}
.intro-visual-wrap{margin-top:clamp(40px,5vw,72px)}
.intro-visual{max-width:620px;margin:0 auto;aspect-ratio:1}
/* pillars */
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.ai-band{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:center;background:var(--deep);color:#fff;border-radius:22px;padding:clamp(28px,4vw,48px)}
.ai-band .kicker{color:var(--lime);margin:0 0 10px}
.ai-band h3{font:400 clamp(30px,3.2vw,46px)/1.05 var(--f-d);color:#fff;margin:0 0 14px}
.ai-band p{color:var(--mute);font-size:16.5px;line-height:1.6;margin:0;max-width:62ch}
.ai-band-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ai-band-links .link-arrow{color:#fff;width:auto;border:0;padding:0}
.ai-band .btn-primary{background:var(--lime);color:var(--deep)}
.ai-band .btn-primary:hover{background:#fff;color:var(--deep)}
.pillar-card{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:24px}
.pillar-card:nth-child(2){margin-top:56px}
.pillar-visual{aspect-ratio:1;overflow:hidden;border-radius:6px;margin-bottom:28px}
.pillar-visual img{width:100%;height:100%;object-fit:contain;transition:transform 1s var(--ease)}
.pillar-card:hover .pillar-visual img{transform:scale(1.07) translateY(-6px)}
.pillar-tag{font:italic 400 22px/1.2 var(--f-d);color:var(--lime)!important;margin-bottom:14px}
.pillar-body{display:flex;flex-direction:column;flex:1}
.pillar-body p{font-size:15.5px;flex:1}
/* approach */
.approach-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,88px);align-items:start}
.approach-visual{position:sticky;top:110px;aspect-ratio:3/4;background:#0A0610;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.approach-visual img{width:100%;height:100%;object-fit:cover}
.approach-caption{position:absolute;left:20px;bottom:18px;font:italic 400 24px var(--f-d);color:var(--lime)}
.step{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:34px 0;border-top:1px solid var(--line);opacity:.38;transition:opacity .6s var(--ease)}
.step:last-child{border-bottom:1px solid var(--line)}
.step.active{opacity:1}
.step-num{font:400 44px/1 var(--f-d);color:var(--fg2);transition:color .5s,transform .6s var(--ease)}
.step.active .step-num{color:var(--lime);transform:translateX(6px)}
.step h3{font-size:34px;margin-bottom:6px}
.step p{margin:0;font-size:16px}
.reach-bg{display:none}
.reach-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}
.reach-list li{display:block;padding:22px 0;border-top:1px solid var(--line);font-size:15.5px;color:var(--mute)}
.reach-list li:last-child{border-bottom:1px solid var(--line)}
.reach-list span{display:none}
.reach-list strong{display:block;font:400 26px/1.1 var(--f-d);color:var(--paper);margin-bottom:6px}
.reach-visual{aspect-ratio:1}
.reach-visual img{width:100%;height:100%;object-fit:contain;will-change:transform}
/* newsworthy */
.newsworthy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,88px);align-items:start}
.newsworthy-visual{position:sticky;top:110px}
@media (max-width:900px){
 .hero-grid,.intro-grid,.approach-layout,.reach-grid,.newsworthy-grid{grid-template-columns:1fr}
 .hero-frame{width:100%;margin:0;max-width:480px}
 .pillar-grid{grid-template-columns:1fr}
 .ai-band{grid-template-columns:1fr}
 .pillar-card:nth-child(2){margin-top:0}
 .approach-visual,.newsworthy-visual{position:static;max-width:420px}
}
@media (max-width:560px){
 .hero-stats{grid-template-columns:1fr 1fr 1fr}
 .hero-stats div{padding-right:12px}
}
.hero{--fg:var(--ink);--fg2:var(--soft);--line:rgba(21,13,34,.16);--accent:var(--violet)}
.hero,.intro,.approach,.newsworthy{background:var(--paper)}
.pillars{background:#ECE4F5}
.reach,.industries{background:#EEF3C8}
.hero-frame img,.intro-visual img,.pillar-visual img,.approach-visual img,.reach-visual img{mix-blend-mode:normal}
.hero-frame,.intro-visual,.reach-visual{-webkit-mask-image:none;mask-image:none;background:radial-gradient(closest-side,rgba(200,226,62,.6),rgba(200,226,62,0) 74%)}
.pillar-visual,.approach-visual{background:radial-gradient(closest-side,rgba(200,226,62,.55),rgba(200,226,62,0) 80%),#F6F8E3}
.approach-visual{border-color:var(--line)}
.pillar-visual{border-radius:10px}
/* hero */
.hero::before{background:radial-gradient(520px circle at var(--mx,70%) var(--my,35%),rgba(200,226,62,.32),transparent 70%)}
.hero .eyebrow{color:var(--soft)}
.hero .eyebrow .dot{background:var(--violet);animation-name:ping2}
.hero-title .line:last-child{color:var(--violet)}
.hero-support,.hero-stats span{color:var(--soft)}
.hero-support strong,.hero-stats strong{color:var(--ink)}
.hero-marquee{background:var(--deep);border:0;color:var(--paper)}
/* text colours that were hard-coded for dark */
.intro-lead,.intro-closing{color:var(--ink)!important}
.intro-lead em{color:var(--violet)}
.pillar-tag{color:var(--violet)!important}
.approach-caption{color:var(--violet)}
.step-num{color:rgba(21,13,34,.3)}
.step.active .step-num{color:var(--violet)}
.reach-list li{color:var(--soft)}
.reach-list strong{color:var(--ink)}
/* ===== v3: hero typography fix ===== */
.hero .container{max-width:1500px}
.hero-grid{grid-template-columns:1.15fr .85fr;gap:clamp(16px,3vw,48px)}
.hero-title .line{white-space:nowrap;padding:.04em 0 .12em}
.hero-title{margin-bottom:32px}
.hero::before{background:radial-gradient(520px circle at var(--mx,70%) var(--my,35%),rgba(200,226,62,.2),transparent 70%)}
@media (max-width:900px){
 .hero-frame{margin-top:8px}
}
/* ===== v4: hero fits the first screen; cursor glow site-wide ===== */
.hero{padding-top:calc(76px + clamp(12px,3vh,36px))}
.hero::before{display:none}
.hero-grid{min-height:calc(100svh - 76px - clamp(12px,3vh,36px) - 24px);align-items:center}
.hero-copy{padding-bottom:0}
.hero-title{margin-bottom:clamp(16px,3vh,32px)}
.hero .eyebrow{margin-bottom:clamp(14px,2.5vh,28px)}
.hero-support{margin-bottom:clamp(18px,3vh,32px)}
.hero-ctas{margin-bottom:clamp(24px,5vh,56px)}
.hero-visual{display:flex;justify-content:center;align-items:center}
.hero-frame{width:auto;height:calc(100svh - 190px);max-width:112%;margin:0;aspect-ratio:1}
.hero-stats{margin-top:0}
@media (max-width:900px){
 .hero-grid{min-height:0}
 .hero-frame{height:auto;width:100%;max-width:480px}
}
/* ===== v5: intro closing row — art paired with the line it illustrates ===== */
.intro{padding-bottom:clamp(64px,8vw,120px)}
.intro-visual-wrap{margin-top:clamp(40px,5vw,72px)}
.intro-foot{display:grid;grid-template-columns:minmax(220px,.62fr) 1.38fr;align-items:center;gap:clamp(24px,5vw,88px);border-top:1px solid var(--line);padding-top:clamp(32px,4vw,56px)}
.intro-foot .intro-visual{max-width:380px;width:100%;margin:0;aspect-ratio:1}
.intro-foot .intro-closing{font-size:clamp(36px,4.8vw,76px);line-height:1;margin:0 0 32px;border-left:0;padding-left:0}
.intro-foot .link-arrow{width:auto;display:inline-flex;gap:16px;padding-top:0;border-top:0;border-bottom:1px solid currentColor;padding-bottom:6px}
@media (max-width:700px){
 .intro-foot{grid-template-columns:1fr}
 .intro-foot .intro-visual{max-width:260px}
}
/* ===== v6: industries as an interactive index ===== */
.ind-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,88px);align-items:start}
.ind-list{border-bottom:1px solid var(--line)}
.ind-list li{border-top:1px solid var(--line)}
.ind-item{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:14px 0;font:400 clamp(30px,3.6vw,56px)/1.05 var(--f-d);color:rgba(21,13,34,.38);transition:color .4s,padding-left .5s var(--ease)}
.ind-item::after{content:"→";font:400 .5em var(--f-b);color:var(--violet);opacity:0;transform:translateX(-12px);transition:opacity .4s,transform .5s var(--ease)}
.ind-item::before{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--violet)}
.ind-item:hover,.ind-item.active{color:var(--ink);padding-left:14px}
.ind-item:hover::after,.ind-item.active::after{opacity:1;transform:none}
.ind-item.active.auto::before{animation:indfill 4.5s linear forwards}
.ind-item.active:not(.auto)::before{width:100%}
.ind-panel{position:sticky;top:104px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;display:flex;flex-direction:column;gap:14px}
.ind-art{aspect-ratio:1;border-radius:10px;background:radial-gradient(closest-side,rgba(200,226,62,.6),rgba(200,226,62,0) 80%),#F6F8E3;overflow:hidden}
.ind-art img{width:100%;height:100%;object-fit:contain;transition:opacity .25s,transform .6s var(--ease)}
.ind-panel.swap .ind-art img{opacity:0;transform:scale(.94)}
.ind-title{font-size:clamp(30px,2.8vw,42px);margin:6px 0 0}
.ind-line{margin:0;font-size:16px}
.ind-tags{display:flex;flex-wrap:wrap;gap:8px}
.ind-tags li{font-size:13px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#F6F8E3}
.ind-panel .link-arrow{margin-top:6px}
@media (max-width:900px){
 .ind-layout{grid-template-columns:1fr}
 .ind-panel{position:static}
}
/* ===== v7: industries — compact tab grid with a detail strip that is always in view ===== */
.ind-layout{display:block}
.ind-art{display:none}
.ind-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:0}
.ind-list li{border:0}
.ind-item{min-height:88px;align-items:flex-start;justify-content:space-between;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff;font:500 16px/1.25 var(--f-b);color:var(--ink);overflow:hidden;transition:background .4s,color .4s,border-color .4s,transform .5s var(--ease)}
.ind-item:hover,.ind-item.active{padding-left:18px;color:var(--ink)}
.ind-item:hover{border-color:var(--violet);transform:translateY(-3px)}
.ind-item::after{content:"→";font:400 16px/1 var(--f-b);opacity:0;transform:none;color:var(--lime)}
.ind-item::before{left:0;bottom:0;height:3px;border-radius:0;background:var(--lime)}
.ind-item.active{background:var(--deep);color:#fff;border-color:var(--deep);transform:none}
.ind-item.active::after{opacity:1}
.ind-panel{position:static;margin-top:16px;padding:clamp(22px,3vw,40px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"t l" "t g" "t a";column-gap:clamp(24px,5vw,80px);row-gap:16px;align-items:start;border-radius:12px}
.ind-title{grid-area:t;margin:0;font-size:clamp(36px,4.2vw,64px);line-height:1}
.ind-line{grid-area:l;font-size:18px;color:var(--soft)}
.ind-tags{grid-area:g}
.ind-panel .link-arrow{grid-area:a;margin-top:8px}
.ind-panel>*{transition:opacity .25s,transform .4s var(--ease)}
.ind-panel.swap>*{opacity:0;transform:translateY(8px)}
@media (max-width:1000px){
 .ind-list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:800px){
 .ind-panel{grid-template-columns:1fr;grid-template-areas:"t" "l" "g" "a"}
}
@media (max-width:560px){
 .ind-list{grid-template-columns:repeat(2,1fr)}
}
/* ===== v8: industries on a half circle (desktop). Below 760px the tab grid + strip from v7 is used ===== */
@media (min-width:761px){
 .ind-layout{position:relative;container-type:inline-size;max-width:1120px;margin:0 auto;aspect-ratio:1/.47}
 .ind-layout::before{content:"";position:absolute;z-index:0;left:14%;top:17.4%;width:72%;height:76.6%;border:1px solid var(--line);border-bottom:0;border-radius:999px 999px 0 0;background:rgba(255,255,255,.35)}
 .ind-layout::after{content:"";position:absolute;z-index:1;left:16.9%;top:23.5%;width:66.2%;height:70.5%;border-radius:999px 999px 0 0;background:#fff;box-shadow:0 30px 60px -30px rgba(45,11,74,.25)}
 .ind-list{position:absolute;inset:0;z-index:3;display:block}
 .ind-list li{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0}
 .ind-item{position:relative;width:28px;height:28px;min-height:0;padding:0!important;border:0!important;border-radius:50%;background:none!important;overflow:visible;transform:none!important;color:var(--soft);display:block}
 .ind-item::after{content:none}
 .ind-item::before{content:"";position:absolute;left:50%;top:50%;width:14px!important;height:14px!important;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;border:2px solid var(--deep);animation:none!important;transition:transform .5s var(--ease),background .3s}
 .ind-item:hover::before{transform:scale(1.4)}
 .ind-item.active::before{background:var(--violet);border-color:var(--violet);transform:scale(1.6)}
 .ind-item:hover .lbl{color:var(--ink)}
 .ind-item.active .lbl{background:var(--deep);color:#fff}
 .ind-panel{position:absolute;z-index:3;left:50%;bottom:7%;width:42%;transform:translateX(-50%);margin:0;padding:0;border:0;background:none;display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(6px,1.2cqw,12px)}
 .ind-title{font-size:clamp(22px,3.2cqw,40px);line-height:1.02}
 .ind-line{font-size:clamp(13px,1.5cqw,17px);line-height:1.45;margin:0}
 .ind-tags{justify-content:center;gap:6px}
 .ind-tags li{font-size:clamp(10px,1.05cqw,12.5px);padding:4px 10px}
 .ind-panel .link-arrow{width:auto;display:inline-flex;gap:12px;border:0;border-bottom:1px solid currentColor;padding:0 0 3px;margin-top:2px;font-size:clamp(12px,1.3cqw,15px)}
}
/* ===== v9: details sit at the bottom of the half circle; top labels split left/right ===== */
@media (min-width:761px){
 .ind-panel{top:auto;bottom:6%;width:38%;gap:clamp(5px,1cqw,10px)}
}
/* products: three routes revealed in sequence */
.products{background:#ECE4F5}
.prod-note{font-size:13px;color:var(--soft);margin-top:18px;max-width:70ch}
.prod-note a{color:var(--violet);font-weight:600}
/* portal */
.portal{background:var(--paper)}
.portal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,88px);align-items:center}
.portal .badge{display:inline-block;background:var(--deep);color:var(--lime);font:600 11px var(--f-b);letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:999px;margin-bottom:18px}
.portal ul{margin:22px 0 26px;border-top:1px solid var(--line)}
.portal li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--soft)}
.portal li b{color:var(--ink);font-weight:600;display:block}
.portal-visual{aspect-ratio:1;background:radial-gradient(closest-side,rgba(200,226,62,.6),rgba(200,226,62,0) 74%)}
.portal-visual img{width:100%;height:100%;object-fit:contain}
@media (max-width:900px){
 .portal-grid{grid-template-columns:1fr}
}
/* ===== v11: hero as EMD, strip title, equal product panels, footer contact ===== */
.hero{z-index:3}
.hero-title .line:last-child{color:var(--violet)}
.h1-reg{font:400 .28em/1 var(--f-b);vertical-align:top;margin-left:.08em;color:var(--violet)}
.hero-slogan{font:500 clamp(15px,1.3vw,19px)/1.35 var(--f-b);letter-spacing:.01em;color:var(--violet);margin:0 0 clamp(14px,2.5vh,22px);text-transform:none}
.hero .eyebrow{font-size:13.5px}
/* hero fully visible at rest; entrance only softens, never hides */
.js .hero .anim-fade-up,.js .hero .anim-hero-visual{opacity:1;clip-path:none}
.hero-title .line>span{transform:none}
/* ===== v13: products as a sticky scroll sequence, one product at a time ===== */
.products.section{overflow:visible;padding-bottom:clamp(48px,6vw,88px)}
.products .section-head{margin-bottom:clamp(16px,3vw,40px)}
.route-scroller{position:relative;height:calc(var(--n) * 72vh + 100vh)}
.route-stage{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;align-items:center;overflow:hidden}
.route-grid{display:grid;grid-template-columns:210px minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center;width:100%}
.route-rail{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line);padding-left:18px}
.route-rail-group{font:600 11px var(--f-b);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:14px 0 4px}
.route-rail-group:first-child{margin-top:0}
.route-rail-group span{color:var(--violet);margin-right:6px}
.route-tab{position:relative;text-align:left;font:500 14px/1.3 var(--f-b);color:var(--soft);padding:5px 0;transition:color .3s,padding-left .4s var(--ease)}
.route-tab::before{content:"";position:absolute;left:-19px;top:50%;width:3px;height:0;background:var(--lime);transform:translateY(-50%);transition:height .4s var(--ease)}
.route-tab:hover{color:var(--ink)}
.route-tab.is-active{color:var(--ink);padding-left:6px}
.route-tab.is-active::before{height:100%}
.route-slides{position:relative;min-height:min(460px,62vh)}
.route-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(70px);transition:opacity .55s var(--ease),transform .8s var(--ease);pointer-events:none}
.route-slide.is-active{opacity:1;transform:none;pointer-events:auto}
.route-slide.is-past{opacity:0;transform:translateY(-70px)}
.route-eyebrow{display:flex;align-items:center;gap:12px;font:600 12px var(--f-b);letter-spacing:.1em;text-transform:uppercase;color:var(--violet);margin:0 0 18px}
.route-eyebrow span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--deep);color:var(--lime);font-size:12px;letter-spacing:0}
.route-name{font:400 clamp(44px,5.6vw,92px)/.95 var(--f-d)!important;letter-spacing:-.02em;color:var(--ink);margin:0 0 18px}
.route-for{font:italic 400 clamp(20px,1.8vw,26px)/1.25 var(--f-d);color:var(--violet)!important;margin:0 0 16px}
.route-desc{font-size:clamp(15px,1.15vw,17px);max-width:52ch;margin:0 0 20px}
.route-inv{display:flex;gap:12px;align-items:baseline;font-size:14px;color:var(--soft)!important;border-top:1px solid var(--line);padding-top:14px;max-width:52ch;margin:0}
.route-inv b{font:600 11px var(--f-b);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.route-count{position:absolute;right:0;bottom:0;font:400 14px var(--f-d);color:var(--soft);letter-spacing:.08em}
.route-visual{position:relative;height:min(560px,68vh)}
.route-blob{position:absolute;inset:8% 4%;border-radius:50%;background:radial-gradient(closest-side,rgba(200,226,62,.65),rgba(200,226,62,0) 75%);transition:transform 1s var(--ease)}
.route-img{position:absolute;left:50%;bottom:0;height:100%;width:auto;max-width:none;transform:translate(-50%,40px) scale(.92);opacity:0;transition:opacity .6s var(--ease),transform .9s var(--ease);will-change:transform}
.route-img.is-active{opacity:1;transform:translate(-50%,var(--py,0px)) scale(1)}
.route-img.is-past{opacity:0;transform:translate(-50%,-40px) scale(.96)}
.route-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(74,45,112,.12)}
.route-progress i{display:block;height:100%;width:var(--rp,0%);background:var(--violet);transition:width .2s linear}
@media (max-width:1000px){
 .route-grid{grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}
 .route-rail{display:none}
}
@media (max-width:700px){
 .route-scroller{height:calc(var(--n) * 80vh + 100vh)}
 .route-grid{grid-template-columns:1fr;gap:8px;align-content:center}
 .route-visual{order:-1;height:28vh}
 .route-slides{min-height:52vh}
 .route-slide{justify-content:flex-start}
 .route-name{font-size:clamp(38px,11vw,56px)!important}
 .route-count{position:static;margin-top:12px}
}
/* static fallback: reduced motion or no JS */
html:not(.js) .route-scroller,.route-static .route-scroller{height:auto}
html:not(.js) .route-stage,.route-static .route-stage{position:static;height:auto;display:block}
html:not(.js) .route-slides,.route-static .route-slides{min-height:0;display:flex;flex-direction:column;gap:48px}
html:not(.js) .route-slide,.route-static .route-slide{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto}
html:not(.js) .route-visual,.route-static .route-visual,html:not(.js) .route-rail,.route-static .route-rail,.route-static .route-progress{display:none}
html:not(.js) .route-grid,.route-static .route-grid{grid-template-columns:1fr}


/* H1 keyword line (Batch 7) */
.hero-title .h1-abbr{font-size:.42em;font-style:normal;letter-spacing:0;vertical-align:.55em;margin-left:.12em;color:inherit}
.hero-title .h1-sub{display:block;margin-top:18px;font:500 clamp(17px,1.5vw,22px)/1.35 var(--f-b);letter-spacing:.01em;color:var(--ink);font-style:normal;white-space:normal}
