:root { --ink:#052d38; --panel:#0a3743; --line:rgba(255,255,255,.22); --text:#f8faf6; --muted:#cbd6d3; --gold:#f4ae20; --dark:#062631; }
* { box-sizing:border-box; }
html { background:var(--ink); }
body { margin:0; background:var(--ink); color:var(--text); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.55; }
.shell { width:min(calc(100% - 48px), 1040px); margin:0 auto; padding:48px 0 42px; }
.site-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; border-bottom:1px solid var(--line); padding-bottom:22px; }
.brand { display:grid; min-width:0; gap:1px; letter-spacing:.08em; }
.brand strong { font-size:1.6rem; letter-spacing:.16em; line-height:1; }.brand span,.site-header p { color:var(--muted); font-size:.69rem; font-weight:700; letter-spacing:.05em; margin:0; }.site-header p { text-align:right; }
.hero { max-width:770px; padding:36px 38px 34px; border-bottom:1px solid var(--line); }.eyebrow { color:var(--text); font-size:.76rem; letter-spacing:.08em; font-weight:700; margin:0 0 14px; }.eyebrow::before { content:'•'; color:var(--gold); font-size:1.25em; margin-right:8px; }
h1,h2,h3 { margin:0; font-family:Georgia, 'Times New Roman', serif; font-weight:400; }.hero h1 { max-width:100%; overflow-wrap:anywhere; font-size:clamp(2.65rem,6.2vw,5.3rem); line-height:.98; letter-spacing:-.045em; }.lede { max-width:660px; margin:26px 0 20px; color:#e5ece9; font-size:1.05rem; }.button { display:inline-flex; max-width:100%; gap:24px; align-items:center; justify-content:space-between; text-decoration:none; padding:14px 20px; border-radius:4px; font-weight:800; font-size:.78rem; letter-spacing:.01em; transition:transform .15s ease, background .15s ease; }.button:hover,.button:focus-visible { transform:translateY(-2px); }.primary { background:var(--gold); color:var(--dark); }.secondary { color:var(--text); border:1px solid rgba(255,255,255,.65); margin-top:5px; }.secondary:hover,.secondary:focus-visible { background:rgba(255,255,255,.08); }.microcopy { color:var(--muted); font-size:.76rem; font-weight:600; margin:10px 0 0; }
.inside { padding:26px 38px 30px; border-bottom:1px solid var(--line); }.inside h2 { font-family:Arial, Helvetica, sans-serif; font-size:.81rem; font-weight:800; letter-spacing:.05em; }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:20px; }.feature-grid span { color:var(--gold); font-size:.74rem; font-weight:800; }.feature-grid h3 { font-family:Arial, Helvetica, sans-serif; font-size:1.04rem; font-weight:800; margin:9px 0 7px; }.feature-grid p { color:var(--muted); font-size:.88rem; margin:0; }
.team { padding:30px 38px 0; }.team img { display:block; width:100%; max-width:100%; height:auto; max-height:350px; border:1px solid var(--line); object-fit:cover; object-position:center; }
.guide { display:grid; grid-template-columns:1fr 220px; align-items:center; gap:40px; margin-top:30px; padding:30px 38px; background:var(--panel); border:1px solid var(--line); }.guide h2 { font-size:clamp(2rem,4vw,3.35rem); line-height:1; }.guide-label { font-size:.78rem; font-weight:800; letter-spacing:.06em; margin:7px 0 15px; }.guide-copy > p:not(.eyebrow):not(.guide-label):not(.microcopy):not(.support-line) { max-width:620px; color:#e2e9e7; }.support-line { color:var(--muted); font-size:.82rem; margin:13px 0 0; }.support-line a { color:var(--text); font-weight:800; }
.book-cover { align-self:center; aspect-ratio:2/3; min-height:270px; max-height:330px; padding:22px 18px; border:1px solid #cdbb74; color:var(--text); background:#082b35; display:flex; flex-direction:column; }.book-cover span { letter-spacing:.15em; font-weight:800; font-size:.72rem; }.book-cover strong { font:400 clamp(1.6rem,2.5vw,2.5rem)/.96 Georgia,serif; margin:auto 0 18px; }.book-cover i { border-top:1px solid #cdbb74; }.book-cover em { color:var(--gold); font:700 2rem Georgia,serif; letter-spacing:.08em; margin-top:14px; }
footer { padding:20px 38px 0; color:var(--muted); font-size:.76rem; }.footer-line { display:flex; justify-content:space-between; gap:20px; align-items:start; }.footer-line strong { color:var(--text); font-size:.75rem; letter-spacing:.04em; }.footer-line summary { color:var(--text); cursor:pointer; font-weight:800; }.footer-line details p { max-width:270px; margin:.5rem 0 0; } footer > p { margin:14px 0 0; }
@media (max-width:700px) { .shell { width:min(calc(100% - 30px), 600px); padding-top:26px; }.site-header { gap:16px; }.site-header p { flex:0 1 9rem; min-width:0; overflow-wrap:anywhere; }.hero,.inside,.team,footer { padding-left:0; padding-right:0; }.hero { padding-top:30px; }.hero h1 { font-size:clamp(2.35rem,12vw,4.2rem); }.lede { font-size:1rem; }.button { width:100%; gap:12px; line-height:1.3; white-space:normal; }.feature-grid { grid-template-columns:1fr; gap:24px; }.team { padding-top:24px; }.team img { max-height:220px; }.guide { grid-template-columns:1fr; gap:26px; margin:24px 0 0; padding:24px; }.book-cover { width:min(160px, 100%); min-height:240px; justify-self:center; }.footer-line { flex-direction:column; gap:12px; }.footer-line > * { max-width:100%; overflow-wrap:anywhere; } }
