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

:root { color-scheme: dark; --bg:#0c0b17; --panel:#121020; --gold:#e4bd68; --text:#f8f5ec; --muted:#b7b1c5; --line:#3b3348; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:radial-gradient(ellipse at 88% 28%,#231039 0,transparent 49%),var(--bg); color:var(--text); font-family:'DM Sans',Arial,sans-serif; font-size:1rem; line-height:1.6; }
a { color:inherit; }
a:focus-visible { outline:3px solid var(--gold); outline-offset:7px; }
.skip-link { position:absolute; top:-100px; left:24px; z-index:3; background:var(--gold); color:var(--bg); padding:10px 18px; }
.skip-link:focus { top:12px; }
.site-shell { max-width:1400px; margin:0 auto; padding:0 clamp(22px,5vw,76px); }
.masthead { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:116px; padding:24px 0; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:15px; text-decoration:none; }
.brand-monogram { display:block; font-family:Georgia,serif; color:var(--gold); font-size:2.6rem; font-weight:700; letter-spacing:-.12em; padding-right:6px; line-height:1; }
.brand-monogram span { font-size:1.85rem; }
.brand-name { text-transform:uppercase; font-weight:700; font-size:1.12rem; letter-spacing:.13em; line-height:1.45; }
.brand-name>span { display:block; color:var(--muted); font-size:.75rem; font-weight:500; letter-spacing:.13em; }
.domain { color:var(--muted); font-size:.875rem; letter-spacing:.035em; }
.hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:clamp(32px,5vw,76px); padding:clamp(48px,6vw,90px) 0 58px; }
.hero-copy { padding-bottom:12px; }
.status { display:flex; align-items:center; gap:13px; margin:0 0 27px; color:var(--gold); font-size:.875rem; font-weight:600; text-transform:uppercase; letter-spacing:.16em; }
.status span { letter-spacing:-.09em; font-size:1.35rem; }
h1 { font-family:'Oswald','Arial Narrow',Arial,sans-serif; text-transform:uppercase; font-size:clamp(2.75rem,5.2vw,5rem); font-weight:500; line-height:1.18; letter-spacing:-.035em; margin:0 0 27px; }
h1 em { font-style:normal; color:var(--gold); }
.intro { color:var(--muted); font-size:1.125rem; line-height:1.75; max-width:430px; margin:0; }
.signature { color:var(--text); font-size:.9375rem; margin:30px 0 0; border-left:2px solid var(--gold); padding-left:14px; }
.crest { margin:0; min-width:0; }
.crest img { display:block; width:100%; height:auto; border:1px solid #564123; box-shadow:0 18px 60px #0006; }
.crest figcaption { display:flex; justify-content:center; gap:15px; padding:14px 0 0; color:var(--muted); text-transform:uppercase; font-size:.75rem; letter-spacing:.14em; }
.crest figcaption span { color:var(--gold); }
.book { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; margin:0 0 36px; padding:26px 30px; border:1px solid var(--line); border-left:3px solid var(--gold); background:#161124; }
.book-label { margin:0 0 9px; color:var(--gold); font-size:.875rem; }
.book h2 { font-size:1.6rem; letter-spacing:-.02em; margin:0 0 3px; }
.book-volume { margin:0; font-size:1.125rem; }
.book-topics { margin:9px 0 0; color:var(--muted); font-size:.875rem; }
.book-button { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; min-height:48px; font-weight:700; text-decoration:none; background:var(--gold); color:var(--bg); border-radius:3px; }
.book-button:hover { background:#f7d591; }
.album-feature { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; margin:0 0 36px; padding:24px 30px; border:1px solid #594574; border-left:3px solid #a77de0; background:linear-gradient(100deg,#1a132b,#151125); }
.feature-kicker { margin:0 0 8px; color:#c9a9f2; font-size:.8125rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; }
.album-feature h2 { margin-bottom:4px; }
.album-feature p:not(.feature-kicker) { max-width:650px; margin:0; color:var(--muted); }
.album-feature .book-button { gap:12px; }
.album-feature .book-button span { font-size:1.25rem; line-height:1; }
.destinations { display:grid; grid-template-columns:1fr 1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.destination { padding:28px 26px 32px; }
.destination:first-child { padding-left:0; }
.destination:last-child { padding-right:0; }
.destination+.destination { border-left:1px solid var(--line); }
.destination-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:21px; }
.index { font-size:.875rem; color:var(--gold); }
.badge { font-size:.75rem; line-height:1.4; border:1px solid #514655; padding:5px 9px; color:#cdc5d7; border-radius:3px; white-space:nowrap; }
.badge.beta { background:#291d43; border-color:#766389; color:#ecddff; }
h2 { margin:0 0 8px; font-size:1.5rem; font-weight:600; line-height:1.3; letter-spacing:-.035em; }
.destination p { margin:0; color:var(--muted); font-size:1rem; line-height:1.65; }
.review-link { display:inline-flex; align-items:center; gap:18px; color:var(--gold); font-size:.9375rem; font-weight:600; text-decoration:underline; text-underline-offset:5px; margin-top:16px; min-height:44px; }
.review-link:hover { color:#ffe6af; }
.review-link span { font-size:1.3rem; text-decoration:none; }
footer { display:flex; justify-content:space-between; gap:20px; padding:26px 0 30px; font-size:.8125rem; color:var(--muted); }
@media (max-width:1000px) { .hero { grid-template-columns:1.1fr 1fr; gap:30px; } h1 { font-size:clamp(2.8rem,5.8vw,4rem); } .destination { padding-left:20px; padding-right:20px; } }
@media (max-width:720px) { .masthead { min-height:100px; gap:14px; } .brand-name { font-size:1rem; } .brand-name>span { font-size:.75rem; letter-spacing:.075em; } .domain { display:none; } .hero { grid-template-columns:1fr; padding:38px 0 34px; gap:36px; } .hero-copy { padding:0; } h1 { font-size:clamp(2.7rem,10.1vw,4.2rem); letter-spacing:-.025em; } .intro { max-width:100%; } .crest { width:100%; max-width:430px; justify-self:center; } .album-feature { align-items:flex-start; padding:22px; } .album-feature .book-button { width:100%; } .destinations { grid-template-columns:1fr; } .destination,.destination:first-child,.destination:last-child { padding:26px 0; } .destination+.destination { border-left:0; border-top:1px solid var(--line); } .destination-top { justify-content:flex-start; gap:20px; margin-bottom:15px; } footer { flex-direction:column; gap:5px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
