:root {
  --ink: #25241e;
  --ink-soft: #5e594e;
  --olive: #20261b;
  --olive-2: #2e3425;
  --olive-3: #404832;
  --moss: #667057;
  --cream: #f3ecdf;
  --paper: #eee5d4;
  --paper-light: #f8f3e9;
  --gold: #b58b4f;
  --gold-light: #d5b477;
  --bronze: #805a32;
  --line: rgba(99, 78, 47, .28);
  --line-light: rgba(255, 241, 214, .22);
  --white: #fffaf0;
  --shadow: 0 24px 60px rgba(29, 27, 20, .18);
  --serif: "Cormorant Garamond", "Palatino Linotype", Palatino, Georgia, serif;
  --sans: "Libre Franklin", "Segoe UI", Arial, sans-serif;
  --shell: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button { cursor: pointer; }
.shell { width: min(var(--shell), calc(100% - 48px)); margin-inline: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 2000; transform: translateY(-160%);
  padding: 10px 14px; background: var(--white); color: var(--olive); border-radius: 4px;
}
.skip-link:focus { transform: none; }

/* Header */
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  color: #ddc89e;
  background: rgba(29, 35, 24, .94);
  border-bottom: 1px solid rgba(202, 167, 105, .28);
  backdrop-filter: blur(10px);
}
.header-inner { min-height: 78px; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; flex: 0 0 auto; }
.brand-seal { width: 50px; height: 50px; color: var(--gold-light); display: grid; place-items: center; }
.brand-seal svg { width: 100%; height: 100%; }
.brand-seal.small { width: 39px; height: 39px; }
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font: 600 1.7rem/1 var(--serif); text-transform: uppercase; letter-spacing: .13em; }
.brand-copy small { margin-top: 5px; font: 600 .69rem/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; }
.primary-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.primary-nav a {
  position: relative; padding: 30px 0 25px; color: #d9c9aa; text-decoration: none;
  font: 600 .76rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase;
}
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 18px; height: 1px; background: var(--gold); transition: right .22s ease; }
.primary-nav a:hover::after, .primary-nav a.active::after { right: 0; }
.primary-nav a:hover, .primary-nav a.active { color: #f0dbb4; }
.header-cta {
  border: 1px solid rgba(211, 178, 116, .58); background: rgba(128, 90, 50, .28); color: #f3dfb8;
  padding: 11px 15px; border-radius: 2px; font: 600 .7rem var(--sans); text-transform: uppercase; letter-spacing: .1em;
}
.header-cta:hover { background: rgba(181, 139, 79, .36); }
.nav-toggle { display: none; margin-left: auto; width: 42px; height: 42px; border: 1px solid var(--line-light); background: transparent; }
.nav-toggle span { display: block; width: 20px; height: 1px; background: var(--gold-light); margin: 5px auto; }

/* Hero */
.hero {
  position: relative; min-height: 690px; overflow: hidden; color: var(--white); background: var(--olive);
  border-bottom: 1px solid rgba(187, 148, 80, .35);
}
.hero-image { position: absolute; inset: 78px 0 0 35%; overflow: hidden; }
.hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% center; filter: saturate(.87) contrast(1.02) brightness(.92); }
.hero-shade {
  position: absolute; inset: 78px 0 0;
  background:
    linear-gradient(90deg, rgba(24, 31, 23, .99) 0%, rgba(24, 31, 23, .97) 28%, rgba(24, 31, 23, .82) 47%, rgba(24, 31, 23, .25) 72%, rgba(24, 31, 23, .05) 100%),
    linear-gradient(0deg, rgba(24, 31, 23, .28), transparent 38%);
}
.hero-content { position: relative; z-index: 2; padding-top: 145px; padding-bottom: 70px; }
.kicker, .section-kicker {
  margin: 0 0 12px; color: var(--gold-light); font: 600 .76rem/1.3 var(--sans); text-transform: uppercase; letter-spacing: .19em;
}
.hero h1 { margin: 0; max-width: 720px; color: #f3e8d3; font: 600 clamp(4.5rem, 7vw, 7.3rem)/.78 var(--serif); text-transform: uppercase; letter-spacing: .015em; text-shadow: 0 3px 24px rgba(0,0,0,.2); }
.hero h1 span { display: inline-block; margin-top: 19px; }
.ornament { width: 410px; max-width: 66vw; display: grid; grid-template-columns: 1fr 47px 1fr; gap: 10px; align-items: center; margin: 30px 0 15px; color: var(--gold); }
.ornament span { height: 1px; background: currentColor; opacity: .72; }
.ornament svg { width: 47px; height: 18px; }
.hero-tagline { margin: 0; color: #e1d2b8; font: italic 500 clamp(1.55rem, 2.4vw, 2.2rem)/1.2 var(--serif); }
.hero-intro { max-width: 620px; margin: 16px 0 26px; color: rgba(247, 239, 223, .78); font-size: .96rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn {
  min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 12px 18px; border: 1px solid transparent; border-radius: 2px; text-decoration: none;
  font: 600 .74rem/1 var(--sans); letter-spacing: .065em; text-transform: uppercase; transition: .2s ease;
}
.btn svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff5e3; background: linear-gradient(180deg, #9b6738, #774822); border-color: #c69657; box-shadow: 0 10px 25px rgba(0,0,0,.18); }
.btn-primary:hover { background: linear-gradient(180deg, #ad7743, #805028); }
.btn-outline-light { color: #ebd8b5; background: rgba(16,20,16,.22); border-color: rgba(224, 194, 140, .56); }
.btn-outline-light:hover { background: rgba(211, 175, 107, .12); border-color: var(--gold-light); }
.btn-ink { width: 100%; color: #fff3dc; background: var(--olive); border-color: var(--olive); margin-top: 24px; }
.btn-quiet { color: var(--olive); background: transparent; border-color: rgba(53, 61, 45, .32); }
.hero-disclosure { max-width: 650px; margin: 17px 0 0; color: rgba(244, 231, 207, .58); font-size: .72rem; }
.gear-ribbon { height: 132px; overflow: hidden; background: #241d14; border-bottom: 1px solid rgba(98,75,40,.4); }
.gear-ribbon img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: sepia(.12) saturate(.86) contrast(1.04); }

/* Parchment and shared headings */
.parchment {
  position: relative;
  background:
    linear-gradient(rgba(246,240,228,.93), rgba(246,240,228,.93)),
    url("assets/parchment-texture.jpg") center/cover;
}
.parchment::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18; background-image: radial-gradient(rgba(56,44,28,.18) .45px, transparent .6px); background-size: 4px 4px; }
.parchment > * { position: relative; }
.section-heading { margin-bottom: 34px; }
.section-heading.centered { max-width: 720px; margin-inline: auto; text-align: center; }
.section-heading.compact { max-width: 720px; }
.section-heading h2 { margin: 0; color: var(--ink); font: 600 clamp(2.65rem, 4.5vw, 4.4rem)/.95 var(--serif); letter-spacing: -.02em; }
.section-heading p:not(.section-kicker) { max-width: 690px; color: var(--ink-soft); margin: 15px 0 0; font-size: .94rem; }
.section-heading.centered p:not(.section-kicker) { margin-inline: auto; }
.section-heading.light h2, .section-heading.light p { color: #f1e6d1; }
.section-heading.light .section-kicker { color: var(--gold-light); }

/* Outfit cards */
.outfit-section { padding: 82px 0 66px; }
.outfit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 23px; }
.outfit-card {
  min-height: 300px; display: grid; grid-template-columns: .49fr .51fr; overflow: hidden;
  background: rgba(250,247,239,.68); border: 1px solid rgba(144,112,68,.34); box-shadow: 0 10px 25px rgba(74,57,36,.06);
}
.outfit-art { min-height: 100%; overflow: hidden; padding: 11px 0 11px 11px; }
.outfit-art img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) sepia(.08); transition: transform .5s ease; }
.outfit-card:hover .outfit-art img { transform: scale(1.035); }
.outfit-copy { padding: 27px 21px 23px; display: flex; flex-direction: column; align-items: flex-start; }
.card-number { margin: 0 0 11px; color: #a4865a; font: 600 .65rem var(--sans); letter-spacing: .15em; }
.outfit-copy h3 { margin: 0; font: 600 1.9rem/.94 var(--serif); text-transform: uppercase; letter-spacing: .035em; }
.tiny-fish { color: #ad8852; margin: 10px 0; font-size: .65rem; letter-spacing: .25em; }
.outfit-copy > p:not(.card-number) { margin: 0 0 20px; color: var(--ink-soft); font: 500 .82rem/1.45 var(--serif); }
.text-link {
  margin-top: auto; padding: 0 0 3px; border: 0; border-bottom: 1px solid rgba(133,96,48,.35); background: transparent; color: #76552f;
  font: 700 .64rem/1 var(--sans); text-transform: uppercase; letter-spacing: .1em;
}
.text-link span { margin-left: 5px; }
.text-link:hover { color: #9b6738; border-color: #9b6738; }

/* Guidance */
.guidance-section { padding: 58px 0 82px; }
.guidance-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr); gap: 38px; align-items: stretch; }
.gear-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.gear-card { min-width: 0; background: rgba(255,251,242,.5); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gear-card img { width: 100%; height: 165px; object-fit: cover; filter: saturate(.74) sepia(.08); }
.gear-card > div { padding: 17px 16px 20px; }
.gear-label { margin: 0 0 7px; color: #795932; font: 700 .68rem var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.gear-card h3 { min-height: 67px; margin: 0 0 16px; font: 600 1.15rem/1.12 var(--serif); }
.trust-card { padding: 37px 34px; border-left: 1px solid var(--line); background: rgba(242,234,218,.46); }
.trust-card h2 { margin: 0; font: 600 2.45rem/.95 var(--serif); }
.trust-intro { color: var(--ink-soft); font: italic 500 1.03rem/1.4 var(--serif); }
.trust-list { margin-top: 27px; display: grid; gap: 22px; }
.trust-item { display: grid; grid-template-columns: 48px 1fr; gap: 15px; }
.trust-icon { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid #9a7540; border-radius: 50%; color: #9a7540; }
.trust-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.35; }
.trust-item h3 { margin: 0 0 3px; font: 700 .76rem var(--sans); text-transform: uppercase; letter-spacing: .08em; }
.trust-item p { margin: 0; color: var(--ink-soft); font-size: .78rem; }

/* Journal */
.journal-section { padding: 85px 0 96px; color: var(--white); background: #252b20; position: relative; overflow: hidden; }
.journal-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 90% 10%, rgba(177,141,79,.16), transparent 32%), linear-gradient(115deg, rgba(255,255,255,.025), transparent 45%); }
.journal-section > * { position: relative; }
.split-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.split-heading > p { max-width: 360px; margin: 0 0 4px; color: rgba(241,230,209,.68); }
.journal-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 18px; }
.journal-feature, .journal-card { min-height: 310px; padding: 34px; border: 1px solid rgba(219,190,139,.22); background: rgba(255,255,255,.035); }
.journal-feature { background: linear-gradient(135deg, rgba(128,90,50,.38), rgba(255,255,255,.025)); }
.journal-feature > span, .journal-type { color: var(--gold-light); font: 700 .65rem var(--sans); text-transform: uppercase; letter-spacing: .14em; }
.journal-feature h3 { margin: 65px 0 14px; max-width: 630px; font: 600 clamp(2.1rem, 3.4vw, 3.4rem)/.95 var(--serif); }
.journal-card h3 { margin: 58px 0 12px; font: 600 1.7rem/1 var(--serif); }
.journal-feature p, .journal-card p:not(.journal-type) { color: rgba(243,233,213,.7); font-size: .85rem; }
.light-link { color: #e3bf7e; border-color: rgba(227,191,126,.4); }

/* Newsletter & footer */
.newsletter { padding: 58px 0; }
.newsletter-inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 52px; align-items: center; }
.newsletter-quote { display: flex; gap: 24px; align-items: center; color: #6e5130; }
.newsletter-quote svg { width: 94px; flex: 0 0 auto; }
.newsletter-quote blockquote { margin: 0; font: italic 500 1.35rem/1.3 var(--serif); }
.newsletter-form { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.2fr); gap: 26px; align-items: center; }
.newsletter-form h2 { margin: 0; font: 600 2.1rem/1 var(--serif); }
.email-row { display: flex; }
.email-row input { min-width: 0; flex: 1; height: 50px; border: 1px solid rgba(77,66,49,.38); border-right: 0; background: rgba(255,255,255,.34); padding: 0 14px; color: var(--ink); outline: none; }
.email-row input:focus { box-shadow: inset 0 0 0 1px #9b6738; }
.form-note { grid-column: 2; margin: -18px 0 0; color: var(--ink-soft); font-size: .67rem; }
.site-footer { color: #d9c7a6; background: #20251b; border-top: 1px solid rgba(210,174,110,.22); }
.footer-top { min-height: 155px; display: grid; grid-template-columns: auto 1fr auto; gap: 50px; align-items: center; }
.footer-brand .brand-copy strong { font-size: 1.45rem; }
.footer-top > p { max-width: 580px; color: rgba(225,210,183,.68); font-size: .8rem; }
.footer-links { display: grid; gap: 7px; justify-items: start; }
.footer-links a, .footer-links button { color: #dbc39b; background: none; border: 0; padding: 0; text-decoration: none; font: 600 .7rem var(--sans); text-transform: uppercase; letter-spacing: .08em; }
.footer-bottom { min-height: 52px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.08); color: rgba(225,210,183,.45); font-size: .68rem; }

/* Guide modal */
.guide-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: rgba(13,17,13,.78); backdrop-filter: blur(8px); }
.guide-overlay[hidden] { display: none; }
.guide-modal { width: min(960px, 100%); max-height: calc(100vh - 48px); overflow: auto; background: var(--paper-light); border: 1px solid rgba(217,184,125,.38); box-shadow: 0 35px 90px rgba(0,0,0,.45); }
.guide-header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 14px 22px; color: #e0c99e; background: var(--olive); }
.guide-brand { display: flex; align-items: center; gap: 10px; }
.guide-brand div { display: grid; }
.guide-brand strong { font: 600 1.3rem var(--serif); text-transform: uppercase; letter-spacing: .08em; }
.guide-brand small { color: rgba(224,201,158,.65); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.guide-close { width: 40px; height: 40px; color: #e0c99e; background: transparent; border: 1px solid rgba(224,201,158,.3); font-size: 1.65rem; line-height: 1; }
.guide-progress { padding: 17px 26px 0; }
.guide-progress > div:first-child { display: flex; justify-content: space-between; color: var(--ink-soft); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.progress-track { height: 5px; margin-top: 8px; background: rgba(48,54,42,.12); }
.progress-track span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #805a32, #b58b4f); transition: width .25s ease; }
.guide-body, .guide-result { padding: 32px 36px 38px; }
.question-label { margin: 0 0 8px; color: #9a6d36; font: 700 .69rem var(--sans); text-transform: uppercase; letter-spacing: .14em; }
.guide-body h2, .result-hero h2 { margin: 0; font: 600 clamp(2.4rem, 5vw, 4rem)/.95 var(--serif); }
.question-help, .result-hero > p:not(.question-label) { max-width: 700px; color: var(--ink-soft); margin: 13px 0 25px; }
.guide-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.guide-option { min-height: 105px; padding: 17px 18px; text-align: left; color: var(--ink); background: rgba(255,255,255,.38); border: 1px solid rgba(88,74,54,.24); }
.guide-option strong { display: block; margin-bottom: 5px; font: 600 1.25rem var(--serif); }
.guide-option span { color: var(--ink-soft); font-size: .76rem; }
.guide-option:hover { border-color: #a57942; background: rgba(181,139,79,.07); }
.guide-option.selected { border-color: #8c6334; box-shadow: inset 0 0 0 1px #8c6334; background: rgba(181,139,79,.12); }
.guide-controls, .result-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; }
.guide-controls .btn, .result-actions .btn { min-width: 126px; }
.guide-controls .btn:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.result-hero { display: grid; grid-template-columns: 1fr auto; gap: 12px 35px; align-items: start; }
.result-hero .question-label, .result-hero h2, .result-hero > p { grid-column: 1; }
.result-tier { grid-column: 2; grid-row: 1 / span 3; min-width: 190px; padding: 18px; border: 1px solid var(--line); text-align: center; background: #ece1cd; }
.result-tier span { display: block; color: #8a6335; font: 700 .7rem var(--sans); text-transform: uppercase; letter-spacing: .12em; }
.result-tier strong { display: block; margin: 6px 0; font: 600 1.9rem var(--serif); }
.result-tier small { color: var(--ink-soft); font-size: .65rem; }
.package-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-top: 24px; }
.package-card { padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.3); }
.package-card .package-type { color: #9a6d36; font: 700 .65rem var(--sans); text-transform: uppercase; letter-spacing: .12em; }
.package-card h3 { min-height: 46px; margin: 7px 0 8px; font: 600 1.35rem/1 var(--serif); }
.package-card p { min-height: 45px; color: var(--ink-soft); font-size: .72rem; }
.specs { display: grid; gap: 7px; margin-top: 13px; }
.spec { display: flex; justify-content: space-between; gap: 10px; padding-top: 7px; border-top: 1px solid rgba(88,74,54,.14); font-size: .65rem; }
.spec span:first-child { color: #8f744c; text-transform: uppercase; letter-spacing: .06em; }
.spec span:last-child { text-align: right; }
.tradeoff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.tradeoff-card { padding: 16px; border: 1px solid var(--line); }
.tradeoff-card strong { display: block; color: #8a6335; font: 700 .67rem var(--sans); text-transform: uppercase; letter-spacing: .1em; }
.tradeoff-card span { display: block; margin-top: 6px; color: var(--ink-soft); font-size: .76rem; }
.ask-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ask-chip { padding: 9px 12px; color: var(--olive); background: transparent; border: 1px solid rgba(65,72,54,.28); font-size: .7rem; }
.guide-answer { margin-top: 10px; padding: 15px 17px; color: var(--ink-soft); background: #ece2d0; border-left: 3px solid #9a6d36; font-size: .8rem; }
.result-note { margin: 15px 0 0; color: var(--ink-soft); font-size: .68rem; }
.toast { position: fixed; left: 50%; bottom: 24px; z-index: 2000; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; padding: 11px 16px; color: #f8ecd7; background: #20261b; border: 1px solid rgba(213,180,119,.45); transition: .2s ease; }
.toast.show { transform: translate(-50%, 0); opacity: 1; }

/* Responsive */
@media (max-width: 1120px) {
  .primary-nav { gap: 18px; }
  .primary-nav a { font-size: .68rem; }
  .header-cta { display: none; }
  .guidance-layout { grid-template-columns: 1fr; }
  .trust-card { border-left: 0; border-top: 1px solid var(--line); }
  .journal-grid { grid-template-columns: 1.1fr .9fr; }
  .journal-card:last-child { grid-column: 1 / -1; min-height: 230px; }
  .newsletter-inner { grid-template-columns: 1fr; }
  .newsletter-form { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 920px) {
  .header-inner { min-height: 70px; }
  .brand-copy strong { font-size: 1.35rem; }
  .brand-seal { width: 43px; height: 43px; }
  .nav-toggle { display: block; }
  .primary-nav {
    display: none; position: absolute; top: 70px; left: 0; right: 0; margin: 0; padding: 12px 24px 20px;
    flex-direction: column; align-items: stretch; gap: 0; background: rgba(29,35,24,.98); border-top: 1px solid rgba(202,167,105,.2);
  }
  .primary-nav.open { display: flex; }
  .primary-nav a { padding: 13px 0; }
  .primary-nav a::after { display: none; }
  .hero { min-height: 680px; }
  .hero-image { inset: 70px 0 0 0; }
  .hero-image img { object-position: 63% center; }
  .hero-shade { inset: 70px 0 0; background: linear-gradient(90deg, rgba(24,31,23,.97), rgba(24,31,23,.78) 62%, rgba(24,31,23,.25)), linear-gradient(0deg, rgba(24,31,23,.5), transparent 50%); }
  .hero-content { padding-top: 140px; }
  .hero-intro { max-width: 560px; }
  .outfit-grid { grid-template-columns: 1fr; }
  .outfit-card { grid-template-columns: .42fr .58fr; min-height: 250px; }
  .gear-grid { grid-template-columns: repeat(2, 1fr); }
  .split-heading { display: block; }
  .split-heading > p { margin-top: 18px; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-card:last-child { grid-column: auto; }
  .footer-top { grid-template-columns: 1fr; gap: 22px; padding: 35px 0; }
  .footer-links { grid-template-columns: repeat(4, auto); gap: 18px; }
  .package-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 660px) {
  .shell { width: min(100% - 28px, var(--shell)); }
  .brand-copy strong { font-size: 1.12rem; letter-spacing: .09em; }
  .brand-copy small { font-size: .57rem; }
  .hero { min-height: 760px; }
  .hero-image img { object-position: 64% center; }
  .hero-shade { background: linear-gradient(180deg, rgba(24,31,23,.78) 0, rgba(24,31,23,.92) 55%, rgba(24,31,23,.98) 100%); }
  .hero-content { padding-top: 120px; padding-bottom: 40px; }
  .hero h1 { font-size: clamp(3.6rem, 17vw, 5rem); }
  .ornament { width: 300px; }
  .hero-actions { display: grid; }
  .hero-actions .btn { width: 100%; }
  .gear-ribbon { height: 95px; }
  .outfit-section, .guidance-section, .journal-section { padding-block: 62px; }
  .outfit-card { display: block; }
  .outfit-art { height: 190px; padding: 10px 10px 0; }
  .gear-grid { grid-template-columns: 1fr; }
  .gear-card { display: grid; grid-template-columns: 42% 58%; }
  .gear-card img { height: 100%; min-height: 155px; }
  .gear-card h3 { min-height: 0; }
  .trust-card { padding: 30px 20px; }
  .journal-feature, .journal-card { min-height: 250px; padding: 25px; }
  .journal-feature h3, .journal-card h3 { margin-top: 42px; }
  .newsletter-quote { align-items: flex-start; }
  .newsletter-quote svg { width: 68px; }
  .newsletter-form { grid-template-columns: 1fr; }
  .form-note { grid-column: 1; margin-top: -16px; }
  .email-row { display: grid; gap: 8px; }
  .email-row input { border-right: 1px solid rgba(77,66,49,.38); }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .footer-bottom { display: grid; gap: 4px; padding: 14px 0; }
  .guide-overlay { padding: 0; align-items: stretch; }
  .guide-modal { max-height: 100vh; width: 100%; }
  .guide-body, .guide-result { padding: 25px 18px 30px; }
  .guide-options { grid-template-columns: 1fr; }
  .result-hero { display: block; }
  .result-tier { margin-top: 18px; }
  .package-grid, .tradeoff-grid { grid-template-columns: 1fr; }
}
