/* tourismapi.com home page sections (the header, strip and buttons live in site.css) */
:root{--gold-l:#ecdcb8}
.hero{position:relative;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.hero-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 500px at 78% 40%,rgba(201,164,92,.10),transparent 70%),radial-gradient(700px 400px at 10% 90%,rgba(20,22,27,.035),transparent 70%)}
.hero-in{position:relative;max-width:1240px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center}
.hero-kw{font-size:13px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);margin:0 0 16px}
.hero-title{display:block;font-size:44px;line-height:1.12;font-weight:300;letter-spacing:-.01em;margin:0 0 16px}
.hero-title em{font-style:normal;color:var(--gold-d)}.hero-title em.ink{color:var(--ink)}
.rot{display:inline-block;min-width:4ch;color:var(--gold-d);transition:opacity .35s,transform .35s}
.rot.out{opacity:0;transform:translateY(-8px)}
.hero-sub{color:var(--muted);font-size:16px;max-width:520px;margin:0 0 26px}
.hero-cta{display:grid;grid-template-columns:repeat(2,168px);gap:12px;margin:0 0 30px}
.hero-cta .btn{height:46px;font-size:14px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:16px;max-width:560px}
.facts b{display:block;font-weight:300;font-size:26px;font-variant-numeric:tabular-nums}
.facts span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

/* globe stage */
.stage{position:relative;height:540px}
#globe{position:absolute;left:50%;top:0;transform:translateX(-50%);cursor:grab;touch-action:none}
#globe:active{cursor:grabbing}
/* a phone scrolls the page over the globe: only a sideways swipe spins it */
@media (pointer:coarse){#globe{touch-action:pan-y}}
.legend{position:absolute;left:0;top:6px;display:grid;gap:6px;font-size:12px;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:-1px}
.tip{position:absolute;pointer-events:none;background:var(--onyx);color:var(--pearl);font-size:12px;padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;transition:opacity .15s;transform:translate(-50%,-130%)}
.tip .fi{margin-right:6px}

.card{position:absolute;right:0;bottom:0;width:340px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 24px 48px -26px rgba(11,13,18,.38);overflow:hidden}
.c-head{display:flex;align-items:center;gap:12px;padding:14px 16px 10px}
.c-head .fi{width:34px;height:24px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none;background-size:cover}
.c-name{font-size:16px;line-height:1.2}
.c-meta{font-size:12px;color:var(--muted)}
.tier{margin-left:auto;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:20px;background:#f6efe0;color:var(--gold-d);white-space:nowrap}
.c-val{display:flex;align-items:baseline;gap:10px;padding:0 16px}
.c-val b{font-weight:300;font-size:30px;font-variant-numeric:tabular-nums}
.c-val span{font-size:13px}
.up{color:#3f9c6b}.dn{color:#8a8378}
#chart{display:block;margin:6px 0 0}
.c-call{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:9px 16px;background:#fbfaf7;font:12px ui-monospace,Menlo,Consolas,monospace;color:var(--ink)}
.c-call em{font-style:normal;color:var(--gold-d)}
.c-call .live{font:11px "Segoe UI",Roboto,Arial,sans-serif;color:var(--muted);letter-spacing:.08em}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3f9c6b;margin-right:6px;animation:pulse 2s infinite;vertical-align:1px}
@keyframes pulse{50%{opacity:.3}}

/* flag rail */
.rail{position:relative;max-width:1240px;margin:0 auto;padding:0 24px 30px}
.rail-l{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.marq{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;gap:8px;width:max-content;animation:slide 70s linear infinite}
.marq:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.chip{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:13px;white-space:nowrap;cursor:pointer;transition:border-color .2s,background .2s}
.chip .fi{width:20px;height:15px;border-radius:2px;background-size:cover;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.chip small{font-size:10px;letter-spacing:.08em;color:var(--gold-d);text-transform:uppercase}
.chip:hover,.chip.on{border-color:var(--gold);background:#fdf9f0}

@media (max-width:1040px){.hero-in{grid-template-columns:1fr}.stage{height:560px}}
@media (max-width:560px){.hero-in{padding:40px 16px 28px}.hero-title{font-size:33px}.facts{grid-template-columns:repeat(2,1fr);row-gap:14px}.hero-cta{grid-template-columns:1fr 1fr}
  .stage{height:auto}#globe{position:relative;left:auto;transform:none;margin:0 auto;display:block}.legend{position:static;grid-auto-flow:column;justify-content:start;gap:14px;margin-bottom:8px}.card{position:relative;width:100%;margin-top:-30px}.rail{padding:0 16px 24px}}

/* section 2: what is inside, and a request builder */
.s2{max-width:1240px;margin:0 auto;padding:72px 24px 80px}
.s-kw{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);margin:0 0 12px}
.s-title{display:block;font-size:34px;line-height:1.15;font-weight:300;margin:0 0 10px}
.s-sub{color:var(--muted);font-size:15px;max-width:640px;margin:0 0 34px}
.s2-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:start}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;min-height:142px;transition:border-color .2s,transform .2s}
.tile:hover{border-color:var(--gold);transform:translateY(-2px)}
.t-k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.t-v{font-size:28px;font-weight:300;font-variant-numeric:tabular-nums;line-height:1.1}
.t-v small{font-size:13px;color:var(--muted);margin-left:4px}
.t-d{font-size:12.5px;color:var(--muted);line-height:1.45}
.bars{display:grid;gap:5px;margin-top:4px}
.bar{display:grid;grid-template-columns:110px 1fr 46px;align-items:center;gap:8px;font-size:12px}
.bar span:first-child{white-space:nowrap;color:var(--ink)}
.bar i{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,#c9a45c,#e2c27a);width:0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.bar em{font-style:normal;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.tile.wide{grid-column:span 2}
.decades{display:flex;align-items:flex-end;gap:3px;height:38px;margin-top:4px}
.decades b{flex:1;background:#ecdcb8;border-radius:2px 2px 0 0;height:0;transition:height 1s}
.decades b.on{background:#c9a45c}
.ticks{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px;margin-top:4px;font-size:12px}
.checks span{white-space:nowrap}.checks .fi{width:16px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-1px}

/* builder */
.builder{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 24px 48px -30px rgba(11,13,18,.35);position:sticky;top:20px}
.b-head{padding:16px 18px 6px}
.b-head b{display:block;font-weight:400;font-size:17px}
.b-head span{font-size:12.5px;color:var(--muted)}
.b-row{padding:10px 18px 0}
.b-lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.flags{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.flags button{height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.flags button .fi{width:22px;height:16px;border-radius:2px;background-size:cover}
.flags button.on{border-color:var(--gold-d);background:#fdf6e6;box-shadow:0 0 0 1px var(--gold-d) inset}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.seg button{height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;font:13px "Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);cursor:pointer;white-space:nowrap}
.seg button.on{border-color:var(--gold-d);background:#fdf6e6;color:var(--gold-d)}
.range{display:flex;align-items:center;gap:12px}
.range input{flex:1;accent-color:#a8843f}
.range b{font-weight:400;font-variant-numeric:tabular-nums;min-width:42px;text-align:right}
.code{margin:14px 0 0;background:var(--onyx);color:#d9d4c8;font:12px/1.55 ui-monospace,Menlo,Consolas,monospace;padding:14px 18px;min-height:208px;white-space:pre;overflow:hidden}
.code .u{color:#e2c27a}.code .k{color:#8fb4d8}.code .s{color:#c9d8a8}.code .n{color:#f2efe8}.code .c{color:#6f6a60}
.b-foot{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px 18px 16px}
.b-foot .btn{height:42px}
.b-note{font-size:12px;color:var(--muted);padding:0 18px 16px;margin:-4px 0 0}
@media (max-width:1040px){.s2-grid{grid-template-columns:1fr}.builder{position:relative;top:0}}
@media (max-width:560px){.code{white-space:pre-wrap;word-break:break-all;font-size:10.5px;padding:12px 12px}.s2{padding:52px 16px 60px}.s-title{font-size:27px}.tiles{grid-template-columns:1fr}.tile.wide{grid-column:auto}.bar{grid-template-columns:96px 1fr 40px}.checks{grid-template-columns:repeat(2,1fr)}.flags{grid-template-columns:repeat(6,1fr)}}

/* dark free-key strip */
.band{position:relative;overflow:hidden;background:radial-gradient(800px 260px at 85% 50%,#1a1d26,transparent 70%),var(--onyx);color:var(--pearl)}
.band canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.band-in{position:relative;max-width:1240px;margin:0 auto;padding:46px 24px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.band-kw{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.band-t{display:block;font-size:30px;line-height:1.2;font-weight:300;margin:0 0 8px}
.band-t em{font-style:normal;color:#e2c27a}
.band-s{color:#a9a397;font-size:14.5px;margin:0;max-width:560px}
.key{display:grid;grid-template-columns:repeat(2,210px);gap:10px}
.key .btn{height:48px;font-size:14px}
.gbtn{background:#fff;color:#1f1f1f;border:1px solid #fff;gap:10px}
.gbtn:hover{background:#f2efe8}
.ghost-d{border:1px solid #3a3d45;color:var(--pearl)}
.ghost-d:hover{border-color:var(--gold)}
@media (max-width:1040px){.band-in{grid-template-columns:1fr}}
@media (max-width:560px){.band-in{padding:38px 16px}.band-t{font-size:25px}.key{grid-template-columns:1fr 1fr}.key .btn{font-size:12.5px;letter-spacing:.02em}.gbtn{gap:7px}}

/* section 3: coverage by country (cool ground, slanted top, petrol accent) */
.s3{position:relative;background:#e9eef0;margin-top:40px;padding:110px 0 86px;clip-path:polygon(0 70px,100% 0,100% 100%,0 100%)}
.s3-in{max-width:1240px;margin:0 auto;padding:0 24px}
.s3 .s-kw{color:#2c5566}
.s3-top{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:24px}
.pills{display:grid;grid-template-columns:repeat(3,132px);gap:10px}
.pill{background:#fff;border-radius:40px;padding:10px 16px;border:1px solid #d6dfe2;text-align:center}
.pill b{display:block;font-weight:300;font-size:22px;color:#1f4252;font-variant-numeric:tabular-nums}
.pill span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#5f7279;white-space:nowrap}
.panel3{background:#fff;border-radius:22px;border:1px solid #d6dfe2;box-shadow:0 30px 60px -40px rgba(31,66,82,.45);overflow:hidden}
.tools{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #e3e9eb;flex-wrap:wrap}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{height:34px;min-width:96px;padding:0 14px;border-radius:20px;border:1px solid #d6dfe2;background:#f6f9fa;font:13px "Segoe UI",Roboto,Arial,sans-serif;color:#2b3a40;cursor:pointer;white-space:nowrap}
.tab.on{background:#1f4252;border-color:#1f4252;color:#fff}
.search{margin-left:auto;position:relative}
.search input{height:36px;width:230px;border-radius:20px;border:1px solid #d6dfe2;padding:0 14px 0 34px;font:13px "Segoe UI",Roboto,Arial,sans-serif;outline:none;background:#fff}
.search input:focus{border-color:#2c5566}
.search svg{position:absolute;left:12px;top:11px}
.tw{overflow-x:auto}
.more{display:flex;justify-content:center;padding:12px;border-top:1px solid #e3e9eb}
.more button{height:36px;min-width:180px;border-radius:20px;border:1px solid #1f4252;background:#fff;color:#1f4252;font:13px "Segoe UI",Roboto,Arial,sans-serif;cursor:pointer}
.more button:hover{background:#1f4252;color:#fff}
table.cov{width:100%;border-collapse:collapse;font-size:13px}
table.cov th{background:#f6f9fa;font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#5f7279;text-align:left;padding:10px 14px;border-bottom:1px solid #e3e9eb;white-space:nowrap;cursor:pointer;user-select:none}
table.cov th.ns{cursor:default}
table.cov th .ar{opacity:.35;margin-left:4px}
table.cov th.sorted .ar{opacity:1;color:#1f4252}
table.cov td{padding:9px 14px;border-bottom:1px solid #eef2f3;white-space:nowrap;vertical-align:middle}
table.cov tr:hover td{background:#f8fbfb}
table.cov .n{text-align:right;font-variant-numeric:tabular-nums}
.ctry{display:flex;align-items:center;gap:10px}.ctry .fi{width:22px;height:16px;border-radius:2px;background-size:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.depth{display:inline-block;min-width:78px;text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:3px 0;border-radius:20px}
.d-m{background:#1f4252;color:#fff}.d-a{background:#eef2f3;color:#5f7279}
.ms{display:flex;gap:4px}.ms i{width:22px;height:18px;border-radius:4px;font:10px/18px "Segoe UI",Arial;text-align:center;font-style:normal;background:#eef2f3;color:#9aa8ad}
.ms i.on{background:#e3eef2;color:#1f4252}
.fresh{display:flex;align-items:center;gap:8px}.fresh span{display:block;width:70px;height:6px;border-radius:3px;background:#e3e9eb;overflow:hidden}.fresh span b{display:block;height:100%;border-radius:3px}
.fresh em{font-style:normal;font-size:12px;color:#5f7279;min-width:44px}
.acts3{display:grid;grid-template-columns:repeat(2,64px);gap:6px;justify-content:end}
.acts3 a{height:28px;border-radius:6px;border:1px solid #d6dfe2;display:flex;align-items:center;justify-content:center;font-size:12px;color:#1f4252;text-decoration:none;white-space:nowrap}
.acts3 a:hover{border-color:#1f4252;background:#f6f9fa}
.foot3{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:12.5px;color:#5f7279;border-top:1px solid #e3e9eb}
.foot3 i{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 5px 0 12px;vertical-align:0}
@media (max-width:860px){.s3-top{grid-template-columns:1fr}.search{margin-left:0;width:100%}.search input{width:100%}}
@media (max-width:560px){.s3{padding:86px 0 60px;clip-path:polygon(0 40px,100% 0,100% 100%,0 100%)}.s3-in{padding:0 16px}.pills{grid-template-columns:repeat(3,1fr)}.pill{padding:8px 6px}.pill b{font-size:18px}
 table.cov th:nth-child(2),table.cov td:nth-child(2),table.cov th:nth-child(4),table.cov td:nth-child(4),table.cov th:nth-child(5),table.cov td:nth-child(5),table.cov th:nth-child(8),table.cov td:nth-child(8),table.cov th:nth-child(9),table.cov td:nth-child(9){display:none}.foot3 span:last-child{display:none}}

/* section 4: who it is for (onyx rail, light stage) */
.s4{max-width:1240px;margin:0 auto;padding:84px 24px 90px}
.s4-grid{display:grid;grid-template-columns:360px 1fr;margin-top:30px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 30px 60px -44px rgba(11,13,18,.5)}
.rail4{background:var(--onyx);padding:18px;display:grid;gap:8px;align-content:start;position:relative}
.rail4 button{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;text-align:left;padding:14px;border-radius:14px;border:1px solid transparent;background:transparent;color:#cfc9bd;cursor:pointer;font:14px "Segoe UI",Roboto,Arial,sans-serif;position:relative;overflow:hidden}
.rail4 button svg{width:38px;height:38px}
.rail4 button b{display:block;font-weight:400;font-size:15px;color:var(--pearl)}
.rail4 button small{font-size:12px;color:#8d877b}
.rail4 button:hover{border-color:#2b2e36}
.rail4 button.on{background:#161921;border-color:#3a3528}
.rail4 button .prog{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold)}
.rail4 button.on .prog{animation:prog 6s linear forwards}
@keyframes prog{to{width:100%}}
.stage4{padding:30px 34px;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;min-height:430px}
.q4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);margin:0}
.t4{font-size:26px;font-weight:300;line-height:1.2;margin:0}
.viz4{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:#fcfbf8;display:grid;grid-template-rows:auto 1fr;gap:8px;min-height:230px}
.viz4 .vh{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.viz4 .vh code{font:12px ui-monospace,Menlo,Consolas,monospace;color:var(--ink)}
#v4{width:100%;height:190px;display:block}
.chips4{display:flex;gap:8px;flex-wrap:wrap}
.chips4 span{font-size:12px;padding:5px 11px;border-radius:20px;background:#f4efe4;color:#6e5a2c;white-space:nowrap}
.fade{animation:fade .45s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}}
@media (max-width:960px){.s4-grid{grid-template-columns:1fr}.rail4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.s4{padding:60px 16px}.rail4{grid-template-columns:1fr 1fr;padding:12px;gap:6px}.rail4 button{grid-template-columns:1fr;padding:10px}.rail4 button svg{display:none}.rail4 button small{display:none}.rail4 button b{font-size:13.5px}.stage4{padding:20px 16px;min-height:0}.viz4{padding:12px}.viz4 .vh{flex-direction:column;gap:4px}.viz4 .vh code{white-space:normal;word-break:break-all}.t4{font-size:21px}}

/* section 5: the numbers and the 45 endpoints (champagne ground, odometers, endpoint matrix) */
.s5{position:relative;background:#f6eedd;padding:90px 0 96px;overflow:hidden}
.s5::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(168,132,63,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(168,132,63,.08) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%);pointer-events:none}
.s5-in{position:relative;max-width:1240px;margin:0 auto;padding:0 24px}
.s5 .s-kw{color:#8a6a2c}
.odo{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(168,132,63,.25);border:1px solid rgba(168,132,63,.25);border-radius:22px;overflow:hidden;margin:34px 0 46px}
.odo>div{background:#fbf6ea;padding:24px 22px 20px}
.odo .big{display:flex;font-size:46px;font-weight:300;line-height:1;color:var(--onyx);height:48px;overflow:hidden;font-variant-numeric:tabular-nums}
.odo .big .col{display:flex;flex-direction:column;align-self:flex-start;flex:none;transition:transform 1.6s cubic-bezier(.2,.8,.2,1)}
.odo .big .col span{height:48px;line-height:48px}
.odo .big .sep{line-height:48px}
.odo .big.gold{color:#a8843f}
.odo .lab{margin-top:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7a6a4a;white-space:nowrap}
.odo .sub{font-size:12.5px;color:#8a7d64;margin-top:4px}
.ep-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;flex-wrap:wrap}
.ep-count{display:flex;align-items:baseline;gap:10px}
.ep-count b{font-size:72px;font-weight:200;line-height:.9;color:var(--onyx)}
.ep-count span{font-size:14px;color:#7a6a4a;max-width:220px}
.fams{display:flex;gap:6px;flex-wrap:wrap}
.fam{height:32px;min-width:92px;padding:0 12px;border-radius:20px;border:1px solid rgba(168,132,63,.35);background:#fbf6ea;font:12.5px "Segoe UI",Roboto,Arial,sans-serif;color:#4a3e26;cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px}
.fam i{width:8px;height:8px;border-radius:50%}
.fam.on{background:var(--onyx);border-color:var(--onyx);color:var(--pearl)}
.matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;perspective:900px}
.ep{position:relative;background:#fffdf8;border:1px solid rgba(168,132,63,.22);border-radius:12px;padding:11px 12px 10px;cursor:pointer;opacity:0;transform:rotateX(-70deg) translateY(10px);transform-origin:top;transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s}
.ep.in{opacity:1;transform:none}
.ep.dim{opacity:.22}
.ep:hover,.ep.sel{border-color:#a8843f;box-shadow:0 10px 24px -14px rgba(168,132,63,.7)}
.ep .m{display:inline-block;font:10px/16px ui-monospace,Menlo,Consolas,monospace;padding:0 6px;border-radius:4px;background:#e8f1ec;color:#2f7a55;margin-right:6px}
.ep code{font:12px ui-monospace,Menlo,Consolas,monospace;color:var(--onyx)}
.ep .bar{position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0}
.ep p{margin:6px 0 0;font-size:11.5px;color:#7a6a4a;line-height:1.35}
.console{margin-top:18px;display:grid;grid-template-columns:1fr 1.2fr;border-radius:16px;overflow:hidden;border:1px solid #1d2028}
.console .l{background:#11141b;color:#cfc9bd;padding:18px 20px}
.console .l b{display:block;font-weight:400;color:var(--pearl);font-size:16px;margin-bottom:6px}
.console .l .fm{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.console .l p{margin:8px 0 0;font-size:13px;color:#a9a397}
.console pre{margin:0;background:var(--onyx);color:#d9d4c8;font:12px/1.6 ui-monospace,Menlo,Consolas,monospace;padding:18px 20px;white-space:pre-wrap;min-height:170px}
.console pre .k{color:#8fb4d8}.console pre .s{color:#c9d8a8}.console pre .u{color:#e2c27a}
@media (max-width:1040px){.odo{grid-template-columns:repeat(2,1fr)}.matrix{grid-template-columns:repeat(3,1fr)}.console{grid-template-columns:1fr}}
@media (max-width:560px){.s5{padding:64px 0 70px}.s5-in{padding:0 16px}.odo .big{font-size:23px;height:28px}.odo .big .col span,.odo .big .sep{height:28px;line-height:28px}.odo .lab{font-size:10px;letter-spacing:.1em;white-space:normal}.odo>div{padding:18px 14px}.matrix{grid-template-columns:1fr 1fr}.ep-count b{font-size:56px}.ep p{display:none}}

/* section 6: trust (white ground, sage accent, round shapes) */
.s6{background:#fff;padding:96px 0 100px;border-top:1px solid var(--line)}
.s6-in{max-width:1240px;margin:0 auto;padding:0 24px}
.s6 .s-kw{color:#3f7d64}
.pipe{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:44px 0 52px}
.track6{position:absolute;left:12.5%;width:75%;top:43px;height:0;border-top:1px dashed #cfe2d8}
#pkt{position:absolute;top:-5px;left:0;width:9px;height:9px;margin-left:-4px;border-radius:50%;background:#3f7d64;box-shadow:0 0 0 5px rgba(63,125,100,.15)}
.step{position:relative;text-align:center;padding:0 8px}
.ring{width:88px;height:88px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #cfe2d8;box-shadow:0 0 0 8px #f2f8f5;position:relative;z-index:1;transition:transform .4s,box-shadow .4s}
.step.lit .ring{border-color:#3f7d64;box-shadow:0 0 0 8px #e3f0e9;transform:scale(1.06)}
.ring svg{width:34px;height:34px}
.step b{display:block;font-weight:400;font-size:16px;margin-bottom:4px}
.step span{font-size:13px;color:var(--muted);display:block;max-width:230px;margin:0 auto}
.s6-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card6{border:1px solid #dcebe3;border-radius:28px;padding:24px 26px;background:linear-gradient(180deg,#f7fbf9,#fff)}
.card6 h3{font-weight:400;font-size:17px;margin:0 0 4px}
.card6 p.k{font-size:12.5px;color:var(--muted);margin:0 0 16px}
.agree{display:grid;gap:10px;position:relative}
.ag{display:grid;grid-template-columns:130px 1fr 54px;gap:10px;align-items:center;font-size:13px}
.ag span:first-child{display:flex;align-items:center;gap:8px;white-space:nowrap}
.ag .fi{width:20px;height:15px;border-radius:2px;background-size:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.ag .tr{position:relative;height:10px;border-radius:5px;background:#eef5f1}
.ag .tr i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:#3f7d64;width:0;transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.ag .tr .tol{position:absolute;top:-5px;bottom:-5px;width:1px;background:#c0673a;left:100%}
.ag em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums;color:#2d5e4a}
.sum6{display:grid;gap:6px;margin-top:18px;padding-top:14px;border-top:1px solid #e3efe8;font-size:12.5px;color:var(--muted)}.sum6 b{font-weight:400;color:#2d5e4a;font-size:15px}
.tolnote{display:flex;justify-content:flex-end;gap:6px;font-size:11.5px;color:#c0673a;margin-top:2px}
.revs{display:grid;gap:0}
.rev{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid #eaf3ee;font-size:13px;animation:revin .6s ease}
@keyframes revin{from{opacity:0;transform:translateY(-12px)}}
.rev .fi{width:20px;height:15px;border-radius:2px;background-size:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.rev small{display:block;color:var(--muted);font-size:11.5px}
.rev .chg{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.rev .chg s{color:#9a948a;margin-right:6px}
.rev .chg b{font-weight:400;color:#2d5e4a}
@media (max-width:960px){.s6-grid{grid-template-columns:1fr}}
@media (max-width:640px){.s6{padding:64px 0 70px}.s6-in{padding:0 16px}.pipe{grid-template-columns:1fr 1fr;row-gap:30px}.track6{display:none}.ag{grid-template-columns:110px 1fr 48px}.card6{padding:20px 16px;border-radius:22px}}

/* section 7: quick start (paper white, outline numerals, code window) */
.s7{background:#fdfcf9;border-top:1px solid var(--line);padding:92px 0}
.s7-in{max-width:1240px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.steps7{display:grid;gap:26px;margin-top:30px}
.st7{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:start}
.st7 .num{font-size:64px;line-height:.85;font-weight:200;color:transparent;-webkit-text-stroke:1px #a8843f}
.st7 b{display:block;font-weight:400;font-size:17px;margin:4px 0 4px}
.st7 span{color:var(--muted);font-size:14px}
.win{border-radius:18px;overflow:hidden;background:var(--onyx);box-shadow:0 34px 60px -36px rgba(11,13,18,.6);border:1px solid #1d2028}
.win-bar{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid #1d2028}
.win-bar i{width:10px;height:10px;border-radius:50%;background:#2b2e36}
.langs{display:grid;grid-template-columns:repeat(4,96px);gap:6px;margin-left:16px}
.langs button{height:28px;border-radius:7px;border:1px solid transparent;background:transparent;color:#8d877b;font:12.5px "Segoe UI",Roboto,Arial,sans-serif;cursor:pointer}
.langs button.on{background:#1a1d26;border-color:#2b2e36;color:var(--pearl)}
.win pre{margin:0;padding:20px 22px;color:#d9d4c8;font:13px/1.65 ui-monospace,Menlo,Consolas,monospace;min-height:300px;white-space:pre-wrap}
.win pre .c{color:#6f6a60}.win pre .s{color:#c9d8a8}.win pre .k{color:#8fb4d8}.win pre .g{color:#e2c27a}
.win-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid #1d2028;font-size:12px;color:#8d877b}
.win-foot button{height:30px;min-width:96px;border-radius:7px;border:1px solid #2b2e36;background:transparent;color:var(--pearl);font:12px "Segoe UI",Roboto,Arial,sans-serif;cursor:pointer}

/* section 8: questions (warm ground, terracotta accent, two-column accordion) */
.s8{background:#f8f2ea;padding:92px 0}
.s8-in{max-width:1240px;margin:0 auto;padding:0 24px}
.s8 .s-kw{color:#b0603a}
.ans{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.an{background:#fff;border:1px solid #ecdfd0;border-radius:18px;padding:20px 18px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,border-color .25s}
.an:hover{transform:translateY(-3px);border-color:#d8a888}
.an svg{width:30px;height:30px}
.an b{font-weight:400;font-size:18px;line-height:1.25}
.an span{font-size:13.5px;color:var(--muted);line-height:1.5}
.an small{margin-top:auto;padding-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#b0603a}

/* section 9: final call (floating onyx card, gold orbits) */
.s9{background:#f8f2ea;padding:0 24px 96px}
.final{position:relative;max-width:1192px;margin:0 auto;border-radius:30px;background:radial-gradient(700px 320px at 80% 50%,#1b1f2a,transparent 70%),var(--onyx);color:var(--pearl);padding:64px 56px;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.final .orb{position:absolute;right:-120px;top:50%;width:520px;height:520px;margin-top:-260px;pointer-events:none}
.final .orb circle{fill:none;stroke:#c9a45c;stroke-opacity:.18}
.final .orb .spin{transform-origin:260px 260px;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.final .ft{display:block;font-size:40px;line-height:1.12;font-weight:300;margin:0 0 12px;position:relative}
.final .ft em{font-style:normal;color:#e2c27a}
.final p{color:#a9a397;margin:0;position:relative;max-width:520px}
.final .key{position:relative;justify-self:end}


@media (max-width:960px){.s7-in{grid-template-columns:1fr}.ans{grid-template-columns:1fr 1fr}.final{grid-template-columns:1fr;padding:48px 32px}.final .key{justify-self:start}}
@media (max-width:560px){.ans{grid-template-columns:1fr}.s7,.s8{padding:64px 0}.s7-in,.s8-in{padding:0 16px}.st7{grid-template-columns:56px 1fr}.st7 .num{font-size:48px}.langs{grid-template-columns:repeat(4,1fr);margin-left:8px;flex:1}.win-bar i{display:none}.win pre{font-size:11.5px;padding:16px;min-height:0}.s9{padding:0 16px 64px}.final{padding:40px 22px;border-radius:24px}.final .ft{font-size:29px}.final .orb{right:-260px;opacity:.6}}
.ex4{margin-left:10px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7a7468;border:1px solid var(--line);border-radius:20px;padding:1px 8px}
.none3{padding:24px;color:#5f7279}
