/* ZD ATELIER — design system v1
   Ivory paper + bottle green + oxblood, antique-gold line work,
   italic display serif against a quiet grotesk. */
:root{
  --ivory:#f3ede2; --paper:#ebe3d4; --ink:#1c1a17; --ink2:#4a453d; --mute:#8a8274;
  --green:#1e3a2f; --green2:#162c23; --ox:#4a1216; --ox2:#380d10;
  --gold:#b8955a; --gold2:#d9bf8a; --gold3:#8c6c36; --rule:rgba(28,26,23,.14);
  --serif:'Instrument Serif',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif;
  --ease:cubic-bezier(.16,.84,.24,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img,video{display:block;max-width:100%}
.wrap{max-width:1320px;margin:0 auto;padding:0 64px;position:relative;z-index:2}
section,footer{position:relative;overflow:hidden;padding:150px 0}
section.tight{padding-top:40px}

/* grounds */
.ivory{background:var(--ivory)}
.paper{background:var(--paper)}
.green{background:var(--green);color:var(--ivory)}
.oxblood{background:var(--ox);color:var(--ivory)}
.green .lede,.oxblood .lede,.green p,.oxblood p{color:rgba(243,237,226,.78)}
.green .eyebrow,.oxblood .eyebrow{color:var(--gold2)}
.grain{position:fixed;inset:-50%;z-index:100;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}100%{transform:translate(0,0)}}

/* grid lines + sparkle crosses */
.gridlines{position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:linear-gradient(to right,rgba(217,191,138,.10) 1px,transparent 1px),linear-gradient(to bottom,rgba(217,191,138,.10) 1px,transparent 1px);
  background-size:calc(100%/6) 240px;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 85%)}
.spark{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;z-index:1;pointer-events:none;opacity:0;transition:opacity 1.2s}
.spark::before,.spark::after{content:"";position:absolute;left:50%;top:50%;background:var(--gold2);transform:translate(-50%,-50%)}
.spark::before{width:1px;height:18px}.spark::after{width:18px;height:1px}
.in .spark,.spark.in{opacity:.9}

/* type */
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold3);font-weight:500;margin-bottom:22px}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
h1{font-size:clamp(64px,9vw,148px);line-height:.92}
h2{font-size:clamp(46px,5.6vw,88px);line-height:.98}
h2.big{font-size:clamp(54px,7vw,112px)}
h3{font-size:32px;line-height:1.1;margin-bottom:12px}
em{font-style:italic;color:var(--gold3)}
.green em,.oxblood em{color:var(--gold2)}
.lede{font-size:21px;line-height:1.6;color:var(--ink2);max-width:560px}
p{font-size:17px;line-height:1.65;color:var(--ink2)}
.caption{font-size:13px;letter-spacing:.04em;color:var(--mute);margin-top:34px;max-width:760px}
.green .caption,.oxblood .caption{color:rgba(243,237,226,.5)}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end;margin-bottom:80px}

/* reveal */
.r{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.r.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}.d5{transition-delay:.6s}

/* bar */
.bar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;
  color:var(--ivory);mix-blend-mode:difference}
.bar img{height:34px;filter:brightness(2)}
.bar nav{display:flex;gap:34px}
.bar a,.bar-r{color:inherit;text-decoration:none;font-size:11px;letter-spacing:.26em;text-transform:uppercase;opacity:.85}
.progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:51}
.progress i{display:block;height:100%;width:0;background:var(--gold)}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;padding:0}
.hero-art{position:absolute;inset:0;background-size:cover;background-position:70% center;transform:scale(1.08);transition:transform 3s var(--ease)}
.hero.in .hero-art{transform:scale(1)}
.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,44,35,.88) 0%,rgba(22,44,35,.55) 38%,rgba(22,44,35,0) 65%)}
.hero-copy{position:relative;z-index:3;padding:0 0 0 8vw;max-width:880px}
.hero-sub{font-size:19px;max-width:470px;margin-top:34px}
.scroll-cue{position:absolute;left:8vw;bottom:44px;z-index:3;display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2)}
.scroll-cue i{width:80px;height:1px;background:var(--gold2);transform-origin:left;animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleX(0)}60%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}

/* contents */
.chapters{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.chapters li{padding:40px 34px 46px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto auto;column-gap:22px}
.chapters li:not(:nth-child(3n)){border-right:1px solid var(--rule)}
.chapters li:not(:nth-child(3n+1)){padding-left:34px}
.chapters .ico{grid-row:1/4;width:64px;height:64px}
.chapters b{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold3);font-size:22px}
.chapters span{font-family:var(--serif);font-size:38px;line-height:1.1}
.chapters small{font-size:14px;color:var(--mute)}

/* line icons, draw-in */
.ico path,.ico circle,.ico ellipse,.ico-lg path,.ico-lg circle{fill:none;stroke:var(--gold3);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ico .thin,.ico-lg .thin{stroke-width:.8;opacity:.7}
.ico-lg .accent{stroke:var(--ox);stroke-width:1.6}
.draw path,.draw circle,.draw ellipse{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);transition:stroke-dashoffset 2.4s var(--ease)}
.in .draw path,.in .draw circle,.in .draw ellipse,.draw.in path,.draw.in circle,.draw.in ellipse{stroke-dashoffset:0}

/* chapter openers */
.chapter{min-height:92vh;display:flex;align-items:center}
.chap-head{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;width:100%}
.numeral{font-family:var(--serif);font-style:italic;font-size:clamp(130px,14vw,230px);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--gold2)}
.chapter h2{font-size:clamp(60px,6.4vw,108px)}
.chapter .chap-head{max-width:min(62vw,1320px);margin-left:max(64px,calc((100vw - 1320px)/2 + 64px));padding:0}
.chapter .lede{margin-top:26px;font-size:21px;max-width:420px}

/* ingots chart */
.ingots{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;align-items:end}
.ingot{text-align:center}
.ingot .vessel{position:relative;height:340px;margin:0 auto;width:118px}
.ingot svg{width:100%;height:100%;overflow:visible}
.ingot .lvl{transition:transform 2.2s var(--ease);transform-origin:bottom;transform:scaleY(0)}
.ingots.in .lvl{transform:scaleY(1)}
.ingot .pct{font-family:var(--serif);font-size:58px;line-height:1;margin-top:26px}
.ingot .pct small{font-size:24px;color:var(--mute)}
.ingot .nm{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);margin-top:10px}
.ingot .hall{display:inline-block;margin-top:14px;border:1px solid var(--gold);color:var(--gold3);font-size:12px;letter-spacing:.18em;padding:5px 10px;border-radius:2px}

/* matrix */
.matrix{margin-top:60px;border-top:1px solid var(--ink)}
.mrow{display:grid;grid-template-columns:220px repeat(5,1fr);border-bottom:1px solid var(--rule);align-items:center}
.mrow>div{padding:24px 18px}
.mrow.head>div{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);padding:22px 18px}
.mrow .mname{font-family:var(--serif);font-size:30px}
.mrow .mname small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold3);margin-top:4px}
.meter{display:flex;gap:5px}
.meter i{flex:1;height:6px;background:rgba(28,26,23,.08);position:relative;overflow:hidden}
.meter i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.meter i.on::after{transform:scaleX(1)}
.matrix.in .meter i.on::after{transition-delay:calc(var(--k)*90ms + var(--row)*120ms)}
.matrix:not(.in) .meter i::after{transform:scaleX(0)!important}
.mrow.best{background:linear-gradient(90deg,rgba(184,149,90,.12),transparent)}
.mrow.best .mname::after{content:"Our pick";display:inline-block;margin-left:12px;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;background:var(--green);color:var(--gold2);padding:4px 8px;vertical-align:middle}

/* colour coins */
.coins{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.coins figure{text-align:left}
.coin{aspect-ratio:1;border-radius:50%;margin-bottom:28px;position:relative;box-shadow:0 30px 60px -30px rgba(28,26,23,.45),inset 0 0 0 10px rgba(255,255,255,.06);overflow:hidden}
.coin::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.65) 48%,transparent 62%);transform:translateX(-130%);animation:sheen 5s ease-in-out infinite}
.coin::before{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 2px 10px rgba(0,0,0,.15)}
@keyframes sheen{0%,50%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
.coin.y{background:radial-gradient(circle at 32% 28%,#fff1c4,#e9c676 30%,#b98a33 70%,#7d5a1e)}
.coin.w{background:radial-gradient(circle at 32% 28%,#ffffff,#e6e9ec 30%,#a9b0b7 70%,#6f767d)}
.coin.rz{background:radial-gradient(circle at 32% 28%,#ffe3d6,#ebb39c 30%,#b8705a 70%,#7d4535)}
.coin.p{background:radial-gradient(circle at 32% 28%,#fbfcfd,#d9dde1 32%,#9ba2a8 70%,#5f656b)}
.coins b{display:block;font-family:var(--serif);font-weight:400;font-size:34px;margin-bottom:6px}
.coins span{font-size:15px;line-height:1.6;color:var(--ink2)}

/* compare */
.compare{position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;cursor:ew-resize;user-select:none;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}
.c-handle{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--gold2)}
.c-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:rgba(243,237,226,.18);backdrop-filter:blur(10px);border:1px solid rgba(243,237,226,.5);display:grid;place-items:center;color:var(--ivory);font-size:18px;letter-spacing:4px}
.c-tag{position:absolute;bottom:22px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory)!important;background:rgba(28,26,23,.35);backdrop-filter:blur(8px);padding:8px 14px}
.c-tag.l{left:22px}.c-tag.rr{right:22px}
.ageing-notes{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;margin-top:56px}
.ageing-notes b{display:block;font-family:var(--serif);font-weight:400;font-size:28px;color:var(--ivory);margin-bottom:8px;padding-bottom:12px;border-bottom:1px solid rgba(217,191,138,.35)}
.ageing-notes span{font-size:15px;line-height:1.6;color:rgba(243,237,226,.72)}

/* plating */
.plates{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule)}
.plate{padding:46px 30px;border-right:1px solid var(--rule)}
.plate:last-child{border-right:none}
.ring-ico{width:120px;height:120px;margin-bottom:28px}
.spin{transform-origin:60px 66px;animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.plate .metal{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}

/* stones */
.stones-art{padding-top:0}
.bleed{margin:0 0 90px}
.bleed img{width:100%;height:78vh;object-fit:cover}
.stone-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}
.stone-cols>div{border-top:1px solid var(--ink);padding-top:28px}
.stone-cols h3{font-size:42px}
.gauges{margin-top:60px}
.grow{display:grid;grid-template-columns:240px 1fr;gap:40px;padding:34px 0;border-top:1px solid var(--rule);align-items:center}
.grow .gl{font-family:var(--serif);font-size:30px}
.grow .gl small{display:block;font-family:var(--sans);font-size:13px;color:var(--mute);margin-top:4px}
.gtrack{position:relative;height:96px}
.gtrack .axis{position:absolute;left:0;right:0;top:48px;height:1px;background:var(--rule)}
.gtrack .tick{position:absolute;top:42px;width:1px;height:12px;background:var(--rule)}
.gtrack .tl{position:absolute;top:62px;font-size:11px;color:var(--mute);transform:translateX(-50%);letter-spacing:.1em}
.gem{position:absolute;top:0;transform:translateX(-50%);text-align:center;transition:left 1.8s var(--ease);left:0}
.gem svg{width:34px;height:34px}
.gem span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--ink2);margin-top:4px}
.gem.m svg path{fill:#e9f1f6;stroke:#6e8496}.gem.l svg path{fill:#fff;stroke:var(--gold3)}.gem.n svg path{fill:#fbf6ea;stroke:var(--ox)}
.choose{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.glass{background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(14px);padding:40px 36px;box-shadow:0 30px 60px -40px rgba(28,26,23,.35)}
.green .glass,.oxblood .glass{background:rgba(243,237,226,.06);border-color:rgba(243,237,226,.16)}
.glass h3{font-size:30px}
.arrow{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--gold3)!important;margin:18px 0 10px}
.arrow::before{content:"→ "}

/* size */
.size-grid{display:grid;grid-template-columns:440px 1fr;gap:100px;align-items:center}
.video{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(28,26,23,.6)}
.video video{width:100%;aspect-ratio:9/16;object-fit:cover}
.video figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.readout{font-family:var(--serif);font-size:150px;line-height:.9}
.readout small{font-size:30px;color:var(--mute);margin-left:12px;font-style:italic}
.mm{font-size:19px;margin:6px 0 20px}.mm b{font-weight:500;color:var(--ink)}
.finger{background:var(--paper);border:1px solid var(--rule);margin-bottom:28px}
#hand{width:100%;height:auto;display:block}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent}
input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--ink)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-11px;transform:rotate(45deg);background:var(--gold);border:1px solid var(--ivory);box-shadow:0 0 0 1px var(--gold)}
.ticks{display:flex;justify-content:space-between;font-size:13px;color:var(--mute);margin-top:4px}

/* meaning */
.ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:70px}
.ico-lg{width:120px;height:120px;margin-bottom:22px}
.idea h3{font-size:40px}
.case-head{max-width:860px;margin-bottom:70px}
.case-head .lede{max-width:720px;margin-top:24px}
.trio{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:24px;align-items:center}
.trio figure{position:relative;background:#fff;overflow:hidden;aspect-ratio:4/5}
.trio figure.tall{aspect-ratio:4/5.6}
.trio img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.trio figure:hover img{transform:scale(1.04)}
.trio figcaption{position:absolute;left:16px;bottom:16px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);background:rgba(243,237,226,.82);backdrop-filter:blur(8px);padding:8px 12px}

/* budget ranges */
.legend{display:flex;flex-wrap:wrap;gap:26px;justify-content:flex-end;font-size:13px;color:var(--ink2)}
.legend i{display:inline-block;width:26px;height:8px;margin-right:10px;vertical-align:middle}
.lg-m{background:var(--gold2)}.lg-l{background:var(--green)}.lg-b{width:2px!important;height:16px!important;background:var(--ox)}
.ranges{position:relative;border-top:1px solid var(--ink)}
.rrow{display:grid;grid-template-columns:200px 1fr;align-items:center;border-bottom:1px solid var(--rule);min-height:120px}
.rrow .rl{font-family:var(--serif);font-size:34px}
.rrow .rl small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase}
.rtrack{position:relative;height:120px}
.rbar{position:absolute;height:9px;width:0;transition:width 1.6s var(--ease)}
.ranges.in .rbar{width:var(--w)}
.rbar.m{background:var(--gold2)}.rbar.l{background:var(--green)}
.rbar b{position:absolute;left:calc(100% + 12px);top:-5px;opacity:0;transition:opacity .6s 1.2s;font-size:12px;font-weight:500;white-space:nowrap;color:var(--ink2);letter-spacing:.02em}
.rbar.ct2{opacity:.55}
.raxis{display:grid;grid-template-columns:200px 1fr}
.raxis .ax{position:relative;height:40px}
.raxis .ax span{position:absolute;top:12px;transform:translateX(-50%);font-size:12px;color:var(--mute)}
.budgetline{position:absolute;top:0;bottom:40px;width:0;border-left:1.5px dashed var(--ox);z-index:3}
.budgetline span{position:absolute;top:-30px;left:8px;white-space:nowrap;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ox);font-weight:500}

/* stacking */
.stack{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px}
.stack .sum{display:flex;flex-direction:column;font-size:17px;color:var(--ink2);margin:6px 0 24px}
.stack .total{font-family:var(--serif);font-size:56px;line-height:1;margin-bottom:16px;padding-top:18px;border-top:1px solid var(--rule)}
.ok{color:var(--green)!important}.over{color:var(--ox)!important}

/* advice */
.timeline{display:grid;grid-template-columns:1fr 200px 1fr;align-items:start;gap:30px;margin-top:80px}
.node .dot{display:block;width:16px;height:16px;transform:rotate(45deg);background:var(--gold2);margin-bottom:26px}
.node .dot.hollow{background:none;border:1px solid var(--gold2)}
.node h3{font-size:38px;color:var(--ivory)}
.line{padding-top:6px}.line svg{width:100%;height:20px}
.draw-line{stroke:var(--gold2);stroke-width:1;fill:none;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 2s var(--ease) .6s}
.line.in .draw-line{stroke-dashoffset:0}

/* story */
.qs{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:80px}
.qs li{font-family:var(--serif);font-size:clamp(30px,3vw,46px);line-height:1.15;padding:34px 0 34px 60px;border-top:1px solid var(--rule);position:relative}
.qs li::before{content:"";position:absolute;left:4px;top:50px;width:12px;height:12px;transform:rotate(45deg);border:1px solid var(--gold)}

/* process */
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin-top:70px;border-top:1px solid var(--ink)}
.steps li{padding:34px 26px 10px 0}
.steps b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:20px;color:var(--gold3)}
.steps h3{font-size:34px;margin-top:40px}
.steps p{font-size:15px}

/* end */
.end{text-align:center;padding:180px 0}
.end img{height:110px;margin:0 auto 50px;position:relative;z-index:2}
.end h2{position:relative;z-index:2;margin-bottom:40px}
.end .eyebrow{position:relative;z-index:2}

@media (max-width:900px){
  .wrap{padding:0 26px}.split,.size-grid,.chap-head,.timeline{grid-template-columns:1fr;gap:30px}
  .chapters,.coins,.ideas,.stone-cols,.choose,.stack,.plates,.ageing-notes,.steps,.qs{grid-template-columns:1fr}
  .ingots{grid-template-columns:repeat(5,1fr);gap:8px}.ingot .pct{font-size:30px}
  .bar nav{display:none}.mrow{grid-template-columns:110px repeat(5,1fr)}.trio{grid-template-columns:1fr}
}

.ranges.in .rbar b{opacity:1}
.rbar i{position:absolute;right:calc(100% + 10px);top:-4px;font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
/* stone metric rows */
.grow .bars3{display:flex;flex-direction:column;gap:12px}
.b3{display:grid;grid-template-columns:150px 1fr 120px;align-items:center;gap:18px;font-size:13px;letter-spacing:.06em;color:var(--ink2)}
.b3 .bt{height:8px;background:rgba(28,26,23,.07);position:relative}
.b3 .bt i{position:absolute;left:0;top:0;bottom:0;width:0;transition:width 1.6s var(--ease)}
.gauges.in .b3 .bt i{width:var(--w)}
.b3.m .bt i{background:#9fb6c6}.b3.l .bt i{background:var(--gold)}.b3.n .bt i{background:var(--ox)}
.b3 .bv{font-family:var(--serif);font-size:22px;color:var(--ink)}

.chap-art{position:absolute;right:3vw;top:0;bottom:0;width:34vw;display:flex;align-items:center;justify-content:flex-end;z-index:1;pointer-events:none}
.chap-art img{max-height:88%;max-width:100%;object-fit:contain;}
.chap-art img.r.in{opacity:.95}
.chapter .chap-head{position:relative;z-index:2}
.c-labels{position:absolute;left:0;right:0;top:22px;display:flex;justify-content:space-around;padding:0 4%;pointer-events:none;z-index:3}
.c-labels span{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);background:rgba(243,237,226,.75);backdrop-filter:blur(6px);padding:7px 12px}
.ring-ico{width:150px;height:150px}
.rbar b{font-size:13px}

.bleed{position:relative}
.s-labels{position:absolute;left:0;right:0;bottom:7%;display:grid;grid-template-columns:repeat(3,1fr);padding:0 6%;text-align:center}
.s-labels span{justify-self:center;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);background:rgba(243,237,226,.78);backdrop-filter:blur(6px);padding:8px 14px}

.end{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:34vh 0 320px}
.end-art{position:absolute;inset:0;background-size:cover;background-position:center bottom}

/* price table */
.ptable{width:100%;border-collapse:collapse;margin-top:10px;font-variant-numeric:lining-nums tabular-nums}
.ptable thead th{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);font-weight:500;text-align:left;padding:14px 22px}
.ptable thead th.grp{font-family:var(--serif);font-size:34px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400;border-bottom:1px solid var(--ink);padding-bottom:16px}
.ptable thead th.grp small{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold3);margin-left:10px}
.ptable tbody th{text-align:left;padding:26px 22px;width:190px;font-weight:400}
.ptable tbody th b{display:block;font-family:var(--serif);font-weight:400;font-size:40px;line-height:1}
.ptable tbody th small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.ptable td{padding:26px 22px;font-size:24px;color:var(--ink);border-top:1px solid var(--rule);white-space:nowrap}
.ptable tbody th{border-top:1px solid var(--rule)}
.ptable td i{font-style:normal;color:var(--mute);margin:0 8px}
.ptable td.fit{background:rgba(30,58,47,.08);box-shadow:inset 3px 0 0 var(--green)}
.ptable td.edge{background:rgba(184,149,90,.10);box-shadow:inset 3px 0 0 var(--gold)}
.ptable tr.muted td{font-size:16px;color:var(--mute);letter-spacing:.04em}
.ptable tr.muted th b{font-size:30px}
.ptable-key{display:flex;gap:30px;margin-top:22px;font-size:13px;color:var(--ink2)}
.ptable-key i{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px}

/* presenter pen */
.pen-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:90;pointer-events:none}
body.drawing .pen-canvas{pointer-events:auto;cursor:crosshair}
.pen-ui{position:fixed;right:24px;bottom:24px;z-index:120;display:flex;align-items:center;gap:10px;flex-direction:row-reverse}
.pen-ui button{all:unset;cursor:pointer;display:grid;place-items:center;width:38px;height:38px;border-radius:50%}
.pen-ui svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pen-toggle{background:var(--green)!important;color:var(--gold2);box-shadow:0 10px 30px -10px rgba(0,0,0,.5);width:50px!important;height:50px!important}
.pen-ui.open .pen-toggle{background:var(--gold)!important;color:var(--green)}
.pen-bar{display:none;align-items:center;gap:2px;padding:6px 10px;border-radius:99px;background:rgba(243,237,226,.86);backdrop-filter:blur(14px);border:1px solid rgba(28,26,23,.12);box-shadow:0 20px 40px -20px rgba(0,0,0,.45);color:var(--ink)}
.pen-ui.open .pen-bar{display:flex}
.pen-bar button.on{background:var(--green);color:var(--gold2)}
.pen-bar .sw{width:24px;height:24px;margin:0 3px;background:var(--c);box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.pen-bar .sw.on{box-shadow:0 0 0 2px var(--ivory),0 0 0 3.5px var(--c)}
.pen-bar .sep{width:1px;height:22px;background:rgba(28,26,23,.15);margin:0 6px}

.ss-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.ss-img{position:relative;overflow:hidden;box-shadow:0 40px 80px -40px rgba(28,26,23,.55)}
.ss-img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.ss-img figcaption{position:absolute;left:16px;bottom:16px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;background:rgba(243,237,226,.82);backdrop-filter:blur(8px);padding:8px 12px}
.sstable thead th{font-family:var(--serif);font-size:24px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400;border-bottom:1px solid var(--ink);vertical-align:bottom}
.sstable thead th small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold3);margin-top:4px}
.sstable tbody th{width:110px;padding:20px 22px}.sstable tbody th b{font-size:34px}
.sstable td{font-size:22px;padding:20px 22px}
.sstable.totals td{font-family:var(--serif);font-size:34px}
.ptable td.over-c{background:rgba(74,18,22,.07);box-shadow:inset 3px 0 0 var(--ox);color:var(--ox)}
.ptable td.fit{color:var(--green)}
