
/* samchoksi.com v4 — Ink & Paper (unified design system) */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400..700;1,6..72,400..600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#0A0A0A;
  --ink-2:#1A1A1A;
  --paper:#FAF9F7;
  --white:#FFFFFF;
  --orange:#ED7720;
  --red:#EC0829;
  --gray:#6B6B6B;
  /* derived */
  --line:rgba(10,10,10,0.12);
  --line-soft:rgba(10,10,10,0.08);
  --line-ink:rgba(250,249,247,0.14);
  --paper-dim:#A8A49C;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.7}
body{min-height:100vh;overflow-x:hidden}
img{max-width:100%;display:block;height:auto;border-radius:4px;filter:contrast(1.05) saturate(0.9)}
a{color:var(--ink);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--red)}

/* Layout */
.container{max-width:960px;margin:0 auto;padding:0 28px}
.container-wide{max-width:1200px;margin:0 auto;padding:0 28px}
section{padding:96px 0}
section.tight{padding:56px 0}

/* Nav */
nav.site-nav{position:sticky;top:0;z-index:50;background:rgba(250,249,247,.92);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line-soft)}
.nav-inner{max-width:1200px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:19px;color:var(--ink)}
.nav-logo span{color:var(--red);font-style:italic}
.nav-links{list-style:none;display:flex;gap:32px;align-items:center}
.nav-links a{font-size:13.5px;color:var(--gray);letter-spacing:.02em}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{background:var(--ink);color:var(--paper) !important;padding:10px 20px;font-size:13px;font-weight:600;letter-spacing:.04em}
.nav-cta:hover{background:var(--orange);color:var(--ink) !important}
.hamburger{display:none}
@media(max-width:820px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;padding:24px;gap:18px;border-bottom:1px solid var(--line)}
  .nav-links.open{display:flex}
  .hamburger{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px}
  .hamburger span{width:22px;height:2px;background:var(--ink);display:block}
}

/* Typography */
h1,h2,h3,h4{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.015em;line-height:1.08;font-weight:600;color:var(--ink)}
h1{font-size:clamp(40px,5.4vw,64px);font-weight:600}
h2{font-size:clamp(30px,3.8vw,44px);margin-bottom:20px;font-weight:600}
h3{font-size:22px;margin-bottom:12px;font-weight:600}
h4{font-size:14px;margin-bottom:10px;font-weight:600}
p{color:var(--ink);font-size:17px;line-height:1.7}
.lead{font-size:19px;color:var(--gray);max-width:640px;line-height:1.7}
.eyebrow{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);margin-bottom:22px;padding-bottom:6px;border-bottom:2px solid var(--red)}
.kicker{font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:.18em}

/* Hero */
.hero{padding:120px 0 80px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -20% auto -20%;height:560px;background:radial-gradient(ellipse at 50% 0%, rgba(10,10,10,.05), transparent 65%);pointer-events:none}
.hero .container{position:relative}
.hero h1{margin-bottom:28px;max-width:720px}
.hero .accent{color:var(--red);font-style:italic}
.hero .subhead{font-size:20px;color:var(--gray);max-width:600px;margin-bottom:40px;line-height:1.6}

/* Stats band */
.stats-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-width:1200px;margin:0 auto}
.stat{padding:40px 20px;border-right:1px solid var(--line-soft);text-align:center}
.stat:last-child{border-right:none}
.stat-val,.stat-num{font-family:var(--serif);font-optical-sizing:auto;font-size:42px;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1}
.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--gray);margin-top:12px}
.stats-footnote{text-align:center;color:var(--gray);font-size:12px;padding:18px 0;letter-spacing:.04em}
@media(max-width:820px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .stat:nth-child(2n){border-right:none}
}

/* Buttons — square, deliberate */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:0;font-size:13.5px;font-weight:600;letter-spacing:.06em;transition:all .2s ease;cursor:pointer;border:1px solid transparent;font-family:var(--sans);text-transform:uppercase}
.btn-primary{background:var(--ink);color:var(--paper) !important;border-color:var(--ink)}
.btn-primary:hover{background:var(--orange);border-color:var(--orange);color:var(--ink) !important}
.btn-ghost{background:transparent;color:var(--ink) !important;border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper) !important}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}

/* Cards / grids */
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.grid-3,.grid-2{grid-template-columns:1fr}}

.card{background:var(--white);border:1px solid var(--line-soft);border-radius:4px;padding:32px;transition:border-color .25s ease}
.card:hover{border-color:rgba(10,10,10,0.3)}
.card h3{margin-bottom:14px;font-family:var(--serif);color:var(--ink)}
.card p{font-size:15.5px;color:var(--gray);line-height:1.7}

/* Narrative blocks */
.narrative{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.narrative{grid-template-columns:1fr}}
.narrative .card{padding:36px 32px}
.narrative .num{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--gray);letter-spacing:.2em;text-transform:uppercase}
.narrative h3{margin-top:16px;font-size:24px;color:var(--ink)}

/* Portfolio tiers */
.brand-row{display:grid;grid-template-columns:220px 1fr auto;gap:28px;align-items:center;padding:28px 32px;background:var(--white);border:1px solid var(--line-soft);border-radius:4px;margin-bottom:14px;transition:border-color .25s ease;color:var(--ink)}
.brand-row:hover{border-color:rgba(10,10,10,0.35)}
.brand-name{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ink)}
.brand-tag{font-size:10.5px;color:var(--gray);text-transform:uppercase;letter-spacing:.22em;margin-bottom:6px;font-weight:600}
.brand-pitch{color:var(--gray);font-size:15px;line-height:1.65}
.brand-link{font-size:12px;color:var(--ink);white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--red);padding-bottom:2px}
@media(max-width:720px){.brand-row{grid-template-columns:1fr;gap:8px;padding:24px}}

/* About */
.about-layout{display:grid;grid-template-columns:360px 1fr;gap:64px;align-items:start;max-width:1200px;margin:0 auto}
@media(max-width:900px){.about-layout{grid-template-columns:1fr;gap:36px}}
.about-photo img{border-radius:4px;border:1px solid var(--line)}
.about-body p{margin-bottom:20px;color:var(--ink);font-size:17px;line-height:1.75}
.about-body p strong{color:var(--ink);font-weight:600}
blockquote.voice{border-left:3px solid var(--red);padding:24px 32px;background:var(--white);border-radius:0 4px 4px 0;margin:36px 0;color:var(--ink);font-size:17px;line-height:1.8;font-family:var(--serif);font-style:italic;font-weight:500}

/* Press logos */
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1200px;margin:0 auto}
@media(max-width:900px){.press-grid{grid-template-columns:repeat(2,1fr)}}
.press-slot{aspect-ratio:5/2;background:var(--white);border:1px dashed var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:11px;letter-spacing:.18em;text-transform:uppercase}

/* Forms */
.intake-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:44px;max-width:1200px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.intake-grid{grid-template-columns:repeat(2,1fr)}}
.intake-pill{background:var(--white);border:1px solid var(--line-soft);border-radius:4px;padding:22px;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--ink);font-family:var(--sans)}
.intake-pill:hover,.intake-pill.active{border-color:var(--ink);background:var(--paper)}
.intake-pill .icon{font-size:22px;margin-bottom:10px;display:block}
.intake-pill .label{font-weight:600;font-size:14px;margin-bottom:4px;color:var(--ink);font-family:var(--serif)}
.intake-pill .sub{font-size:12px;color:var(--gray)}

form.intake{background:var(--white);border:1px solid var(--line-soft);border-radius:4px;padding:36px;max-width:720px;margin:0 auto}
form.intake .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:720px){form.intake .row{grid-template-columns:1fr}}
form.intake label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gray);margin-bottom:8px;font-weight:600}
form.intake input,form.intake textarea,form.intake select{
  width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:13px 14px;font:inherit;font-family:var(--sans);font-size:15px;transition:border-color .2s ease
}
form.intake input:focus,form.intake textarea:focus,form.intake select:focus{outline:none;border-color:var(--ink)}
form.intake textarea{min-height:140px;resize:vertical}
form.intake .field{margin-bottom:16px}
form.intake button{margin-top:10px;width:100%}
.conditional{display:none}
.conditional.show{display:block}
.msg{padding:14px 16px;border-radius:4px;margin-top:16px;font-size:14px;display:none}
.msg.ok{background:rgba(10,10,10,0.04);border:1px solid var(--ink);color:var(--ink);display:block}
.msg.err{background:rgba(236,8,41,0.06);border:1px solid var(--red);color:var(--ink);display:block}

/* Newsletter */
.news-hero{text-align:center;max-width:640px;margin:0 auto}
.news-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:64px 0;max-width:1200px;margin-left:auto;margin-right:auto}
@media(max-width:820px){.news-points{grid-template-columns:1fr}}
.news-point{background:var(--white);border:1px solid var(--line-soft);border-radius:4px;padding:28px;text-align:left}
.news-point h4{color:var(--gray);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px;font-family:var(--sans);font-weight:600}
.news-point p{font-size:14.5px;color:var(--gray);line-height:1.7}
.inline-form{display:flex;gap:10px;max-width:480px;margin:32px auto 0}
.inline-form input{flex:1;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:14px 18px;font:inherit;font-family:var(--sans);font-size:15px}
.inline-form input:focus{outline:none;border-color:var(--ink)}
@media(max-width:600px){.inline-form{flex-direction:column}}

/* Footer — ink surface, orange accents live here */
footer{border-top:1px solid var(--line);background:var(--ink);padding:72px 0 36px;margin-top:96px}
footer h5,footer .foot-brand{color:var(--paper)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;max-width:1200px;margin-left:auto;margin-right:auto;padding:0 28px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}
.foot-col h5{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--paper-dim);margin-bottom:16px;font-weight:600}
.foot-col-heading{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--paper-dim);margin-bottom:16px;font-weight:600;font-family:var(--sans);display:block}
.foot-col a{display:block;color:var(--paper-dim);font-size:14px;margin-bottom:12px}
.foot-col a:hover{color:var(--orange)}
.foot-brand{font-family:var(--serif);font-size:20px;font-weight:600;margin-bottom:12px;color:var(--paper)}
.foot-brand span{color:var(--orange);font-style:italic}
.foot-blurb{color:var(--paper-dim);font-size:14px;max-width:360px;line-height:1.7}
.foot-bottom{border-top:1px solid var(--line-ink);padding:24px 28px 0;display:flex;justify-content:space-between;color:var(--paper-dim);font-size:12px;flex-wrap:wrap;gap:10px;max-width:1200px;margin:0 auto;letter-spacing:.04em}
.foot-bottom a{color:var(--paper-dim)}
.foot-bottom a:hover{color:var(--orange)}

/* Utility */
.center{text-align:center}
.muted{color:var(--gray)}
.divider{height:1px;background:var(--line-soft);margin:44px 0}
.pill{display:inline-block;padding:7px 14px;border-radius:0;background:transparent;border:1px solid var(--ink);color:var(--ink);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-family:var(--sans)}

/* Ink section band — where orange is allowed as text/accent */
.band-ink{background:var(--ink);color:var(--paper)}
.band-ink h1,.band-ink h2,.band-ink h3,.band-ink h4,.band-ink p,.band-ink .stat-val,.band-ink .stat-num{color:var(--paper)}
.band-ink .lead,.band-ink .subhead,.band-ink .muted,.band-ink .stat-label{color:var(--paper-dim)}
.band-ink .eyebrow{color:var(--orange);border-bottom-color:var(--orange)}
.band-ink .accent{color:var(--orange)}
.band-ink a{color:var(--paper)}
.band-ink a:hover{color:var(--orange)}
.band-ink .btn-primary{background:var(--orange);color:var(--ink) !important;border-color:var(--orange)}
.band-ink .btn-primary:hover{background:var(--paper);border-color:var(--paper);color:var(--ink) !important}
.band-ink .btn-ghost{color:var(--paper) !important;border-color:rgba(250,249,247,0.4)}
.band-ink .btn-ghost:hover{background:var(--paper);color:var(--ink) !important}
.band-ink .card{background:var(--ink-2);border-color:var(--line-ink)}
.band-ink .card h3{color:var(--paper)}
.band-ink .card p{color:var(--paper-dim)}

/* Sections that were using var(--bg-elev) should still render */
section[style*="--bg-elev"],
section[style*="bg-elev"]{background:var(--white) !important}


/* Hero image responsive */
@media (max-width: 768px) {
  .hero > .container-wide > div {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .hero-photo {
    order: -1;
    max-width: 320px;
    margin: 0 auto;
  }
}

/* ---- Page-specific modules ---- */
.section-light{background:var(--white);color:var(--ink)}
.section-light h2,.section-light h3{color:var(--ink)}
.section-light p{color:var(--gray)}
.section-light .eyebrow{color:var(--gray)}

.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
@media(max-width:820px){.offer-grid{grid-template-columns:1fr}}

.offer-card{background:var(--white);border:1px solid var(--line-soft);border-radius:4px;padding:36px 32px;display:flex;flex-direction:column}
.offer-card .offer-eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:14px;display:block}
.offer-card h3{font-family:var(--serif);font-optical-sizing:auto;font-size:24px;font-weight:600;color:var(--ink);margin-bottom:10px;line-height:1.15}
.offer-card .offer-price{font-family:var(--serif);font-optical-sizing:auto;font-size:38px;font-weight:600;color:var(--ink);line-height:1;margin:18px 0 4px;letter-spacing:-.02em}
.offer-card .offer-price-sub{font-size:13px;color:var(--gray);font-weight:600;margin-bottom:16px;display:block}
.offer-card .offer-desc{font-size:14.5px;color:var(--gray);line-height:1.65;margin-bottom:20px}
.offer-card .offer-bullets{list-style:none;padding:0;margin-bottom:24px;flex:1}
.offer-card .offer-bullets li{font-size:13.5px;color:var(--gray);padding:5px 0 5px 20px;position:relative;line-height:1.5}
.offer-card .offer-bullets li::before{content:'\2713';position:absolute;left:0;color:var(--red);font-weight:700}
.offer-card .offer-divider{height:1px;background:var(--line-soft);margin-bottom:20px}
.offer-card .btn-offer{display:block;width:100%;text-align:center;background:var(--ink);color:var(--paper) !important;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:14px 20px;border-radius:0;transition:background .2s ease,color .2s ease;text-decoration:none}
.offer-card .btn-offer:hover{background:var(--orange);color:var(--ink) !important}
.offer-card .offer-proof{font-size:12px;color:var(--gray);text-align:center;margin-top:14px;font-style:italic}

.vertical-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;margin-bottom:8px}
.vertical-pill{background:rgba(10,10,10,0.05);color:var(--ink);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px;border-radius:40px;border:1px solid var(--line)}

/* Industry 5-col grid */
.grid-5-industry{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.grid-5-industry{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid-5-industry{grid-template-columns:1fr}}
.industry-card{text-decoration:none;color:inherit}
.industry-card h3{color:var(--ink);font-size:18px}
.industry-card .industry-link{display:inline-block;margin-top:12px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--red);padding-bottom:2px}
