/* umairsiddiq.com — design system
   ink #14213A · accent #2E6FB0 / #1B4F72 · paper #F7F8FA · navy band #0F2233 */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ink:#14213A; --ink-2:#33414F; --muted:#5B6673; --faint:#8A93A0;
  --accent:#2E6FB0; --accent-dk:#1B4F72; --accent-lt:#7FB0DE;
  --paper:#F7F8FA; --white:#FFFFFF; --line:#E4E8ED; --line-2:#D9DEE5;
  --chip-bg:#EAF1F8; --chip-line:#DBE6F1; --navy:#0F2233;
  --sans:'IBM Plex Sans',sans-serif; --display:'Space Grotesk',sans-serif; --mono:'IBM Plex Mono',monospace;
  --wrap:1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:inherit;}
img,svg{max-width:100%;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 clamp(20px,5vw,64px);}

/* ---- eyebrow / labels ---- */
.eyebrow{font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin:0 0 1.1rem;}
.mono{font-family:var(--mono);}

/* ---- headings ---- */
h1,h2,h3{font-family:var(--display); letter-spacing:-.02em; color:var(--ink); margin:0;}
.h1{font-weight:600; font-size:clamp(2.4rem,5.4vw,4.2rem); line-height:1.03; letter-spacing:-.03em;}
.h1--home{font-size:clamp(2.6rem,6vw,4.7rem); line-height:1.02; letter-spacing:-.032em; max-width:16ch;}
.h2{font-weight:600; font-size:clamp(1.8rem,3.4vw,2.6rem);}
.h2--sm{font-size:clamp(1.6rem,3vw,2.3rem);}
.lede{font-size:clamp(1.05rem,1.6vw,1.3rem); line-height:1.55; color:var(--muted); margin:0;}

/* ---- buttons / CTAs ---- */
.btn{display:inline-flex; align-items:center; gap:.5rem; font-family:var(--mono); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; padding:.85rem 1.35rem; border-radius:999px; text-decoration:none; cursor:pointer; border:1px solid transparent; transition:background .15s ease, border-color .15s ease, transform .15s ease, color .15s ease;}
.btn--primary{background:var(--ink); color:#fff;}
.btn--primary:hover{background:var(--accent-dk); transform:translateY(-1px);}
.btn--ghost{background:transparent; color:var(--ink); border-color:var(--line-2);}
.btn--ghost:hover{border-color:var(--ink); transform:translateY(-1px);}
.btn--light{background:#fff; color:var(--ink);}
.btn--light:hover{transform:translateY(-1px);}
.btn-row{display:flex; gap:.8rem; flex-wrap:wrap;}
.arrow-link{display:inline-flex; align-items:center; gap:.5rem; font-family:var(--mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); text-decoration:none;}
.arrow-link:hover{color:var(--accent-dk);}

/* ---- header / nav ---- */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(140%) blur(10px); background:rgba(247,248,250,.86); border-bottom:1px solid var(--line);}
.site-header .bar{max-width:var(--wrap); margin:0 auto; padding:0 clamp(20px,5vw,64px); height:70px; display:flex; align-items:center; justify-content:space-between;}
.brand{font-family:var(--display); font-weight:600; font-size:1.05rem; letter-spacing:-.01em; color:var(--ink); text-decoration:none;}
.brand span{color:var(--accent); font-weight:700;}
.nav-links{display:flex; gap:2rem; align-items:center; list-style:none; margin:0; padding:0;}
.nav-links a{font-family:var(--mono); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); text-decoration:none;}
.nav-links a.active{color:var(--ink); padding-bottom:4px; border-bottom:2px solid var(--accent);}
.nav-toggle{display:none; background:none; border:0; cursor:pointer; padding:6px 8px; color:var(--ink); font-size:1.5rem; line-height:1;}

@media (max-width:760px){
  .nav-toggle{display:inline-flex;}
  .nav-links{position:absolute; top:70px; left:0; right:0; flex-direction:column; gap:0; align-items:stretch; padding:.2rem clamp(20px,5vw,64px) .6rem; background:rgba(247,248,250,.98); backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line); display:none;}
  .nav-links.open{display:flex;}
  .nav-links a{font-size:.82rem; padding:.9rem 0; border-bottom:1px solid var(--line);}
  .nav-links a.active{border-bottom:1px solid var(--line);}
  .nav-links li:last-child a{border-bottom:0;}
}

/* ---- sections ---- */
section{position:relative;}
.pad{padding:clamp(56px,8vw,100px) 0;}
.pad-hero{padding:clamp(56px,8vw,108px) 0 clamp(44px,6vw,76px);}
.hairline{border-top:1px solid var(--line);}

/* ---- chips ---- */
.chip{font-family:var(--mono); font-size:.74rem; letter-spacing:.02em; color:var(--accent-dk); background:var(--chip-bg); border:1px solid var(--chip-line); padding:5px 11px; border-radius:999px; text-decoration:none; display:inline-flex; align-items:center; gap:7px;}
.chip-row{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.chip-sm{font-size:.68rem; letter-spacing:.06em; padding:.28rem .6rem;}

/* ---- proof band ---- */
.proof{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white);}
.proof .grid{max-width:var(--wrap); margin:0 auto; padding:0 clamp(20px,5vw,64px); display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.proof .cell{padding:34px 26px; border-right:1px solid var(--line);}
.proof .cell:first-child{padding-left:0;}
.proof .cell:last-child{border-right:0; padding-right:0;}
.proof .num{font-family:var(--display); font-weight:600; font-size:2.6rem; letter-spacing:-.03em; line-height:1;}
.proof .num .sub{color:var(--faint);}
.proof .lbl{font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin:.7rem 0 .4rem;}
.proof .desc{font-size:.9rem; color:var(--muted); line-height:1.45;}

/* ---- growth loop ---- */
.loop-wrap{position:relative; min-width:0;}
.loop-echo{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none;}
.loop-echo>div{width:116%; max-width:640px; aspect-ratio:1; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 30px,rgba(46,111,176,.05) 30px 31px);}
.loop-svg-holder{position:relative; width:100%; max-width:560px; margin:0 auto;}
.loop-svg{width:100%; height:auto; overflow:visible; display:block;}
.loop-node{cursor:pointer; outline:none;}
.loop-node circle{fill:var(--paper); stroke:var(--accent); stroke-width:2.4; transition:fill .25s ease, stroke .25s ease;}
.loop-node .num{fill:var(--accent); font-family:var(--mono); font-size:13px; font-weight:500; pointer-events:none; transition:fill .25s ease;}
.loop-node.on circle{fill:var(--accent); stroke:var(--accent);}
.loop-node.on .num{fill:#fff;}
.loop-node:focus-visible circle{stroke:var(--accent-dk); stroke-width:3.2;}
.loop-label{fill:var(--muted); font-family:var(--mono); font-size:14px; letter-spacing:.02em; pointer-events:none;}
.loop-center-1{fill:var(--faint); font-family:var(--mono); font-size:10px; letter-spacing:.28em;}
.loop-center-2{fill:var(--ink); font-family:var(--display); font-size:21px; font-weight:600;}
.loop-arc{fill:none; stroke:#9BBDDB; stroke-width:2;}
.loop-ring{fill:none; stroke:rgba(46,111,176,.18); stroke-width:1; stroke-dasharray:2 10;}
.loop-ring-rot{transform-box:fill-box; transform-origin:center; animation:spin 60s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.loop-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(36px,5vw,72px); align-items:center;}

/* readout panel */
.readout .meta{display:flex; align-items:center; gap:10px; margin-bottom:1rem;}
.readout .stage-ct{font-family:var(--mono); font-size:.74rem; letter-spacing:.14em; color:var(--faint);}
.readout .rule{flex:1; height:1px; background:var(--line);}
.dots{display:flex; gap:5px;}
.dots i{width:6px; height:6px; border-radius:50%; background:var(--line-2); transition:background .2s ease;}
.dots i.on{background:var(--accent);}
.readout h3{font-weight:600; font-size:clamp(1.7rem,3vw,2.2rem); margin:0 0 .8rem;}
.readout .def{font-size:1.12rem; line-height:1.6; color:var(--ink-2); margin:0 0 1.2rem; min-height:3.4em;}
.readout .disc{font-family:var(--mono); font-size:.8rem; line-height:2; letter-spacing:.01em; color:var(--muted); margin:0 0 1.6rem; min-height:2em;}
.hint{font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--faint); margin:1.8rem 0 0;}

/* stepper (approach) */
.stepper{min-width:0; display:flex; flex-direction:column;}
.step{cursor:pointer; padding:1rem 1.1rem; border-radius:12px; border-top:1px solid var(--line); transition:background .25s ease, box-shadow .25s ease;}
.step .head{display:flex; align-items:center; gap:12px;}
.step .n{font-family:var(--mono); font-size:.78rem; letter-spacing:.1em; color:var(--accent);}
.step .t{font-family:var(--display); font-weight:600; font-size:1.15rem; letter-spacing:-.01em; color:var(--ink);}
.step .body{display:none;}
.step .body p{margin:.7rem 0 .6rem; color:var(--ink-2); line-height:1.55;}
.step .body .disc{margin:0; font-family:var(--mono); font-size:.76rem; letter-spacing:.01em; color:var(--muted); line-height:1.8;}
.step.on{background:#fff; box-shadow:0 12px 30px -20px rgba(20,33,58,.45); border-top-color:transparent;}
.step.on .body{display:block;}

/* ---- cards ---- */
.card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem;}
.card{display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:1.7rem 1.5rem 1.5rem; text-decoration:none; transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;}
.card:hover{border-color:var(--accent); transform:translateY(-3px); box-shadow:0 14px 34px -22px rgba(20,33,58,.4);}
.card .kicker{font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:.9rem;}
.card h3{font-weight:600; font-size:1.18rem; letter-spacing:-.005em; margin:0 0 .5rem;}
.card p{font-size:.96rem; color:var(--muted); margin:0 0 1.2rem;}
.card .go{margin-top:auto; font-family:var(--mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); display:inline-flex; gap:.4rem; align-items:center;}
.card--dark{background:var(--ink); border-color:var(--ink);}
.card--dark:hover{border-color:var(--ink); box-shadow:0 18px 40px -22px rgba(20,33,58,.6);}
.card--dark .kicker{color:var(--accent-lt);}
.card--dark h3{color:#fff;}
.card--dark p{color:#AEBCCB;}
.card--dark .go{color:#8FC0EA;}

/* principle cards */
.principle{border-top:2px solid var(--accent); padding-top:1rem;}
.principle h3{font-weight:600; font-size:1.12rem; letter-spacing:-.005em; margin:0 0 .4rem;}
.principle p{font-size:.96rem; color:var(--muted); margin:0; line-height:1.6;}

/* ---- dark band ---- */
.band{background:var(--navy); color:#DCE4EC;}
.band .wrap{padding:clamp(56px,8vw,100px) clamp(20px,5vw,64px);}
.band .eyebrow{color:var(--accent-lt);}
.band h2{color:#fff; margin:0 0 1.2rem;}
.band p{color:#C7D2DE; font-size:1.1rem; line-height:1.6;}
.band a.inline{color:#8FC0EA; text-decoration:none;}
.split{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(32px,5vw,64px); align-items:center;}
.pipeline{width:100%; max-width:320px; border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:22px; background:rgba(255,255,255,.03);}
.pipeline .cap{font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-lt); margin-bottom:16px; display:flex; align-items:center; gap:8px;}
.pipeline .cap i{width:7px; height:7px; border-radius:50%; background:var(--accent-lt); display:inline-block;}
.pipeline .row{display:flex; align-items:center; gap:12px; padding:7px 0;}
.pipeline .row .rn{font-family:var(--mono); font-size:.7rem; color:#6E8199; width:18px; flex:none;}
.pipeline .row .rname{flex:1; font-size:.92rem; color:#DCE4EC;}
.pipeline .row .tag{font-family:var(--mono); font-size:.64rem; letter-spacing:.08em; color:var(--accent-lt); background:rgba(127,176,222,.12); padding:3px 8px; border-radius:999px;}

/* ---- forms ---- */
.field{margin-bottom:1.1rem;}
.field label{display:block; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 0 .4rem;}
.field input, .field textarea{width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink); background:#fff; border:1px solid var(--line-2); border-radius:10px; padding:.8rem .9rem;}
.field textarea{min-height:130px; resize:vertical;}
.field input:focus, .field textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}
.method{display:flex; gap:1rem; align-items:flex-start; border-radius:14px; padding:1.3rem 1.4rem; text-decoration:none; transition:border-color .18s ease, transform .18s ease;}
.method .ic{width:38px; height:38px; flex:none; border-radius:10px; display:grid; place-items:center;}
.method .ic svg{width:20px; height:20px;}
.method h3{font-family:var(--display); font-weight:600; font-size:1.02rem; margin:0 0 .15rem;}
.method p{font-size:.9rem; margin:0;}
.method--primary{background:var(--ink); border:1px solid var(--ink);}
.method--primary:hover{transform:translateY(-2px);}
.method--primary .ic{background:rgba(255,255,255,.12); color:#fff;}
.method--primary h3{color:#fff;}
.method--primary p{color:#B9C4D2;}
.method--ghost{background:#fff; border:1px solid var(--line);}
.method--ghost:hover{border-color:var(--accent); transform:translateY(-2px);}
.method--ghost .ic{background:var(--chip-bg); color:var(--accent-dk);}
.method--ghost h3{color:var(--ink);}
.method--ghost p{color:var(--muted);}

/* ---- contact form (polished) ---- */
.contact-form{background:#fff; border:1px solid var(--line); border-radius:16px; padding:clamp(22px,3.5vw,32px);}
.form-head{margin:0 0 1.4rem;}
.form-head h2{font-family:var(--display); font-weight:600; font-size:1.15rem; letter-spacing:-.01em; color:var(--ink); margin:0 0 .25rem;}
.form-head p{font-size:.9rem; color:var(--faint); margin:0;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem;}
.req{color:var(--accent);}
.seg{display:flex; flex-wrap:wrap; gap:.5rem;}
.seg input{position:absolute; width:1px; height:1px; opacity:0; margin:-1px; overflow:hidden;}
.seg label{font-family:var(--mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); background:#fff; border:1px solid var(--line-2); padding:.5rem .85rem; border-radius:999px; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease;}
.seg label:hover{border-color:var(--ink);}
.seg input:checked + label{background:var(--ink); border-color:var(--ink); color:#fff;}
.seg input:focus-visible + label{outline:2px solid var(--accent); outline-offset:2px;}
.field-hint{display:block; font-family:var(--mono); font-size:.68rem; letter-spacing:.04em; color:var(--faint); margin-top:.35rem; text-align:right;}
.field-err{display:none; font-size:.82rem; color:#B5462F; margin-top:.35rem;}
.field.invalid input, .field.invalid textarea{border-color:#B5462F;}
.field.invalid .field-err{display:block;}
.form-actions{display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:.4rem;}
.form-note{font-size:.82rem; color:var(--faint);}
@media (max-width:560px){ .field-row{grid-template-columns:1fr;} }

/* ---- footer ---- */
.site-footer{border-top:1px solid var(--line); padding:2.4rem 0; margin-top:1rem;}
.site-footer .top{display:flex; justify-content:space-between; align-items:center; gap:1.5rem; flex-wrap:wrap;}
.site-footer .name{font-family:var(--display); font-weight:600; color:var(--ink);}
.site-footer ul{display:flex; flex-wrap:wrap; gap:.8rem 1.4rem; list-style:none; margin:0; padding:0;}
.site-footer a{font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-decoration:none;}
.site-footer .fine{font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; color:var(--faint); margin-top:1rem;}

/* ---- reveal ---- */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  .loop-ring-rot{animation:none;}
}

/* ---- utilities ---- */
.center{text-align:center;}
.mt-teaser{margin-top:2.8rem;}
.hero-strip-label{font-family:var(--mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); margin-right:4px;}
.section-head{max-width:60ch; margin:0 auto clamp(36px,5vw,60px); text-align:center;}
.section-head.left{margin-left:0; text-align:left; max-width:52ch;}

/* ---- altitude arc (experience) ---- */
.altitude-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:clamp(24px,3vw,34px) clamp(24px,4vw,44px);}
.altitude-head{display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:26px;}
.altitude-track{position:relative; display:grid; grid-template-columns:repeat(4,1fr);}
.altitude-track .line{position:absolute; left:6%; right:6%; top:7px; height:2px; background:linear-gradient(90deg,#9BBDDB,#2E6FB0);}
.altitude-track .stop{position:relative; text-align:center;}
.altitude-track .adot{position:relative; z-index:1; display:inline-block; width:16px; height:16px; border-radius:50%; background:var(--accent); border:3px solid #fff; box-shadow:0 0 0 1px var(--accent);}
.altitude-track .st-name{font-family:var(--display); font-weight:600; font-size:1.02rem; color:var(--ink); margin-top:12px;}
.altitude-track .st-note{font-size:.82rem; color:var(--faint); margin-top:2px;}

/* ---- industry blocks + mini-loop ---- */
.industry{border-top:1px solid var(--line); padding:clamp(36px,5vw,56px) 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(28px,5vw,64px); align-items:start;}
.industry .kick{font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:.5rem;}
.industry h2{font-weight:600; font-size:clamp(1.5rem,2.6vw,2rem); margin:0 0 .7rem;}
.industry .alt-chip{display:inline-flex; margin-bottom:1.4rem;}
.industry .role{font-weight:500; color:var(--ink); margin:0 0 .9rem; font-size:1.08rem; line-height:1.5;}
.industry .desc{color:var(--muted); margin:0 0 1.4rem; line-height:1.62;}
.industry .tags{display:flex; flex-wrap:wrap; gap:.5rem;}
.mini-loop{max-width:240px;}
.mini-loop svg{width:100%; height:auto; overflow:visible; display:block;}
.mini-loop .ring{fill:none; stroke:var(--line); stroke-width:2;}
.mini-loop .mn circle{fill:#fff; stroke:#C9D4DF; stroke-width:2;}
.mini-loop .mn.emph circle{fill:var(--accent); stroke:var(--accent); stroke-width:2.5;}
.mini-loop .mn text{fill:#9AA7B4; font-family:var(--mono); font-size:19px; font-weight:500;}
.mini-loop .mn.emph text{fill:#fff;}
.mini-loop .cap2{font-family:var(--mono); font-size:.7rem; letter-spacing:.02em; color:var(--faint); margin-top:10px; line-height:1.5;}
.mini-loop .cap2 b{color:var(--accent); font-weight:400;}

/* ---- venture card ---- */
.venture-card{width:100%; max-width:340px; background:var(--ink); border-radius:16px; padding:26px 28px; color:#DCE4EC;}
.venture-card .cap{font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-lt); margin-bottom:16px;}
.venture-card .vrow{display:flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08);}
.venture-card .vrow:last-child{border-bottom:0;}
.venture-card .vk{font-family:var(--mono); font-size:.72rem; color:var(--accent-lt); width:74px; flex:none;}
.venture-card .vv{font-size:.94rem;}

/* ---- advisory: oversight list, good fits, capabilities ---- */
.oversight{width:100%; max-width:360px; border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:24px 26px; background:rgba(255,255,255,.03);}
.oversight .cap{font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-lt); margin-bottom:16px;}
.oversight .orow{display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08);}
.oversight .orow:last-child{border-bottom:0;}
.oversight .ck{width:18px; height:18px; flex:none; border-radius:5px; background:rgba(127,176,222,.16); color:#8FC0EA; display:grid; place-items:center; font-family:var(--mono); font-size:11px;}
.oversight .otext{font-size:.98rem; color:#DCE4EC;}
.fit-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem;}
.fit-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.7rem 1.5rem;}
.fit-card .fn{font-family:var(--display); font-weight:700; font-size:1.6rem; color:#C9D4DF; letter-spacing:-.02em; margin-bottom:1rem;}
.fit-card p{margin:0; font-size:1.02rem; line-height:1.55; color:var(--muted);}
.fit-card strong{color:var(--ink); font-weight:600;}
.cap-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:0;}
.cap-item{display:flex; gap:1.1rem; align-items:baseline; padding:1.4rem 1.4rem 1.4rem 0; border-top:1px solid var(--line);}
.cap-item .cn{font-family:var(--mono); font-size:.78rem; color:var(--accent); flex:none; min-width:2.4ch; font-weight:500;}
.cap-item h3{font-weight:600; font-size:1.1rem; letter-spacing:-.01em; margin:0 0 .3rem;}
.cap-item p{font-size:.96rem; color:var(--muted); margin:0; line-height:1.55;}

/* ---- thanks ---- */
.thanks-mark{width:72px; height:72px; margin:0 auto 2rem;}
