/* Landing page only. Loaded after style.css; every rule is scoped under body.lp so member pages are untouched. */
@font-face { font-family:"Fraunces"; src:url("/fonts/fraunces-latin-wght-normal.woff2") format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:"Fraunces"; src:url("/fonts/fraunces-latin-wght-italic.woff2") format("woff2"); font-weight:100 900; font-style:italic; font-display:swap; }
@font-face { font-family:"Hanken Grotesk"; src:url("/fonts/hanken-grotesk-latin-wght-normal.woff2") format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }

body.lp {
  --paper:#f5efe3; --paper2:#ece4d3; --card:#fbf8f1; --ink:#1c1a16; --muted:#5b5547; --rule:#d5cbb6;
  --navy:#0e1a44; --accent:#c91f2b; --accent-dark:#a8171f;
  --serif:"Fraunces", Georgia, "Times New Roman", serif; --sans:"Hanken Grotesk", "Segoe UI", system-ui, sans-serif;
  background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.6;
}
body.lp .wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
body.lp main { max-width:1120px; padding:0 24px 24px; }

/* header: paper, hairline, no fill */
body.lp header.top { background:var(--paper); border-bottom:1px solid var(--rule); }
body.lp header.top .in { max-width:1120px; padding:10px 24px; }
body.lp header.top nav a.link, body.lp .navdrop-btn { color:var(--ink); font-weight:600; }
body.lp header.top nav a.link:hover, body.lp .navdrop-btn:hover { color:var(--accent); }
body.lp .btn { background:var(--accent); border-radius:6px; font-family:var(--sans); letter-spacing:0; }
body.lp .btn:hover { background:var(--accent-dark); }
body.lp .btn.secondary { background:var(--paper2); color:var(--ink) !important; }

/* type */
body.lp h1, body.lp h2.sec { font-family:var(--serif); font-weight:500; font-variation-settings:"opsz" 96; }
body.lp .kicker { margin:0 0 12px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
body.lp h2.sec { margin:0 0 16px; max-width:19em; font-size:clamp(30px,4.2vw,46px); line-height:1.08; letter-spacing:-.018em; color:var(--ink); }
body.lp p.sub { margin:0 0 44px; max-width:38em; font-size:18px; color:var(--muted); }
body.lp a { color:var(--accent); }

/* hero */
body.lp .hero { background:var(--paper); color:var(--ink); text-align:left; padding:64px 0 0; }
body.lp .hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; align-items:center; }
body.lp .eyebrow { margin:0 0 20px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
body.lp .hero h1 { margin:0 0 24px; max-width:13em; text-wrap:balance; font-size:clamp(40px,5.6vw,68px); line-height:1.02; letter-spacing:-.025em; color:var(--ink); }
body.lp .hero h1 em { font-style:italic; font-weight:400; color:var(--accent); }
body.lp .hero p.lead { margin:0 0 32px; max-width:31em; font-size:19px; line-height:1.55; color:var(--muted); }
body.lp .hero .cta { display:flex; align-items:center; gap:28px; flex-wrap:wrap; justify-content:flex-start; margin:0 0 18px; }
body.lp .hero .btn { padding:15px 28px; font-size:17px; font-weight:700; }
body.lp .textlink { display:inline-block; padding:12px 0; color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
body.lp .textlink:hover { color:var(--accent); }
body.lp .fine { margin:0; font-size:15px; color:var(--muted); }

/* proof sheet: three real flyers, laid like prints on a table */
body.lp .proofs { position:relative; aspect-ratio:1 / 1.2; }
body.lp .proof { position:absolute; margin:0; padding:9px 9px 0; background:#fffdf8; box-shadow:0 1px 0 var(--rule), 0 10px 26px rgba(40,30,10,.16); }
body.lp .proof img { display:block; width:100%; height:auto; }
body.lp .proof figcaption { padding:8px 2px 9px; font-size:13.5px; line-height:1.2; color:var(--muted); letter-spacing:.02em; }
body.lp .p1 { width:50%; left:0; top:0; transform:rotate(-3deg); z-index:1; }
body.lp .p2 { width:50%; right:0; top:7%; transform:rotate(2.5deg); z-index:2; }
body.lp .p3 { width:50%; left:25%; bottom:0; transform:rotate(-1deg); z-index:3; }

/* sizes ruler */
body.lp .sizes-wrap { margin-top:56px; padding-top:18px; padding-bottom:18px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); display:flex; align-items:baseline; gap:28px; flex-wrap:wrap; max-width:1072px; }
body.lp .sizes-label { margin:0; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
body.lp .sizes { margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:6px 28px; font-size:15px; color:var(--muted); font-variant-numeric:tabular-nums; }
body.lp .sizes b { color:var(--ink); margin-right:6px; }

/* sections */
body.lp .block { margin:0; padding:96px 0 0; }

/* how it works: figure + steps */
body.lp .how { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
body.lp .how-fig { color:var(--ink); }
body.lp .fig { display:block; width:100%; height:auto; overflow:visible; }
body.lp .legend { display:none; list-style:none; margin:10px 0 0; padding:0; font-size:15px; font-weight:600; }
body.lp .inl { display:inline-block; padding:10px 0; }
body.lp .sc-strip { padding-top:96px; }
body.lp .figcap { margin:8px 0 0; font-size:14px; color:var(--muted); max-width:30em; }
body.lp .layer .lift { transition:transform .45s cubic-bezier(.2,.7,.2,1); }
body.lp .tag { opacity:.75; transition:opacity .3s; }
body.lp .tag text { font-family:var(--sans); font-weight:600; }
body.lp .how[data-active="3"] .l3 .lift { transform:translateY(-12px); }
body.lp .how[data-active="2"] .l2 .lift { transform:translateY(-12px); }
body.lp .how[data-active="1"] .l1 .lift { transform:translateY(-12px); }
body.lp .how[data-active="3"] .t3, body.lp .how[data-active="2"] .t2, body.lp .how[data-active="1"] .t1 { opacity:1; }
body.lp .hsteps { list-style:none; margin:32px 0 0; padding:0; }
body.lp .hsteps li { display:flex; gap:20px; padding:20px 0; border-top:1px solid var(--rule); outline-offset:4px; }
body.lp .hsteps li:last-child { border-bottom:1px solid var(--rule); }
body.lp .hsteps .n { font-family:var(--serif); font-size:36px; line-height:1; font-weight:400; color:var(--accent); min-width:30px; }
body.lp .hsteps h3 { margin:0 0 4px; font-family:var(--serif); font-weight:500; font-size:22px; color:var(--ink); }
body.lp .hsteps p { margin:0; font-size:16px; color:var(--muted); }

/* hook ledger */
body.lp .ledger { background:var(--card); border:1px solid var(--rule); }
body.lp .tabs { display:flex; flex-wrap:wrap; border-bottom:1px solid var(--rule); }
body.lp .tabs button { appearance:none; background:none; border:0; border-right:1px solid var(--rule); padding:14px 22px; font:600 15px/1 var(--sans); color:var(--muted); cursor:pointer; }
body.lp .tabs button:hover { color:var(--ink); background:var(--paper); }
body.lp .tabs button[aria-selected="true"] { background:var(--navy); color:#fff; }
body.lp .ledger-body { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
body.lp .lcol { padding:24px 24px 20px; border-right:1px solid var(--rule); }
body.lp .lcol:last-child { border-right:0; }
body.lp .lcol h3 { margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
body.lp .lcol ul { margin:0; padding:0; list-style:none; }
body.lp .lcol li { padding:9px 0; border-top:1px solid var(--rule); font-family:var(--serif); font-size:18px; line-height:1.3; }
body.lp .ledger-foot { margin:0; padding:16px 24px; border-top:1px solid var(--rule); font-size:15px; color:var(--muted); }

/* gallery */
body.lp .shots { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
body.lp .shots figure { margin:0; }
body.lp .shots img { display:block; width:100%; height:auto; box-shadow:0 1px 0 var(--rule), 0 12px 28px rgba(40,30,10,.14); }
body.lp .shots figcaption { margin-top:10px; font-size:14px; color:var(--muted); }

/* features: three plain columns of definition rows */
body.lp .fcols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 48px; }
body.lp .fcol h3 { margin:0 0 6px; padding-bottom:12px; border-bottom:2px solid var(--ink); font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }
body.lp .fcol dl { margin:0; }
body.lp .fcol dt { margin:18px 0 2px; font-weight:700; font-size:17px; color:var(--ink); }
body.lp .fcol dd { margin:0; padding-bottom:18px; border-bottom:1px solid var(--rule); color:var(--muted); font-size:15.5px; line-height:1.55; }

/* industries */
body.lp .igrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 32px; }
body.lp .ind { background:none; border:0; border-top:1px solid var(--rule); border-radius:0; padding:18px 0 22px; }
body.lp .ind b { display:block; font-family:var(--serif); font-weight:500; font-size:20px; color:var(--ink); margin-bottom:4px; }
body.lp .ind span { font-size:15px; color:var(--muted); line-height:1.5; }

/* pricing */
body.lp .pgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; max-width:820px; border:1px solid var(--rule); background:var(--card); }
body.lp .plan { background:none; border:0; border-right:1px solid var(--rule); border-radius:0; padding:32px; display:flex; flex-direction:column; box-shadow:none; }
body.lp .plan:last-child { border-right:0; }
body.lp .plan.hot { background:var(--paper2); }
body.lp .plan h3 { margin:0; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
body.lp .plan .price { font-family:var(--serif); font-weight:500; font-size:56px; letter-spacing:-.03em; margin:8px 0 16px; color:var(--ink); line-height:1; }
body.lp .plan .price small { margin-left:8px; font-family:var(--sans); font-size:16px; font-weight:500; letter-spacing:0; color:var(--muted); }
body.lp .plan .price.price-na { font-size:24px; line-height:1.2; }
body.lp .plan ul { margin:0 0 26px; padding:0; list-style:none; flex:1; }
body.lp .plan li { padding:9px 0; border-top:1px solid var(--rule); font-size:16px; }
body.lp .plan .btn { text-align:center; padding:13px 20px; }
body.lp .plan:not(.hot) .btn { background:var(--ink); }
body.lp .plan:not(.hot) .btn:hover { background:#000; }

/* closing: one ink-navy band, nothing else */
body.lp .finalcta { margin:104px 0 0; padding:56px 48px; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
body.lp .finalcta h2.sec { color:#fff; margin:0 0 8px; }
body.lp .finalcta p { margin:0; font-size:18px; color:#c9d0ea; }
body.lp .finalcta .btn { font-size:17px; padding:16px 30px; }

body.lp footer { margin-top:0; }
body.lp :focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
body.lp .finalcta :focus-visible { outline-color:#fff; }
body.lp section[id] { scroll-margin-top:72px; }

@media (prefers-reduced-motion:reduce) { body.lp .layer .lift, body.lp .tag { transition:none; } }

@media (max-width:960px) {
  body.lp .hero-grid { grid-template-columns:1fr; gap:44px; }
  body.lp .proofs { max-width:560px; width:100%; margin:0 auto; }
  body.lp .how { grid-template-columns:1fr; gap:36px; }
  body.lp .how-fig { max-width:520px; margin:0 auto; }
  body.lp .fcols { grid-template-columns:1fr; gap:36px; }
  body.lp .igrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.lp .ledger-body { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.lp .lcol:nth-child(2) { border-right:0; }
  body.lp .lcol:nth-child(n+3) { border-top:1px solid var(--rule); }
  body.lp .shots { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media (max-width:640px) {
  body.lp { font-size:16px; }
  body.lp .wrap, body.lp main, body.lp header.top .in { padding-left:16px; padding-right:16px; }
  body.lp .hero { padding-top:36px; }
  body.lp .hero p.lead { font-size:17px; }
  body.lp .hero .cta { gap:18px; }
  body.lp .hero .btn, body.lp .finalcta .btn { width:100%; text-align:center; }
  body.lp .sizes-wrap { margin-top:40px; gap:10px; }
  body.lp .block { padding-top:64px; }
  body.lp .ledger-body { grid-template-columns:1fr; }
  body.lp .lcol { border-right:0; padding:18px 18px 12px; }
  body.lp .lcol:nth-child(n+2) { border-top:1px solid var(--rule); }
  body.lp .tabs button { flex:1 1 33%; padding:14px 8px; border-bottom:1px solid var(--rule); }
  body.lp .proof figcaption { display:none; }
  body.lp .proof { padding-bottom:9px; }
  body.lp .tags { display:none; }
  body.lp .legend { display:block; }
  body.lp .legend li { padding:4px 0; }
  body.lp header.top nav a.link, body.lp header.top .in > a { min-height:44px; display:inline-flex; align-items:center; }
  body.lp .igrid { grid-template-columns:1fr; }
  body.lp .pgrid { grid-template-columns:1fr; }
  body.lp .plan { border-right:0; border-bottom:1px solid var(--rule); padding:26px 20px; }
  body.lp .plan:last-child { border-bottom:0; }
  body.lp .finalcta { padding:40px 20px; margin-top:72px; }
  body.lp .tag text { font-size:15px; }
  body.lp header.top nav { gap:4px; padding-bottom:0; }
  body.lp header.top nav a.link[href="/"] { display:none; }
  body.lp header.top nav a.link { padding:8px 6px; font-size:15px; }
  body.lp header.top nav .btn { padding:9px 14px; font-size:15px; margin-left:auto; }
}
