/* KRL public site — Sholapith: carved ivory pith, one deep paddy green, Bengali serif type. Same world as the enrolment portal.
   Motion is carved, not bouncy: strokes draw in like a knife on pith, plaques rise, numbers settle. All of it stops under reduced motion. */
:root{
  --paper:#f2efe6;--plaque:#fbf9f3;--carve:#e4dccb;--carve-deep:#d6cbb4;
  --green:#1f4d36;--green-dark:#173b29;--green-mid:#2f6649;--green-soft:#7f9f86;--tint:#e9efe4;
  --ink:#1d2b23;--ink-2:#3b4840;--muted:#5e6b62;--brass:#7a6233;
  --serif:"Tiro Bangla","Noto Serif Bengali",Georgia,serif;
  --text:"Noto Serif Bengali","Tiro Bangla",Georgia,serif;
  --wrap:min(1180px,calc(100% - 48px));
  --ease:cubic-bezier(.16,1,.3,1);
  --lift:0 1px 0 #fff inset,0 18px 40px -26px #1d2b2359,0 4px 10px -6px #1d2b2322;
  --hem-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 0H24V.5A12 10.5 0 0 1 0 .5Z' fill='%23fbf9f3'/%3E%3Cpath d='M24 .5A12 10.5 0 0 1 0 .5' fill='none' stroke='%23d6cbb4' stroke-width='.8'/%3E%3Ccircle cx='12' cy='5' r='1.5' fill='%23f2efe6' stroke='%23d6cbb4' stroke-width='.6'/%3E%3C/svg%3E");
  --hem-up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 12H24V11.5A12 10.5 0 0 0 0 11.5Z' fill='%23fbf9f3'/%3E%3Cpath d='M24 11.5A12 10.5 0 0 0 0 11.5' fill='none' stroke='%23d6cbb4' stroke-width='.8'/%3E%3Ccircle cx='12' cy='7' r='1.5' fill='%23f2efe6' stroke='%23d6cbb4' stroke-width='.6'/%3E%3C/svg%3E");
  --hem-green:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 12H24V11.5A12 10.5 0 0 0 0 11.5Z' fill='%231f4d36'/%3E%3Ccircle cx='12' cy='7.5' r='1.5' fill='none' stroke='%23f2efe6' stroke-opacity='.5' stroke-width='.6'/%3E%3C/svg%3E");
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .27 0 0 0 0 .18 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%;scrollbar-color:var(--carve-deep) var(--paper)}
body{margin:0;background:var(--paper) var(--grain);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--green);margin:0;text-wrap:balance}
p{margin:0}
::selection{background:#cddfcc;color:var(--green-dark)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--green);color:#fbf9f3;padding:10px 16px;border-radius:8px;text-decoration:none}
.skip:focus{top:12px}

/* Icons: Phosphor Light, one weight everywhere. */
.icon{width:30px;height:30px;fill:currentColor;flex-shrink:0}

/* Sholapith rosette ornament */
.rosette{fill:none;stroke:var(--carve-deep);stroke-width:1;pointer-events:none}
.rosette .dots{stroke-width:2.4;stroke-linecap:round;stroke-dasharray:0 9}

/* Header with a carved hem and a reading thread */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:12px max(24px,calc((100% - 1180px)/2));background:var(--plaque);transition:padding .4s var(--ease),box-shadow .4s}
.site-header:after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;background:var(--hem-down) repeat-x 0 0/24px 12px;pointer-events:none}
.scrolled .site-header{padding-top:7px;padding-bottom:7px;box-shadow:0 10px 30px -24px #1d2b2380}
.progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--green);transform-origin:0 50%;transform:scaleX(var(--p,0));opacity:.85}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-krl{height:58px;width:auto;transition:height .4s var(--ease)}
.brand-rule{width:1px;height:34px;background:var(--carve-deep)}
.brand-partners{width:170px;transition:width .4s var(--ease)}
.scrolled .brand-krl{height:48px}
.scrolled .brand-partners{width:150px}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{position:relative;text-decoration:none;color:var(--ink-2);font-size:15.5px;padding:4px 0}
.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--green);transform:scaleX(0);transition:transform .35s var(--ease)}
.nav a:hover,.nav a.current{color:var(--green)}
.nav a:hover:after,.nav a.current:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:10px}
.lang{font:inherit;font-size:14.5px;color:var(--green);background:transparent;border:1px solid var(--carve-deep);border-radius:8px;min-height:40px;padding:0 14px;cursor:pointer;transition:background .2s,border-color .2s}
.lang:hover{background:var(--tint);border-color:var(--green)}
main{transition:opacity .22s ease;overflow-x:clip}
.lang-swap main{opacity:0}

/* Buttons: a carved inner rule, a slow sheen and an arrow that steps forward. */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:8px;font-family:var(--text);font-size:16.5px;font-weight:600;text-decoration:none;transition:background .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s}
.btn-small{min-height:40px;padding:0 16px;font-size:15px}
.btn-primary{background:var(--green);border:1px solid var(--green);color:#fbf9f3;box-shadow:inset 0 0 0 3px var(--green),inset 0 0 0 4px #fbf9f333}
.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark);box-shadow:inset 0 0 0 3px var(--green-dark),inset 0 0 0 4px #fbf9f340,0 14px 26px -16px #173b29aa;transform:translateY(-1px)}
.btn-primary:before,.btn-ivory:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,#ffffff2e 50%,transparent 65%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn-primary:hover:before,.btn-ivory:hover:before{transform:translateX(120%)}
.btn-quiet{border:1px solid var(--carve-deep);color:var(--green);background:#fbf9f399}
.btn-quiet:hover{background:var(--tint);border-color:var(--green)}
.btn-ivory{background:var(--plaque);color:var(--green);border:1px solid var(--plaque);box-shadow:inset 0 0 0 3px var(--plaque),inset 0 0 0 4px var(--carve-deep)}
.btn-ivory:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 3px var(--plaque),inset 0 0 0 4px var(--carve-deep),0 16px 30px -18px #0009}
.btn-ivory:before{background:linear-gradient(105deg,transparent 35%,#1f4d3614 50%,transparent 65%)}
.arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}

/* Hero: the signature moment. The rosette is carved in, the photo is unveiled from the soil up, the headline rises. */
.hero{width:var(--wrap);margin:0 auto;padding:72px 0 76px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.12;letter-spacing:-.01em}
.hero h1 .line{display:block}
.hero h1 .accent{color:var(--ink)}
.lede{margin-top:24px;font-size:19px;color:var(--ink-2);max-width:34em}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.hero-note{margin-top:16px;font-size:14.5px;color:var(--muted)}
.hero-figure{margin:0;position:relative;padding:5% 6% 0}
.hero-rosette{position:absolute;width:118%;left:-9%;top:-14%;z-index:0;opacity:.9}
.arch{position:relative;z-index:1;border-radius:999px 999px 16px 16px;overflow:hidden;background:var(--plaque);padding:10px;box-shadow:inset 0 0 0 1px var(--carve),0 30px 60px -34px #1d2b2380}
.arch img{width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:100% 40%;border-radius:999px 999px 6px 6px;outline:1px solid #1d2b231a;outline-offset:-1px;transform:translateY(var(--py,0px)) scale(1.08)}
.badge{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 14px;background:var(--plaque);border-radius:10px;box-shadow:inset 0 0 0 4px var(--plaque),inset 0 0 0 5px var(--carve),var(--lift);line-height:1.35}
.badge strong{display:block;font-family:var(--serif);font-weight:400;font-size:18px;color:var(--green)}
.badge span>span{font-size:13.5px;color:var(--muted)}
.badge .icon{color:var(--green);width:28px;height:28px}
.badge-open{right:-4%;bottom:10%}
.badge-prize{left:-6%;top:30%}
.pulse{position:relative;width:12px;height:12px;border-radius:50%;background:var(--green);flex-shrink:0;margin:0 4px}
.pulse:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--green);opacity:0;animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes bob{50%{transform:translateY(-7px)}}
@keyframes turn{to{transform:rotate(360deg)}}

/* League numbers on a carved plaque */
.numbers{position:relative;background:var(--plaque);padding:46px 0 42px;margin-top:12px}
.numbers:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:12px;background:var(--hem-up) repeat-x 0 0/24px 12px}
.numbers:after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;background:var(--hem-down) repeat-x 0 0/24px 12px}
.numbers ul{width:var(--wrap);margin:0 auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.numbers li{position:relative;padding-left:22px}
.numbers li:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--carve-deep),transparent)}
.numbers li:after{content:"";position:absolute;left:-3px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--plaque);box-shadow:inset 0 0 0 1px var(--carve-deep)}
.figure{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.4vw,58px);line-height:1;color:var(--green);font-variant-numeric:tabular-nums}
.figure-label{display:block;margin-top:12px;font-weight:600;color:var(--ink)}
.numbers p{margin-top:4px;font-size:14.5px;color:var(--muted);line-height:1.6}

/* Sections */
.section{width:var(--wrap);margin:0 auto;padding:144px 0 0}
.section-head{max-width:46em;margin-bottom:56px}
.section-head:before{content:"";display:block;width:56px;height:14px;margin-bottom:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 14'%3E%3Cg fill='none' stroke='%231f4d36' stroke-linecap='round'%3E%3Cpath d='M0 7h18M38 7h18' stroke-opacity='.45'/%3E%3Cpath d='M28 1.5c2.6 2.4 2.6 8.6 0 11-2.6-2.4-2.6-8.6 0-11zM22 7c2.2-2.2 4-2.6 6-2.6M34 7c-2.2-2.2-4-2.6-6-2.6M22 7c2.2 2.2 4 2.6 6 2.6M34 7c-2.2 2.2-4 2.6-6 2.6'/%3E%3C/g%3E%3C/svg%3E") no-repeat 0 0/56px 14px;transform-origin:0 50%}
.section h2{font-size:clamp(30px,3.6vw,46px);line-height:1.2;letter-spacing:-.005em}
.section-lede{margin-top:16px;font-size:18px;color:var(--ink-2)}
.fine{margin-top:24px;font-size:14px;color:var(--muted)}
.prose p+p{margin-top:16px}
.prose{font-size:18px;color:var(--ink-2)}

/* About: prose, a carved quotation and the four-stage path */
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
.quote{position:relative;margin:0;padding:34px 0 0 34px}
.quote-rosette{position:absolute;width:260px;left:-70px;top:-70px;opacity:.55}
.quote-mark{position:absolute;top:-18px;left:18px;font-family:var(--serif);font-size:130px;line-height:1;color:var(--carve-deep)}
.quote p{position:relative;font-family:var(--serif);font-size:clamp(26px,2.4vw,32px);line-height:1.4;color:var(--green)}
.quote footer{position:relative;margin-top:16px;font-size:14.5px;color:var(--muted);display:flex;align-items:center;gap:10px}
.quote footer:before{content:"";width:28px;height:1px;background:var(--brass)}
.values-wrap{position:relative;margin-top:84px}
.vine{position:absolute;left:12.5%;right:12.5%;top:26px;width:75%;height:40px;fill:none;stroke:var(--carve-deep);stroke-width:1.2;vector-effect:non-scaling-stroke;overflow:visible}
.vine path{vector-effect:non-scaling-stroke}
.values{position:relative;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.medal{position:relative;display:grid;place-items:center;width:92px;height:92px;margin:0 auto 22px;border-radius:50%;background:var(--plaque);color:var(--green);box-shadow:0 0 0 7px var(--paper),0 0 0 8px var(--carve-deep),0 18px 34px -20px #1d2b2366;transition:translate .25s var(--ease),background .25s,color .25s}
.medal:before{content:"";position:absolute;inset:7px;border-radius:50%;border:1.5px dotted var(--carve-deep)}
.medal .icon{width:38px;height:38px}
.values li:hover .medal{translate:0 -4px;background:var(--green);color:#fbf9f3}
.values li:hover .medal:before{border-color:#fbf9f355}
.values h3{font-size:26px;margin-bottom:6px}
.values p{font-size:15.5px;color:var(--ink-2);max-width:17em;margin:0 auto}

/* Pillars: one weighted bar that fills in order, then the four carved plaques */
.weights{display:flex;gap:4px;margin-bottom:22px;height:44px}
.seg{position:relative;flex:0 0 calc(var(--w) * 1% - 3px);border-radius:3px;background:var(--green);transform-origin:0 50%;transition:filter .3s,transform .3s}
.seg:nth-child(2){background:var(--green-mid)}
.seg:nth-child(3){background:var(--green-soft)}
.seg:nth-child(4){background:var(--green-dark)}
.seg em{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:14px;font-weight:600;color:#fbf9f3;white-space:nowrap}
.seg:nth-child(3) em{left:auto;right:auto;top:auto;bottom:calc(100% + 6px);transform:none;color:var(--green);left:0}
.pillars{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pillar{position:relative;overflow:hidden;background:var(--plaque);border-radius:6px;padding:26px 24px 30px;box-shadow:inset 0 0 0 6px var(--plaque),inset 0 0 0 7px var(--carve);transition:translate .25s var(--ease),box-shadow .25s ease}
.pillar:hover{translate:0 -6px;box-shadow:inset 0 0 0 6px var(--plaque),inset 0 0 0 7px var(--carve-deep),var(--lift)}
.watermark{position:absolute;right:-6px;bottom:-26px;font-family:var(--serif);font-size:92px;line-height:1;color:var(--paper);pointer-events:none;transition:transform .4s var(--ease),color .3s}
.pillar:hover .watermark{transform:translateY(-8px);color:var(--tint)}
.pillar>*{position:relative}
.pillar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.pillar-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--tint);color:var(--green)}
.pillar h3{font-size:29px;margin-bottom:2px}
.weight{font-family:var(--serif);font-size:34px;color:var(--green);font-variant-numeric:tabular-nums}
.pillar-title{font-weight:600;color:var(--ink);margin-bottom:6px}
.pillar p:last-child{font-size:15.5px;color:var(--ink-2)}
.model:has(.pillar:nth-child(1):hover) .seg:not(:nth-child(1)),
.model:has(.pillar:nth-child(2):hover) .seg:not(:nth-child(2)),
.model:has(.pillar:nth-child(3):hover) .seg:not(:nth-child(3)),
.model:has(.pillar:nth-child(4):hover) .seg:not(:nth-child(4)){filter:saturate(.2) opacity(.35)}

/* Teams */
.team-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.team{position:relative;background:var(--plaque);border-radius:6px;padding:20px 16px 18px;text-align:center;box-shadow:inset 0 0 0 1px var(--carve);transition:translate .25s var(--ease),box-shadow .25s ease}
.team:hover{translate:0 -5px;box-shadow:inset 0 0 0 1px var(--carve-deep),var(--lift)}
.team img{height:150px;width:auto;max-width:100%;margin:4px auto 12px;object-fit:contain;transition:transform .3s var(--ease)}
.team:hover img{transform:scale(1.06) rotate(-1.5deg)}
.team h3{font-size:19px;line-height:1.3}
.team p{margin-top:4px;font-size:13.5px;line-height:1.5;color:var(--muted)}
/* Anthem: one recording, a card in the Teams section and a dock that stays on screen */
.anthem-card{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:22px;margin-top:34px;padding:18px 28px 18px 18px;background:var(--plaque);border-radius:999px;box-shadow:inset 0 0 0 5px var(--plaque),inset 0 0 0 6px var(--carve),var(--lift)}
.anthem-text strong{display:block;color:var(--green);font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.3;white-space:nowrap}
.anthem-text span{font-size:14px;color:var(--muted);white-space:nowrap}
.play{position:relative;flex-shrink:0;width:60px;height:60px;border-radius:50%;border:0;background:var(--green);cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .3s var(--ease)}
.play:hover{background:var(--green-dark);transform:scale(1.05)}
.play:before,.play:after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--green);opacity:0}
.playing .play:before{animation:pulse 2.2s var(--ease) infinite}
.playing .play:after{animation:pulse 2.2s var(--ease) 1.1s infinite}
.play-icon{width:0;height:0;border-left:15px solid #fbf9f3;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:5px}
.playing .play-icon{width:15px;height:17px;border:0;margin:0;background:linear-gradient(90deg,#fbf9f3 0 35%,transparent 35% 65%,#fbf9f3 65%)}
.wave{position:relative;height:46px;cursor:grab;border-radius:4px;touch-action:none;user-select:none;-webkit-user-select:none}
.wave:focus-visible{outline-offset:6px}
.thumb{position:absolute;top:-4px;bottom:-4px;left:var(--pos,0%);width:2px;margin-left:-1px;border-radius:2px;background:var(--green);opacity:0;transition:opacity .2s,left .25s linear;pointer-events:none}
.thumb:before{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--plaque);box-shadow:inset 0 0 0 2px var(--green),0 4px 10px -3px #173b2966;transition:scale .15s var(--ease)}
.wave:hover .thumb,.playing .thumb,.scrubbing .thumb,.wave:focus-visible .thumb{opacity:1}
.scrubbing .wave{cursor:grabbing}
.scrubbing .thumb:before{scale:1.3}
.scrubbing .wave-fill,.scrubbing .thumb{transition:none}
.wave-base,.wave-fill{position:absolute;inset:0;display:flex;align-items:center;gap:2px}
.wave i{flex:1;height:var(--h);min-width:2px;border-radius:2px;background:var(--carve-deep);transform-origin:50% 50%}
.wave-fill{clip-path:inset(0 calc(100% - var(--pos,0%)) 0 0);transition:clip-path .25s linear}
.wave-fill i{background:var(--green)}
.playing .wave-fill i{animation:breathe 1.2s ease-in-out infinite alternate;animation-delay:calc(var(--h) * -.02s)}
@keyframes breathe{to{transform:scaleY(.72)}}
.time{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock{position:fixed;left:20px;bottom:20px;z-index:60;transition:transform .5s var(--ease),opacity .5s}
.dock-btn{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px 0 14px;border:0;border-radius:999px;background:var(--green);color:#fbf9f3;font:inherit;font-size:14.5px;cursor:pointer;box-shadow:inset 0 0 0 3px var(--green),inset 0 0 0 4px #fbf9f340,0 16px 30px -14px #173b29b3;transition:background .2s,transform .3s var(--ease)}
.dock-btn:hover{background:var(--green-dark);transform:translateY(-2px)}
.dock-on{display:none}
.playing .dock-on{display:inline}.playing .dock-off{display:none}
.eq{display:flex;align-items:flex-end;gap:2.5px;height:16px}
.eq i{width:3px;height:35%;border-radius:2px;background:currentColor;opacity:.75}
.playing .eq i{animation:eq 1s ease-in-out infinite alternate}
.playing .eq i:nth-child(2){animation-delay:-.4s}.playing .eq i:nth-child(3){animation-delay:-.7s}.playing .eq i:nth-child(4){animation-delay:-.2s}
.near-end .dock{transform:translateY(140%);opacity:0;pointer-events:none}
@keyframes eq{from{height:20%}to{height:100%}}

/* Team carousel controls (phone only) */
.team-nav{display:none;align-items:center;gap:12px;margin-top:6px}
.team-step{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--plaque);color:var(--green);box-shadow:inset 0 0 0 1px var(--carve-deep);cursor:pointer;transition:background .2s,scale .2s var(--ease),opacity .2s}
.team-step:active{scale:.94}
.team-step:disabled{opacity:.35}
.team-step .icon{width:20px;height:20px}
.team-track{flex:1;height:2px;background:var(--carve);border-radius:2px;overflow:hidden}
.team-track span{display:block;height:100%;width:100%;background:var(--green);transform-origin:0 50%;transform:scaleX(var(--tp,.2));transition:transform .2s linear}
.team-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:3.6em;text-align:center}

/* Season: a thread runs through four carved nodes */
.season{position:relative}
.track{position:absolute;left:36px;right:12.5%;top:35px;height:2px;background:var(--carve)}
.track span{position:absolute;inset:0;background:var(--green);transform-origin:0 50%}
.steps{position:relative;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.steps li{position:relative;padding:0 6px 0 0}
.node{position:relative;display:grid;place-items:center;width:72px;height:72px;margin-bottom:24px;border-radius:50%;background:var(--plaque);color:var(--green);box-shadow:0 0 0 6px var(--paper),0 0 0 7px var(--carve-deep),0 14px 28px -18px #1d2b2366}
.node .icon{width:32px;height:32px}
.now .node{background:var(--green);color:#fbf9f3}
.now .node:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid var(--green);animation:pulse 2.6s var(--ease) infinite}
.step-date{display:block;font-size:14px;font-weight:600;color:var(--brass);margin-bottom:6px}
.steps h3{font-size:24px;margin-bottom:8px}
.steps p{font-size:15.5px;color:var(--ink-2)}

/* Bhite Mati */
.roots-grid{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:center;padding:8px 0}
.roots-rosette{position:absolute;width:620px;right:-120px;top:50%;margin-top:-310px;opacity:.6}
.roots-text,.instalments{position:relative}
.roots h2{margin-bottom:18px}
.roots-text>p:not(.fine){font-size:17.5px;color:var(--ink-2)}
.instalments{text-align:center}
.instalment-total{font-family:var(--serif);font-size:clamp(48px,5vw,68px);line-height:1;color:var(--green)}
.instalments ol{list-style:none;padding:0;margin:24px 0 14px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:end}
.instalments li{display:flex;flex-direction:column;align-items:center;gap:8px}
.pot{display:block;width:100%;height:120px;border-radius:999px 999px 4px 4px;background:var(--tint);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px var(--carve)}
.pot:after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--h);background:var(--green);border-radius:inherit;transform-origin:50% 100%}
.amt{font-size:13.5px;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.instalments>p:last-child{color:var(--muted);font-size:15px}

/* Prizes: a trophy stage — the purse in a laurel, and how it is shared */
.stage{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;padding:56px 56px 56px 40px;background:var(--green);border-radius:8px;color:#fbf9f3;box-shadow:inset 0 0 0 8px var(--green),inset 0 0 0 9px #fbf9f340,0 40px 70px -40px #173b29d9}
.rays{position:absolute;left:24%;top:50%;width:1400px;height:1400px;margin:-700px 0 0 -700px;background:repeating-conic-gradient(from 0deg,#fbf9f30d 0 4deg,transparent 4deg 12deg);-webkit-mask:radial-gradient(closest-side,#000 10%,transparent 70%);mask:radial-gradient(closest-side,#000 10%,transparent 70%);pointer-events:none}
.purse{position:relative;aspect-ratio:1;width:100%;max-width:440px;margin:0 auto;display:grid;place-items:center}
.purse-rosette{position:absolute;inset:0;width:100%;stroke:#fbf9f3;opacity:.22}
.laurel{position:absolute;inset:6%;width:88%;fill:#fbf9f312;stroke:#e9dfc4;stroke-width:1.2;stroke-linejoin:round}
.laurel .stem{fill:none}
.purse-disc{position:relative;display:grid;justify-items:center;align-content:center;width:56%;aspect-ratio:1;border-radius:50%;background:var(--plaque);color:var(--green);text-align:center;box-shadow:0 0 0 6px var(--green),0 0 0 7px #fbf9f366,0 24px 50px -16px #0b1f15}
.purse-disc .icon{width:34px;height:34px;margin-bottom:6px}
.purse-disc strong{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,48px);line-height:1.05}
.purse-disc span{margin-top:6px;font-size:14px;color:var(--muted);max-width:11em;line-height:1.4}
.share h3{color:#fbf9f3;font-size:24px;margin-bottom:16px}
.pool{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;height:12px;margin-bottom:22px}
.pool span{border-radius:3px;background:#fbf9f3;transform-origin:0 50%}
.pool span:nth-child(2){background:#c9d8c6}
.pool span:nth-child(3){background:repeating-linear-gradient(135deg,#fbf9f366 0 3px,transparent 3px 7px);box-shadow:inset 0 0 0 1px #fbf9f366}
.prize-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.prize-cards li{position:relative;padding:20px 18px 20px;border-radius:6px;background:var(--plaque);color:var(--green);box-shadow:inset 0 0 0 4px var(--plaque),inset 0 0 0 5px var(--carve);transition:translate .25s var(--ease)}
.prize-cards li:hover{translate:0 -4px}
.prize-cards .icon{width:30px;height:30px;margin-bottom:14px}
.prize-cards strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.5vw,34px);line-height:1.1}
.prize-cards span{display:block;margin-top:6px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.prize-cards .tbc{background:transparent;color:#fbf9f3;box-shadow:inset 0 0 0 1px #fbf9f366}
.prize-cards .tbc strong{font-size:clamp(21px,1.9vw,25px);padding-top:5px}
.prize-cards .tbc span{color:#dfe8dc}
.support{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid #fbf9f32e;color:#dfe8dc;font-size:15.5px}
.support .icon{color:#fbf9f3}

/* FAQ: answers unfold rather than snap open; the voice guide waits beside them */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:64px;align-items:start}
.faq-side{position:sticky;top:120px}
.ask{position:relative;padding:26px 26px 24px;background:var(--plaque);border-radius:8px;box-shadow:inset 0 0 0 6px var(--plaque),inset 0 0 0 7px var(--carve),var(--lift)}
.ask-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:50%;background:var(--green);color:#fbf9f3;position:relative}
.ask-icon:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--green);animation:pulse 2.8s var(--ease) infinite}
.ask strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--green)}
.ask p{margin-top:8px;font-size:15.5px;color:var(--ink-2)}
.ask-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--green);font-weight:600;font-size:15.5px;text-decoration:none}
.ask-link:hover .arrow{transform:translateX(4px)}
.faq-list{border-top:1px solid var(--carve)}
.faq-list details{border-bottom:1px solid var(--carve);interpolate-size:allow-keywords}
.faq-list details::details-content{height:0;overflow:clip;transition:height .45s var(--ease),content-visibility .45s allow-discrete}
.faq-list details[open]::details-content{height:auto}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 52px 22px 0;position:relative;font-family:var(--serif);font-size:21px;color:var(--green);transition:padding .25s var(--ease)}
.faq-list summary:hover{padding-left:10px}
.faq-list summary::-webkit-details-marker{display:none}
.plus{position:absolute;right:4px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--carve-deep);transition:background .3s,transform .45s var(--ease)}
.plus:before,.plus:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--green);transition:transform .45s var(--ease)}
.plus:after{transform:rotate(90deg)}
summary:hover .plus{background:var(--tint)}
details[open] .plus{transform:rotate(180deg);background:var(--green)}
details[open] .plus:before{background:#fbf9f3}
details[open] .plus:after{transform:rotate(0);background:#fbf9f3}
.faq-list details p{padding:0 52px 24px 0;color:var(--ink-2);max-width:46em}

/* Closing call to action, carved into green */
.cta{position:relative;overflow:hidden;margin-top:128px;background:var(--green);color:#fbf9f3;text-align:center;padding:96px 24px 104px}
.cta:before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:var(--hem-down) repeat-x 0 0/24px 12px;filter:none}
.cta-rosette{position:absolute;width:760px;left:50%;top:50%;margin:-380px 0 0 -380px;stroke:#fbf9f3;opacity:.12}
.cta-inner{position:relative}
.cta h2{font-size:clamp(34px,4.4vw,56px);color:#fbf9f3}
.cta p{margin:16px auto 32px;color:#dfe8dc;max-width:32em}

/* Footer: carved plaque, brand, links and a way back up */
.site-footer{position:relative;overflow:hidden;background:var(--plaque);padding:56px 0 28px}
.footer-rosette{position:absolute;width:520px;right:-140px;bottom:-260px;opacity:.6}
.footer-inner{position:relative;width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr auto;gap:48px;align-items:start}
.footer-krl{height:120px;width:auto;margin-bottom:18px}
.footer-logo{width:200px}
.footer-brand p{margin-top:16px;max-width:30em;color:var(--muted);font-size:15px}
.footer-links{display:grid;gap:2px}
.footer-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--carve);color:var(--green);text-decoration:none;font-family:var(--serif);font-size:18px;transition:padding .25s var(--ease)}
.footer-links a:hover{padding-left:6px}
.footer-links .icon{width:20px;height:20px;transition:translate .25s var(--ease)}
.footer-links a:hover .icon{translate:2px -2px}
.to-top{display:inline-flex;align-items:center;gap:10px;color:var(--green);text-decoration:none;font-size:15px}
.to-top .icon{width:20px;height:20px;padding:10px;box-sizing:content-box;border-radius:50%;box-shadow:inset 0 0 0 1px var(--carve-deep);transition:background .2s,translate .25s var(--ease)}
.to-top:hover .icon{background:var(--tint);translate:0 -2px}
.footer-base{position:relative;width:var(--wrap);margin:44px auto 0;padding-top:20px;border-top:1px solid var(--carve);font-size:13.5px;color:var(--muted)}

/* Press feedback: controls give way slightly under a finger. */
.btn,.play,.dock-btn,.lang{transition:background .2s,border-color .2s,box-shadow .2s,transform .25s var(--ease),scale .2s var(--ease)}
.btn:active,.play:active,.dock-btn:active,.lang:active,.faq-list summary:active .plus{scale:.96;transition-duration:.08s}

/* ---------- Motion (only with JS and without reduced motion; everything is visible otherwise) ---------- */
@media (prefers-reduced-motion:no-preference){
  /* Hero choreography on load */
  .js .hero h1 .line{animation:rise 1.1s var(--ease) both}
  .js .hero h1 .accent{animation-delay:.14s}
  .js .lede{animation:rise 1s var(--ease) .3s both}
  .js .hero-actions{animation:rise 1s var(--ease) .42s both}
  .js .hero-note{animation:rise 1s var(--ease) .5s both}
  .js .arch{animation:unveil 1.5s var(--ease) .1s both}
  .js .arch img{animation:settle 2.6s var(--ease) .1s both}
  .js .hero-rosette{animation:turn 240s linear infinite}
  .js .hero-rosette path,.js .hero-rosette circle:not(.dots){stroke-dasharray:1;animation:carve 2.4s var(--ease) .2s both}
  .js .hero-rosette .ring-b{animation-delay:.55s}
  .js .hero-rosette .ring-c{animation-delay:.9s}
  .js .hero-rosette .dots{animation:fade 1.4s ease 1s both}
  .js .badge-open{animation:pop .9s var(--ease) 1s both,bob 6s ease-in-out 2s infinite}
  .js .badge-prize{animation:pop .9s var(--ease) 1.2s both,bob 7s ease-in-out 2.6s infinite}

  /* Shared reveal hooks */
  .js .reveal .section-head:before,.js .section-head.reveal:before{transform:scaleX(0);transition:transform 1s var(--ease) .1s}
  .js .section-head.reveal h2,.js .section-head.reveal .section-lede{clip-path:inset(-20% -5% 100% -5%);transform:translateY(.35em);transition:clip-path 1s var(--ease),transform 1s var(--ease)}
  .js .section-head.reveal .section-lede{transition-delay:.12s}
  .js .section-head.in:before{transform:none}
  .js .section-head.in h2,.js .section-head.in .section-lede{clip-path:inset(-20% -5% -20% -5%);transform:none}

  .js .reveal.fade{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .js .reveal.fade.in{opacity:1;transform:none}

  /* Line icons and rosettes carve themselves in */
  .js .reveal .icon{opacity:0;scale:.7;filter:blur(4px);transition:opacity .6s var(--ease) calc(var(--i,0) * .12s + .35s),scale .6s var(--ease) calc(var(--i,0) * .12s + .35s),filter .6s var(--ease) calc(var(--i,0) * .12s + .35s)}
  .js .reveal.in .icon{opacity:1;scale:1;filter:none}
  .js .reveal .rosette path,.js .reveal .rosette circle:not(.dots){stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s var(--ease) .2s}
  .js .reveal.in .rosette path,.js .reveal.in .rosette circle{stroke-dashoffset:0}
  .js .cta-rosette,.js .roots-rosette{animation:turn 300s linear infinite}

  /* Numbers settle upward */
  .js .numbers li{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js .numbers li:nth-child(2){transition-delay:.1s}.js .numbers li:nth-child(3){transition-delay:.2s}.js .numbers li:nth-child(4){transition-delay:.3s}
  .js .numbers.in li{opacity:1;transform:none}

  /* The four stages: the vine grows, medallions rise along it */
  .js .vine path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s var(--ease) .2s}
  .js .values-wrap.in .vine path{stroke-dashoffset:0}
  .js .values li{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease) calc(var(--i) * .18s + .2s),transform .9s var(--ease) calc(var(--i) * .18s + .2s)}
  .js .values-wrap.in .values li{opacity:1;transform:none}

  /* Weights fill in order */
  .js .weights .seg{transform:scaleX(0);transition:transform 1s var(--ease)}
  .js .weights .seg:nth-child(2){transition-delay:.25s}.js .weights .seg:nth-child(3){transition-delay:.5s}.js .weights .seg:nth-child(4){transition-delay:.75s}
  .js .weights.in .seg{transform:none}
  .js .weights .seg em{opacity:0;transition:opacity .6s ease 1.1s}
  .js .weights.in .seg em{opacity:1}
  .js .pillars .pillar{opacity:0;transform:translateY(26px)}
  .js .pillars.in .pillar{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease),translate .25s var(--ease),box-shadow .25s ease}
  .js .pillars.in .pillar:nth-child(2){transition-delay:.1s,.1s,0s}.js .pillars.in .pillar:nth-child(3){transition-delay:.2s,.2s,0s}.js .pillars.in .pillar:nth-child(4){transition-delay:.3s,.3s,0s}

  /* Teams cascade in */
  .js .team-grid .team{opacity:0;transform:translateY(20px) scale(.98)}
  .js .team-grid.in .team{opacity:1;transform:none;transition:opacity .8s var(--ease) calc(var(--i) * .05s),transform .8s var(--ease) calc(var(--i) * .05s),translate .25s var(--ease),box-shadow .25s ease}

  /* Season thread draws, nodes arrive as it passes them */
  .js .track span{transform:scaleX(0);transition:transform 2.2s var(--ease) .2s}
  .js .season.in .track span{transform:none}
  .js .steps li{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease) calc(var(--i) * .4s + .2s),transform .9s var(--ease) calc(var(--i) * .4s + .2s)}
  .js .season.in .steps li{opacity:1;transform:none}

  /* Instalments fill one by one */
  .js .pot:after{transform:scaleY(0);transition:transform 1.1s var(--ease) calc(var(--i) * .18s + .3s)}
  .js .instalments.in .pot:after{transform:none}

  .js .rays{animation:turn 160s linear infinite}
  .js .purse-rosette{animation:turn 220s linear infinite reverse}
  .js .stage .purse-disc{opacity:0;transform:scale(.86);transition:opacity 1s var(--ease) .2s,transform 1.2s var(--ease) .2s}
  .js .stage.in .purse-disc{opacity:1;transform:none}
  .js .stage .laurel path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease) calc(var(--k,0) * .07s + .4s)}
  .js .stage.in .laurel path{stroke-dashoffset:0}
  .js .stage .pool span{transform:scaleX(0);transition:transform 1s var(--ease) .6s}
  .js .stage .pool span:nth-child(2){transition-delay:.85s}.js .stage .pool span:nth-child(3){transition-delay:1.1s}
  .js .stage.in .pool span{transform:none}
  .js .stage .prize-cards li{opacity:0;transform:translateY(18px)}
  .js .stage.in .prize-cards li{opacity:1;transform:none;transition:opacity .9s var(--ease) .7s,transform .9s var(--ease) .7s,translate .25s var(--ease)}
  .js .stage.in .prize-cards li:nth-child(2){transition-delay:.85s}.js .stage.in .prize-cards li:nth-child(3){transition-delay:1s}
  .js .dock{animation:pop .9s var(--ease) 2.2s both}
}
@keyframes rise{from{opacity:0;transform:translateY(28px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(-30% -5% -30% -5%)}}
@keyframes unveil{from{clip-path:inset(100% 0 0 0 round 999px 999px 16px 16px)}to{clip-path:inset(0 0 0 0 round 999px 999px 16px 16px)}}
@keyframes settle{from{transform:translateY(var(--py,0px)) scale(1.22)}to{transform:translateY(var(--py,0px)) scale(1.08)}}
@keyframes carve{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.94)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition-duration:.01ms!important}
  .arch img{transform:none}
}

/* Tablet */
@media(max-width:1020px){
  .nav{display:none}.header-actions{margin-left:auto}
  .hero{grid-template-columns:1fr;gap:48px;padding-top:48px}
  .arch img{aspect-ratio:16/11;object-position:90% 40%}
  .hero-figure{padding:4% 4% 0}
  .numbers ul{grid-template-columns:repeat(2,1fr);row-gap:32px}
  .about-grid,.roots-grid{grid-template-columns:1fr;gap:36px}
  .values,.pillars{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .vine{display:none}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .track{display:none}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .roots-rosette{right:-260px}
  .stage{grid-template-columns:1fr;padding:44px 32px;gap:32px}
  .purse{max-width:380px}
  .rays{left:50%;top:28%}
  .faq-grid{grid-template-columns:1fr;gap:28px}
  .faq-side{position:static}
  .anthem-card{grid-template-columns:auto 1fr auto;border-radius:20px}
  .anthem-card .wave{grid-column:1/-1;grid-row:2}
}
/* Phone: two-up grids, tighter rhythm, thumb-sized targets */
@media(max-width:600px){
  :root{--wrap:calc(100% - 32px)}
  body{font-size:16px;line-height:1.65}
  .site-header{padding:10px 16px;gap:8px}.brand-krl,.scrolled .brand-krl{height:46px}.brand-rule,.brand-partners{display:none}.lang{padding:0 10px;font-size:14px}
  .btn-small{padding:0 14px}
  .hero{padding:44px 0 56px;gap:56px}
  .hero-figure{order:-1;padding:0 5%;margin:0}
  .hero-rosette{width:110%;left:-5%;top:-5%}
  .arch{padding:6px;border-radius:999px 999px 14px 14px}
  .arch img{aspect-ratio:1/1.02;object-position:100% 38%;border-radius:999px 999px 8px 8px}
  .badge-prize{display:none}
  .badge-open{left:0;right:0;bottom:-20px;margin:0 auto;width:max-content;padding:9px 16px 9px 12px;gap:10px;border-radius:999px;box-shadow:inset 0 0 0 3px var(--plaque),inset 0 0 0 4px var(--carve),var(--lift)}
  .badge-open strong{display:inline;font-size:15px}.badge-open span>span{font-size:12.5px;margin-left:6px}
  .badge-open>span:last-child{display:flex;align-items:baseline;flex-wrap:wrap}
  .hero-text{text-align:center}
  .hero h1{font-size:clamp(31px,8.6vw,38px);line-height:1.18}
  .hero h1 .line{text-wrap:balance}
  .lede{font-size:16px;margin:14px auto 0;max-width:30em}
  .hero-actions{flex-direction:column;align-items:stretch;gap:6px;margin-top:22px}
  .hero-actions .btn{width:100%}
  .hero-actions .btn-quiet{border:0;background:transparent;min-height:46px;text-decoration:underline;text-decoration-color:var(--carve-deep);text-underline-offset:5px}
  .hero-note{margin-top:6px;font-size:13.5px}
  .numbers{padding:30px 0}
  .numbers ul{gap:24px 14px}
  .numbers li{padding-left:16px}
  .figure{font-size:38px}.figure-label{font-size:15px;margin-top:8px;line-height:1.35}.numbers p{font-size:13px;line-height:1.5}
  .section{padding-top:84px}.section-head{margin-bottom:26px}.section-head:before{margin-bottom:16px}
  .section h2{font-size:29px}
  .section-lede,.prose{font-size:16.5px}
  .quote{padding:28px 0 0 22px}.quote p{font-size:23px}.quote-mark{font-size:100px;left:6px}
  .values-wrap{margin-top:52px}
  .values{grid-template-columns:repeat(2,1fr);gap:28px 14px}
  .medal{width:68px;height:68px;margin-bottom:16px;box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--carve-deep),0 14px 26px -18px #1d2b2366}
  .medal:before{inset:5px}
  .medal .icon{width:28px;height:28px}
  .values h3{font-size:21px}.values p{font-size:14px;line-height:1.5}
  .weights{height:34px;gap:3px}.seg em{font-size:11.5px;left:7px}
  .pillars{grid-template-columns:repeat(2,1fr);gap:10px}
  .pillar{padding:16px 14px 20px;box-shadow:inset 0 0 0 4px var(--plaque),inset 0 0 0 5px var(--carve)}
  .pillar-head{margin-bottom:12px}.pillar-icon{width:40px;height:40px}.pillar-icon .icon{width:24px;height:24px}
  .weight{font-size:25px}.pillar h3{font-size:22px}
  .pillar-title{font-size:14.5px;line-height:1.4}.pillar p:last-child{font-size:13.5px;line-height:1.5}
  .watermark{font-size:62px;bottom:-18px}
  .team-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;margin:0 -16px;padding:6px 16px 14px;scrollbar-width:none;overscroll-behavior-x:contain}
  .team-grid::-webkit-scrollbar{display:none}
  .team{flex:0 0 66%;scroll-snap-align:start;padding:18px 14px 16px}
  .team:hover{translate:none}
  .team img{height:160px}.team h3{font-size:18px}.team p{font-size:13px}
  .team-nav{display:flex}
  .anthem-card{gap:14px;padding:14px 16px 16px 14px;margin-top:24px}
  .play{width:52px;height:52px}
  .anthem-text strong{font-size:18px}.anthem-text span{font-size:13px}
  .time{font-size:12.5px}
  .wave{height:38px}
  .wave i:nth-child(even){display:none}
  .season{padding-left:0}
  .steps{grid-template-columns:1fr;row-gap:26px;position:relative}
  .steps:before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:var(--carve)}
  .steps li{display:grid;grid-template-columns:auto 1fr;column-gap:18px}
  .steps .node{grid-row:span 3;width:56px;height:56px;margin:0;box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--carve-deep)}
  .steps .node .icon{width:26px;height:26px}
  .steps h3{font-size:21px}.steps p{font-size:14.5px}
  .roots-grid{padding:0;gap:32px}
  .roots-text>p:not(.fine){font-size:16px}
  .pot{height:84px}.amt{font-size:11px}.instalments ol{gap:5px}
  .stage{padding:30px 16px 22px;border-radius:8px;box-shadow:inset 0 0 0 6px var(--green),inset 0 0 0 7px #fbf9f340}
  .purse{max-width:300px}
  .purse-disc span{font-size:12.5px}
  .share h3{font-size:20px;text-align:center}
  .prize-cards{grid-template-columns:repeat(2,1fr);gap:10px}
  .prize-cards li{padding:16px 14px}
  .prize-cards .tbc{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
  .prize-cards .tbc .icon{grid-row:span 2;margin:0}
  .prize-cards .tbc strong{padding:0}
  .prize-cards strong{font-size:26px}.prize-cards span{font-size:13.5px}
  .support{font-size:14px;align-items:flex-start}
  .ask{padding:22px 20px}
  .faq-list summary{font-size:18px;padding:18px 48px 18px 0}
  .faq-list summary:hover{padding-left:0}
  .faq-list details p{padding-right:0;font-size:15.5px}
  .cta{padding:72px 20px 84px;margin-top:88px}
  .cta h2{font-size:32px}
  .cta .btn{width:100%}
  .cta-rosette{width:560px;margin:-280px 0 0 -280px}
  .dock{left:auto;right:14px;bottom:14px}
  .dock-btn{min-height:46px;padding:0 16px 0 14px;font-size:13.5px}
  .site-footer{padding:44px 0 calc(24px + env(safe-area-inset-bottom))}
  .footer-inner{grid-template-columns:1fr;gap:28px;text-align:center}
  .footer-krl{height:110px;margin:0 auto 16px}
  .footer-logo{width:180px;margin:0 auto}
  .footer-brand p{margin:14px auto 0;font-size:14.5px}
  .footer-links{text-align:left;border-top:1px solid var(--carve)}
  .footer-links a{min-height:52px;padding:0 4px;font-size:17px}
  .to-top{justify-self:center;flex-direction:column;gap:8px;font-size:14px}
  .footer-base{margin-top:28px;text-align:center;font-size:12.5px}
  .footer-rosette{width:420px;right:50%;margin-right:-210px;bottom:-250px}
}
