/* ============================================================
   Cordis House — shared stylesheet
   Design system: v4.2 "Cool Steel" (locked). Ported from the
   homepage mock and extended for the full site.
   ============================================================ */

:root{
  --bg:#F5F5F7;--bg-2:#FFFFFF;--bg-3:#EDEDF0;
  --ink:#0F1115;--soft:#1F222B;--gray-1:#5B6170;--gray-2:#9AA0B0;
  --line:#D8DAE0;--line-2:#E8E9ED;
  --teal:#0E5260;--teal-d:#083640;--teal-soft:#4A8C9C;
  --amber:#C28A1F;--amber-soft:#E5B358;
  --green:#2F6A45;--plum:#5A4A8A;
  --display:'Instrument Serif',Georgia,serif;
  --sans:'Plus Jakarta Sans',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
/* overflow-x:clip prevents horizontal scroll WITHOUT turning body into a
   scroll container (which overflow-x:hidden would, breaking the sticky header). */
html,body{overflow-x:clip;max-width:100%}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a{color:inherit}
a,button{-webkit-tap-highlight-color:rgba(14,82,96,.1)}
img,video,iframe{max-width:100%;height:auto}
img{display:block}
.wrap{max-width:1440px;margin:0 auto;padding:0 36px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 36px}

/* ---------- Header ---------- */
header{position:sticky;top:0;background:rgba(245,245,247,.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:50;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}
/* The ink-colored announcement bar absorbs the notch safe-area so the
   status bar / Dynamic Island sits on matching dark, not a gap. */
.top-ann{padding:9px 0;padding-top:calc(9px + env(safe-area-inset-top));background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:.7rem;letter-spacing:.02em;text-align:center;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.top-ann .badge{background:var(--teal);color:var(--bg);padding:3px 10px;border-radius:4px;font-weight:600;letter-spacing:.05em}
.top-ann a{color:var(--teal-soft);text-decoration:none;font-weight:500}
.top-ann a:hover{color:var(--amber-soft)}
.utility-nav{padding:9px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;display:flex;justify-content:space-between;color:var(--gray-1)}
.utility-nav .left{display:flex;gap:18px}.utility-nav .right{display:flex;gap:18px}
.utility-nav a{color:var(--gray-1);text-decoration:none}.utility-nav a:hover{color:var(--teal)}
.main-nav{padding:16px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.brand-lock{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand-mark{width:36px;height:36px;background:var(--ink);border-radius:10px;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand-mark::before{content:"C";color:var(--bg);font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1;font-style:italic}
.brand-mark::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;background:var(--amber);border-radius:50%}
.brand-text{display:flex;flex-direction:column;gap:2px}
.brand-name{font-family:var(--display);font-size:1.35rem;font-weight:400;letter-spacing:.005em;line-height:1;color:var(--ink)}
.brand-sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-1);font-weight:500}
.main-nav-links{display:flex;gap:28px;font-family:var(--sans);font-size:.86rem;font-weight:500}
.main-nav-links a{text-decoration:none;color:var(--ink);padding:8px 0;display:flex;align-items:center;gap:4px;letter-spacing:-.005em}
.main-nav-links a:hover,.main-nav-links a[aria-current="page"]{color:var(--teal)}
.main-nav-links a .caret{font-size:.7rem;opacity:.5}
.main-nav-right{display:flex;gap:8px;align-items:center}
.search-box{font-family:var(--mono);font-size:.72rem;color:var(--gray-1);padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);cursor:pointer;display:flex;gap:8px;align-items:center;min-width:200px;text-decoration:none}
.search-box .icon{opacity:.6}.search-box kbd{font-family:var(--mono);font-size:.6rem;background:var(--bg-3);padding:1px 5px;border-radius:3px;color:var(--gray-1);margin-left:auto}
.cta-btn{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--bg);background:var(--teal);text-decoration:none;padding:10px 16px;border-radius:10px;letter-spacing:-.005em;transition:.2s}
.cta-btn:hover{background:var(--teal-d)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;color:var(--ink);font-size:1.1rem;align-items:center;justify-content:center}

/* ---------- Hero (homepage) ---------- */
.hero{padding:80px 0 60px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-3) 100%)}
.hero::before{content:"";position:absolute;top:-100px;right:-100px;width:600px;height:600px;background:radial-gradient(circle,rgba(14,82,96,.08) 0%,transparent 60%);pointer-events:none}
.hero::after{content:"";position:absolute;bottom:-200px;left:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(194,138,31,.06) 0%,transparent 60%);pointer-events:none}
.hero-eyebrow{display:flex;gap:14px;align-items:center;margin-bottom:36px;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--gray-1);text-transform:uppercase;font-weight:500;position:relative;z-index:2;flex-wrap:wrap}
.hero-eyebrow .pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--ink);color:var(--bg);border-radius:100px;font-weight:600;letter-spacing:.06em}
.hero-eyebrow .pill::before{content:"";width:6px;height:6px;background:var(--amber);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(194,138,31,.7)}70%{opacity:.6;box-shadow:0 0 0 8px rgba(194,138,31,0)}}
.hero h1{font-family:var(--display);font-size:clamp(2.5rem,9vw,7.5rem);line-height:.98;font-weight:400;letter-spacing:-.025em;margin-bottom:32px;max-width:1280px;position:relative;z-index:2;color:var(--ink);overflow-wrap:break-word}
.hero h1 em{font-style:italic;color:var(--teal)}
.hero-bottom{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:end;position:relative;z-index:2}
.hero .deck{font-family:var(--sans);font-size:1.25rem;line-height:1.55;color:var(--soft);max-width:680px;font-weight:400;letter-spacing:-.005em}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line);background:rgba(255,255,255,.4);border-radius:0 12px 12px 0;backdrop-filter:blur(8px)}
.hero-stat{padding:20px 24px;border-right:1px solid var(--line)}
.hero-stat:last-child{border-right:none}
.hero-stat .label{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;color:var(--gray-1);text-transform:uppercase;margin-bottom:10px;font-weight:500}
.hero-stat .val{font-family:var(--display);font-size:2.8rem;font-weight:400;line-height:1;color:var(--ink);letter-spacing:-.02em;margin-bottom:6px}
.hero-stat .val em{font-style:italic;color:var(--teal)}
.hero-stat .sub{font-family:var(--sans);font-size:.85rem;color:var(--gray-1);letter-spacing:-.005em}

/* ---------- Page hero (interior pages) ---------- */
.page-hero{padding:72px 0 56px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-3) 100%)}
.page-hero::before{content:"";position:absolute;top:-120px;right:-80px;width:520px;height:520px;background:radial-gradient(circle,rgba(14,82,96,.07) 0%,transparent 60%);pointer-events:none}
.page-hero .eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--teal);text-transform:uppercase;margin-bottom:22px;font-weight:500;position:relative;z-index:2}
.page-hero h1{font-family:var(--display);font-size:4.2rem;line-height:1.02;font-weight:400;letter-spacing:-.025em;max-width:980px;position:relative;z-index:2}
.page-hero h1 em{font-style:italic;color:var(--teal)}
.page-hero .deck{font-family:var(--sans);font-size:1.25rem;line-height:1.55;color:var(--soft);max-width:680px;margin-top:24px;position:relative;z-index:2}
.breadcrumb{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);margin-bottom:24px;position:relative;z-index:2}
.breadcrumb a{color:var(--gray-1);text-decoration:none}.breadcrumb a:hover{color:var(--teal)}
.breadcrumb span{margin:0 8px;opacity:.5}

/* ---------- Featured band (dark) ---------- */
.featured{padding:56px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--bg);position:relative;overflow:hidden}
.featured::before{content:"";position:absolute;bottom:-200px;left:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(14,82,96,.25) 0%,transparent 60%);pointer-events:none}
.featured::after{content:"";position:absolute;top:-200px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(194,138,31,.15) 0%,transparent 60%);pointer-events:none}
.featured-grid{display:grid;grid-template-columns:4fr 8fr;gap:60px;align-items:center;position:relative;z-index:2}
.featured-cover{aspect-ratio:2/3;background:linear-gradient(160deg,#A9B5BD 0%,#D9B58A 50%,#A9826C 100%);border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6),0 12px 32px rgba(14,82,96,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);padding:40px;text-align:center;max-width:320px;margin:0 auto;transform:rotate(-2deg);transition:.4s;overflow:hidden}
.featured-cover:hover{transform:rotate(0deg) scale(1.02)}
.featured-cover img{border-radius:6px}
.featured-cover .t{color:#324B6E;font-size:2rem;line-height:1;font-weight:400}
.featured-cover .t em{color:#B5532A;display:block;font-style:italic;font-size:2.8rem;margin-top:6px}
.featured-content .kicker{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--amber-soft);text-transform:uppercase;font-weight:500;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.featured-content .kicker::before{content:"";width:24px;height:1px;background:var(--amber-soft)}
.featured-content h2{font-family:var(--display);font-size:4.2rem;line-height:1.02;font-weight:400;letter-spacing:-.025em;margin-bottom:20px}
.featured-content h2 em{font-style:italic;color:var(--amber-soft)}
.featured-content .by{font-family:var(--sans);color:rgba(245,245,247,.65);font-size:1rem;margin-bottom:24px;letter-spacing:-.005em}
.featured-content p{font-family:var(--sans);font-size:1.1rem;color:rgba(245,245,247,.88);line-height:1.6;margin-bottom:24px;max-width:600px;letter-spacing:-.005em}
.featured-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.btn-light{font-family:var(--sans);font-size:.88rem;font-weight:600;background:var(--bg);color:var(--ink);text-decoration:none;padding:12px 22px;border-radius:10px;display:inline-flex;gap:8px;align-items:center;letter-spacing:-.005em;transition:.2s;border:none;cursor:pointer}
.btn-light:hover{background:var(--amber-soft);color:var(--ink);transform:translateY(-1px)}
.btn-ghost{font-family:var(--sans);font-size:.88rem;font-weight:500;color:var(--bg);text-decoration:none;padding:12px 20px;border-radius:10px;border:1px solid rgba(245,245,247,.2);letter-spacing:-.005em;transition:.2s}
.btn-ghost:hover{border-color:var(--bg);background:rgba(245,245,247,.05)}
.featured-meta{display:flex;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(245,245,247,.12);font-family:var(--mono);font-size:.72rem;color:rgba(245,245,247,.5);letter-spacing:.04em;flex-wrap:wrap}
.featured-meta div{display:flex;flex-direction:column;gap:3px}
.featured-meta span:first-child{color:var(--amber-soft);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}
.featured-meta span:last-child{color:var(--bg);font-weight:500;font-family:var(--sans);font-size:.88rem;letter-spacing:-.005em}

/* ---------- Generic section + section head ---------- */
.section{padding:72px 0;border-bottom:1px solid var(--line)}
.section.alt{background:var(--bg-2)}
.section.gray{background:var(--bg-3)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--ink);gap:24px;flex-wrap:wrap}
.sh-left .label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--teal);text-transform:uppercase;margin-bottom:12px;font-weight:500}
.sh-left h2{font-family:var(--display);font-size:3.4rem;font-weight:400;letter-spacing:-.025em;line-height:1.02}
.sh-left h2 em{font-style:italic;color:var(--teal)}
.sh-right{display:flex;gap:6px;align-items:center;font-family:var(--sans);font-size:.82rem;font-weight:500;flex-wrap:wrap}
.sh-right .tab{padding:7px 12px;color:var(--gray-1);cursor:pointer;border-radius:8px;letter-spacing:-.005em;background:none;border:none;font-family:var(--sans);font-size:.82rem;font-weight:500}
.sh-right .tab.on{background:var(--ink);color:var(--bg)}
.sh-right .see-all{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--teal);text-transform:uppercase;text-decoration:none;font-weight:500;padding-left:14px;margin-left:6px;border-left:1px solid var(--line)}

/* ---------- Imprint cards ---------- */
.imprints-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.imp-card{padding:32px 28px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px;transition:.2s;cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column;position:relative;overflow:hidden}
.imp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal)}
.imp-card.cool::before{background:var(--amber)}
.imp-card.soon::before{background:var(--gray-2)}
.imp-card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 20px 50px rgba(15,17,21,.08)}
.imp-card .ic-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.imp-card .ic-num{font-family:var(--mono);font-size:.68rem;color:var(--gray-1);letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.imp-card .ic-status{font-family:var(--mono);font-size:.62rem;padding:4px 9px;background:var(--teal);color:var(--bg);border-radius:6px;letter-spacing:.06em;font-weight:600;text-transform:uppercase}
.imp-card.cool .ic-status{background:var(--amber)}
.imp-card.soon .ic-status{background:var(--gray-2);color:var(--ink)}
.imp-card h3{font-family:var(--display);font-size:2.4rem;font-weight:400;letter-spacing:-.02em;line-height:1;margin-bottom:14px}
.imp-card h3 em{font-style:italic;color:var(--teal)}
.imp-card.cool h3 em{color:var(--amber)}
.imp-card.soon h3 em{color:var(--gray-1)}
.imp-card p{font-family:var(--sans);font-size:.95rem;line-height:1.55;color:var(--soft);margin-bottom:20px;flex:1;letter-spacing:-.005em}
.imp-card .ic-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--line)}
.imp-card .ic-bottom .titles{font-family:var(--mono);font-size:.68rem;color:var(--ink);font-weight:500;letter-spacing:.04em}
.imp-card .ic-bottom .arr{font-family:var(--display);font-size:1.4rem;color:var(--ink)}

/* ---------- Catalogue grid ---------- */
.catalogue{padding:72px 0;border-bottom:1px solid var(--line);background:var(--bg-2)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cat-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.cat-card{display:flex;flex-direction:column;cursor:pointer;text-decoration:none;color:inherit}
.cat-card[hidden]{display:none}
.cat-cover{aspect-ratio:2/3;background:var(--bg-3);border-radius:10px;margin-bottom:18px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-style:italic;color:var(--gray-1);font-size:.85rem;position:relative;overflow:hidden;box-shadow:0 12px 28px rgba(15,17,21,.1);transition:.2s}
.cat-card:hover .cat-cover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(15,17,21,.15)}
.cat-card.b1 .cat-cover{background:linear-gradient(160deg,#A9B5BD 0%,#D9B58A 50%,#A9826C 100%);font-style:normal;padding:24px;text-align:center}
.cat-card.b1 .cat-cover .t{font-family:var(--display);font-size:1.5rem;color:#324B6E;line-height:1;font-weight:400}
.cat-card.b1 .cat-cover .t i{color:#B5532A;display:block;font-style:italic;font-size:2rem;margin-top:4px}
.cat-card.b2 .cat-cover{background:var(--ink);padding:18px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.cat-card.b2 .cat-cover .small{font-family:var(--mono);font-size:.55rem;letter-spacing:.18em;color:var(--amber-soft);text-transform:uppercase}
.cat-card.b2 .cat-cover .big{font-family:var(--display);font-size:1.3rem;color:var(--bg);font-style:italic;line-height:1.05}
.cat-card.b3 .cat-cover{background:linear-gradient(160deg,#E5D5B5 0%,#C9A876 100%);font-style:normal;padding:24px;text-align:center}
.cat-card.b3 .cat-cover .t{font-family:var(--display);font-size:1.4rem;color:#3D2A1F;line-height:1;font-weight:400}
.cat-card.b3 .cat-cover .t i{color:var(--teal);display:block;font-style:italic;font-size:1.9rem;margin-top:4px}
.cat-card.b4 .cat-cover{background:linear-gradient(160deg,var(--teal) 0%,var(--teal-d) 100%);padding:18px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.cat-card.b4 .cat-cover .small{font-family:var(--mono);font-size:.55rem;letter-spacing:.18em;color:var(--amber-soft);text-transform:uppercase}
.cat-card.b4 .cat-cover .big{font-family:var(--display);font-size:1.3rem;color:var(--bg);font-style:italic;line-height:1.05}
.cat-card.photo .cat-cover{background:#fff;padding:0}
.cat-card.photo .cat-cover img{width:100%;height:100%;object-fit:cover}
.cat-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-weight:500}
.cat-row .imp{color:var(--teal)}
.cat-row .badge{padding:2px 7px;background:var(--bg-3);border-radius:6px;color:var(--gray-1);font-size:.58rem}
.cat-row .badge.live{background:var(--teal);color:var(--bg)}
.cat-card h4{font-family:var(--display);font-size:1.3rem;font-weight:400;letter-spacing:-.01em;margin-bottom:3px;line-height:1.15}
.cat-card h4 em{font-style:italic}
.cat-card .by{font-family:var(--sans);color:var(--gray-1);font-size:.82rem;margin-bottom:6px;letter-spacing:-.005em}
.cat-card .pub{font-family:var(--mono);font-size:.64rem;color:var(--gray-1);letter-spacing:.04em;text-transform:uppercase}

/* ---------- Editorial ---------- */
.editorial{padding:72px 0;border-bottom:1px solid var(--line)}
.ed-grid{display:grid;grid-template-columns:7fr 5fr;gap:48px}
.ed-feature{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:start;background:var(--bg-2);border-radius:18px;padding:32px;border:1px solid var(--line);transition:.2s;cursor:pointer;text-decoration:none;color:inherit}
.ed-feature:hover{border-color:var(--ink);box-shadow:0 16px 40px rgba(15,17,21,.08)}
.ed-feature .img{aspect-ratio:4/3;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-d) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.ed-feature .img::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(194,138,31,.3) 0%,transparent 60%);z-index:1}
.ed-feature .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ed-feature .img .placeholder{font-family:var(--display);font-size:3.5rem;font-weight:400;font-style:italic;color:rgba(245,245,247,.4);letter-spacing:-.015em;position:relative;z-index:2}
.ed-feat-content .meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;color:var(--teal);text-transform:uppercase;margin-bottom:12px;font-weight:500}
.ed-feat-content h3{font-family:var(--display);font-size:2.2rem;font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-bottom:12px}
.ed-feat-content h3 em{font-style:italic;color:var(--teal)}
.ed-feat-content .by{font-family:var(--sans);color:var(--gray-1);font-size:.92rem;margin-bottom:14px;letter-spacing:-.005em}
.ed-feat-content p{font-family:var(--sans);font-size:1rem;line-height:1.55;color:var(--soft);margin-bottom:18px;letter-spacing:-.005em}
.ed-feat-content .read-on{font-family:var(--mono);font-size:.7rem;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;font-weight:500}
.ed-list{display:flex;flex-direction:column;gap:0}
.ed-item{padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;display:block;transition:.2s}
.ed-item:hover{padding-left:8px}
.ed-item:last-child{border-bottom:none}
.ed-item .meta{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--gray-1);text-transform:uppercase;margin-bottom:6px;display:flex;justify-content:space-between;font-weight:500;gap:12px}
.ed-item .meta .imp{color:var(--teal)}
.ed-item h4{font-family:var(--display);font-size:1.3rem;font-weight:400;letter-spacing:-.01em;line-height:1.2;margin-bottom:4px}
.ed-item h4 em{font-style:italic}
.ed-item .by{font-family:var(--sans);color:var(--gray-1);font-size:.82rem;letter-spacing:-.005em}

/* ---------- Calendar ---------- */
.calendar{padding:72px 0;border-bottom:1px solid var(--line);background:var(--bg-3)}
.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg-2)}
.cal-col{padding:24px;border-right:1px solid var(--line);min-height:280px;display:flex;flex-direction:column}
.cal-col:last-child{border-right:none}
.cal-col .quarter{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;color:var(--teal);text-transform:uppercase;margin-bottom:4px;font-weight:600}
.cal-col .qsub{font-family:var(--display);font-size:.95rem;font-style:italic;color:var(--gray-1);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.cal-event{padding:12px 0;border-bottom:1px dashed var(--line)}
.cal-event:last-child{border-bottom:none}
.cal-event .ev-type{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;color:var(--gray-1);text-transform:uppercase;margin-bottom:4px;font-weight:500}
.cal-event .ev-type.pub{color:var(--teal)}
.cal-event .ev-type.evt{color:var(--amber)}
.cal-event .ev-type.let{color:var(--plum)}
.cal-event h5{font-family:var(--display);font-size:1.05rem;font-weight:400;letter-spacing:-.01em;line-height:1.25}
.cal-event h5 em{font-style:italic}
.cal-event .ev-date{font-family:var(--mono);font-size:.64rem;color:var(--gray-1);letter-spacing:.04em;margin-top:3px}

/* ---------- House (dark) ---------- */
.house{padding:80px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--bg)}
.house-grid{display:grid;grid-template-columns:6fr 6fr;gap:60px;align-items:center}
.house-left .label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--amber-soft);text-transform:uppercase;margin-bottom:20px;font-weight:500}
.house-left h2{font-family:var(--display);font-size:3.6rem;font-weight:400;letter-spacing:-.025em;line-height:1.02;margin-bottom:24px}
.house-left h2 em{font-style:italic;color:var(--amber-soft)}
.house-left p{font-family:var(--sans);font-size:1.1rem;line-height:1.6;color:rgba(245,245,247,.78);margin-bottom:18px;max-width:540px;letter-spacing:-.005em}
.house-left p em{font-style:italic;color:var(--bg);font-family:var(--display);font-size:1.15em}
.house-left .links{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.house-left .links a{font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--bg);padding:10px 18px;border:1px solid rgba(245,245,247,.2);border-radius:10px;text-decoration:none;letter-spacing:-.005em}
.house-left .links a:hover{border-color:var(--amber-soft);color:var(--amber-soft)}
.house-right{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.house-card{background:rgba(245,245,247,.04);border:1px solid rgba(245,245,247,.1);border-radius:14px;padding:24px;transition:.2s}
.house-card:hover{border-color:var(--teal-soft);background:rgba(14,82,96,.1)}
.house-card .label{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;color:var(--amber-soft);text-transform:uppercase;margin-bottom:14px;font-weight:500}
.house-card .v{font-family:var(--display);font-size:2.6rem;font-weight:400;letter-spacing:-.025em;line-height:1;margin-bottom:8px}
.house-card .v em{font-style:italic;color:var(--amber-soft)}
.house-card .desc{font-family:var(--sans);font-size:.88rem;color:rgba(245,245,247,.6);letter-spacing:-.005em}

/* ---------- Subscribe band (single) ---------- */
.subscribe{padding:80px 0;border-bottom:1px solid var(--line);background:var(--bg-3)}
.sub-grid{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:center}
.sub-left .label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--teal);text-transform:uppercase;margin-bottom:18px;font-weight:500}
.sub-left h3{font-family:var(--display);font-size:3.4rem;font-weight:400;letter-spacing:-.025em;line-height:1.02;margin-bottom:20px}
.sub-left h3 em{font-style:italic;color:var(--teal)}
.sub-left p{font-family:var(--sans);font-size:1.1rem;line-height:1.55;color:var(--soft);max-width:480px;letter-spacing:-.005em}
.sub-card{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 16px 48px rgba(15,17,21,.06)}
.sub-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}
.sub-card-head h4{font-family:var(--display);font-size:1.4rem;font-weight:400;letter-spacing:-.01em}
.sub-card-head .free{font-family:var(--mono);font-size:.65rem;color:var(--green);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;background:rgba(47,106,69,.12);border-radius:6px;font-weight:500}
.sub-card .features{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.sub-card .features div{font-family:var(--sans);font-size:.95rem;color:var(--soft);display:flex;gap:10px;align-items:baseline;letter-spacing:-.005em}
.sub-card .features div::before{content:"\2713";color:var(--green);font-weight:600}
.sub-card form{display:flex;gap:10px;flex-wrap:wrap}
.sub-card input,.sub-card textarea{flex:1;min-width:180px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--bg-2);outline:none;letter-spacing:-.005em}
.sub-card input:focus,.sub-card textarea:focus{border-color:var(--teal)}
.sub-card button{padding:13px 22px;background:var(--teal);color:var(--bg);border:none;font-family:var(--sans);font-weight:600;font-size:.85rem;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;letter-spacing:-.005em}
.sub-card button:hover{background:var(--teal-d)}
.sub-card button:disabled{opacity:.6;cursor:default}
.sub-card .note{margin-top:12px;font-family:var(--mono);font-size:.64rem;color:var(--gray-1);letter-spacing:.04em;text-align:center}
.cordis-subscribe-status{font-family:var(--mono);font-size:.7rem;color:var(--teal);letter-spacing:.02em;margin-top:10px;width:100%;min-height:1em}

/* ---------- Subscribe 3-tier comparison ---------- */
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.tier{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:32px 28px;display:flex;flex-direction:column;position:relative;transition:.2s}
.tier:hover{box-shadow:0 16px 40px rgba(15,17,21,.08)}
.tier.featured-tier{border-color:var(--teal);box-shadow:0 20px 50px rgba(14,82,96,.12);transform:translateY(-6px)}
.tier .pill-badge{position:absolute;top:-12px;left:28px;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:5px 12px;border-radius:100px;background:var(--teal);color:var(--bg)}
.tier .pill-badge.limited{background:var(--amber);color:var(--ink)}
.tier h3{font-family:var(--display);font-size:1.9rem;font-weight:400;letter-spacing:-.015em;line-height:1.05;margin-bottom:6px}
.tier .price{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1);margin-bottom:20px;font-weight:500}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line);flex:1}
.tier ul li{font-family:var(--sans);font-size:.92rem;color:var(--soft);display:flex;gap:10px;align-items:baseline;letter-spacing:-.005em}
.tier ul li::before{content:"\2713";color:var(--teal);font-weight:600;flex-shrink:0}
.tier.featured-tier ul li::before{color:var(--teal)}
.tier form{display:flex;flex-direction:column;gap:10px}
.tier form input,.tier form textarea{padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.9rem;color:var(--ink);background:var(--bg-2);outline:none;width:100%;resize:vertical}
.tier form input:focus,.tier form textarea:focus{border-color:var(--teal)}
.tier form button{padding:12px 18px;background:var(--teal);color:var(--bg);border:none;font-family:var(--sans);font-weight:600;font-size:.85rem;border-radius:10px;cursor:pointer}
.tier form button:hover{background:var(--teal-d)}
.tier form button:disabled{opacity:.6;cursor:default}
.atelier-note{text-align:center;margin-top:48px;font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--gray-1)}

/* ---------- Prose / article (letters, privacy, terms) ---------- */
.article{padding:64px 0 80px}
.article-meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:24px;font-weight:500}
.article h1.title{font-family:var(--display);font-size:3.8rem;line-height:1.04;font-weight:400;letter-spacing:-.025em;margin-bottom:20px}
.article h1.title em{font-style:italic;color:var(--teal)}
.article .byline{font-family:var(--sans);font-size:1rem;color:var(--gray-1);margin-bottom:8px}
.article .byline strong{color:var(--ink);font-weight:600}
.article .issue-meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--gray-1);margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.prose{font-family:var(--sans);font-size:1.12rem;line-height:1.72;color:var(--soft)}
.prose p{margin-bottom:24px}
.prose h2{font-family:var(--display);font-size:2.2rem;font-weight:400;letter-spacing:-.02em;line-height:1.1;margin:48px 0 18px;color:var(--ink)}
.prose h2 em{font-style:italic;color:var(--teal)}
.prose h3{font-family:var(--display);font-size:1.5rem;font-weight:400;letter-spacing:-.01em;margin:36px 0 14px;color:var(--ink)}
.prose a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.prose ul,.prose ol{margin:0 0 24px 24px}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink);font-weight:600}
.prose .dropcap::first-letter{font-family:var(--display);font-size:4.6rem;line-height:.72;float:left;margin:8px 12px 0 0;color:var(--teal);font-weight:400}
.pull-quote{font-family:var(--display);font-style:italic;font-size:2.1rem;line-height:1.25;color:var(--ink);margin:48px 0;padding-left:28px;border-left:3px solid var(--teal);letter-spacing:-.015em}
.pull-quote.amber{border-left-color:var(--amber)}
.signature{font-family:var(--display);font-style:italic;font-size:2rem;color:var(--ink);margin:40px 0 4px}
.signature-role{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1)}

/* author bio block (foot of letters/articles) */
.author-block{display:flex;gap:24px;align-items:center;margin-top:56px;padding:32px;background:var(--bg-2);border:1px solid var(--line);border-radius:18px}
.author-block img{width:96px;height:96px;border-radius:12px;object-fit:cover;flex-shrink:0}
.author-block .ab-name{font-family:var(--display);font-size:1.5rem;margin-bottom:4px}
.author-block .ab-role{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.author-block .ab-bio{font-family:var(--sans);font-size:.95rem;color:var(--soft);line-height:1.6}
.author-block .ab-bio a{color:var(--teal);text-decoration:underline}

/* gated archive rows */
.gate-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--bg-2)}
.gate-row .g-left .g-title{font-family:var(--display);font-size:1.25rem;line-height:1.2}
.gate-row .g-left .g-meta{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);margin-top:4px}
.gate-row .g-lock{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--amber);white-space:nowrap;display:flex;align-items:center;gap:8px}
.gate-row .g-lock a{color:var(--teal);text-decoration:none;font-weight:600}

/* ---------- Book detail ---------- */
.book-hero{padding:64px 0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-3) 100%)}
.book-hero-grid{display:grid;grid-template-columns:4fr 8fr;gap:60px;align-items:start}
.book-cover-lg{aspect-ratio:2/3;border-radius:10px;overflow:hidden;box-shadow:0 30px 80px rgba(15,17,21,.2);max-width:360px;background:linear-gradient(160deg,#A9B5BD 0%,#D9B58A 50%,#A9826C 100%);display:flex;align-items:center;justify-content:center;text-align:center;padding:40px}
.book-cover-lg img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.book-cover-lg .t{font-family:var(--display);font-size:2rem;color:#324B6E;line-height:1}
.book-cover-lg .t em{color:#B5532A;display:block;font-style:italic;font-size:2.8rem;margin-top:6px}
.book-info .kicker{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:500;margin-bottom:16px}
.book-info h1{font-family:var(--display);font-size:4rem;line-height:1.02;font-weight:400;letter-spacing:-.025em;margin-bottom:12px}
.book-info h1 em{font-style:italic;color:var(--teal)}
.book-info .by{font-family:var(--sans);font-size:1.05rem;color:var(--gray-1);margin-bottom:24px}
.book-info .lead{font-family:var(--sans);font-size:1.15rem;line-height:1.65;color:var(--soft);margin-bottom:28px;max-width:620px}
.book-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}
.book-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.book-meta-grid .m{background:var(--bg-2);padding:16px 18px}
.book-meta-grid .m .k{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1);margin-bottom:6px}
.book-meta-grid .m .v{font-family:var(--sans);font-size:.92rem;color:var(--ink);font-weight:500}
.spreads{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.spreads figure{margin:0}
.spreads img{border-radius:10px;box-shadow:0 12px 28px rgba(15,17,21,.1);aspect-ratio:3/2;object-fit:cover;width:100%}
.spreads figcaption{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-1);margin-top:10px}
.editions{display:flex;flex-direction:column;gap:12px}
.edition{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);flex-wrap:wrap}
.edition .e-name{font-family:var(--display);font-size:1.4rem}
.edition .e-detail{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-1);margin-top:4px}
.edition .e-status{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--teal)}

/* ---------- Work-with-us cards + forms ---------- */
.branch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:48px}
.branch-card{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);text-decoration:none;color:inherit;transition:.2s;display:flex;flex-direction:column}
.branch-card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,17,21,.08)}
.branch-card .bc-num{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;font-weight:500}
.branch-card h3{font-family:var(--display);font-size:1.5rem;line-height:1.1;margin-bottom:8px}
.branch-card p{font-family:var(--sans);font-size:.86rem;color:var(--gray-1);line-height:1.5}
.form-block{padding:40px;border:1px solid var(--line);border-radius:18px;background:var(--bg-2);margin-bottom:24px;scroll-margin-top:120px}
.form-block h3{font-family:var(--display);font-size:2rem;margin-bottom:8px}
.form-block h3 em{font-style:italic;color:var(--teal)}
.form-block .fb-intro{font-family:var(--sans);font-size:1rem;color:var(--soft);margin-bottom:28px;max-width:640px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field.full{grid-column:1/-1}
.form-field label{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);font-weight:500}
.form-field input,.form-field select,.form-field textarea{padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.92rem;color:var(--ink);background:var(--bg-2);outline:none;width:100%;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--teal)}
.form-submit{margin-top:20px}

/* ---------- Coming soon ---------- */
.coming-soon{padding:100px 0;text-align:center}
.coming-soon .eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:24px}
.coming-soon h1{font-family:var(--display);font-size:4rem;line-height:1.05;letter-spacing:-.025em;margin-bottom:20px}
.coming-soon h1 em{font-style:italic;color:var(--teal)}
.coming-soon p{font-family:var(--sans);font-size:1.15rem;color:var(--soft);max-width:560px;margin:0 auto 32px;line-height:1.6}
.coming-soon form{max-width:460px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap}
.coming-soon input{flex:1;min-width:200px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.95rem;background:var(--bg-2);outline:none}
.coming-soon input:focus{border-color:var(--teal)}
.coming-soon button{padding:13px 22px;background:var(--teal);color:var(--bg);border:none;font-family:var(--sans);font-weight:600;font-size:.85rem;border-radius:10px;cursor:pointer}

/* ---------- Author page ---------- */
.author-hero{padding:72px 0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-3) 100%)}
.author-hero-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
.author-portrait{border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(15,17,21,.18);max-width:420px}
.author-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}
.author-hero .eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:18px;font-weight:500}
.author-hero h1{font-family:var(--display);font-size:5rem;line-height:1;letter-spacing:-.025em;margin-bottom:18px}
.author-hero h1 em{font-style:italic;color:var(--teal)}
.author-hero .role{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);margin-bottom:24px}
.author-hero .bio{font-family:var(--sans);font-size:1.12rem;line-height:1.65;color:var(--soft)}
.author-hero .bio p{margin-bottom:16px}
.ventures{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.venture{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);text-decoration:none;color:inherit;transition:.2s;display:block}
.venture:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,17,21,.08)}
.venture .v-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;font-weight:500}
.venture h4{font-family:var(--display);font-size:1.6rem;line-height:1.05;margin-bottom:8px}
.venture p{font-family:var(--sans);font-size:.88rem;color:var(--gray-1);line-height:1.5}
.venture .arr{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-1);margin-top:14px}

/* press quote cards */
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.quote-card{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2)}
.quote-card blockquote{font-family:var(--display);font-size:1.4rem;font-style:italic;line-height:1.3;color:var(--ink);margin-bottom:16px;letter-spacing:-.01em}
.quote-card .q-by{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:500}
.quote-card .q-out{font-family:var(--sans);font-size:.82rem;color:var(--gray-1);margin-top:4px}

/* generic content list (books by author etc.) */
.note-soft{font-family:var(--display);font-style:italic;font-size:1.25rem;color:var(--gray-1);margin-top:24px;line-height:1.4}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:var(--bg);padding:64px 0 36px;padding-bottom:calc(36px + env(safe-area-inset-bottom))}
.foot-top{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}
.foot-brand-block .brand-mark{background:rgba(245,245,247,.08)}
.foot-brand-block .brand-mark::before{color:var(--bg)}
.foot-brand-block .brand-name{color:var(--bg)}
.foot-brand-block .brand-sub{color:rgba(245,245,247,.5)}
.foot-mission{font-family:var(--sans);color:rgba(245,245,247,.75);font-size:.95rem;line-height:1.6;max-width:300px;margin:20px 0;letter-spacing:-.005em}
.foot-meta{font-family:var(--mono);font-size:.66rem;color:rgba(245,245,247,.4);letter-spacing:.04em;line-height:1.7}
.foot-col h5{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-soft);margin-bottom:18px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-col a{font-family:var(--sans);font-size:.86rem;color:rgba(245,245,247,.85);text-decoration:none;letter-spacing:-.005em}
.foot-col a:hover{color:var(--amber-soft)}
.foot-bottom{padding-top:28px;border-top:1px solid rgba(245,245,247,.1);display:flex;justify-content:space-between;font-family:var(--mono);font-size:.68rem;color:rgba(245,245,247,.5);letter-spacing:.04em;flex-wrap:wrap;gap:16px}
.foot-bottom a{color:rgba(245,245,247,.7);text-decoration:none}.foot-bottom a:hover{color:var(--amber-soft)}
.foot-bottom .right{display:flex;gap:16px;flex-wrap:wrap}

/* ---------- utilities ---------- */
.stack-lg>*+*{margin-top:48px}
.center{text-align:center}
.mt-0{margin-top:0}
.lead-p{font-family:var(--sans);font-size:1.25rem;line-height:1.6;color:var(--soft);max-width:720px}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .cal-grid{grid-template-columns:repeat(2,1fr)}
  .cal-col:nth-child(2){border-right:none}
  .cal-col:nth-child(1),.cal-col:nth-child(2){border-bottom:1px solid var(--line)}
  .branch-grid{grid-template-columns:repeat(2,1fr)}
  .tier-grid{grid-template-columns:1fr}
  .tier.featured-tier{transform:none}
  .ventures{grid-template-columns:1fr}
  .quote-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .page-hero h1,.author-hero h1{font-size:2.8rem}
  .book-info h1{font-size:2.8rem}
  .article h1.title{font-size:2.6rem}
  .hero-bottom,.featured-grid,.imprints-row,.cat-grid,.ed-grid,.ed-feature,.house-grid,.sub-grid,.book-hero-grid,.author-hero-grid,.spreads,.form-grid,.cat-grid.cols-3{grid-template-columns:1fr;gap:32px}
  .cal-grid{grid-template-columns:1fr}
  .cal-col{border-right:none;border-bottom:1px solid var(--line)}
  .branch-grid{grid-template-columns:1fr}
  .book-meta-grid{grid-template-columns:repeat(2,1fr)}
  .hero-stats{grid-template-columns:1fr;border-left:none}
  .hero-stat{border-right:none;border-bottom:1px solid var(--line);padding:18px 0}
  .main-nav-links,.utility-nav,.search-box{display:none}
  .nav-toggle{display:flex}
  .author-block{flex-direction:column;text-align:center}
  /* footer collapses to 2-col on tablet / large phone */
  .foot-top{grid-template-columns:repeat(2,1fr);gap:32px 24px}
  /* horizontal safe-area for landscape notch; max() keeps the 36px floor */
  .wrap,.wrap-narrow{padding-left:max(36px,env(safe-area-inset-left));padding-right:max(36px,env(safe-area-inset-right))}
  /* iOS: >=16px on form controls prevents focus auto-zoom (class-specificity match) */
  input,select,textarea,
  .sub-card input,.sub-card textarea,.tier form input,.tier form textarea,
  .form-field input,.form-field select,.form-field textarea,.coming-soon input{font-size:16px}
  /* touch targets >=44px (Apple HIG) */
  .cta-btn,.btn-light,.btn-ghost,.sub-card button,.tier form button,.form-submit,.coming-soon button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .sh-right .tab{min-height:44px;padding:11px 14px;display:inline-flex;align-items:center}
  /* subscribe / notify rows stack vertically, full width */
  .sub-card form,.coming-soon form{flex-direction:column}
  .sub-card form input,.sub-card form button,.coming-soon form input,.coming-soon form button{width:100%;min-width:0}
  /* denser footer links get a touch-friendly hit area */
  .foot-col a{display:inline-block;padding:5px 0}
  .foot-col ul{gap:5px}
  /* mobile nav open state */
  header.nav-open .main-nav-links{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--bg-2);flex-direction:column;padding:8px 20px;gap:0;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(15,17,21,.1)}
  header.nav-open .main-nav-links a{padding:14px 0;min-height:44px;border-bottom:1px solid var(--line-2)}
}
@media(max-width:600px){
  .wrap,.wrap-narrow{padding:0 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .featured-content h2{font-size:2.4rem}
  .sh-left h2{font-size:2.1rem}
  .house-left h2{font-size:2.3rem}
  .sub-left h3{font-size:2.1rem}
  .page-hero h1,.author-hero h1,.book-info h1{font-size:2.3rem}
  .article h1.title{font-size:2.15rem}
  .hero-stat .val{font-size:2.2rem}
  .pull-quote{font-size:1.5rem;padding-left:18px}
  .tier h3{font-size:1.7rem}
  .coming-soon h1{font-size:2.6rem}
  .atelier-note{font-size:1.25rem}
  .section,.editorial,.catalogue,.calendar,.house,.subscribe{padding:48px 0}
  .featured-meta{gap:16px 20px}
}
@media(max-width:480px){
  .foot-top{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column}
}
