:root{
  --ink:#2a1709;
  --brown:#7a5640;
  --brown-d:#3a2214;
  --tan:#d9c3a5;
  --chip:#e6d5bd;
  --cream:#faf4e6;
  --bar-bg:#d4c0a6;
  --line:#8a7260;
  --good:#3a9a5a;
  --bad:#8a3b2e;
  --header-h:68px;
  --font-ui:"Inter","Roboto",system-ui,-apple-system,"Segoe UI","Noto Sans","Helvetica Neue",Arial,sans-serif;
  --font-app:"Roboto","Inter",system-ui,-apple-system,"Segoe UI","Noto Sans",Arial,sans-serif;
  --font-cond:"Roboto Condensed","Roboto","Inter",system-ui,"Noto Sans",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-ui);color:var(--ink);background:#fff;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
svg.i{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
ul{list-style:none}

/* ---------- splash ---------- */
.splash{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;transition:opacity .6s ease}
.splash.hide{opacity:0;pointer-events:none}
.splash img{width:min(32vw,300px);height:auto}
.splash .wordmark{font-size:min(5.4vw,60px);letter-spacing:.01em}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:50;height:var(--header-h);background:rgba(255,253,248,.97);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1200px)/2));backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:8px}
.brand img{width:50px;height:auto}
.wordmark{font-family:"Montserrat","Inter",sans-serif;font-weight:800;letter-spacing:.015em;color:#0d0d0d}
.brand .wordmark{font-size:21px}
.nav{display:flex;align-items:center;gap:6px;position:absolute;left:50%;transform:translateX(-50%);margin-left:-8px}
.nav a{font-family:var(--font-ui);font-size:17px;font-weight:400;padding:7px 18px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}
.nav a:hover{background:rgba(122,86,64,.12)}
.nav a.active{background:var(--brown);color:#fff}
.nav a.active:hover{background:var(--brown)}
.btn-login{white-space:nowrap;background:var(--brown);color:#fff;font-size:17px;font-weight:500;padding:9px 20px;border-radius:999px;box-shadow:0 2px 4px rgba(0,0,0,.12);transition:filter .2s}
.btn-login:hover{filter:brightness(1.12)}
.menu-toggle{display:none}

/* ---------- page shell ---------- */
.page{position:relative;min-height:calc(100vh - var(--header-h));overflow:hidden}
.page::before{content:"";position:absolute;left:0;right:0;top:0;height:430px;z-index:0;pointer-events:none;
  background:#f8efdd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 430' preserveAspectRatio='none'%3E%3Crect width='1440' height='430' fill='%23f7eedb'/%3E%3Cpath d='M1040 0H1440V120C1330 70 1180 130 1040 0Z' fill='%23e8d6bb'/%3E%3Cpath d='M1090 0H1440V70C1330 30 1210 90 1090 0Z' fill='%23dcc7a8' opacity='.6'/%3E%3Cpath d='M0 430V250C70 205 190 215 300 300C330 340 290 420 330 430Z' fill='%23ebdcc3'/%3E%3Ccircle cx='720' cy='140' r='400' fill='%23fcf7ea' opacity='.8'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.page.plain::before{background:#f8efdd;height:350px}
.page>*{position:relative;z-index:1}
.wrap{width:min(1060px,calc(100% - 48px));margin:0 auto}
.wrap.wide{width:min(1150px,calc(100% - 48px))}
.wrap.narrow{width:min(826px,calc(100% - 48px))}
.app{font-family:var(--font-app)}
.app h1,.app h2,.app h3,.app h4{font-family:var(--font-app);letter-spacing:-.02em}
.cond,.cond h1,.cond h2,.cond h3,.cond h4,.cond button,.cond p,.cond span,.cond a{font-family:var(--font-cond)!important;letter-spacing:0}

/* ---------- shared components ---------- */
.card{background:#fff;border:1.5px solid var(--line);border-radius:18px;box-shadow:0 8px 18px rgba(80,50,20,.18)}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--brown-d);color:#fff;border-radius:999px;font-size:20px;padding:14px 38px;box-shadow:0 3px 6px rgba(0,0,0,.2);transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.25);transform:translateY(-1px)}
.btn.brown{background:var(--brown)}
.btn.sm{font-size:16px;padding:7px 18px;font-weight:500}
.btn.block{display:flex;width:100%}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--chip);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:17px}
.chip .i{color:var(--good)}
.bar{height:11px;border-radius:99px;background:var(--bar-bg);overflow:hidden}
.bar>i{display:block;height:100%;background:var(--ink);border-radius:99px;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.center{text-align:center}

/* ---------- 02 home ---------- */
.home-hero{padding-top:34px;text-align:center}
.home-hero h1{font-size:51px;line-height:1.18;font-weight:700;letter-spacing:-.02em}
.home-hero p{font-size:18px;margin-top:6px}
.home-hero .btn{margin-top:22px;font-size:21px;padding:16px 38px;font-weight:500}
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}
.quad .card{padding:24px 10px 16px;text-align:center;min-height:174px;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center}
.quad .card:hover{transform:translateY(-4px);box-shadow:0 12px 22px rgba(80,50,20,.25)}
.quad .card .i{margin-bottom:12px}
.quad h3{font-size:19px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.quad p{font-size:17px;line-height:1.3;margin-top:3px;letter-spacing:-.01em;padding:0 4px}
.steps{display:grid;grid-template-columns:repeat(4,187px);margin:30px auto 40px;width:fit-content}
.step{display:flex;flex-direction:column;align-items:center;position:relative}
.step .ic{height:30px;display:flex;align-items:flex-end;margin-bottom:4px}
.step .dot{width:22px;height:22px;border-radius:50%;position:relative;z-index:1}
.step .lbl{font-size:18px;margin-top:6px;white-space:nowrap}
.step:not(:last-child)::after{content:"";position:absolute;left:50%;width:100%;top:43px;height:5px;border-radius:3px;background:linear-gradient(90deg,var(--a),var(--b));z-index:0}

/* ---------- 03 discover ---------- */
.disc-hero{text-align:center;padding-top:34px}
.disc-hero h1{font-size:46px;font-weight:700;letter-spacing:-.025em;line-height:1.2}
.disc-hero p{font-size:19px;margin-top:6px}
.groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.group{padding:24px 24px 22px;text-align:center;min-height:236px;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center}
.group:hover{transform:translateY(-4px)}
.group .art{height:100px;display:flex;align-items:center;justify-content:center;gap:2px;margin-bottom:10px}
.group h3{font-size:25px;font-weight:700}
.group p{font-size:18px;line-height:1.25;margin-top:5px;max-width:300px}
.feat-title{font-size:24px;font-weight:700;text-align:center;margin:36px 0 18px;letter-spacing:-.01em}
.feats{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;padding-bottom:50px}
.feat{padding:18px 8px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;border-radius:16px}
.feat .art{height:58px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.feat h4{font-size:19px;font-weight:600;line-height:1.2;letter-spacing:-.01em;min-height:46px;display:flex;align-items:center;justify-content:center}
.feat .btn{margin-top:12px}

/* ---------- 04 quick ---------- */
.q-head{display:flex;align-items:center;gap:16px;font-size:20px;padding-top:30px}
.q-head .bar{width:148px;height:6px;background:var(--bar-bg)}
.q-top{display:grid;grid-template-columns:1fr 285px;gap:20px;margin-top:20px}
.q-case{padding:24px 28px 20px;border-radius:18px}
.q-case h1{font-size:44px;line-height:.95;font-weight:700;letter-spacing:-.015em}
.q-case p{font-size:19px;margin-top:5px}
.q-stats{padding:0;overflow:hidden;border-radius:14px}
.q-stats li{display:flex;justify-content:space-between;padding:10px 16px;font-size:20px;border-bottom:1px solid #b9a794}
.q-stats li:last-child{border-bottom:0}
.q-stats .up,.q-stats .down{display:inline-flex;align-items:center;gap:8px}
.q-stats .down{color:var(--bad)}
.q-check{margin-top:20px;border:1.5px solid var(--line);border-radius:22px 22px 0 0;border-bottom:0;padding:26px 0 0;background:rgba(250,244,230,.7);position:relative}
.q-check h2{text-align:center;font-size:38px;font-weight:700;letter-spacing:-.02em;margin-bottom:22px}
.q-opts{display:grid;grid-template-columns:1.02fr 1fr 1fr;gap:20px;margin:0 -1.5px}
.q-opt{padding:20px 10px 20px;text-align:center;border-radius:16px;min-height:143px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}
.q-opt h3{font-size:24px;font-weight:700;letter-spacing:-.02em}
.q-opt:hover{transform:translateY(-3px)}
.q-opt.sel{border-color:var(--ink);background:#fbf5e8;box-shadow:0 0 0 3px var(--chip),0 8px 18px rgba(80,50,20,.18)}
.q-foot{text-align:center;padding:26px 0 40px}
.q-foot .btn{font-size:24px;padding:14px 38px}
.q-foot p{font-size:18px;margin-top:20px}
.q-check{border-radius:22px 22px 0 0;margin-bottom:0}
.q-after{margin-top:0}

/* ---------- 05 feedback ---------- */
.fb h1{font-size:42px;font-weight:700;padding-top:36px;letter-spacing:-.02em}
.fb .chip{margin-top:14px;font-size:20px;padding:9px 14px;border-radius:14px;background:var(--chip)}
.fb-grid{display:grid;grid-template-columns:216px 221px 222px 222px 216px;gap:19px;margin-top:30px;justify-content:space-between}
.fb-card{padding:26px 14px 20px;min-height:336px;border-radius:16px;text-align:center;display:flex;flex-direction:column;align-items:center}
.fb-card h3{font-size:27px;line-height:1.1;font-weight:700;letter-spacing:-.02em}
.fb-card .big{margin-top:26px}
.fb-card .verdict{font-size:27px;font-weight:700;margin-top:24px}
.vbars{display:flex;gap:24px;margin-top:20px;align-items:flex-end}
.vb{display:flex;flex-direction:column;align-items:center;width:30px}
.vb .tube{width:27px;height:124px;background:var(--bar-bg);border-radius:99px;display:flex;align-items:flex-end;overflow:hidden}
.vb .tube i{display:block;width:100%;background:var(--ink);border-radius:99px;transition:height .8s}
.vb span{font-size:18px;line-height:1.2;margin-top:8px;width:60px;text-align:center}
.fb-ai ul{text-align:left;margin-top:18px;padding-left:14px;font-size:18px;line-height:1.2}
.fb-ai li{list-style:disc;margin-bottom:10px;padding-left:2px}
.fb-ai li::marker{font-size:14px}
.fb-pro .btn{margin-top:20px;font-size:21px;padding:9px 18px;box-shadow:none;background:var(--brown-d)}
.fb-pro p{font-size:17px;margin-top:12px}
.fb-st{text-align:left;align-items:stretch;background:#fbf7ee}
.fb-st h3{font-size:24px;margin:26px 0 10px}
.fb-st hr{border:0;border-top:1px solid #cdbba5;margin:20px 0 0}
.fb-st h3+.bar{height:9px}
.fb-foot{text-align:center;padding:40px 0 50px}
.fb-foot .btn{font-size:23px;padding:16px 36px}

/* ---------- 06 profile ---------- */
.pf h1{font-size:43px;font-weight:700;padding-top:36px;letter-spacing:-.02em}
.pf-user{display:flex;align-items:center;gap:20px;margin-top:10px}
.avatar{width:74px;height:74px;border-radius:50%;background:#d6bfa2;overflow:hidden;position:relative;flex:none}
.avatar::before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:var(--ink);left:22px;top:14px}
.avatar::after{content:"";position:absolute;width:56px;height:46px;border-radius:50% 50% 0 0;background:var(--ink);left:9px;top:50px}
.pf-user h3{font-size:25px;font-weight:500}
.pf-user p{font-size:21px;margin-top:2px}
.pf h2{font-size:28px;font-weight:700;margin:20px 0 14px;letter-spacing:-.015em}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cmp .card{padding:24px 22px;display:grid;grid-template-columns:236px 1fr;align-items:center;gap:6px;border-radius:16px;height:114px}
.cmp h3{font-size:26px;line-height:1.1;font-weight:700;letter-spacing:-.03em;white-space:nowrap}
.cmp .chip{margin-top:8px;font-size:17px;padding:5px 10px;border-radius:14px}
.cmp .rows{display:grid;gap:5px}
.cmp .rows>div{display:grid;grid-template-columns:auto 100px;gap:10px;font-size:19px;align-items:center;justify-content:space-between}
.cmp .bar{height:12px}
.tbl{width:100%;border-collapse:separate;border-spacing:0;border:1.5px solid var(--ink);border-radius:12px;overflow:hidden;margin-top:22px;background:#fff;font-size:20px}
.tbl th,.tbl td{border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:5px 14px;height:34px;text-align:left}
.tbl th:last-child,.tbl td:last-child{border-right:0}
.tbl tr:last-child td{border-bottom:0}
.tbl thead th{background:#f7f2e6;text-align:center;font-weight:700;font-size:20px}
.tbl tbody th{background:#f7f2e6;font-weight:400}
.tbl td:empty{background:#fff}
.tbl td{color:var(--ink);font-size:17px;line-height:1.25}
.pf-foot{text-align:center;padding:30px 0 44px}
.pf-foot p{font-size:21px}
.pf-foot .row{display:flex;gap:22px;justify-content:center;margin-top:16px}
.pf-foot .btn{font-size:22px;padding:13px 22px;border-radius:999px;font-weight:400}

/* ---------- 07 deep ---------- */
.dp h1{font-size:44px;font-weight:700;padding-top:36px;letter-spacing:-.02em}
.dp .sub{font-size:34px;font-weight:400;margin-top:12px;letter-spacing:-.01em}
.dp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.dp-card{padding:28px 22px 20px;border-radius:18px;display:flex;flex-direction:column;min-height:348px}
.dp-card h3{font-size:31px;line-height:1.1;font-weight:700;letter-spacing:-.02em}
.dp-card .t{font-size:21px;margin-top:2px}
.dp-card .chip{align-self:flex-start;margin-top:8px;font-size:18px;padding:5px 12px 5px 8px;border-radius:14px;background:var(--chip);border:1px solid #cbb599}
.dp-card .chip .i{background:var(--good);color:#fff;border-radius:50%;padding:2px}
.flow{display:flex;align-items:center;gap:4px;margin-top:auto;margin-bottom:44px}
.flow b{font-weight:400;background:var(--chip);border:1.5px solid var(--ink);border-radius:8px;padding:8px 6px;font-size:20px;flex:1;text-align:center;white-space:nowrap;box-shadow:1px 1px 0 rgba(0,0,0,.15)}
.flow span{font-size:24px;line-height:1}
.dp-card .btn{font-size:24px;padding:11px 0;margin-top:0;font-weight:400}
.dp-note{text-align:center;font-size:27px;padding:34px 0 50px;letter-spacing:-.01em}
.dp-card:nth-child(n+2) h3{min-height:0;margin-bottom:0}
.dp-card:nth-child(n+2) .t{margin-top:2px}
.dp-card:nth-child(n+2) .flow{margin-top:auto}

/* ---------- sidebar layout (08-10) ---------- */
.side-layout{display:grid;grid-template-columns:289px 1fr;min-height:calc(100vh - var(--header-h))}
.side{background:linear-gradient(180deg,rgba(250,244,230,.97),rgba(250,244,230,.97));padding:34px 28px 28px;display:flex;flex-direction:column;min-height:calc(100vh - var(--header-h));position:relative;z-index:2;border-right:0}
.side h2{font-size:29px;font-weight:700;letter-spacing:-.025em;line-height:1.15}
.side .sub{font-size:20px;margin-top:8px;padding-bottom:36px;border-bottom:1px solid #cbb9a3}
.side-steps{margin-top:30px;margin-left:-10px;margin-right:-18px;position:relative}
.sstep{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:999px;font-size:21px;position:relative;margin-bottom:19.5px;border:0;width:100%;text-align:left}
.sstep .d{width:26px;height:26px;border-radius:50%;border:2px solid var(--ink);background:#fff;display:flex;align-items:center;justify-content:center;flex:none;color:#fff;z-index:1}
.sstep.done .d,.sstep.cur .d{background:var(--ink)}
.sstep.cur{background:var(--chip)}
.sstep:not(:last-child)::after{content:"";position:absolute;left:22px;top:36px;height:39.5px;width:2px;background:var(--ink);z-index:0}
.side-prog{margin-top:auto}
.side-prog .bar{height:7px;background:var(--bar-bg)}
.side-prog p{text-align:center;font-size:20px;margin-top:14px}
.main-col{padding:34px 48px 30px 32px;min-width:0}
.main-col h1{font-size:42px;font-weight:700;letter-spacing:-.025em;line-height:1.1}
.main-col .lead{font-size:28px;margin-top:20px;letter-spacing:-.01em}
.page.side-page::before{left:289px}

/* 08 task */
.task-grid{display:grid;grid-template-columns:1fr 405px;gap:28px;margin-top:30px;align-items:stretch}
.doc-wrap{background:#dcc9ac;border:1.5px solid var(--line);border-radius:20px;padding:28px 32px 0;position:relative;overflow:hidden;min-height:510px}
.doc-wrap::before{content:"";position:absolute;left:52px;right:-24px;top:20px;height:80%;background:#3a2214;border-radius:18px;transform:rotate(1.2deg)}
.doc{position:relative;background:#faf6ec;border:1.5px solid var(--ink);border-bottom:0;border-radius:14px 14px 0 0;padding:34px 44px 30px;height:480px}
.doc h3{font-size:36px;font-weight:700;letter-spacing:-.025em;margin-bottom:32px;padding-left:2px}
.dt{width:100%;border-collapse:separate;border-spacing:0;border:1.5px solid var(--ink);border-radius:12px;overflow:hidden;font-size:22px;background:#fff}
.dt th,.dt td{border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:0 12px;height:59px}
.dt th:last-child,.dt td:last-child{border-right:0}
.dt tr:last-child td,.dt tr:last-child th{border-bottom:0}
.dt thead th{background:#f6f2e8;height:84px;font-size:28px;font-weight:700;text-align:center;width:142px}
.dt thead th:first-child{width:auto}
.dt tbody th{font-weight:400;text-align:left}
.dt td{text-align:right}
.req{padding:22px 20px 20px;border-radius:20px;display:flex;flex-direction:column}
.req h3{font-size:27px;font-weight:700;letter-spacing:-.02em}
.req .ask{font-size:24px;margin-top:20px;padding-bottom:20px;border-bottom:1px solid #cbb9a3;letter-spacing:-.01em}
.req textarea{margin-top:20px;flex:1;min-height:266px;border:1.5px solid var(--ink);border-radius:18px;padding:14px 16px;font:inherit;font-size:19px;resize:none;color:var(--ink);background:#fff;outline:0}
.req textarea:focus{box-shadow:0 0 0 3px var(--chip)}
.req textarea::placeholder{color:#444}
.req .btn{margin-top:20px;font-size:23px;padding:14px 0;font-weight:400}

/* 09 result */
.res-top{margin-top:30px;border:1.5px solid var(--ink);border-radius:18px;background:#fff;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.res-top h3{font-size:27px;font-weight:700;letter-spacing:-.02em}
.res-top .time{font-size:25px;letter-spacing:-.02em}
.res-top .chip{font-size:25px;padding:8px 14px;letter-spacing:-.02em;border-radius:999px;background:var(--chip)}
.res-box{margin-top:16px;border:1.5px solid var(--ink);border-radius:20px;background:#fff;padding:18px 22px 18px;position:relative}
.res-box>h2{font-size:30px;font-weight:700;letter-spacing:-.02em}
.res-cols{display:grid;grid-template-columns:1fr 1px 340px;gap:20px;margin-top:10px}
.res-cols .vl{background:#cbb9a3;margin-top:8px}
.skills{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.skill{border:1.5px solid var(--ink);border-radius:16px;padding:14px 14px;display:grid;gap:12px}
.skill div{display:flex;align-items:center;gap:8px;font-size:25px;letter-spacing:-.02em}
.skill .ib{width:40px;height:40px;border-radius:10px;background:var(--chip);display:flex;align-items:center;justify-content:center;flex:none}
.skill .bar{margin-left:auto;width:62px;height:9px}
.skill:nth-child(2) .bar{width:60px}
.skill:nth-child(2) div{justify-content:flex-start}
.res-l h3{font-size:28px;font-weight:700;margin-top:14px;letter-spacing:-.02em}
.res-l li{font-size:23px;margin:10px 0 8px 12px;list-style:disc;letter-spacing:-.015em;padding-left:6px}
.res-r h3{font-size:28px;font-weight:700;margin-top:6px;letter-spacing:-.02em}
.res-r .bubble{background:#f6f0e2;border-radius:14px;padding:14px 16px;font-size:23px;line-height:1.25;margin-top:14px;letter-spacing:-.015em}
.res-r .chip{font-size:23px;margin-top:12px;border-radius:999px;padding:6px 14px;letter-spacing:-.02em}
.res-acts{position:absolute;right:16px;bottom:12px;display:flex;gap:18px}
.res-acts .btn{font-size:25px;padding:12px 28px;font-weight:400;letter-spacing:-.02em;background:var(--brown)}
.res-l{padding-bottom:64px}
.res-r{padding-bottom:64px}

/* 10 next */
.nx-box{margin-top:62px;border:1.5px solid var(--ink);border-radius:20px;background:#fff;padding:20px 22px 18px}
.nx-box>h2{font-size:30px;font-weight:700;letter-spacing:-.02em}
.nx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:12px}
.nx-card{border:1.5px solid var(--ink);border-radius:16px;padding:16px 18px 18px;display:flex;flex-direction:column;min-height:256px;background:#fff}
.nx-card .row{display:flex;gap:10px;align-items:flex-start}
.nx-card h3{font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
.nx-card p{font-size:24px;letter-spacing:-.015em;margin-top:6px;line-height:1.2}
.nx-card .btn{margin-top:auto;font-size:25px;padding:13px 0;font-weight:400;letter-spacing:-.01em}
.nx-card .row .i{flex:none;margin-top:6px}
.nx-note{margin-top:18px;background:var(--chip);border-radius:14px;padding:10px 0;text-align:center;font-size:24px;letter-spacing:-.02em;padding-left:10px;padding-right:10px}
.side-card{margin-top:22px;border:1.5px solid var(--ink);border-radius:16px;background:#fff;text-align:center;padding:18px 16px 14px;min-height:210px}
.side-card h3{font-size:29px;line-height:1.1;font-weight:700;letter-spacing:-.02em}
.side-card p{font-size:23px;line-height:1.2;margin-top:7px;letter-spacing:-.015em}
.side-card .chip{margin-top:12px;font-size:23px;padding:6px 14px;border-radius:999px;letter-spacing:-.02em;background:var(--chip)}

/* ---------- 11 partners ---------- */
.pt h1{font-size:46px;font-weight:700;padding-top:22px;letter-spacing:0}
.pt-head{margin-top:8px;display:flex;align-items:center;gap:22px;padding:16px 20px;border-radius:18px}
.pt-head img{width:72px;height:auto}
.pt-head h2{font-size:40px;font-weight:700;display:inline-block;letter-spacing:0}
.pt-head .chip{background:var(--brown-d);color:#fff;font-size:22px;padding:5px 15px;margin-left:8px;vertical-align:5px}
.pt-head p{font-size:24px;margin-top:2px}
.tabs{display:flex;gap:11px;margin-top:24px;position:relative;z-index:2}
.tab{border:1.5px solid var(--ink);border-bottom:0;border-radius:12px 12px 0 0;padding:12px 22px 14px;font-size:25px;background:#fff;transition:background .2s}
.tab.on{background:var(--tan)}
.tab:hover{background:#efe3d0}
.tab.on:hover{background:var(--tan)}
.pt h2.sec{font-size:32px;font-weight:700;margin:30px 0 14px}
.pt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;width:100%}
.pt-card{border:1.5px solid var(--ink);border-radius:18px;background:#fff;padding:16px 18px 20px;min-height:240px;display:flex;flex-direction:column;box-shadow:0 5px 12px rgba(80,50,20,.15)}
.pt-card .row{display:flex;gap:10px}
.pt-card h3{font-size:28px;line-height:1.1;font-weight:700}
.pt-card p{font-size:22px;margin-top:6px;white-space:nowrap}
.pt-card .chip{background:var(--brown-d);color:#fff;font-size:20px;padding:3px 12px;margin-top:8px;border-radius:999px}
.pt-card .btn{margin-top:auto;font-size:25px;padding:11px 0;font-weight:400;background:var(--brown)}
.pt-share{margin-top:18px;background:var(--chip);border-radius:12px 12px 0 0;padding:14px 20px 36px;font-size:23px}
.pt .tabs{margin-top:22px}
.page.partner::before{background:#f7edd9;height:350px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav{position:static;transform:none;margin:0}
  .fb-grid{grid-template-columns:repeat(3,1fr)}
  .feats{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .header{padding:0 16px}
  .nav{position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;background:#fffdf8;padding:12px;display:none;box-shadow:0 10px 18px rgba(0,0,0,.1)}
  .nav.open{display:flex}
  .menu-toggle{display:block;margin-left:auto;margin-right:10px;padding:8px}
  .quad,.groups,.dp-grid,.nx-grid,.pt-cards{grid-template-columns:1fr}
  .feats{grid-template-columns:repeat(2,1fr)}
  .q-top,.task-grid,.cmp{grid-template-columns:1fr}
  .q-opts{grid-template-columns:1fr}
  .fb-grid{grid-template-columns:1fr 1fr}
  .side-layout{grid-template-columns:1fr}
  .side{min-height:0}
  .side-prog{margin-top:20px}
  .page.side-page::before{left:0}
  .res-cols{grid-template-columns:1fr}
  .res-cols .vl{display:none}
  .res-acts{position:static;margin-top:16px;flex-wrap:wrap}
  .res-l,.res-r{padding-bottom:0}
  .skills{grid-template-columns:1fr}
  .home-hero h1{font-size:36px}
  .disc-hero h1,.fb h1,.pf h1,.dp h1,.pt h1,.main-col h1{font-size:32px}
  .steps-wrap .seg{width:40px}
  .step .lbl{font-size:13px}
  .res-top{flex-wrap:wrap}
  .main-col{padding:24px 16px}
  .doc{padding:20px;height:auto}
  .doc-wrap::before{display:none}
  .dt{font-size:15px}.dt thead th{font-size:20px;width:80px;height:56px}.dt th,.dt td{height:44px;padding:0 6px}
  .cmp .card{height:auto;grid-template-columns:1fr}
  .tbl{font-size:15px}
}
