:root { --ivory:#f4efe6; --paper:#fbf8f2; --navy:#12263a; --navy-soft:#2c3d4e; --brass:#a98548; --brass-dark:#8f6d35; --taupe:#cfc4b2; --white:#fffdf9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--navy); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.brand,.price { font-family:Georgia,"Times New Roman",serif; }
.section-shell,.site-header,.hero,.proof-strip,footer { width:min(100% - 8rem,1440px); margin-inline:auto; }
.site-header { position:relative; z-index:10; display:flex; align-items:center; justify-content:space-between; min-height:94px; border-bottom:1px solid var(--taupe); }
.brand { font-size:1.9rem; letter-spacing:.05em; }
nav { display:flex; gap:3rem; font-size:.98rem; }
nav a { position:relative; padding:.75rem 0; }
nav a::after { position:absolute; right:0; bottom:.4rem; left:0; height:1px; background:var(--brass); content:""; transform:scaleX(0); transform-origin:left; transition:transform 180ms ease; }
nav a:hover::after,nav a:focus-visible::after { transform:scaleX(1); }
.hero { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr); gap:3.5rem; align-items:center; min-height:690px; padding:4.3rem 0 3.2rem; }
.hero-copy { position:relative; z-index:2; animation:copy-in 500ms ease-out both; }
.eyebrow-line { display:block; width:46px; height:2px; margin-bottom:1.4rem; background:var(--brass); }
h1 { max-width:690px; margin-bottom:1.35rem; font-size:clamp(4.35rem,6.25vw,7rem); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.subtitle { margin-bottom:1rem; color:var(--brass-dark); font-size:clamp(1.35rem,2vw,1.85rem); font-weight:600; }
.hero-intro { max-width:575px; margin-bottom:1.65rem; color:var(--navy-soft); font-size:1.18rem; line-height:1.55; }
.availability-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; width:min(100%,660px); margin:0 0 1.5rem; overflow:hidden; border:1px solid var(--taupe); border-radius:6px; background:var(--taupe); }
.availability-strip p { display:flex; flex-direction:column; gap:.35rem; margin:0; padding:1rem 1.15rem; background:rgba(255,253,249,.56); }
.availability-strip strong { color:var(--brass-dark); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.availability-strip span { color:var(--navy); font-size:.98rem; line-height:1.35; }
.purchase-row { display:flex; gap:1.4rem; align-items:center; margin-bottom:1.3rem; }
.price-block { display:flex; flex:0 0 auto; flex-direction:column; gap:.32rem; min-width:max-content; }
.early-bird-label { color:var(--brass-dark); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.price-line { display:flex; gap:.7rem; align-items:baseline; }
.original-price { color:#7b7f82; font-size:1rem; text-decoration-color:var(--brass-dark); text-decoration-thickness:1.5px; white-space:nowrap; }
.price { font-size:2.65rem; white-space:nowrap; }
.primary-button { display:inline-flex; flex:0 1 310px; align-items:center; justify-content:center; min-width:260px; min-height:68px; padding:1rem 2rem; border-radius:6px; background:linear-gradient(135deg,#b68a3b,var(--brass)); box-shadow:0 8px 20px rgba(18,38,58,.1); color:var(--white); font-size:1.18rem; font-weight:600; transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease; }
.primary-button:hover { background:var(--brass-dark); box-shadow:0 11px 24px rgba(18,38,58,.16); transform:translateY(-2px); }
.primary-button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid var(--brass); outline-offset:4px; }
.trust-line { display:flex; gap:.7rem; align-items:center; margin:0; color:var(--navy-soft); font-size:1rem; }
.launch-note { max-width:640px; margin:0 0 1.2rem; color:var(--navy-soft); font-size:1rem; line-height:1.55; }
.launch-note strong { color:var(--brass-dark); }
.trust-line span { display:inline-grid; place-items:center; width:30px; height:30px; border:1px solid var(--brass); border-radius:50%; color:var(--brass-dark); font-weight:700; }
.hero-art { position:relative; display:grid; place-items:center; min-height:620px; overflow:hidden; animation:book-in 650ms 80ms ease-out both; }
.hero-art picture { position:relative; z-index:2; display:block; width:min(100%,515px); }
.hero-art img { display:block; width:100%; height:auto; filter:drop-shadow(0 24px 24px rgba(52,43,30,.12)); mix-blend-mode:multiply; }
.book-glow { position:absolute; width:92%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(255,253,249,.98),rgba(255,253,249,0)); }
.proof-strip { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:2rem; border-top:1px solid var(--taupe); border-bottom:1px solid var(--taupe); }
.proof-strip p { display:flex; flex-direction:column; gap:.35rem; margin:0; padding:1.35rem 2rem; border-right:1px solid var(--taupe); }
.proof-strip p:last-child { border-right:0; }
.proof-strip strong { font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; font-weight:400; }
.proof-strip span { color:var(--navy-soft); font-size:.9rem; }
.section-kicker { margin-bottom:1.2rem; color:var(--brass-dark); font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.section-kicker.light { color:#d8bd8e; }
.intro-section { padding:8rem 0; }
.intro-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:6rem; }
.intro-grid h2,.section-heading-row h2,.contents-card h2,.audience-section>h2,.purchase-card h2,.faq-section>h2 { margin-bottom:0; font-size:clamp(2.7rem,4.3vw,4.8rem); font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.intro-grid>div p,.contents-card>div>p,.author-grid>div>p { color:var(--navy-soft); font-size:1.08rem; line-height:1.75; }
blockquote { margin:5rem 0 0; padding:2.3rem 0; border-top:1px solid var(--taupe); border-bottom:1px solid var(--taupe); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,3vw,3.2rem); font-style:italic; text-align:center; }
.lessons-section { padding:8rem 0; background:var(--navy); color:var(--paper); }
.section-heading-row { display:grid; grid-template-columns:1.15fr .85fr; gap:6rem; align-items:end; margin-bottom:4rem; }
.section-heading-row p { max-width:440px; margin-bottom:.45rem; color:#c9d0d5; font-size:1.05rem; line-height:1.7; }
.lesson-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.22); border-left:1px solid rgba(255,255,255,.22); }
.lesson-grid article { min-height:250px; padding:2rem; border-right:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); }
.lesson-grid article>span { color:#d8bd8e; font-size:.78rem; letter-spacing:.12em; }
.lesson-grid h3 { margin:3.4rem 0 .8rem; font-size:1.65rem; font-weight:400; }
.lesson-grid p { margin:0; color:#c9d0d5; line-height:1.65; }
.contents-section { padding:8rem 0; }
.contents-card { display:grid; grid-template-columns:1fr 1fr; gap:6rem; padding:5rem; border:1px solid var(--taupe); background:var(--paper); }
.contents-card>div>p:last-child { margin-top:2rem; }
.contents-card ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--taupe); }
.contents-card li { display:flex; gap:1.2rem; padding:1.2rem 0; border-bottom:1px solid var(--taupe); line-height:1.4; }
.contents-card li span { color:var(--brass-dark); font-size:.78rem; letter-spacing:.08em; }
.companion-section { padding:0 0 8rem; }
.companion-card { display:grid; grid-template-columns:1fr 1fr; gap:5rem; padding:4.5rem; border:1px solid var(--taupe); background:var(--white); box-shadow:0 20px 55px rgba(18,38,58,.05); }
.companion-card h2 { margin-bottom:0; font-size:clamp(2.45rem,3.8vw,4.35rem); font-weight:400; letter-spacing:-.035em; line-height:1.04; }
.companion-card p { color:var(--navy-soft); font-size:1.05rem; line-height:1.72; }
.companion-card em { font-family:Georgia,"Times New Roman",serif; color:var(--navy); font-style:italic; }
.release-list { display:grid; gap:1px; margin:2rem 0; border:1px solid var(--taupe); background:var(--taupe); }
.release-list div { padding:1.15rem 1.25rem; background:var(--paper); }
.release-list dt { margin-bottom:.3rem; color:var(--brass-dark); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.release-list dd { margin:0; color:var(--navy); line-height:1.55; }
.companion-card .companion-note { margin:0; padding-top:1rem; border-top:1px solid var(--taupe); color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; }
.audience-section { padding:2rem 0 9rem; }
.audience-section>h2 { max-width:850px; margin-bottom:4rem; }
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--taupe); border:1px solid var(--taupe); }
.audience-grid article { padding:2.5rem; background:var(--ivory); }
.audience-grid h3 { font-size:1.5rem; font-weight:400; }
.audience-grid p { margin:0; color:var(--navy-soft); line-height:1.65; }
.author-section { padding:8rem 0; background:var(--navy); color:var(--paper); }
.author-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:7rem; align-items:center; }
.author-mark { display:grid; place-items:center; width:min(100%,380px); aspect-ratio:1; border:1px solid rgba(216,189,142,.55); border-radius:50%; color:#d8bd8e; font-family:Georgia,"Times New Roman",serif; font-size:8rem; }
.author-grid h2 { margin-bottom:1.5rem; font-size:clamp(3.5rem,6vw,6rem); font-weight:400; }
.author-grid>div>p { color:#c9d0d5; }
.purchase-section { padding:8rem 0; }
.purchase-card { display:grid; grid-template-columns:1.3fr .7fr; gap:4rem; align-items:center; padding:4.5rem; border:1px solid var(--taupe); background:var(--paper); box-shadow:0 20px 55px rgba(18,38,58,.06); }
.purchase-card h2 { max-width:790px; }
.purchase-card>div>p:last-child { margin:1.2rem 0 0; color:var(--navy-soft); }
.purchase-action { display:flex; flex-direction:column; align-items:stretch; }
.purchase-action .price-block { align-items:center; margin-bottom:1rem; }
.purchase-action .primary-button { flex:none; width:100%; min-height:58px; padding:.9rem 1.6rem; }
.purchase-note { margin:.95rem 0 0; color:var(--navy-soft); line-height:1.55; text-align:center; }
.purchase-action small { margin-top:1rem; color:#68737d; line-height:1.45; text-align:center; }
.faq-section { padding:2rem 0 8rem; }
.faq-section>h2 { margin-bottom:3rem; }
.faq-list { border-top:1px solid var(--taupe); }
details { border-bottom:1px solid var(--taupe); }
summary { padding:1.5rem 0; cursor:pointer; font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; }
details p { max-width:760px; padding:0 0 1.5rem; color:var(--navy-soft); line-height:1.65; }
footer { display:flex; justify-content:space-between; align-items:flex-end; padding:2.5rem 0 3rem; border-top:1px solid var(--taupe); }
footer strong { font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; letter-spacing:.05em; }
footer p { margin:.45rem 0 0; color:var(--navy-soft); font-size:.88rem; }
.footer-links { display:flex; gap:2rem; color:var(--navy-soft); font-size:.88rem; }
@keyframes copy-in { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
@keyframes book-in { from{opacity:0;transform:translateY(18px) rotate(2deg)} to{opacity:1;transform:translateY(0) rotate(0)} }
@media(max-width:1250px){ .purchase-row{align-items:flex-start;flex-direction:column;gap:1rem}.purchase-row .primary-button{flex-basis:auto;width:min(100%,340px)}.hero-art picture{width:min(100%,450px)} }
@media(max-width:1050px){ .section-shell,.site-header,.hero,.proof-strip,footer{width:min(100% - 3rem,900px)} .hero{grid-template-columns:1fr .8fr;gap:1.5rem} h1{font-size:clamp(3.8rem,7vw,5.5rem)} .hero-art picture{width:min(100%,410px)} .intro-grid,.section-heading-row,.contents-card,.author-grid{gap:3rem}.contents-card{padding:3.5rem}.purchase-card{grid-template-columns:1fr;padding:3.5rem}.purchase-action{max-width:430px} }
@media(max-width:760px){ .section-shell,.site-header,.hero,.proof-strip,footer{width:min(100% - 2rem,650px)}.site-header{min-height:76px}.site-header nav{display:none}.brand{font-size:1.55rem}.hero{grid-template-columns:1fr;gap:0;padding-top:3.5rem}h1{font-size:clamp(3.45rem,16vw,5.2rem)}.hero-intro{font-size:1.08rem}.availability-strip{grid-template-columns:1fr}.purchase-row{gap:.85rem}.primary-button,.purchase-row .primary-button{width:100%;min-width:0}.hero-art{min-height:500px;margin-top:1.5rem}.hero-art picture{width:min(100%,390px)}.proof-strip,.lesson-grid,.audience-grid{grid-template-columns:1fr}.proof-strip p,.proof-strip p:last-child{border-right:0;border-bottom:1px solid var(--taupe)}.proof-strip p:last-child{border-bottom:0}.intro-section,.lessons-section,.contents-section,.companion-section,.author-section,.purchase-section{padding:5.5rem 0}.intro-grid,.section-heading-row,.contents-card,.companion-card,.author-grid{grid-template-columns:1fr;gap:2.5rem}.intro-grid h2,.section-heading-row h2,.contents-card h2,.companion-card h2,.audience-section>h2,.purchase-card h2,.faq-section>h2{font-size:clamp(2.5rem,12vw,3.65rem)}blockquote{margin-top:3rem}.section-heading-row{margin-bottom:3rem}.lesson-grid{border-left:0}.lesson-grid article{min-height:auto}.lesson-grid h3{margin-top:2rem}.contents-card,.companion-card{padding:2rem}.audience-section{padding-bottom:5.5rem}.author-mark{max-width:240px;font-size:5rem}.purchase-card{padding:2rem}footer{display:block}.footer-links{flex-direction:column;gap:.7rem;margin-top:2rem} }
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important} }
