:root{--ink:#09242a;--paper:#f4f0e6;--gold:#d9b975;--muted:#536569;--line:#d5d7ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 system-ui,-apple-system,Arial,sans-serif}a{color:inherit}header,footer{display:flex;align-items:center;justify-content:space-between;padding:22px max(6vw,22px);gap:24px}header{border-bottom:1px solid var(--line)}header>a:last-child{font-size:13px;text-decoration:none}.brand{font-size:22px;font-weight:900;text-decoration:none;letter-spacing:.07em;line-height:1.2}.brand b{color:#4e7438}.brand span{display:block;font-size:8px;letter-spacing:.25em;margin-top:7px}main{overflow:hidden}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1280px;margin:auto;padding:70px 6vw 80px;gap:8vw;align-items:center}.art{position:relative;padding:26px 26px 0;background:radial-gradient(ellipse,#426168 0,#153940 48%,#09242a 75%);border-radius:10px;text-align:center}.art img{display:block;width:100%;height:auto;box-shadow:10px 20px 35px #0007;transform:none;margin-bottom:35px}.caption{display:block;color:#ddd7c4;font:italic 16px Georgia,serif;padding-bottom:24px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:#647646}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(34px,4.2vw,60px);margin:18px 0 28px;letter-spacing:-.035em}h2{font-size:clamp(31px,3.8vw,44px);margin:14px 0 28px}h3{font-size:26px}.book-title{font:24px Georgia,serif;margin:0}.author{font-size:12px;letter-spacing:.16em;margin:9px 0 27px}.hook{font:italic 23px/1.5 Georgia,serif}.intro>p:not(.hook):not(.book-title):not(.author):not(.eyebrow){color:var(--muted)}.button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:#fff;padding:17px 22px;border:0;border-radius:4px;text-decoration:none;font:700 15px system-ui;cursor:pointer;margin:25px 0;min-height:56px}.button:hover{background:#23515a}.button:disabled{opacity:.5;cursor:wait}.shipping{font-size:13px;border-left:2px solid var(--gold);padding-left:16px}.shipping small{color:var(--muted)}.story,.checkout,.policies{max-width:1180px;margin:auto;padding:65px 6vw}.story{border-top:1px solid var(--line)}.columns{display:grid;grid-template-columns:1.5fr 1fr;gap:60px}.columns p{margin-top:0}.columns aside{border-left:1px solid var(--line);padding-left:30px}.columns aside h3{margin-top:0}.columns aside p{font-size:15px;color:var(--muted)}.checkout{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;background:#e9e9de;max-width:none;padding-left:max(6vw,calc((100vw - 1040px)/2));padding-right:max(6vw,calc((100vw - 1040px)/2))}.notice{font-size:13px;background:#fff9e9;padding:14px;border-left:3px solid var(--gold)}.summary{align-self:start;background:#fffdf7;padding:25px;border:1px solid var(--line);border-radius:8px}.summary h3{margin-top:0}.summary p{font-size:15px}.sumrow{display:flex;justify-content:space-between;gap:14px;font-size:14px;margin:9px 0}.total{border-top:1px solid var(--line);padding-top:14px;font-weight:800}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:block;font-size:13px;font-weight:600}.wide{grid-column:1/-1}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #9daeb0;background:#fffdf7;border-radius:4px;font:16px system-ui;color:var(--ink);margin-top:6px}input:focus,textarea:focus,select:focus{outline:2px solid #377b8a;outline-offset:2px}.consent{display:flex;gap:10px;margin:25px 0;font-weight:400}.consent input{width:20px;flex-shrink:0}.fine{font-size:12px;color:var(--muted)}details{border-top:1px solid var(--line);padding:18px 0}summary{font-weight:700;cursor:pointer}details p{font-size:14px;color:var(--muted)}footer{background:var(--ink);color:var(--paper);font-size:12px}footer .brand b{color:#a3cf75}#order-status{overflow-wrap:anywhere}#order-status a.button{justify-content:center}hr{border:0;border-top:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:700px){header{padding:18px}header>a:last-child{max-width:135px;text-align:right}.hero{padding:35px 24px 50px;grid-template-columns:1fr;gap:40px}.art{width:100%;max-width:320px;margin:auto;padding:20px 20px 0}.intro h1 br{display:none}.columns,.checkout{grid-template-columns:1fr;gap:20px}.columns aside{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.story,.checkout,.policies{padding:40px 24px}.summary{order:-1}.fields{gap:13px}footer{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Final editorial and accessibility polish. */
body{background:radial-gradient(ellipse at 100% 0%,#e6e7da 0,transparent 36%),var(--paper);-webkit-font-smoothing:antialiased}
header{background:#f4f0e6ed}
.hero{gap:7vw}
.art{border:1px solid #294b50;box-shadow:0 28px 70px #09242a20}
.art img{border-radius:2px}
.intro{max-width:540px}
.book-title{font-size:30px;line-height:1.2}
.intro>p:not(.hook){max-width:48ch}
.button{box-shadow:0 5px 15px #09242a12;transition:background .18s,box-shadow .18s}
.button:hover{box-shadow:0 7px 20px #09242a25}
.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a47d34;outline-offset:5px}
.button:disabled{cursor:default}
.notice{font-size:14px;line-height:1.65;border-radius:0 6px 6px 0}
.summary{box-shadow:0 16px 40px #09242a09;border-top:3px solid var(--gold);padding:28px}
.summary .eyebrow{margin-top:0}
.summary h3{line-height:1.25}
.consent{align-items:flex-start;line-height:1.65;cursor:pointer}
.consent input{width:20px;height:20px;min-width:20px;flex:0 0 20px;margin:2px 0 0;padding:0;accent-color:var(--ink)}
input{min-height:48px}
input[type=checkbox]{min-height:20px}
#reservation-form>.button{width:100%}
#form-message:not(:empty){border:1px solid #bac9b7;border-radius:7px;background:#f4f8ed;padding:16px;font-size:15px;line-height:1.65}
.policies>p:last-child{font-size:14px}
@media(max-width:700px){.hero{gap:38px}.intro{max-width:none}.book-title{font-size:28px}.summary{order:0}.checkout{gap:30px}.art{max-width:310px}.consent{font-size:13px}.fields{grid-template-columns:1fr}.fields label{grid-column:1}.fine{font-size:13px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
