@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');

:root { --navy:#102f3b; --ink:#17323a; --coral:#ef6a59; --gold:#f1b84b; --cream:#fff9ec; --paper:#fffdf8; --mint:#dcefdc; --line:#d9ded8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
.skip { position:fixed; left:12px; top:-60px; z-index:20; padding:12px 18px; background:#fff; border-radius:4px; }
.skip:focus { top:12px; }
.announcement { min-height:42px; padding:8px max(5vw,24px); background:var(--navy); color:#fff; display:flex; justify-content:space-between; align-items:center; gap:18px; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.announcement a { color:#ffd77d; text-decoration:none; font-weight:700; }
.header { height:88px; padding:0 max(5vw,24px); background:rgba(255,253,248,.96); border-bottom:1px solid rgba(16,47,59,.1); display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); }
.brand,.footer-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { width:46px; height:46px; border-radius:50% 50% 46% 54%; display:grid; place-items:center; background:var(--coral); color:#fff; font-family:serif; font-size:1.3rem; transform:rotate(-4deg); box-shadow:inset 0 0 0 4px rgba(255,255,255,.3); }
.brand span:last-child,.footer-brand span:last-child { display:flex; flex-direction:column; }
.brand strong,.footer-brand strong { font-family:'Fraunces',Georgia,serif; font-size:1.05rem; }
.brand small,.footer-brand small { color:#6f7c7e; font-size:.72rem; }
.header nav { display:flex; gap:28px; align-items:center; }
.header nav a { text-decoration:none; font-size:.86rem; font-weight:600; }
.home-link { width:38px; height:38px; border:1px solid rgba(16,47,59,.18); border-radius:50%; display:grid; place-items:center; color:var(--navy); background:#fff; transition:.2s; }
.home-link span { font-family:Georgia,serif; font-size:1.55rem; line-height:1; transform:translateY(-1px); }
.home-link:hover { color:#fff; background:var(--coral); border-color:var(--coral); transform:translateY(-2px); }
.home-link:focus-visible { outline:3px solid rgba(239,106,89,.3); outline-offset:3px; }
.nav-cta { background:var(--coral); color:#fff!important; padding:13px 18px; border-radius:99px; }
.hero { min-height:720px; padding:72px max(5vw,24px) 80px; display:grid; grid-template-columns:minmax(0,1fr) minmax(460px,.9fr); align-items:center; gap:6vw; overflow:hidden; background:radial-gradient(circle at 85% 35%,#ffe8b4 0,rgba(255,232,180,.6) 19%,transparent 40%),linear-gradient(125deg,var(--cream),#f5f2e6); }
.hero-copy { max-width:720px; }
.eyebrow { margin:0 0 18px; color:#c64b3d; text-transform:uppercase; letter-spacing:.16em; font-weight:700; font-size:.75rem; }
h1,h2 { font-family:'Fraunces',Georgia,serif; letter-spacing:-.045em; line-height:1.02; margin:0; }
h1 { font-size:clamp(3.7rem,7vw,7rem); }
h1 em,h2 em { color:var(--coral); font-style:normal; }
.lead { max-width:660px; margin:28px 0; color:#526467; font-size:1.22rem; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:25px; }
.button { border:0; border-radius:6px; padding:16px 24px; background:var(--coral); color:#fff; font-weight:700; text-decoration:none; display:inline-flex; justify-content:center; align-items:center; cursor:pointer; box-shadow:0 7px 0 #c84c3e; transition:.2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 9px 0 #c84c3e; }
.button.outline { background:transparent; color:var(--navy); border:1px solid #b3bebc; box-shadow:none; }
.text-link { text-decoration:none; font-weight:700; border-bottom:1px solid #9ea9a7; padding-bottom:4px; }
.text-link span { color:var(--coral); }
.hero-proof { margin-top:42px; padding-top:24px; border-top:1px solid #d4d8cf; display:flex; gap:30px; color:#718082; font-size:.82rem; }
.hero-proof span { display:flex; align-items:center; gap:8px; }
.hero-proof b { color:var(--navy); font-family:'Fraunces',Georgia,serif; font-size:1.7rem; }
.cover-stage { position:relative; height:570px; }
.sun { width:440px; height:440px; border-radius:50%; background:repeating-conic-gradient(from 0deg,rgba(241,184,75,.2) 0 3deg,transparent 3deg 9deg); position:absolute; inset:35px auto auto 30px; }
.cover { width:310px; aspect-ratio:1; object-fit:cover; border:10px solid #fff; border-radius:6px; position:absolute; box-shadow:0 28px 55px rgba(16,47,59,.24); }
.cover-a { width:340px; right:4%; top:70px; transform:rotate(4deg); z-index:3; }
.cover-b { width:260px; left:0; top:5px; transform:rotate(-8deg); z-index:2; }
.cover-c { width:238px; left:45px; bottom:0; transform:rotate(6deg); z-index:4; }
.format-pill { position:absolute; right:8%; bottom:45px; background:var(--navy); color:#fff; z-index:5; border-radius:50%; width:110px; height:110px; display:grid; place-items:center; text-align:center; font-weight:700; font-size:.8rem; box-shadow:0 8px 0 #081c23; transform:rotate(-8deg); }
.story-strip { background:#fff; min-height:120px; padding:24px max(5vw,24px); display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-strip>div { padding:8px 24px; display:grid; grid-template-columns:52px 1fr; grid-template-rows:auto auto; border-right:1px solid var(--line); }
.story-strip>div:last-child { border:0; }
.story-strip span { grid-row:1/3; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--mint); color:var(--navy); font-family:'Fraunces',serif; font-weight:700; }
.story-strip strong { font-size:.9rem; }
.story-strip small { color:#788588; }
.section { padding:110px max(5vw,24px); }
.section-heading { max-width:1500px; margin:0 auto 55px; display:grid; grid-template-columns:1.1fr .7fr; gap:8vw; align-items:end; }
.section-heading h2,.benefit-intro h2 { font-size:clamp(2.7rem,5vw,5rem); }
.section-heading>p { color:#6e7c7e; font-size:1.05rem; line-height:1.75; }
.book-grid { max-width:1500px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:42px 24px; }
.book-card { min-width:0; }
.book-cover-wrap { position:relative; aspect-ratio:1; background:#eee7d7; padding:10px; border-radius:6px; box-shadow:0 12px 25px rgba(16,47,59,.11); transition:.25s; }
.book-card:hover .book-cover-wrap { transform:translateY(-7px) rotate(-.5deg); box-shadow:0 20px 35px rgba(16,47,59,.17); }
.book-cover-wrap img { width:100%; height:100%; object-fit:cover; }
.book-number { position:absolute; top:-13px; left:-10px; background:var(--navy); color:#fff; border-radius:50%; width:42px; height:42px; display:grid; place-items:center; font-size:.7rem; font-weight:700; z-index:2; }
.book-info { padding:18px 5px 0; }
.book-info h3 { margin:0; font-family:'Fraunces',serif; font-size:1.12rem; }
.book-info p { color:var(--coral); font-size:1.15rem; margin:6px 0; font-weight:600; }
.book-info span { color:#778486; font-size:.8rem; }
.benefits-section { background:var(--mint); display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; }
.benefit-intro { align-self:center; }
.benefit-intro>p:last-child { font-size:1.08rem; line-height:1.8; color:#526568; max-width:620px; }
.benefit-cards { display:grid; gap:14px; }
.benefit-cards article { background:rgba(255,255,255,.72); padding:30px; border-radius:10px; display:grid; grid-template-columns:54px 1fr; gap:0 18px; }
.benefit-cards b { grid-row:1/3; color:var(--coral); font-family:'Fraunces',serif; font-size:1.6rem; }
.benefit-cards h3 { margin:0 0 6px; font-family:'Fraunces',serif; font-size:1.35rem; }
.benefit-cards p { margin:0; color:#647476; line-height:1.6; }
.licence-section { background:var(--navy); color:#fff; }
.section-heading.light>p { color:#b8c6c8; }
.licence-section .eyebrow { color:#ffd477; }
.licence-grid { max-width:1500px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.licence-card { background:#fff; color:var(--ink); padding:36px; border-radius:8px; position:relative; display:flex; flex-direction:column; box-shadow:0 12px 35px rgba(0,0,0,.15); }
.licence-card.featured { border:4px solid var(--gold); transform:translateY(-12px); }
.ribbon { position:absolute; right:24px; top:-16px; background:var(--gold); color:#47300a; padding:8px 15px; border-radius:99px; text-transform:uppercase; font-size:.65rem; letter-spacing:.1em; font-weight:800; }
.licence-eyebrow { color:#c64b3d; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:800; }
.licence-card h3 { margin:4px 0 10px; font-family:'Fraunces',serif; font-size:1.65rem; }
.licence-card>p:not(.licence-eyebrow) { color:#6c7a7c; line-height:1.6; min-height:76px; }
.price { font-family:'Fraunces',serif; font-size:3rem; margin-top:8px; }
.licence-card small { color:#7a8789; }
.licence-card ul { list-style:none; padding:22px 0; margin:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); line-height:2; font-size:.9rem; }
.licence-card .button { margin-top:auto; }
.licence-note { max-width:980px; margin:38px auto 0; color:#b8c6c8; text-align:center; line-height:1.7; font-size:.86rem; }
.licence-note a { color:#ffd477; font-weight:700; }
.format-section { display:grid; grid-template-columns:1fr .7fr .7fr; gap:28px; align-items:stretch; }
.format-section>div { padding-right:4vw; }
.format-section h2 { font-size:clamp(2.5rem,4vw,4.2rem); }
.format-section article { border:1px solid var(--line); padding:32px; border-radius:8px; background:#fff; }
.format-section article>span { display:grid; place-items:center; width:64px; height:64px; border-radius:8px; background:var(--coral); color:#fff; font-weight:800; }
.format-section article:last-child>span { background:var(--navy); }
.format-section h3 { font-family:'Fraunces',serif; font-size:1.45rem; }
.format-section article p { color:#6d7b7d; line-height:1.7; }
.enquiry-section { background:#f1b84b; display:grid; grid-template-columns:.75fr 1fr; gap:9vw; }
.enquiry-copy h2 { font-size:clamp(3rem,5vw,5rem); }
.selection { margin:36px 0; background:var(--navy); color:#fff; padding:25px 28px; border-radius:8px; display:grid; grid-template-columns:1fr auto; }
.selection span { color:#a9bdc1; text-transform:uppercase; font-size:.65rem; letter-spacing:.1em; }
.selection strong { grid-row:2; font-family:'Fraunces',serif; font-size:1.5rem; }
.selection b { grid-column:2; grid-row:1/3; font-family:'Fraunces',serif; font-size:2.6rem; }
.selection small { grid-column:1/3; color:#a9bdc1; margin-top:7px; }
.enquiry-copy>p:last-child { line-height:1.7; }
.enquiry-section form { background:#fffdf8; padding:38px; border-radius:10px; box-shadow:0 18px 45px rgba(71,48,10,.15); }
.enquiry-section label { display:flex; flex-direction:column; gap:7px; font-size:.78rem; font-weight:700; margin-bottom:18px; }
.enquiry-section label span { color:#849092; font-weight:400; }
.enquiry-section input,.enquiry-section select,.enquiry-section textarea { width:100%; border:1px solid #cbd2ce; border-radius:5px; background:#fff; padding:13px 14px; color:var(--ink); }
.enquiry-section input:focus,.enquiry-section select:focus,.enquiry-section textarea:focus { outline:3px solid rgba(239,106,89,.25); border-color:var(--coral); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.submit { width:100%; }
.form-status { background:var(--mint); padding:12px; border-radius:5px; font-size:.82rem; }
.enquiry-section .check-row { display:grid; grid-template-columns:22px 1fr; align-items:start; gap:10px; font-weight:500; line-height:1.45; }
.enquiry-section .check-row input { width:18px; height:18px; margin:2px 0 0; accent-color:var(--coral); }
.enquiry-section .check-row span { color:var(--ink); }
.paypal-panel { margin-top:24px; padding:22px; border:1px solid #d5dad4; border-radius:8px; background:#f4f2eb; opacity:.72; }
.paypal-panel.is-ready { background:#fff; opacity:1; }
.paypal-panel>strong,.paypal-panel>small { display:block; }
.paypal-panel>small { margin:5px 0 18px; color:#748184; line-height:1.5; }
.paypal-buttons { min-height:42px; }
.checkout-message { margin:15px 0 0; padding:12px 14px; background:#fff4d5; border-radius:5px; color:#5c4b1d; font-size:.8rem; line-height:1.5; }
.payment-privacy { color:#697779; font-size:.72rem; line-height:1.55; }
.download-page { min-height:100vh; padding:70px 24px; background:linear-gradient(145deg,var(--cream),#edf4e9); }
.download-shell { max-width:1120px; margin:auto; }
.download-shell>h1 { font-size:clamp(3.3rem,7vw,6.4rem); max-width:900px; }
.download-lead { color:#607174; font-size:1.15rem; }
.order-badge { margin:30px 0 45px; padding:22px 25px; border-radius:8px; background:var(--navy); color:#fff; display:grid; grid-template-columns:1fr auto; gap:5px 20px; }
.order-badge span { color:#a9bdc1; text-transform:uppercase; letter-spacing:.1em; font-size:.65rem; }
.order-badge strong { grid-column:2; grid-row:1/3; align-self:center; font-family:'Fraunces',serif; font-size:1.35rem; }
.order-badge small { color:#a9bdc1; }
.download-groups { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.download-groups>div { padding:28px; background:#fff; border-radius:10px; box-shadow:0 12px 30px rgba(16,47,59,.1); }
.download-groups h2 { margin:0 0 18px; font-size:2rem; }
.download-groups a { display:flex; justify-content:space-between; gap:15px; padding:15px 0; border-top:1px solid var(--line); text-decoration:none; font-size:.83rem; }
.download-groups a span { max-width:68%; }
.download-groups a b { color:var(--coral); white-space:nowrap; }
.licence-download { margin-top:25px; padding:28px; border-radius:10px; background:var(--gold); display:flex; justify-content:space-between; align-items:center; gap:25px; }
.licence-download span { text-transform:uppercase; letter-spacing:.1em; font-size:.65rem; font-weight:800; }
.licence-download strong { display:block; margin-top:5px; font-family:'Fraunces',serif; font-size:1.55rem; }
.licence-download p { margin-bottom:0; }
.download-help { text-align:center; color:#68777a; margin-top:30px; }
.faq { display:grid; grid-template-columns:.55fr 1fr; gap:9vw; }
.faq h2 { font-size:4rem; }
.faq-list details { border-top:1px solid var(--line); padding:0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; cursor:pointer; padding:23px 0; font-family:'Fraunces',serif; font-size:1.2rem; display:flex; justify-content:space-between; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--coral); }
.faq-list p { color:#647476; line-height:1.7; margin:0 35px 24px 0; }
.final-cta { padding:110px 24px; text-align:center; color:#fff; background:radial-gradient(circle at 50% 10%,#275365,var(--navy)); }
.final-cta .eyebrow { color:#ffd477; }
.final-cta h2 { font-size:clamp(3rem,6vw,6rem); margin-bottom:35px; }
.button.cream { background:var(--cream); color:var(--navy); box-shadow:0 7px 0 #d8bf8c; }
footer { background:#0b2028; color:#fff; padding:55px max(5vw,24px) 30px; display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
footer .brand-mark { background:var(--gold); color:var(--navy); }
footer p,footer small { color:#93a7ab; }
footer>div:nth-of-type(2) { display:flex; gap:25px; justify-content:flex-end; }
footer>div a { text-decoration:none; font-size:.85rem; }
footer>small { grid-column:1/3; padding-top:25px; border-top:1px solid #28424b; }

.payment-route.is-disabled { opacity:.55; }
.checkout-message.is-error { background:#f7e1dc; color:#70392e; }
.checkout-message.is-info { background:#e2eee7; color:#315a4c; }
.confirmation-page { min-height:100vh; padding:50px 20px; background:var(--navy); }
.confirmation-shell { width:min(920px,100%); margin:auto; }
.confirmation-page .brand { display:inline-flex; margin-bottom:34px; color:#fff; }
.brand__mark { width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:var(--coral); }
.brand__mark svg { width:30px; height:30px; fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; }
.confirmation-card { padding:clamp(28px,6vw,64px); background:var(--paper); border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.28); }
.confirmation-card h1 { margin:0; font-size:clamp(2.8rem,7vw,5rem); }
.confirmation-lead { color:#526467; font-size:1.05rem; line-height:1.7; }
.order-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:30px 0; border:1px solid var(--line); }
.order-facts span { padding:16px; font-size:.76rem; }
.order-facts span+span { border-left:1px solid var(--line); }
.order-facts strong { display:block; margin-bottom:5px; font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; }
.confirmation-card h2 { margin-top:42px; font-size:2rem; }
.download-list { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:20px 0; }
.download-list a { display:flex; justify-content:space-between; gap:15px; padding:12px 14px; background:#edf2e9; text-decoration:none; font-size:.74rem; }
.download-list a:hover { background:#dbe9dc; }
.download-list strong { color:#a95748; }
.licence-download { margin-top:12px; }
.confirmation-help { margin-top:30px; padding:20px; background:#f2eadc; font-size:.78rem; line-height:1.6; }
.confirmation-help p { margin:6px 0 18px; }

@media (max-width:1050px) {
  .header nav a:not(.nav-cta):not(.home-link) { display:none; }
  .header nav { gap:12px; }
  .hero { grid-template-columns:1fr; padding-top:60px; }
  .hero-copy { max-width:800px; }
  .cover-stage { width:min(650px,100%); margin:auto; }
  .story-strip { grid-template-columns:1fr 1fr; }
  .story-strip>div:nth-child(2) { border-right:0; }
  .book-grid { grid-template-columns:repeat(3,1fr); }
  .benefits-section,.enquiry-section { grid-template-columns:1fr; }
  .format-section { grid-template-columns:1fr 1fr; }
  .format-section>div { grid-column:1/3; }
}
@media (max-width:760px) {
  .announcement { justify-content:center; text-align:center; }
  .announcement span { display:none; }
  .header { height:74px; }
  .brand small { display:none; }
  .nav-cta { padding:11px 14px!important; font-size:.75rem!important; }
  .hero { min-height:auto; padding-bottom:50px; }
  h1 { font-size:clamp(3.2rem,16vw,5rem); }
  .lead { font-size:1rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-proof { gap:10px; justify-content:space-between; }
  .hero-proof span { flex-direction:column; align-items:flex-start; gap:1px; font-size:.64rem; }
  .cover-stage { height:390px; }
  .cover-a { width:245px; right:0; }
  .cover-b { width:180px; }
  .cover-c { width:160px; bottom:2px; }
  .format-pill { width:80px; height:80px; bottom:15px; right:5px; }
  .story-strip { grid-template-columns:1fr; }
  .story-strip>div { border-right:0; border-bottom:1px solid var(--line); }
  .section { padding:76px 22px; }
  .section-heading { grid-template-columns:1fr; gap:15px; }
  .book-grid { grid-template-columns:1fr 1fr; gap:32px 14px; }
  .book-cover-wrap { padding:6px; }
  .book-info h3 { font-size:.95rem; }
  .book-info p { font-size:1rem; }
  .licence-grid { grid-template-columns:1fr; gap:28px; }
  .licence-card.featured { transform:none; }
  .format-section { grid-template-columns:1fr; }
  .format-section>div { grid-column:1; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .faq { grid-template-columns:1fr; gap:30px; }
  .download-groups { grid-template-columns:1fr; }
  .order-badge { grid-template-columns:1fr; }
  .order-badge strong { grid-column:1; grid-row:auto; }
  .licence-download { align-items:flex-start; flex-direction:column; }
  .order-facts,.download-list { grid-template-columns:1fr; }
  .order-facts span+span { border-left:0; border-top:1px solid var(--line); }
  footer { grid-template-columns:1fr; }
  footer>div:nth-of-type(2) { justify-content:flex-start; flex-wrap:wrap; }
  footer>small { grid-column:1; }
}
