/* AngloOrigin — sales site. Shares the report's "Archival Museum" palette so the site and the product
   feel like one object. Sized deliberately large: the audience is 50-75 and reads on tablets and phones. */
:root{
  --ground:#f4efe4; --ground2:#efe7d5; --panel:#ffffff;
  --navy:#123441; --navy-2:#0d2733;
  --ink:#151312; --muted:#4b4436; --faint:#8a8069;
  --gold:#a9781f; --gilt:#cd9e46; --wine:#8a2438; --teal:#125e6b; --green:#3c6a39; --clay:#b05a29;
  --rule:#d9cdb2;
  --disp:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --wrap:1120px;
  --shadow:0 1px 2px rgba(18,52,65,.06), 0 12px 32px rgba(18,52,65,.10);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:var(--ui); font-size:19px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--teal)}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 22px}
.center{text-align:center}

/* ---------- top offer bar ---------- */
.topbar{background:var(--navy); color:#f3ead7; font-size:16px; padding:11px 0}
.topbar .wrap{display:flex; gap:14px; align-items:center; justify-content:center; flex-wrap:wrap; text-align:center}
.topbar b{color:#fff}
.topbar .was{text-decoration:line-through; opacity:.65}
.topbar a{color:#0f2a33; background:var(--gilt); text-decoration:none; font-weight:700;
  padding:7px 15px; border-radius:6px; white-space:nowrap}
.topbar a:hover{background:#dcb05e}

/* ---------- header ---------- */
header.site{background:var(--ground2); border-bottom:1px solid var(--rule); position:sticky; top:0; z-index:50}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:14px; padding-bottom:14px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit}
.brand .seal{width:44px; height:44px; flex:none}
.brand .nm{font-family:var(--disp); font-weight:600; font-size:25px; letter-spacing:.01em; line-height:1.1}
.brand .sub{font-size:11.5px; letter-spacing:.19em; text-transform:uppercase; color:var(--muted)}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:#FF9900; color:#131200; text-decoration:none; font-weight:700; font-size:19px;
  padding:17px 30px; border-radius:8px; border:none; cursor:pointer; min-height:58px;
  box-shadow:0 2px 0 #c47400; transition:transform .08s ease, background .15s ease}
.btn:hover{background:#f0a63a}
.btn:active{transform:translateY(1px); box-shadow:0 1px 0 #c47400}
.btn:focus-visible{outline:3px solid var(--teal); outline-offset:3px}
.btn.small{font-size:16.5px; padding:12px 20px; min-height:48px}
.btn.wide{width:100%}
.btn .price{opacity:.9; font-weight:600}

/* ---------- hero ---------- */
.hero{padding:26px 0 30px; position:relative; overflow:hidden}
.eyebrow{display:inline-block; font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--teal); border:1px solid var(--rule); border-radius:999px; padding:8px 17px; background:#fffdf7}
h1{font-family:var(--disp); font-weight:700; font-size:clamp(42px,6.6vw,76px); line-height:1.03;
  margin:.42em 0 .3em; letter-spacing:-.01em; text-wrap:balance}
h1 .accent{color:var(--wine); display:block}
.lede{font-size:21px; line-height:1.65; color:var(--muted); max-width:36em; margin:0 0 8px}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:start}

/* ---------- offer card ---------- */
.offer{background:var(--panel); border:1px solid var(--rule); border-radius:12px; padding:26px;
  box-shadow:var(--shadow)}
.offer .k{font-size:12.5px; letter-spacing:.17em; text-transform:uppercase; color:var(--gold); font-weight:700}
.offer h3{font-family:var(--disp); font-size:27px; margin:8px 0 4px; font-weight:600}
.offer .pricerow{display:flex; align-items:baseline; gap:13px; margin:14px 0 2px; flex-wrap:wrap}
.offer .now{font-family:var(--disp); font-size:56px; font-weight:700; color:var(--wine); line-height:1}
.offer .was{font-size:25px; color:var(--faint); text-decoration:line-through}
.offer .save{background:#f6e9c9; color:#6d4d12; font-weight:700; font-size:14.5px; padding:5px 11px; border-radius:5px}
.offer ul{list-style:none; padding:0; margin:18px 0 20px}
.offer li{position:relative; padding-left:31px; margin-bottom:10px; font-size:17.5px; line-height:1.5}
.offer li::before{content:"✓"; position:absolute; left:0; top:-1px; color:var(--green); font-weight:700; font-size:19px}
.offer .fine{font-size:15px; color:var(--muted); margin-top:13px; text-align:center}

/* ---------- sections ---------- */
section{padding:64px 0}
section.alt{background:var(--ground2); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule)}
.h2{font-family:var(--disp); font-weight:700; font-size:clamp(31px,4.1vw,45px); line-height:1.12; margin:0 0 14px; text-wrap:balance}
.kicker{font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); font-weight:700; margin-bottom:10px}
.sec-lede{font-size:20px; color:var(--muted); max-width:44em; margin:0 0 34px}

/* personalization points */
.points{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.point{background:var(--panel); border:1px solid var(--rule); border-top:4px solid var(--c,var(--teal));
  border-radius:10px; padding:24px}
.point h4{font-family:var(--disp); font-size:23px; margin:0 0 8px; font-weight:600}
.point p{margin:0; font-size:17px; color:var(--muted); line-height:1.6}

/* sample gallery */
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.shot{background:var(--panel); border:1px solid var(--rule); border-radius:10px; overflow:hidden; box-shadow:var(--shadow)}
.shot img{width:100%; border-bottom:1px solid var(--rule)}
.shot .cap{padding:13px 16px; font-size:15.5px; color:var(--muted)}
.shot .cap b{color:var(--ink); display:block; font-family:var(--disp); font-size:18px; font-weight:600}

/* contents list */
.contents{display:grid; grid-template-columns:repeat(2,1fr); gap:12px 34px}
.contents div{display:flex; gap:13px; align-items:flex-start; font-size:17.5px; padding:9px 0; border-bottom:1px dashed var(--rule)}
.contents span.n{color:var(--gold); font-weight:700; font-family:var(--disp); font-size:19px; min-width:26px}

/* steps */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; counter-reset:s}
.step{position:relative; padding-left:64px}
.step::before{counter-increment:s; content:counter(s); position:absolute; left:0; top:-4px;
  width:46px; height:46px; border-radius:50%; background:var(--navy); color:#f3ead7;
  font-family:var(--disp); font-size:24px; font-weight:700; display:flex; align-items:center; justify-content:center}
.step h4{font-family:var(--disp); font-size:22px; margin:0 0 6px; font-weight:600}
.step p{margin:0; color:var(--muted); font-size:17px; line-height:1.6}

/* faq */
.faq{max-width:800px; margin:0 auto}
details{background:var(--panel); border:1px solid var(--rule); border-radius:9px; margin-bottom:13px; overflow:hidden}
summary{cursor:pointer; padding:19px 22px; font-weight:700; font-size:19px; list-style:none;
  display:flex; justify-content:space-between; gap:16px; align-items:center; font-family:var(--disp)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; color:var(--gold); font-size:27px; font-weight:400; line-height:1; flex:none}
details[open] summary::after{content:"–"}
details .body{padding:0 22px 20px; color:var(--muted); font-size:17.5px; line-height:1.65}
details .body p{margin:0 0 12px}
details .body p:last-child{margin:0}

/* closing */
.closing{background:var(--navy); color:#f3ead7; text-align:center}
.closing .h2{color:#f6eeda}
.closing p{color:#cdbf9e; font-size:20px; max-width:40em; margin:0 auto 28px}
.closing .btn{background:#FF9900; color:#131200; box-shadow:0 2px 0 #c47400}
.closing .btn:hover{background:#f0a63a}
.closing .fine{color:#a89c80; font-size:15.5px; margin-top:16px}

/* footer */
footer.site{background:var(--ground2); border-top:1px solid var(--rule); padding:44px 0 60px; font-size:16px; color:var(--muted)}
footer.site .cols{display:flex; justify-content:space-between; gap:34px; flex-wrap:wrap}
footer.site a{color:var(--muted); text-decoration:none; display:block; margin-bottom:8px}
footer.site a:hover{color:var(--teal); text-decoration:underline}
footer.site .legal{max-width:36em; font-size:14.5px; line-height:1.6; color:var(--faint)}
footer.site h5{font-family:var(--disp); font-size:19px; color:var(--ink); margin:0 0 12px; font-weight:600}

/* simple content pages (legal / thank-you) */
.doc{max-width:780px; margin:0 auto; padding:52px 0 72px}
.doc h1{font-size:clamp(34px,5vw,50px); margin-bottom:.2em}
.doc h2{font-family:var(--disp); font-size:27px; margin:34px 0 10px; font-weight:600}
.doc p, .doc li{color:var(--muted); font-size:18px; line-height:1.72}
.doc .updated{color:var(--faint); font-size:15.5px}
.doc address{font-style:normal; background:var(--panel); border:1px solid var(--rule); border-radius:9px; padding:18px 20px; color:var(--muted)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  body{font-size:18px}
  .hero-grid{grid-template-columns:1fr; gap:34px}
  .points, .gallery, .steps{grid-template-columns:1fr}
  .contents{grid-template-columns:1fr}
  section{padding:48px 0}
  .hero{padding:40px 0 20px}
  header.site{position:static}
  header.site .wrap{flex-wrap:wrap}
  .lede{font-size:19px}
}
@media (max-width:560px){
  .brand .nm{font-size:22px}
  .brand .sub{font-size:10.5px; letter-spacing:.15em}
  .offer .now{font-size:46px}
  .btn{width:100%; font-size:18px}
  .topbar{font-size:15px}
}
@media (prefers-reduced-motion:reduce){ *{transition:none !important; animation:none !important} }

/* ---------- header "made for you" message (replaces the header CTA) ---------- */
.made{display:flex; align-items:center; gap:11px; text-align:right}
.made svg{width:34px; height:34px; flex:none}
.made .t1{font-family:var(--disp); font-size:19px; font-weight:600; color:var(--ink); line-height:1.15}
.made .t2{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}

/* ---------- book cover (inline SVG) on the offer card ---------- */
.offer .book{display:block; width:220px; max-width:70%; height:auto; margin:2px auto 20px}

/* ---------- secure-payment badge ---------- */
.secure{display:flex; align-items:center; justify-content:center; gap:9px; margin-top:14px;
  font-size:15px; color:var(--muted); line-height:1.4}
.secure svg{width:18px; height:18px; flex:none; color:var(--green)}
.secure b{color:var(--ink)}

/* ---------- reviews ---------- */
.reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px}
.review{background:var(--panel); border:1px solid var(--rule); border-radius:11px; padding:24px; box-shadow:var(--shadow)}
.review .stars{color:var(--gold); font-size:19px; letter-spacing:2px; margin-bottom:11px}
.review p{margin:0 0 16px; font-size:17.5px; line-height:1.62; color:var(--ink)}
.review .who{display:flex; align-items:center; gap:12px}
.review .av{width:42px; height:42px; border-radius:50%; background:var(--navy); color:#f3ead7;
  display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-weight:700; font-size:18px; flex:none}
.review .nm{font-weight:700; font-size:16px}
.review .meta{font-size:14px; color:var(--faint)}
@media (max-width:900px){ .reviews{grid-template-columns:1fr} }

/* ---------- money-back guarantee (offer card trust line) ---------- */
.guarantee{ display:flex; align-items:center; gap:11px; margin:14px 0 2px;
  background:#eef4ea; border:1px solid #c8dcbb; border-radius:8px; padding:12px 14px;
  color:var(--green); font-size:16px; line-height:1.35; }
.guarantee svg{ width:23px; height:23px; flex:none; color:var(--green); }
.guarantee b{ color:var(--green); font-weight:700; }

/* ---------- "see inside" preview (3 sample pages) ---------- */
.preview{ display:flex; overflow-x:auto; gap:18px; padding:2px 2px 16px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; }
.pshot{ flex:0 0 280px; scroll-snap-align:center; background:#fff; border:1px solid var(--rule); border-radius:10px; overflow:hidden; box-shadow:var(--shadow); }
.pshot img{ width:100%; display:block; border-bottom:1px solid var(--rule); }
.pshot figcaption{ padding:11px 14px; font-size:15px; color:var(--muted); font-family:var(--disp); text-align:center; }
.preview-note{ font-family:var(--disp); font-size:24px; line-height:1.45; color:var(--ink); max-width:26em; margin:32px auto 0; }
.preview-note b{ color:var(--wine); }
@media (max-width:900px){
  .pshot{ flex:0 0 68%; }
  .preview-note{ font-size:20px; }
}


/* ================= v2 additions ================= */
/* scannable bolds pop out of muted text */
.lede b,.sec-lede b,.point p b,.step p b,.contents-par b,details .body b{color:var(--ink)}

/* quote band */
.quoteband{background:var(--navy); padding:58px 0; text-align:center; border:0}
.quoteband p{color:#e7dcc2; font-size:clamp(23px,3vw,33px); line-height:1.42; font-weight:500; max-width:28em; margin:0 auto; text-wrap:balance}
.quoteband b{color:#ffffff}
.quoteband .rule{width:74px; height:2px; background:var(--gilt); margin:26px auto 0}

/* offer card: selectable packages */
.optbox{display:flex; flex-direction:column; gap:12px; margin:14px 0 18px}
.option{position:relative; display:block; border:2px solid var(--rule); border-radius:10px;
  padding:13px 15px 13px 52px; cursor:pointer; background:#fffdf8; transition:border-color .12s, background .12s}
.option input{position:absolute; left:15px; top:50%; transform:translateY(-50%); width:22px; height:22px; accent-color:#FF9900}
.option .row{display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap}
.option .t{font-weight:800; font-size:18px}
.option .pr{font-weight:800; font-size:20px}
.option .pr s{color:var(--faint); font-weight:500; font-size:16px; margin-left:6px}
.option .d{font-size:15px; color:var(--muted); margin-top:3px; display:block}
.option .chip{background:#f6e9c9; color:#6d4d12; font-weight:700; font-size:13px; padding:3px 9px; border-radius:5px}
.option.selected{border-color:#FF9900; background:#fff6e8}

/* what-you-get single paragraph */
.contents-par{font-size:19.5px; line-height:1.82; color:var(--muted); max-width:46em; margin:0 0 28px}
.contents-par:last-of-type{margin-bottom:0}

/* readers placeholder wall */
/* readers testimonial cards (16:9 photo + quote + name) */
.readers{display:flex; overflow-x:auto; gap:20px; margin-top:34px; text-align:left; padding:2px 2px 16px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch}
.reader-card{flex:0 0 360px; scroll-snap-align:center; background:#fff; border:1px solid var(--rule); border-radius:11px; overflow:hidden;
  box-shadow:var(--shadow); margin:0; display:flex; flex-direction:column}
.reader-card .ph{aspect-ratio:16/9; background:repeating-linear-gradient(45deg,#efe9da,#efe9da 14px,#e7dfcc 14px,#e7dfcc 28px);
  border-bottom:1px solid var(--rule); display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:var(--faint); font-size:15px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; text-align:center; gap:4px}
.reader-card .ph span{font-weight:400; letter-spacing:.02em; text-transform:none; font-size:13.5px}
.reader-card .ph img, .reader-card > img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border-bottom:1px solid var(--rule)}
.reader-card blockquote{margin:0; padding:18px 20px 6px; font-size:17px; line-height:1.6; color:var(--ink); flex:1}
.reader-card blockquote::before{content:"\201C"; display:block; font-family:var(--disp); font-size:40px; line-height:.4;
  color:var(--gilt); margin-bottom:10px}
.reader-card .who{padding:10px 20px 18px; font-weight:800; font-size:16px; color:var(--ink)}
.reader-card .who .loc{display:block; font-weight:400; font-size:14px; color:var(--faint); margin-top:2px}
@media (max-width:900px){ .reader-card{flex:0 0 78%} }
