*{margin:0;padding:0;box-sizing:border-box}
:root{
  --brand:#D5B4FE;
  --brand-mid:#9B6DFF;
  --brand-dark:#6B21A8;
  --text:#0F2422;
  --muted:#666;
  --border:#e8e8e8;
  --bg:#FDFAF5;
  --sidebar-w:260px;
  --nav-h:56px;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--text);background:#fff;font-size:15px}
a{text-decoration:none;color:inherit}
[id]{scroll-margin-top:calc(var(--nav-h) + 24px)}

/* ── NAV ── */
.topnav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);
  background:transparent;
  border-bottom:1px solid transparent;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;z-index:300;
  transition:background .25s, border-color .25s, backdrop-filter .25s;
}
.topnav.scrolled{
  background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
  border-bottom-color:var(--border);
}
.nav-brand{
  display:flex;align-items:baseline;gap:7px;cursor:pointer;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;
}
.nav-brand .brand-text{color:#0F2422}
.nav-brand .brand-sub{font-weight:400;color:#555;margin-left:-4.5px}
.nav-pill{
  display:inline-flex;align-items:center;
  padding:9px 20px;border-radius:100px;
  background:#111;color:#fff;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;
  text-decoration:none;transition:background .15s;
}
.nav-pill:hover{background:#333}

/* ── SIDEBAR ── */
.sidebar{
  position:sticky;top:calc(var(--nav-h) + 16px);
  align-self:flex-start;
  width:var(--sidebar-w);max-height:calc(100vh - var(--nav-h) - 32px);
  overflow-y:auto;overflow-x:hidden;z-index:200;
  background:#fff;border:1px solid var(--border);
  border-radius:14px;box-shadow:0 1px 8px rgba(0,0,0,.07);
  transition:opacity .2s, transform .2s;
  scrollbar-width:none;
}
.sidebar.hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}
.sidebar::-webkit-scrollbar{width:0}

/* Identity header (top of card) */
.sb-identity-header{
  padding:14px 16px 10px;
  font-size:14px;font-weight:700;color:var(--brand-dark);
  border-bottom:1px solid var(--border);
}

/* Collapsible section (Writing, etc.) */
.sb-section{border-top:1px solid var(--border)}

.sb-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;font-size:14px;font-weight:700;
  cursor:pointer;color:var(--text);user-select:none;
}
.sb-header:hover{background:#fafafa;border-radius:8px}
.sb-header .arrow{font-size:12px;color:#bbb;transition:transform .2s;line-height:1}
.sb-header.open .arrow{transform:rotate(90deg)}

.sb-children{display:none;padding:2px 0 6px}
.sb-children.open{display:block}

/* Group labels inside Identity (Logos / Color / Typography…) */
.sb-group-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 16px;font-size:14px;font-weight:600;
  color:var(--text);cursor:pointer;user-select:none;
}
.sb-group-row:hover{background:#fafafa}
.sb-group-row.active{color:var(--brand-dark)}
.sb-group-row .arrow{font-size:11px;color:#bbb;transition:transform .2s}
.sb-group-row.open .arrow{transform:rotate(90deg)}

.sb-group-children{display:none;border-left:2px solid var(--border);margin:0 0 4px 16px}
.sb-group-children.open{display:block}

/* Items */
.sb-item{
  display:block;
  padding:7px 16px 7px 14px;
  font-size:13px;color:var(--muted);cursor:pointer;
  position:relative;
  border-left:2px solid transparent;margin-left:-2px;
}
.sb-item:hover{color:var(--text)}
.sb-item.active{color:var(--brand-dark);font-weight:600;border-left-color:var(--brand-dark)}

/* ── LAYOUT ── */
.layout{display:flex;align-items:flex-start;gap:36px;padding-left:16px;margin-top:var(--nav-h)}
.main{flex:1;min-width:0}
.main.full-width{margin-left:0}

/* ── HOME HERO ── */
.home-hero{
  background:linear-gradient(180deg,#C9ADF5 0%,#EDE8DF 100%);
  padding:calc(var(--nav-h) + 72px) 80px 52px;
  display:flex;flex-direction:column;justify-content:flex-start;
  position:relative;
}
.home-eyebrow{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:14px;font-weight:400;color:#333;
  margin-bottom:16px;
}
.home-h1{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(40px,5vw,68px);font-weight:800;color:#111;
  line-height:1.1;margin-bottom:20px;max-width:700px;
}
.home-desc{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:17px;line-height:1.65;max-width:560px;color:#333;
}

/* ── HOME CARDS ── */
.home-cards{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:16px;padding:32px 80px 32px;
  background:linear-gradient(180deg,#EDE8DF 0%,#fff 100%);
}
.hcard{
  padding:32px;border-radius:16px;cursor:pointer;
  display:flex;flex-direction:column;gap:10px;
  min-height:160px;position:relative;overflow:hidden;
}
.hcard-label{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:24px;font-weight:800;color:#fff;
}
.hcard-desc{font-size:13px;line-height:1.6;color:rgba(255,255,255,.75)}
.hcard-link{
  margin-top:auto;font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.85);
  display:flex;align-items:center;gap:6px;
}
.hcard:nth-child(1){background:#3B0764}
.hcard:nth-child(2){background:#6B21A8}
.hcard:nth-child(3){background:#0F2422}
.home-cards+*{margin-top:0}

/* ── COVER (landing) ── */
.cover{
  position:relative;overflow:hidden;
  min-height:calc(100vh - var(--nav-h));
  background:linear-gradient(180deg,#F3F0F8 0%,#E6DAF6 55%,#D6C0F2 100%);
  display:flex;flex-direction:column;
}
.cover-orb{
  position:absolute;left:50%;top:98%;
  width:128vh;height:128vh;min-width:118%;min-height:118%;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,
    #FDFAF3 0%,
    #FCF7EC 30%,
    rgba(251,246,236,.88) 48%,
    rgba(248,242,247,.45) 64%,
    rgba(245,238,247,0) 76%);
}
.cover-stage{position:relative;width:100%}
.cover-inner{
  position:relative;z-index:2;flex:1;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:0 80px;
}
.cover-row{
  display:flex;align-items:baseline;gap:48px;flex-wrap:wrap;width:100%;
}
.cover-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;font-size:clamp(56px,8vw,116px);
  line-height:.95;letter-spacing:-.02em;color:#0F2422;
  white-space:nowrap;
  margin-left:-.062em; /* optical: pull cap stem to true left, aligned with logo */
}
.cover-title span{color:var(--brand-mid)}
.cover-toc{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(15px,1.4vw,22px);font-weight:500;color:#8A8595;
  white-space:nowrap;
  margin-left:-.06em; /* optical: align 'L' ink edge with logo */
}
.cover-toc a{color:inherit;text-decoration:none;transition:color .15s}
.cover-toc a:hover{color:var(--brand-mid)}
.cover-logo{
  position:relative;z-index:2;
  display:flex;align-items:center;gap:11px;
  padding:0 80px 52px;color:#0F2422;
}

/* ── LOGO PLACEMENT MOCKUPS (presentations / print) ── */
.placement-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px;width:100%;max-width:640px}
.placement-grid.print{grid-template-columns:1fr;max-width:250px}
.psocial{display:flex;align-items:center;gap:4px}
.psocial svg{height:7px;width:7px;color:#fff}
.tpl-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;margin-top:22px;padding:10px 16px;border-radius:100px;background:#0F2422;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:11.5px;font-weight:600;text-decoration:none;transition:background .15s}
.tpl-link:hover{background:#6B21A8}
.mock{position:relative;border-radius:7px;overflow:hidden;border:1px solid var(--border)}
.mock.slide{aspect-ratio:16/9}
.mock.page{aspect-ratio:1 / 1.414}
.mock .pl{position:absolute;width:auto;color:#0F2422}
.mock .pdate{position:absolute;top:8%;right:7%;font-family:'Plus Jakarta Sans',sans-serif;font-weight:500;color:#0F2422;font-size:.34rem}
.mock .pfoot{position:absolute;left:0;right:0;bottom:0;height:15%;background:#0F2422;display:flex;align-items:center;justify-content:space-between;padding:0 7%}
.mock .pfoot .pl{position:static;color:#fff}
.mock .pdots{display:flex;gap:3px}
.mock .pdots i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.65);display:block}
.mock-cap{font-size:11px;color:var(--muted);text-align:center;margin-top:8px;font-weight:600}

/* ── CLASSIC COLOR COMBINATION ── */
.combo-demo{background:#6B21A8;border-radius:14px;padding:34px 32px;display:flex;flex-direction:column;gap:22px;max-width:640px}
.combo-shapes{display:flex;align-items:center;gap:16px}
.combo-shapes .cs-dot{width:34px;height:34px;border-radius:9px}
.combo-text{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:18px;line-height:1.4;color:#0F2422}
.combo-text b{color:#FBE8D2}

/* ── SECTION LAYOUT ── */
.sec{
  display:grid;grid-template-columns:1fr 300px;
  border-bottom:1px solid var(--border);
  min-height:480px;
}
.sec-left{padding:64px 72px;border-right:1px solid var(--border)}
.sec-right{padding:56px 36px}
.sec-full{padding:64px 72px;border-bottom:1px solid var(--border)}

/* ── HERO SECTIONS ── */
.section-hero{
  padding:72px 72px 56px;
  min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--border);
}
.section-hero .eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:12px;opacity:.6;
}
.section-hero h1{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:64px;font-weight:800;line-height:1;
}
.section-hero p{margin-top:18px;font-size:17px;line-height:1.65;max-width:520px;opacity:.75}

/* ── SECTION TYPOGRAPHY ── */
.tag{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.sec-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:700;margin-bottom:16px;line-height:1.2}
.sec-body{font-size:13px;line-height:1.75;color:#444}
.sec-body p+p{margin-top:12px}
.sec-body strong{color:var(--text)}

/* ── SPECIMEN ── */
.specimen{padding:36px 0 12px}
.alpha{line-height:1.2;color:#111;word-break:break-word}
.alpha.pjs{font-family:'Plus Jakarta Sans',sans-serif}
.alpha.caudex{font-family:'Caudex',serif}
.alpha.inter{font-family:'Inter',sans-serif}

/* ── WEIGHT CARDS ── */
.weights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.wcard{padding:22px 18px;background:#f8f8f8;border-radius:10px}
.wlabel{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bbb;margin-bottom:10px}
.wsample{font-size:28px;line-height:1.2}
.wsample.pjs{font-family:'Plus Jakarta Sans',sans-serif}
.wsample.caudex{font-family:'Caudex',serif}
.wsample.inter{font-family:'Inter',sans-serif}

/* ── USAGE ── */
.usage{margin-top:36px;padding:36px;background:#f8f8f8;border-radius:14px}
.usage-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bbb;margin-bottom:16px}

/* ── RULES ── */
.rules{margin-top:24px}
.rule{display:flex;gap:9px;align-items:flex-start;margin-top:11px}
.rdot{width:5px;height:5px;border-radius:50%;background:var(--brand-dark);margin-top:6px;flex-shrink:0}
.rtext{font-size:13px;line-height:1.6;color:#444}

/* ── BADGE ── */
.badge{display:inline-block;padding:4px 14px;border-radius:100px;font-size:11px;font-weight:700;background:var(--brand);color:#111;margin-top:20px}

/* ── DIVIDER ── */
.div{height:1px;background:var(--border);margin:32px 0}

/* ── DOWNLOAD BTN ── */
.dl-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 20px;border-radius:8px;
  background:#111;color:#fff;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:13px;font-weight:600;
  cursor:pointer;border:none;transition:background .15s;
}
.dl-btn:hover{background:#333}
.dl-btn svg{flex-shrink:0}
.dl-btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 20px;border-radius:8px;
  background:transparent;color:#111;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:13px;font-weight:600;
  cursor:pointer;border:1.5px solid #ddd;transition:border-color .15s;
}
.dl-btn-ghost:hover{border-color:#999}
.logo-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.la-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:8px;
  background:#111;color:#fff;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:12px;font-weight:600;
  cursor:pointer;border:none;transition:background .15s;text-decoration:none;
}
.la-btn:hover{background:#333}
.la-btn.ghost{background:transparent;color:#111;border:1.5px solid #ddd}
.la-btn.ghost:hover{border-color:#999}
#copy-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#0F2422;color:#fff;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:9999;opacity:0;transition:opacity .2s;pointer-events:none}

/* ── LOGO DISPLAY ── */
.logo-box{
  border-radius:14px;display:flex;align-items:center;justify-content:center;
  padding:60px;position:relative;overflow:hidden;
}
.logo-box.light{background:#f8f8f8;border:1px solid var(--border)}
.logo-box.dark{background:#0F2422}
.logo-box.brand{background:#EDDFFF}

/* ── LOGO GRID ── */
.logo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.logo-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:32px}

/* ── CLEAR SPACE ── */
.clearspace-demo{
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;padding:40px;background:#f8f8f8;border-radius:12px;width:100%;
}
.cs-inner{position:relative}
.cs-guide{
  position:absolute;top:-28px;left:-28px;right:-28px;bottom:-28px;
  border:1.5px dashed #D5B4FE;border-radius:4px;
}
.cs-label{
  position:absolute;font-size:9px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand-dark);white-space:nowrap;
}
.cs-label.top{top:-20px;left:50%;transform:translateX(-50%)}
.cs-label.right{right:-60px;top:50%;transform:translateY(-50%)}

/* ── MIN SIZE ── */
.min-sizes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.min-card{padding:32px;background:#f8f8f8;border-radius:12px;text-align:center}
.min-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bbb;margin-top:12px}
.min-size{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;margin-top:4px}

/* ── POSITIONING ── */
.pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.pos-card{background:#f8f8f8;border-radius:12px;overflow:hidden}
.pos-canvas{
  height:120px;display:flex;align-items:center;
  border-bottom:1px solid #eee;padding:0 24px;
}
.pos-label{padding:12px 16px;font-size:11px;font-weight:600;color:var(--muted)}

/* ── ROTATION ── */
.rot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.rot-card{padding:28px;background:#f8f8f8;border-radius:12px;text-align:center}
.rot-ok{color:#22c55e;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:12px}
.rot-no{color:#ef4444;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:12px}

/* ── DO-NOTS GRID ── */
.donts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.do-card{padding:24px;border-radius:10px;border:1.5px solid #22c55e}
.dont-card{padding:24px;border-radius:10px;border:1.5px solid #ef4444}
.do-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#22c55e;margin-bottom:12px}
.dont-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ef4444;margin-bottom:12px}
.hint{font-size:11px;color:#ef4444;margin-top:10px;line-height:1.5}
.hint.ok{color:#22c55e}

/* ── COLORS ── */
.color-section-title{font-size:13px;font-weight:700;margin:36px 0 14px;color:var(--muted);letter-spacing:.04em}
.color-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:start;margin-bottom:14px}
.pal-col{display:flex;flex-direction:column;gap:10px}
.pal-col .ccard .cswatch{height:96px}
.pal-col .ccard:first-child .cinfo{min-height:90px}
.pal-col .ccard:not(:first-child) .cinfo{padding:8px 10px}
.ccard{border-radius:10px;overflow:hidden;border:1px solid var(--border);cursor:default}
.cswatch{height:90px}
.cinfo{padding:12px}
.cname{font-size:12px;font-weight:700;margin-bottom:3px}
.chex{font-size:11px;color:var(--muted)}
.cmeta{font-size:10px;color:#aaa;margin-top:2px;line-height:1.45}

.gradient-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}
.grad-card{border-radius:10px;overflow:hidden;border:1px solid var(--border)}
.grad-swatch{height:90px}
.grad-info{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.grad-info-text{flex:1;min-width:0}

/* color copy */
.ccard{cursor:pointer;position:relative;transition:box-shadow .15s}
.ccard:hover{box-shadow:0 0 0 2px var(--brand-dark)}
.ccard::after{content:'Copy';position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;font-weight:700;padding:3px 7px;border-radius:4px;opacity:0;transition:opacity .15s;pointer-events:none}
.ccard:hover::after{opacity:1}
.ccard.copied::after{content:'✓ Copied';background:var(--brand-dark);opacity:1}

/* download btn on grad/bg cards */
.dl-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:6px;flex-shrink:0;
  background:#f0f0f0;border:none;cursor:pointer;transition:background .15s;
  color:#555;
}
.dl-icon:hover{background:#e0e0e0}

/* ── ICON GRID ── */
.icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.icon-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:box-shadow .15s,border-color .15s;background:#fafafa}
.icon-card:hover{box-shadow:0 0 0 2px var(--brand-dark);border-color:var(--brand-dark)}
.icon-card.copied{border-color:var(--brand-dark);background:#F2EEFF}
.icon-img-wrap{height:120px;display:flex;align-items:center;justify-content:center;padding:20px;background:#f8f8f8}
.icon-img-wrap img{width:72px;height:72px;object-fit:contain;display:block}
.icon-label{padding:8px 10px;font-size:11px;font-weight:600;color:var(--muted);text-align:center;background:#fff;border-top:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── HIERARCHY TABLE ── */
.htable{width:100%;border-collapse:collapse;margin-top:32px}
.htable th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bbb;padding:0 0 10px;border-bottom:1px solid var(--border)}
.htable th+th{padding-left:20px}
.htable td{padding:16px 0;border-bottom:1px solid var(--border);vertical-align:middle}
.htable td+td{padding-left:20px;font-size:12px;color:var(--muted);line-height:1.5}

/* ── PLACEHOLDER ── */
.placeholder{
  display:flex;align-items:center;justify-content:center;
  min-height:300px;color:#ccc;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:600;
  flex-direction:column;gap:8px;
}

/* ── FOOTER ── */
.footer{
  padding:36px 72px;color:var(--muted);font-size:12px;
  border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}

/* scroll tracking */
.main-section{display:block}

/* ══════════════════ RESPONSIVE ══════════════════ */

/* Mobile nav burger (hidden on desktop) */
.nav-left{display:flex;align-items:center;gap:10px;min-width:0}
.nav-burger{
  display:none;align-items:center;justify-content:center;
  width:38px;height:38px;flex-shrink:0;
  border:none;background:transparent;cursor:pointer;
  color:#0F2422;padding:0;
}
.nav-burger .i-close{display:none}
body.menu-open .nav-burger .i-open{display:none}
body.menu-open .nav-burger .i-close{display:block}
body.menu-open .topnav{
  background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
  border-bottom-color:var(--border);
}
.sidebar-backdrop{
  position:fixed;inset:0;z-index:255;
  background:rgba(15,36,34,.35);
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.sidebar-backdrop.show{opacity:1;pointer-events:auto}

/* ── ≤1200px — tighter desktop ── */
@media (max-width:1200px){
  .sec{grid-template-columns:minmax(0,1fr) 260px}
  .sec-left{padding:48px 40px}
  .sec-right{padding:44px 28px}
  .sec-full{padding:48px 40px}
  .section-hero{padding:56px 40px 44px}
  .home-hero{padding:calc(var(--nav-h) + 56px) 40px 44px}
  .home-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:28px 40px}
  .cover-inner{padding:0 40px}
  .cover-logo{padding:0 40px 44px}
  .palette-grid{grid-template-columns:repeat(3,1fr)}
  .icon-grid{grid-template-columns:repeat(4,1fr)}
  .footer{padding:32px 40px}

  /* main gets narrow next to the sidebar — let fixed-width content shrink */
  .logo-box{padding:40px 24px}
  .logo-box svg{max-width:100%}
  .logo-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .weights{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
  .min-sizes{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
  #hierarchy>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:32px!important}
  #hierarchy .tag[style*="margin-top"]{margin-top:0!important}
  #combining>div[style*="grid-template-columns"]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}
  #shape-language>div[style*="grid-template-columns"]{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}
  #illustrations>div[style*="grid-template-columns"]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}
  .htable{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ── ≤900px — tablet / mobile: drawer nav, single column ── */
@media (max-width:900px){
  body{overflow-x:clip}
  .topnav{padding:0 16px}
  .nav-burger{display:inline-flex}
  .layout{display:block;padding-left:0}

  /* sidebar becomes a slide-in drawer under the top nav */
  .sidebar{
    position:fixed;top:var(--nav-h);left:0;bottom:0;
    align-self:stretch; /* cancels desktop flex-start, lets top+bottom stretch the drawer */
    width:min(320px,86vw);max-height:none;
    border-radius:0;border:none;border-right:1px solid var(--border);
    box-shadow:0 16px 40px rgba(0,0,0,.2);
    transform:translateX(-105%);
    z-index:260;
  }
  .sidebar.mobile-open{transform:translateX(0)}

  .cover{min-height:calc(100dvh - var(--nav-h))}
  .cover-inner{padding:0 24px}
  .cover-logo{padding:0 24px 36px}
  .cover-row{gap:16px}
  .cover-title{white-space:normal}
  .cover-toc{white-space:normal;line-height:1.7}

  .home-hero{padding:calc(var(--nav-h) + 48px) 24px 36px}
  .home-cards{padding:24px}

  .sec{display:block;min-height:0}
  .sec-left{padding:40px 24px;border-right:none;border-bottom:1px solid var(--border)}
  .sec-right{padding:36px 24px}
  .sec-full{padding:40px 24px}
  .section-hero{padding:48px 24px 36px;min-height:220px}
  .section-hero h1{font-size:clamp(38px,9vw,56px)}

  .color-row{grid-template-columns:repeat(2,1fr)}
  .palette-grid{grid-template-columns:repeat(2,1fr)}
  .gradient-row{grid-template-columns:repeat(2,1fr)!important} /* beats inline 3-col */
  .icon-grid{grid-template-columns:repeat(3,1fr)}
  .rot-grid{grid-template-columns:repeat(2,1fr)}
  .logo-grid-3{grid-template-columns:repeat(2,1fr)}

  .footer{padding:28px 24px;flex-wrap:wrap;gap:10px}
}

/* ── ≤600px — phones ── */
@media (max-width:600px){
  .cover-title{font-size:clamp(42px,13vw,64px)}
  .home-cards{grid-template-columns:1fr}
  .logo-grid,.logo-grid-3{grid-template-columns:1fr}
  .logo-box{padding:40px 20px}
  .logo-box svg{max-width:100%;height:auto}
  .placement-grid{grid-template-columns:1fr}
  .donts{grid-template-columns:1fr}
  .icon-grid{grid-template-columns:repeat(2,1fr)}
  .gradient-row{grid-template-columns:1fr!important}
  .usage{padding:24px 20px}
  .combo-demo{padding:26px 22px}
  .specimen .alpha[style*="font-size:46px"]{font-size:min(8.4vw,46px)!important}
  .usage div[style*="font-size:44px"]{font-size:clamp(26px,8vw,44px)!important}
}

@media (max-width:400px){
  .nav-brand .brand-sub{display:none}
}
