/* LookNBooks — shared design system for generated route pages */
:root{
  --bg:#F7FAFB;--surface:#fff;--sand:#FBF6EC;--text:#10202B;--muted:#55636E;
  --ocean:#0B6FB0;--ocean-dark:#075186;--teal:#0E7C82;--deep:#072A3A;
  --coral:#FF7A45;--coral-dark:#ec5f27;--saffron:#F6A821;--border:#E2E9EC;
  /* Coral is a SURFACE, not ink. White on #FF7A45 is 2.59:1 (fails AA), so
     filled coral buttons take near-black text (6.5:1). For coral-coloured
     TEXT on a light ground use --coral-ink (#B84010 = 5.56:1 on white);
     --coral-dark as text is only 3.37:1 and must not be used for copy. */
  --coral-ink:#B84010;--on-coral:#10202B;
  --radius:22px;--shadow-sm:0 6px 20px rgba(7,42,58,.10);--shadow-md:0 18px 44px rgba(11,111,176,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;line-height:1.1;margin:0}
a{color:inherit}
.wrap{max-width:1000px;margin:0 auto;padding:0 1.25rem}
.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(160%) blur(12px);background:rgba(247,250,251,.85);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:Fraunces,serif;font-weight:900;font-size:1.3rem;letter-spacing:-.02em;text-decoration:none;color:var(--ocean-dark)}
.brand span{color:var(--coral)}
.nav-links{display:flex;gap:1.3rem;align-items:center}
.nav-links a{text-decoration:none;font-weight:600;font-size:.94rem;color:var(--muted)}
.nav-links a:hover{color:var(--ocean)}
.nav-cta{position:relative;background:var(--ocean);color:#fff!important;padding:.55rem 1rem;border-radius:999px;font-weight:700!important}
@media(max-width:680px){.nav-links a:not(.nav-cta){display:none}}
.hero{position:relative;color:#fff;overflow:hidden;min-height:340px;display:flex;align-items:flex-end}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(7,42,58,.92),rgba(11,111,176,.45))}
.hero-inner{position:relative;z-index:2;width:100%;padding:2.6rem 0}
.eyebrow{display:inline-flex;gap:.5rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:.4rem .85rem;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.hero h1{font-size:clamp(1.9rem,4vw,3rem);font-weight:900;margin:.8rem 0 .5rem;letter-spacing:-.02em}
.hero .facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.hero .facts span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:.35rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;text-decoration:none;font-weight:800;border-radius:999px;padding:.9rem 1.4rem;font-size:1rem;transition:transform .15s ease,filter .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:var(--on-coral);box-shadow:0 10px 26px rgba(255,122,69,.38)}
.btn-teal{background:var(--ocean);color:#fff}
section.block{padding:2.6rem 0}
.section-head{margin-bottom:1.2rem}
.section-head .kicker{color:var(--coral-ink);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.section-head h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;margin:.4rem 0}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow-sm)}
.compare{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.compare th,.compare td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.95rem}
.compare th{background:#F2F7F9;font-family:Inter,sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.compare tr:last-child td{border-bottom:none}
.fare-pill{display:inline-flex;align-items:center;gap:.3rem;background:#E8F3F8;color:#075186;font-weight:800;font-size:.8rem;padding:.2rem .6rem;border-radius:999px}
.chip{display:inline-block;background:#E8F3F8;color:var(--ocean-dark);font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;margin-right:.3rem}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{position:relative;padding:0 0 1rem 1.6rem;border-left:2px solid var(--border);margin-left:.4rem}
.timeline li::before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--coral)}
.timeline li:last-child{border-left-color:transparent}
.timeline .t{font-weight:800;color:var(--ocean-dark)}
.faq details{background:#fff;border:1px solid var(--border);border-radius:14px;padding:.4rem 1rem;margin-bottom:.6rem}
.faq summary{cursor:pointer;font-weight:700;padding:.6rem 0}
.faq p{margin:.2rem 0 .8rem;color:var(--muted)}
.disclosure{background:#FFF7E6;border:1px solid #F3E2BC;border-radius:16px;padding:1rem 1.2rem;font-size:.9rem;color:#6b5b32;margin-top:1.6rem}
.disclosure strong{color:#4a3d1c}
.orig{background:linear-gradient(135deg,var(--ocean),var(--deep));color:#fff;border-radius:var(--radius);padding:1.5rem 1.6rem;box-shadow:var(--shadow-md)}
.orig h2{color:#fff}
.orig p{color:rgba(255,255,255,.9);margin:.4rem 0 0}
footer{background:var(--deep);color:rgba(255,255,255,.8);padding:2.2rem 0;margin-top:2.6rem}
footer a{color:rgba(255,255,255,.78);text-decoration:none}
footer a:hover{color:var(--saffron)}
.foot-brand{font-family:Fraunces,serif;font-weight:900;font-size:1.3rem;color:#fff;margin-bottom:.4rem}
