:root {
  --cream: #fff7e7;
  --paper: #fff0cf;
  --gold: #f6d76a;
  --coral: #f47e60;
  --coral-deep: #a83c31;
  --teal: #3f9c91;
  --teal-deep: #14746e;
  --navy: #243b52;
  --ink: #193247;
  --muted: #5e6570;
  --line: rgba(36, 59, 82, .16);
  --serif: "Fraunces", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --mono: "DM Mono", monospace;
  --shadow: 0 17px 38px rgba(24, 49, 68, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.5; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; top: -80px; left: 16px; background: var(--coral); color: #fff; z-index: 100; padding: 10px 15px; border-radius: 0 0 12px 12px; font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 0; }
.site-shell { overflow: clip; }
.site-header { position: absolute; inset: 0 0 auto; z-index: 20; display: flex; align-items: center; justify-content: space-between; width: min(1320px, 100%); padding: 19px 20px; margin: 0 auto; color: var(--cream); }
.brand { display: inline-flex; gap: 9px; align-items: center; position: relative; z-index: 1; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; position: relative; border-radius: 50%; background: var(--gold); box-shadow: inset 0 0 0 1px rgba(25,50,71,.16); }
.brand-mark::before, .brand-mark::after, .brand-mark span, .brand-mark i { content: ""; position: absolute; display: block; background: var(--navy); }
.brand-mark::before { height: 2px; width: 24px; transform: rotate(27deg); }
.brand-mark::after { height: 2px; width: 24px; transform: rotate(-27deg); }
.brand-mark span { width: 5px; height: 5px; border-radius: 50%; }
.brand-mark i { width: 2px; height: 25px; transform: rotate(90deg); opacity: .75; }
.brand-words { display: grid; line-height: .86; letter-spacing: -.03em; }
.brand-words b { font-family: var(--serif); font-size: 18px; font-weight: 700; }
.brand-words small { font-family: var(--mono); text-transform: uppercase; letter-spacing: .12em; font-size: 7px; margin: 5px 0 0 1px; font-weight: 500; }
.main-nav { display: flex; align-items: center; gap: 25px; font-size: 13px; font-weight: 700; }
.main-nav > a:not(.nav-cta) { border-bottom: 1px solid transparent; transition: border-color .2s; }
.main-nav > a:not(.nav-cta):hover { border-color: var(--gold); }
.nav-cta { background: var(--gold); color: var(--navy); padding: 10px 13px; border-radius: 2px; box-shadow: 4px 4px 0 rgba(255,255,255,.24); }
.nav-toggle { display: none; background: none; border: 0; color: var(--cream); width: 39px; height: 39px; padding: 6px; cursor: pointer; }
.nav-toggle span { display: block; height: 2px; background: currentColor; margin: 6px 0; transition: transform .25s; }
.hero { min-height: min(810px, 100vh); background: var(--navy); color: var(--cream); position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.07fr) minmax(390px, .93fr); align-items: center; padding: 140px max(6vw, 30px) 96px; }
.hero::before { content: ""; z-index: -1; position: absolute; inset: 0; opacity: .75; background: radial-gradient(circle at 83% 15%, rgba(246,215,106,.34) 0 3%, transparent 19%), radial-gradient(circle at 4% 78%, rgba(63,156,145,.42), transparent 24%), linear-gradient(115deg, #223c54 0%, #243b52 44%, #164b53 100%); }
.hero::after { content: ""; z-index: -1; position: absolute; inset: 0; pointer-events: none; opacity: .22; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.hero-copy { max-width: 645px; position: relative; z-index: 3; }
.eyebrow { font-family: var(--mono); font-size: 10px; letter-spacing: .17em; text-transform: uppercase; font-weight: 500; margin: 0 0 18px; color: var(--teal-deep); }
.eyebrow-light { color: var(--gold); }
.sparkle { font-size: 15px; vertical-align: -2px; margin-right: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); line-height: .9; letter-spacing: -.056em; }
h1 { font-size: clamp(57px, 7vw, 108px); max-width: 780px; margin: 0; font-weight: 700; }
h1 em, h2 em { color: var(--gold); font-weight: inherit; }
.hero-tagline { font-family: var(--serif); font-weight: 600; font-size: clamp(21px, 2vw, 28px); margin: 22px 0 12px; color: var(--coral); }
.hero-intro { max-width: 545px; color: #ebdfc4; font-size: 17px; line-height: 1.58; margin: 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 31px; }
.button { display: inline-flex; gap: 13px; align-items: center; justify-content: center; width: fit-content; font-size: 13px; font-weight: 700; letter-spacing: -.015em; border: 0; cursor: pointer; padding: 14px 18px; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translate(-2px, -2px); }
.button:focus-visible, .package-select:focus-visible, .round-arrow:focus-visible, .nav-toggle:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.button-coral { background: var(--coral); color: var(--ink); box-shadow: 5px 5px 0 rgba(246,215,106,.86); }
.button-coral:hover { box-shadow: 8px 8px 0 rgba(246,215,106,.95); }
.button-gold { background: var(--gold); color: var(--navy); box-shadow: 5px 5px 0 rgba(244,126,96,.9); }
.button-large { min-height: 54px; padding: 15px 19px; }
.text-link { display: inline-flex; gap: 9px; align-items: center; font-weight: 700; font-size: 14px; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.hero-link { color: var(--gold); }
.hero-note { color: #d2ded4; font-family: var(--mono); font-size: 10px; letter-spacing: .03em; margin: 32px 0 0; }
.hero-note span { color: var(--coral); font-size: 14px; margin-right: 6px; }
.hero-art { position: relative; width: min(480px, 38vw); min-width: 360px; aspect-ratio: .91; margin: 0 auto; z-index: 2; }
.sun-disc { background: var(--gold); width: 59%; aspect-ratio: 1; border-radius: 50%; position: absolute; top: 6%; left: 25%; box-shadow: 0 0 0 12px rgba(246,215,106,.13); }
.art-frame { overflow: hidden; background: var(--gold); box-shadow: 12px 14px 0 rgba(9,28,45,.25); position: absolute; }
.art-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.hero-art:hover .art-frame img { transform: scale(1.04); }
.art-main { height: 73%; width: 67%; left: 10%; bottom: 5%; transform: rotate(-7deg); border: 9px solid var(--cream); }
.art-album { width: 42%; aspect-ratio: 1; right: -1%; bottom: 2%; transform: rotate(11deg); border: 8px solid var(--coral); }
.vinyl { width: 28%; aspect-ratio: 1; background: repeating-radial-gradient(circle, #152838 0 3px, #253d4d 4px 6px); border: 4px solid #101f2c; border-radius: 50%; position: absolute; top: 2%; right: 4%; box-shadow: 6px 7px 0 rgba(17,26,37,.33); display: grid; place-items: center; }
.vinyl span { display: block; width: 30%; aspect-ratio: 1; background: var(--coral); border-radius: 50%; border: 3px solid var(--gold); }
.sticker { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--navy); background: var(--cream); padding: 11px; line-height: 1.25; position: absolute; z-index: 3; top: 8%; left: -2%; transform: rotate(-8deg); box-shadow: 4px 4px 0 var(--coral); }
.sticker strong { font-size: 11px; }
.scribble { font-family: var(--serif); color: var(--coral); font-size: 45px; position: absolute; z-index: 4; font-weight: 800; transform: rotate(-15deg); text-shadow: 2px 2px 0 var(--cream); }
.scribble-one { bottom: 27%; left: -3%; }.scribble-two { top: 28%; right: -2%; color: var(--gold); font-size: 32px; }
.art-caption { font-family: var(--mono); text-transform: uppercase; font-size: 9px; letter-spacing: .08em; position: absolute; bottom: -32px; right: 3%; margin: 0; color: var(--cream); transform: rotate(-2deg); }.art-caption span { color: var(--gold); margin-right: 4px; }
.hero-ribbon { position: absolute; width: 105%; left: -2%; bottom: 29px; color: var(--navy); background: var(--coral); z-index: 4; padding: 8px 0; white-space: nowrap; overflow: hidden; transform: rotate(-2.3deg); font-family: var(--mono); font-size: 10px; letter-spacing: .14em; text-align: center; }
.quick-hit { position: relative; display: grid; grid-template-columns: 1.15fr .85fr auto; align-items: center; gap: 42px; padding: clamp(58px, 8vw, 100px) max(6vw, 30px); background: var(--gold); }.quick-hit::before { content: ""; position:absolute; inset: 0; opacity: .17; background: repeating-linear-gradient(135deg, transparent 0 12px, var(--coral) 12px 13px); pointer-events: none; }
.quick-hit > * { position: relative; }.quick-hit h2 { font-size: clamp(34px,4vw,62px); margin:0; max-width: 640px; }.quick-hit h2 em { color: var(--coral); }.quick-hit-answer { font-size: 17px; max-width: 430px; }.quick-hit-answer p:last-child { margin-bottom: 0; font-family: var(--serif); font-size: 22px; font-weight: 700; }
.round-arrow { width: 64px; aspect-ratio: 1; display: grid; place-items: center; background: var(--navy); color: var(--gold); border-radius: 50%; font-size: 28px; transition: transform .2s; }.round-arrow:hover { transform: rotate(15deg) scale(1.06); }
.section-pad { padding: clamp(74px, 9vw, 130px) max(6vw, 30px); }.section-heading { display:flex; justify-content: space-between; align-items: flex-end; gap: 50px; }.section-heading h2, .how-heading h2, .faq-title h2 { font-size: clamp(46px, 5.2vw, 76px); margin-bottom: 0; }.section-heading > p { max-width: 412px; font-size: 16px; color: var(--muted); margin: 0 0 5px; }.listen-section { background: var(--cream); }.sample-grid { margin-top: 52px; display:grid; grid-template-columns: 1fr 1fr .83fr; gap: 22px; }.sample-card { position: relative; overflow: hidden; min-height: 400px; display: flex; flex-direction:column; padding: 20px; color:var(--navy); box-shadow: var(--shadow); }.sample-card-orange { background: var(--coral); }.sample-card-teal { background: var(--teal-deep); color:var(--cream); }.sample-visual { height: 208px; overflow:hidden; position:relative; }.sample-visual img { height:100%; width:100%; object-fit:cover; mix-blend-mode:multiply; }.sample-card-teal .sample-visual img { mix-blend-mode:normal; }.sample-visual span { position:absolute; bottom: 0; right:0; padding:4px 7px; background:var(--cream); color:var(--navy); font-family:var(--mono); font-size:10px; }.sample-meta { padding: 19px 3px 10px; }.sample-label, .package-kicker { font-family:var(--mono); text-transform:uppercase; letter-spacing:.1em; font-size:9px; margin-bottom:10px; }.sample-meta h3 { font-size: 28px; margin: 0 0 7px; }.sample-meta p:last-child { font-size:13px; margin:0; opacity:.85; }.play-placeholder { margin-top:auto; background:transparent; color:inherit; border:1px solid currentColor; padding:10px 12px; text-align:left; font-size:12px; cursor:not-allowed; opacity:.84; }.play-placeholder span { font-size:17px; margin-right:5px; }.sample-note { background:var(--navy); color:var(--cream); padding: 30px; min-height:400px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }.sample-note::before { content:""; position:absolute; width:250px; height:250px; border:1px solid rgba(246,215,106,.45); border-radius:50%; right:-130px; bottom:-100px; box-shadow: 0 0 0 22px rgba(246,215,106,.1), 0 0 0 44px rgba(246,215,106,.08); }.sample-note h3 { font-size:clamp(35px,3.7vw,55px); color:var(--gold); margin:0 0 18px; }.sample-note > p:not(.eyebrow) { margin:0; font-size:16px; position:relative; }.little-sun { position:absolute; top:25px; right:28px; color:var(--coral); font-size:32px; }
.how-section { background: #f7ead1; position:relative; }.how-section::before { content:""; position:absolute; width:25vw; height:25vw; border-radius:50%; background:var(--coral); opacity:.12; left:-12vw; bottom:3vw; }.how-heading { display:block; }.steps-wrap { display:grid; grid-template-columns:repeat(3, 1fr); gap:0; margin:66px 0 43px; max-width:1200px; }.step { padding: 0 13% 6px 0; min-height:267px; position:relative; }.step:not(:last-child)::after { content:""; position:absolute; height:1px; right:0; left: 73%; top: 21px; background:var(--coral); transform:rotate(-9deg); }.step:nth-child(2)::after { transform:rotate(9deg); }.step + .step { padding-left:13%; padding-right: 7%; }.step-number { color:var(--coral); font-family:var(--mono); font-size:11px; letter-spacing:.1em; }.step-icon { width:56px; height:56px; display:grid; place-items:center; color:var(--cream); background:var(--teal); border-radius:50%; font-family:var(--serif); font-size:25px; margin:25px 0 25px; box-shadow:4px 5px 0 var(--gold); }.step-two .step-icon { background:var(--coral); }.step-three .step-icon { background:var(--navy); }.step h3 { font-size:33px; margin:0 0 13px; }.step p:last-child { color:var(--muted); font-size:15px; }.how-footnote { display:flex; gap:13px; align-items:center; border-top:1px solid var(--line); padding-top:18px; font-family:var(--serif); font-size:20px; font-weight:700; }.how-footnote span { color:var(--coral); font-size:28px; }
.packages-section { background:var(--navy); color:var(--cream); position:relative; }.packages-section::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 93% 0, rgba(244,126,96,.38), transparent 19%), radial-gradient(circle at 4% 93%, rgba(63,156,145,.35), transparent 21%); pointer-events:none; }.package-title-row { position:relative; display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:end; }.package-title-row h2 { font-size:clamp(48px,5.4vw,79px); margin:0; }.package-title-row h2 em { color:var(--coral); }.package-title-row > p { color:#d2ded4; font-size:15px; max-width:420px; margin:0 0 9px; }.package-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); margin-top:57px; gap:15px; }.package-card { min-height: 455px; padding: 26px 21px 22px; display:flex; flex-direction:column; position:relative; transition:transform .25s ease, box-shadow .25s ease; }.package-card:hover { transform: translateY(-7px) rotate(-.4deg); box-shadow: 0 13px 0 rgba(0,0,0,.13); }.package-small { background:var(--gold); color:var(--navy); }.package-story { background:var(--cream); color:var(--navy); }.package-legacy { background:var(--coral-deep); color:var(--cream); }.package-collection { background:var(--teal-deep); color:var(--cream); }.package-card h3 { font-size:clamp(32px,3vw,47px); margin:0; }.package-price { font-family:var(--serif); font-weight:800; font-size:58px; line-height:1; letter-spacing:-.08em; margin:24px 0 9px; }.package-price span { font-size:23px; vertical-align:23px; margin-right:3px; }.package-summary { font-size:14px; min-height:64px; margin-bottom:17px; }.package-card ul { border-top:1px solid rgba(25,50,71,.25); margin:0 0 21px; padding:16px 0 0; list-style:none; font-size:12px; line-height:1.45; }.package-card li { margin-bottom:8px; padding-left:15px; position:relative; }.package-card li::before { content:"✦"; position:absolute; left:0; font-size:8px; top:2px; }.package-legacy ul, .package-collection ul { border-color:rgba(255,255,255,.35); }.package-select { margin-top:auto; color:inherit; font-family:var(--sans); font-weight:700; font-size:13px; background:transparent; border:0; border-bottom:1px solid currentColor; padding:9px 0 6px; display:flex; justify-content:space-between; cursor:pointer; }.package-select span { font-size:20px; line-height:.7; }.card-badge { position:absolute; top:-13px; right:13px; background:var(--navy); color:var(--gold); font-family:var(--mono); text-transform:uppercase; letter-spacing:.06em; font-size:8px; padding:7px 9px; transform:rotate(4deg); }.deposit-note { position:relative; margin:28px 0 0; font-size:12px; color:#d2ded4; }.deposit-note span { color:var(--gold); margin-right:5px; }
.story-section { display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(45px,10vw,150px); align-items:center; background:var(--cream); }.story-images { height:520px; position:relative; }.founder-placeholder { border:2px dashed rgba(36,59,82,.5); position:absolute; background:linear-gradient(145deg,#fff0cf,#f6d76a); overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; color:var(--navy); }.founder-placeholder::after { content:""; position:absolute; inset:0; opacity:.17; background:repeating-linear-gradient(135deg, transparent 0 13px, var(--coral) 13px 14px); }.founder-placeholder p { position:relative; z-index:1; font-family:var(--mono); text-transform:uppercase; letter-spacing:.07em; font-size:9px; margin:0; padding:11px; background:rgba(255,247,231,.81); }.founder-placeholder-tall { width:70%; height:91%; left:7%; top:0; transform:rotate(-4deg); }.founder-placeholder-small { width:47%; height:51%; right:2%; bottom:0; background:var(--teal); color:var(--cream); transform:rotate(7deg); }.founder-placeholder-small span { position:absolute; z-index:1; font-family:var(--serif); font-size:74px; right:17px; top:19px; color:var(--gold); }.placeholder-sticker { z-index:2; position:absolute; top:30%; left:18%; background:var(--coral); color:white; font-family:var(--mono); font-size:11px; letter-spacing:.08em; padding:10px; transform:rotate(-6deg); box-shadow:4px 4px 0 var(--navy); }.placeholder-mountain { position:absolute; width:160%; height:42%; bottom:23px; left:-22%; transform:rotate(-5deg); background:var(--navy); clip-path:polygon(0 100%, 13% 48%,22% 66%,34% 12%,49% 65%,61% 40%,74% 80%,88% 24%,100% 58%,100% 100%); }.story-scribble { position:absolute; right:-1%; top:7%; color:var(--coral); font-family:var(--serif); font-size:30px; line-height:.86; transform:rotate(9deg); font-weight:800; }.story-copy h2 { font-size:clamp(47px,5vw,73px); margin:0 0 29px; }.story-copy h2 em { color:var(--coral); }.story-copy > p { color:var(--muted); max-width:560px; font-size:17px; }.story-copy > p em { color:var(--teal-deep); font-family:var(--serif); font-weight:700; }.story-copy blockquote { margin:30px 0; max-width:500px; padding:14px 0 14px 22px; border-left:3px solid var(--gold); font-family:var(--serif); font-size:22px; font-weight:700; line-height:1.25; }.navy-link { color:var(--navy); }
.questionnaire-section { padding:clamp(72px,9vw,120px) max(6vw,30px); display:grid; grid-template-columns:.83fr 1.17fr; gap:clamp(50px,9vw,125px); color:var(--cream); background:var(--teal-deep); position:relative; }.questionnaire-section::before { content:""; position:absolute; inset:0; opacity:.17; background-image: radial-gradient(var(--gold) 1px, transparent 1px); background-size:18px 18px; mask-image:linear-gradient(90deg, black,transparent 60%); pointer-events:none; }.questionnaire-intro, .story-form { position:relative; }.questionnaire-intro h2 { font-size:clamp(49px,5.2vw,75px); margin:0 0 24px; }.questionnaire-intro h2 em { color:var(--gold); }.questionnaire-intro > p:not(.eyebrow) { color:var(--cream); font-size:16px; max-width:400px; }.privacy-promise { margin-top:39px; max-width:390px; display:flex; gap:13px; border-top:1px solid rgba(255,255,255,.28); padding-top:19px; }.privacy-promise > span { color:var(--gold); font-size:25px; }.privacy-promise p { font-size:12px; color:var(--cream); margin:0; }.privacy-promise strong { color:var(--cream); }.story-form { padding:25px; background:var(--cream); color:var(--navy); box-shadow:12px 12px 0 rgba(244,126,96,.8); }.form-topline { display:flex; justify-content:space-between; gap:15px; padding-bottom:15px; border-bottom:1px solid var(--line); font-family:var(--mono); text-transform:uppercase; letter-spacing:.08em; font-size:9px; }.form-topline span:last-child { color:var(--muted); }.form-topline b, label > span, .consent b { color:var(--coral); }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:23px 0 14px; }.form-grid label, .consent { font-size:12px; font-weight:700; display:grid; gap:7px; }.form-grid label.wide { grid-column:span 2; } input, select, textarea { color:var(--navy); width:100%; border:1px solid rgba(36,59,82,.35); background:#fffdf6; border-radius:0; padding:11px 10px; outline:0; font-size:14px; font-weight:500; transition:border-color .2s, box-shadow .2s; }textarea { resize:vertical; min-height:104px; } input::placeholder, textarea::placeholder { color:#8c8d89; font-weight:400; }input:focus, select:focus, textarea:focus { border-color:var(--teal-deep); box-shadow:0 0 0 3px rgba(63,156,145,.2); }.consent { grid-template-columns:17px 1fr; align-items:start; line-height:1.4; padding-top:5px; font-weight:400; }.consent input { width:16px; height:16px; margin:1px 0 0; accent-color:var(--coral); }.form-error { color:#b83b30; font-size:12px; min-height:18px; margin:10px 0 0; font-weight:700; }.form-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:5px; }.form-actions p { font-size:10px; color:var(--muted); margin:0; }.form-actions a { color:var(--teal-deep); font-weight:700; border-bottom:1px solid; }.form-status { color:var(--teal-deep); font-size:12px; margin:15px 0 0; font-weight:700; }.faq-section { background:#f8e9c9; display:grid; grid-template-columns:.74fr 1.26fr; gap:clamp(45px,10vw,145px); }.faq-title h2 { margin:0 0 22px; }.faq-title h2 em { color:var(--teal-deep); }.faq-title > p:last-child { color:var(--muted); max-width:360px; }.faq-list { border-top:2px solid var(--navy); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { list-style:none; padding:20px 38px 20px 1px; cursor:pointer; position:relative; font-family:var(--serif); font-size:clamp(20px,2vw,27px); font-weight:700; line-height:1.15; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { position:absolute; right:2px; top:18px; font-family:var(--sans); color:var(--coral); font-weight:400; font-size:28px; transition:transform .2s; }.faq-list details[open] summary span { transform:rotate(45deg); }.faq-list details p { max-width:670px; color:var(--muted); font-size:15px; padding:0 20px 18px 1px; margin:0; }.contact-band { color:var(--ink); padding:clamp(63px,7vw,100px) max(6vw,30px); display:grid; grid-template-columns:1fr 1fr; gap:60px; background:var(--coral); position:relative; }.contact-band .eyebrow-light { color:var(--ink); }.contact-band::after { content:""; width:375px; height:375px; position:absolute; bottom:-250px; right:-50px; border-radius:50%; border:30px solid rgba(246,215,106,.5); box-shadow:0 0 0 30px rgba(36,59,82,.13); }.contact-band > * { position:relative; z-index:1; }.contact-band h2 { font-size:clamp(47px,5.2vw,75px); margin:0; }.contact-band h2 em { color:var(--navy); }.contact-action { align-self:end; max-width:450px; }.contact-action p { margin-bottom:22px; }.site-footer { background:var(--navy); color:#d2ded4; padding:49px max(6vw,30px) 28px; display:grid; grid-template-columns:1.2fr .9fr 1.4fr; gap:30px; align-items:start; }.footer-brand { color:var(--cream); }.site-footer > p { font-size:12px; margin:4px 0 0; }.site-footer > p strong { color:var(--gold); }.footer-links { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px 20px; font-size:12px; font-weight:700; }.footer-links a:hover { color:var(--gold); }.copyright { grid-column:1 / -1; border-top:1px solid rgba(255,255,255,.16); padding-top:15px; margin-top:8px !important; color:#aab6ba; font-size:10px !important; }
@media (max-width: 960px) { .main-nav { gap:14px; }.hero { grid-template-columns:1fr .72fr; padding-left:30px; padding-right:30px; }.hero-art { min-width:310px; width:36vw; }.sample-grid { grid-template-columns:1fr 1fr; }.sample-note { min-height:260px; grid-column:span 2; }.package-grid { grid-template-columns:1fr 1fr; gap:21px; }.package-card { min-height:430px; }.story-section { grid-template-columns:.85fr 1.15fr; gap:45px; }.questionnaire-section, .faq-section { gap:45px; }.contact-band { gap:35px; } }
@media (max-width: 700px) { body { font-size:15px; }.site-header { padding:15px 20px; }.main-nav { position:absolute; top:0; right:0; width:min(300px, 86vw); background:var(--navy); padding:82px 24px 27px; display:grid; gap:18px; box-shadow:-10px 12px 0 rgba(246,215,106,.8); transform:translateX(110%); transition:transform .25s ease; }.main-nav.is-open { transform:translateX(0); }.main-nav a { width:fit-content; }.nav-toggle { display:block; z-index:2; }.nav-toggle.is-open span:first-child { transform:translateY(4px) rotate(45deg); }.nav-toggle.is-open span:last-child { transform:translateY(-4px) rotate(-45deg); }.hero { min-height: 830px; display:block; padding:117px 24px 70px; }.hero-copy { max-width:100%; }.hero h1 { font-size:clamp(56px,16vw,83px); }.hero-tagline { margin-top:19px; }.hero-intro { font-size:15px; max-width:440px; }.hero-actions { gap:19px; }.hero-note { max-width:280px; margin-top:24px; line-height:1.55; }.hero-art { min-width:0; width:88vw; max-width:410px; margin:16px auto 0; }.art-caption { bottom:-18px; }.hero-ribbon { bottom:11px; font-size:8px; padding:6px 0; }.quick-hit { display:block; padding:63px 24px; }.quick-hit h2 { font-size:clamp(38px,10vw,57px); }.quick-hit-answer { margin-top:25px; }.round-arrow { position:absolute; bottom:27px; right:23px; width:49px; font-size:22px; }.section-pad { padding:73px 24px; }.section-heading, .package-title-row { display:block; }.section-heading h2, .how-heading h2, .faq-title h2 { font-size:clamp(43px,12vw,65px); }.section-heading > p, .package-title-row > p { margin-top:22px; }.sample-grid { margin-top:35px; display:grid; grid-template-columns:1fr; }.sample-card { min-height:376px; }.sample-note { min-height:265px; grid-column:auto; }.steps-wrap { grid-template-columns:1fr; margin:43px 0 18px; gap:27px; }.step, .step + .step { min-height:0; padding:0 0 0 77px; }.step:not(:last-child)::after { transform:none; top:78px; bottom:-31px; height:auto; width:1px; left:28px; right:auto; }.step-number { margin:0; }.step-icon { position:absolute; left:0; top:22px; margin:0; }.step h3 { font-size:31px; margin-top:13px; }.how-footnote { font-size:18px; }.package-title-row h2 { font-size:clamp(46px,13vw,67px); }.package-grid { grid-template-columns:1fr; margin-top:40px; gap:28px; }.package-card { min-height:410px; padding:27px 24px; }.package-card h3 { font-size:46px; }.story-section { display:flex; flex-direction:column-reverse; gap:44px; }.story-copy h2 { font-size:clamp(44px,12vw,65px); }.story-images { height:454px; width:min(100%,430px); }.questionnaire-section { display:block; padding:73px 24px; }.questionnaire-intro > p:not(.eyebrow) { max-width:100%; }.privacy-promise { margin-bottom:46px; }.story-form { padding:19px; box-shadow:8px 8px 0 rgba(244,126,96,.8); }.form-topline { line-height:1.45; }.form-grid { grid-template-columns:1fr; gap:14px; }.form-grid label.wide { grid-column:auto; }.form-actions { align-items:flex-start; flex-direction:column; gap:12px; }.faq-section { display:block; }.faq-title > p:last-child { margin-bottom:43px; }.contact-band { display:block; padding:66px 24px; }.contact-action { margin-top:28px; }.contact-action .button { max-width:100%; font-size:12px; word-break:break-all; }.site-footer { display:block; padding:44px 24px 24px; }.site-footer > p { margin:27px 0; }.footer-links { justify-content:flex-start; }.copyright { margin-top:29px !important; }.reveal { animation:rise-in .6s ease both; }.hero-art.reveal { animation-delay:.12s; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
@keyframes rise-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

/* Recipient-first gift inspiration */
.hero-recipient-links { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:19px; max-width:560px; }
.hero-recipient-links > span { width:100%; color:#d2ded4; font-family:var(--mono); text-transform:uppercase; letter-spacing:.08em; font-size:9px; margin-bottom:1px; }
.hero-recipient-links button { cursor:pointer; color:var(--cream); background:rgba(255,247,231,.08); border:1px solid rgba(246,215,106,.55); border-radius:999px; padding:5px 9px; font-size:11px; font-weight:700; transition:background .2s, color .2s, transform .2s; }
.hero-recipient-links button:hover { color:var(--navy); background:var(--gold); transform:translateY(-2px); }
.recipient-card:focus-visible { outline:3px solid var(--navy); outline-offset:3px; }.hero-recipient-links button:focus-visible, .spark-options button:focus-visible, .spark-reset:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.inspiration-section { background:var(--cream); position:relative; }
.inspiration-section::before { content:""; position:absolute; width:34vw; height:34vw; max-width:540px; max-height:540px; border-radius:50%; right:-14vw; top:8%; background:rgba(246,215,106,.34); box-shadow:0 0 0 28px rgba(244,126,96,.08); }
.inspiration-heading { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.inspiration-heading h2 { font-size:clamp(46px,5.2vw,76px); margin:0; }.inspiration-heading h2 em { color:var(--coral); }.inspiration-heading > p { max-width:395px; color:var(--muted); margin:0 0 6px; }
.recipient-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:46px; }
.recipient-card { min-height:260px; position:relative; overflow:hidden; text-align:left; border:0; padding:21px; cursor:pointer; display:flex; flex-direction:column; color:var(--navy); font-family:var(--sans); transition:transform .25s ease, box-shadow .25s ease; }
.recipient-card:hover { transform:translateY(-7px) rotate(-1deg); box-shadow:8px 9px 0 var(--navy); }
.recipient-card::before { content:""; width:105px; height:105px; border-radius:50%; position:absolute; right:-32px; top:-27px; border:20px solid rgba(255,255,255,.38); }
.recipient-dad { background:var(--gold); }.recipient-grandma { background:#ffd5b0; }.recipient-partner { background:var(--coral); }.recipient-friend { background:var(--teal-deep); color:var(--cream); }
.recipient-number { font-family:var(--mono); letter-spacing:.09em; font-size:10px; }.recipient-name { font-family:var(--serif); font-size:clamp(34px,3.4vw,48px); font-weight:800; letter-spacing:-.06em; line-height:.92; margin-top:28px; }.recipient-copy { max-width:180px; margin-top:12px; font-size:12px; line-height:1.35; }.recipient-arrow { font-size:27px; margin-top:auto; align-self:flex-end; }
.spark-flow { position:relative; max-width:850px; margin:38px auto 0; padding:26px 30px 30px; background:var(--navy); color:var(--cream); box-shadow:10px 11px 0 var(--coral); }.spark-flow[hidden] { display:none; }.spark-flow-top { display:flex; align-items:start; justify-content:space-between; gap:20px; }.spark-flow-top .eyebrow { color:var(--gold); margin:0; }.spark-flow-top .eyebrow b { color:var(--cream); }.spark-reset { border:0; background:transparent; color:var(--cream); cursor:pointer; font-size:11px; font-weight:700; border-bottom:1px solid var(--gold); padding:0 0 3px; }.spark-progress { height:5px; background:rgba(255,255,255,.19); margin:20px 0 31px; }.spark-progress-fill { display:block; height:100%; width:33%; background:var(--gold); transition:width .25s ease; }.spark-count { color:var(--gold); font-family:var(--mono); letter-spacing:.09em; font-size:10px; }.spark-step h3 { font-size:clamp(30px,4vw,46px); margin:11px 0 21px; }.spark-step > p { color:#d2ded4; max-width:600px; margin-top:-10px; }.spark-options { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.spark-options button { background:transparent; color:var(--cream); border:1px solid rgba(255,255,255,.45); padding:15px 12px; cursor:pointer; text-align:left; font-weight:700; font-size:13px; transition:background .2s,color .2s, transform .2s; }.spark-options button:hover { background:var(--gold); color:var(--navy); transform:translateY(-2px); }.spark-memory-step { max-width:650px; }.spark-memory-step label { display:block; font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin:17px 0 8px; }.spark-memory-step textarea { margin-bottom:17px; }.spark-result { padding:5px 0 0; max-width:620px; }.spark-result[hidden] { display:none; }.spark-result > p:first-of-type { font-family:var(--serif); font-size:clamp(28px,3.7vw,43px); font-weight:700; line-height:1.05; margin:13px 0 16px; }.spark-result-note { color:#d2ded4; font-size:13px; }.sticky-story-cta { display:none; }
@media (max-width:960px) { .recipient-grid { grid-template-columns:1fr 1fr; }.recipient-card { min-height:220px; } .spark-options { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) { .hero-recipient-links { margin-top:17px; }.hero-recipient-links button { font-size:10px; padding:5px 7px; }.inspiration-heading { display:block; }.inspiration-heading h2 { font-size:clamp(43px,12vw,65px); }.inspiration-heading > p { margin-top:21px; }.recipient-grid { grid-template-columns:1fr 1fr; gap:10px; margin-top:32px; }.recipient-card { min-height:211px; padding:16px; }.recipient-name { margin-top:23px; font-size:35px; }.recipient-copy { font-size:11px; }.spark-flow { margin-top:31px; padding:21px 18px 22px; box-shadow:7px 8px 0 var(--coral); }.spark-flow-top { display:block; }.spark-reset { margin-top:10px; }.spark-options { grid-template-columns:1fr; }.spark-options button { padding:13px 12px; }.spark-step h3 { font-size:33px; }.sticky-story-cta { display:flex; align-items:center; justify-content:space-between; position:fixed; z-index:18; left:14px; right:14px; bottom:13px; color:var(--navy); background:var(--gold); box-shadow:4px 5px 0 var(--coral); padding:13px 16px; font-weight:800; font-size:13px; }.sticky-story-cta span { font-size:19px; line-height:.8; } body { padding-bottom:67px; } }

/* Approved Phase A: proof-first hero and three-slot audio gallery */
.hero-sample-slot { max-width: 545px; margin-top: 18px; padding: 10px 12px 11px; border: 1px dashed rgba(246, 215, 106, .78); background: rgba(255, 247, 231, .07); }
.hero-sample-kicker { display: block; color: var(--gold); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.hero-sample-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 9px; margin-top: 5px; }
.hero-sample-disc { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: repeating-radial-gradient(circle, #152838 0 2px, #31495b 3px 4px); border: 2px solid var(--gold); color: var(--coral); font-size: 13px; }
.hero-sample-row strong, .hero-sample-row small { display: block; }
.hero-sample-row strong { font-size: 12px; line-height: 1.25; color: var(--cream); }
.hero-sample-row small { margin-top: 2px; color: #d2ded4; font-size: 10px; }
.hero-sample-status { color: var(--navy); background: var(--gold); padding: 5px 7px; font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.hero-recipient-links { margin-top: 15px; }
.sample-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sample-card-gold { background: var(--gold); color: var(--navy); }
.sample-status { display: flex; gap: 7px; align-items: center; margin: auto 0 0; padding: 10px 12px; border: 1px dashed currentColor; font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .02em; }
.sample-status span { color: var(--coral-deep); font-size: 14px; }
.sample-card-teal .sample-status span { color: var(--gold); }
.media-ready-note { display: flex; gap: 10px; align-items: flex-start; max-width: 760px; margin: 27px auto 0; color: var(--muted); font-size: 13px; text-align: center; }
.media-ready-note span { color: var(--coral); font-size: 21px; line-height: .7; }
@media (max-width: 960px) { .sample-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sample-card-gold { grid-column: span 2; min-height: 330px; } }
@media (max-width: 700px) { .hero { min-height: 885px; padding: 105px 24px 58px; }.hero h1 { font-size: clamp(50px, 14vw, 70px); }.hero-tagline { font-size: 20px; margin: 14px 0 10px; }.hero-intro { font-size: 14px; line-height: 1.45; }.hero-actions { gap: 14px; margin-top: 23px; }.hero-actions .button { min-height: 48px; padding: 12px 14px; }.hero-sample-slot { margin-top: 15px; padding: 9px 10px; }.hero-sample-row { grid-template-columns: 30px minmax(0, 1fr); gap: 8px; }.hero-sample-disc { width: 27px; height: 27px; }.hero-sample-status { grid-column: 2; justify-self: start; padding: 4px 6px; }.hero-recipient-links { margin-top: 13px; gap: 5px; }.hero-recipient-links button { min-height: 28px; }.hero-note { margin-top: 17px; }.hero-art { width: 77vw; max-width: 355px; margin-top: 13px; }.sample-grid { grid-template-columns: 1fr; gap: 17px; }.sample-card-gold { grid-column: auto; min-height: 376px; }.media-ready-note { text-align: left; margin-top: 21px; } }

/* Keep the existing hero collage visible within the first mobile view. */
@media (max-width: 700px) {
  .hero { min-height: 825px; }
  .hero-art { position: absolute; width: 255px; right: -67px; bottom: 23px; margin: 0; opacity: .58; pointer-events: none; }
}

@media (max-width: 700px) {
  .hero-sample-slot { background: rgba(36, 59, 82, .94); }
  .hero-recipient-links button { background: rgba(36, 59, 82, .92); }
}

/* Stage Two: mobile-first cinematic hierarchy, using approved existing assets only. */
.hero { min-height: min(850px, 100vh); }
.hero-copy { max-width: 650px; }
.hero h1 { max-width: 700px; }
.hero-tagline { margin-top: 20px; }
.hero-intro { max-width: 500px; font-size: 18px; }
.hero-actions { margin-top: 27px; }
.hero-price-anchor { display: inline-flex; align-items: baseline; gap: 6px; margin: 18px 0 0; padding: 7px 10px; color: var(--cream); border-left: 3px solid var(--gold); background: rgba(255, 247, 231, .08); font-family: var(--serif); font-size: 17px; font-weight: 700; }
.hero-price-anchor span { color: #d2ded4; font-family: var(--sans); font-size: 12px; font-weight: 700; }
.hero-price-anchor strong { color: var(--gold); font-size: 23px; }
.hero-note { max-width: 430px; margin-top: 23px; }
.hero-sample-slot, .hero-recipient-links { display: none; }
.listen-section { background: #f8e9c9; position: relative; }
.listen-section::after { content: ""; position: absolute; right: -11vw; top: 6%; width: 30vw; height: 30vw; border: 23px solid rgba(244,126,96,.12); border-radius: 50%; pointer-events: none; }
.listen-section .section-heading, .listen-section .sample-grid, .listen-section .media-ready-note { position: relative; z-index: 1; }
.sample-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 45px; }
.sample-card { min-height: 375px; }
.sample-card:first-child { grid-column: span 2; min-height: 440px; }
.sample-card:nth-child(2), .sample-card:nth-child(3) { grid-column: span 1; }
.sample-card:first-child .sample-visual { height: 245px; }
.sample-card:nth-child(2) .sample-visual, .sample-card:nth-child(3) .sample-visual { height: 145px; }
.sample-card:nth-child(2) .sample-meta h3, .sample-card:nth-child(3) .sample-meta h3 { font-size: 24px; }
.sample-card:nth-child(2) .sample-meta, .sample-card:nth-child(3) .sample-meta { padding-top: 14px; }
.sample-status { line-height: 1.3; }
.media-ready-note { max-width: 650px; }
.inspiration-section { background: var(--cream); }
.inspiration-heading { align-items: flex-end; }
.recipient-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-top: 42px; }
.recipient-card { min-height: 240px; padding: 19px; }
.recipient-mom { background: #ffd5b0; }
.recipient-family { background: var(--navy); color: var(--cream); }
.recipient-family::before { border-color: rgba(246,215,106,.28); }
.packages-section { scroll-margin-top: 0; }
.packages-section .package-title-row > p { max-width: 450px; }
.how-section { background: #f7ead1; }
.story-section { background: var(--cream); }
.questionnaire-section { background: var(--teal-deep); }
.sticky-story-cta { display: none !important; }

@media (max-width: 960px) {
  .sample-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sample-card:first-child { grid-column: span 2; }
  .sample-card:nth-child(2), .sample-card:nth-child(3) { grid-column: span 1; }
  .recipient-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  body { padding-bottom: 0; }
  .site-header { padding: 15px 20px; }
  .hero { min-height: 812px; padding: 102px 24px 42px; overflow: hidden; }
  .hero::before { background: radial-gradient(circle at 92% 14%, rgba(246,215,106,.33) 0 3%, transparent 22%), linear-gradient(132deg, #203a51 0%, #243b52 55%, #164b53 100%); }
  .hero-copy { position: relative; z-index: 4; padding-bottom: 170px; }
  .hero h1 { font-size: clamp(50px, 14.2vw, 63px); line-height: .91; }
  .hero-tagline { margin: 13px 0 10px; font-size: 19px; }
  .hero-intro { max-width: 325px; font-size: 15px; line-height: 1.42; }
  .hero-actions { gap: 14px; margin-top: 22px; }
  .hero-actions .button { min-height: 48px; padding: 12px 14px; }
  .hero-link { font-size: 13px; }
  .hero-price-anchor { margin-top: 15px; padding: 6px 8px; font-size: 15px; }
  .hero-price-anchor span { font-size: 11px; }
  .hero-price-anchor strong { font-size: 21px; }
  .hero-note { max-width: 285px; margin-top: 15px; font-size: 9px; line-height: 1.5; }
  .hero-art { position: absolute; right: -56px; bottom: 4px; width: 270px; min-width: 0; margin: 0; opacity: .9; z-index: 2; pointer-events: none; }
  .hero-ribbon { bottom: 8px; }
  .listen-section { padding-top: 68px; padding-bottom: 68px; }
  .listen-section .section-heading > p { max-width: 345px; }
  .sample-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
  .sample-card, .sample-card:first-child, .sample-card:nth-child(2), .sample-card:nth-child(3) { grid-column: auto; min-height: 0; }
  .sample-card:first-child { min-height: 406px; }
  .sample-card:nth-child(2), .sample-card:nth-child(3) { min-height: 320px; }
  .sample-card:first-child .sample-visual { height: 215px; }
  .sample-card:nth-child(2) .sample-visual, .sample-card:nth-child(3) .sample-visual { height: 145px; }
  .sample-card:nth-child(2) .sample-meta h3, .sample-card:nth-child(3) .sample-meta h3 { font-size: 28px; }
  .media-ready-note { margin-top: 19px; text-align: left; }
  .inspiration-section { padding-top: 68px; padding-bottom: 68px; }
  .inspiration-heading > p { max-width: 335px; }
  .recipient-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 30px; }
  .recipient-card { min-height: 220px; padding: 15px; }
  .recipient-card::before { width: 88px; height: 88px; right: -29px; top: -23px; border-width: 16px; }
  .recipient-name { margin-top: 22px; font-size: clamp(31px, 9.3vw, 39px); }
  .recipient-copy { margin-top: 10px; font-size: 11px; line-height: 1.36; }
  .recipient-arrow { font-size: 24px; }
  .packages-section { padding-top: 70px; }
  .package-grid { gap: 20px; }
  .package-card { min-height: 390px; }
  .how-section { padding-top: 68px; padding-bottom: 68px; }
  .story-section { padding-top: 68px; padding-bottom: 68px; }
  .questionnaire-section { padding-top: 70px; }
}

@media (max-width: 370px) {
  .hero { min-height: 790px; padding-left: 20px; padding-right: 20px; }
  .hero h1 { font-size: 49px; }
  .hero-intro { max-width: 310px; font-size: 14px; }
  .hero-art { right: -72px; width: 248px; }
  .hero-actions { gap: 10px; }
  .hero-actions .button { font-size: 12px; }
  .hero-link { font-size: 12px; }
  .recipient-card { min-height: 214px; }
  .recipient-name { font-size: 30px; }
}

@media (min-width: 701px) and (max-height: 850px) {
  .hero { min-height: 780px; }
}

/* Stage Two QA corrections: protect hero pricing and closed-menu state. */
@media (max-width: 700px) {
  .main-nav:not(.is-open) { visibility: hidden; pointer-events: none; }
  .main-nav.is-open { visibility: visible; pointer-events: auto; }
  .hero-art { bottom: -42px; }
}
@media (max-width: 370px) {
  .hero-art { bottom: -48px; }
}

/* Founding-launch master refinement: editorial warmth, premium contrast, no new media. */
.first-fifty-section { position: relative; display: grid; grid-template-columns: 170px minmax(0, 1fr) minmax(220px, .45fr); align-items: center; gap: clamp(28px, 5vw, 78px); padding: clamp(58px, 7vw, 92px) max(6vw, 30px); overflow: hidden; background: var(--coral); color: var(--ink); }
.first-fifty-section::after { content: ""; position: absolute; width: 460px; height: 460px; right: -180px; top: -290px; border: 34px solid rgba(246,215,106,.45); border-radius: 50%; box-shadow: 0 0 0 27px rgba(36,59,82,.12); pointer-events: none; }
.first-fifty-section > * { position: relative; z-index: 1; }
.first-fifty-seal { width: 146px; height: 146px; display: grid; place-content: center; border: 2px solid var(--navy); border-radius: 50%; color: var(--navy); text-align: center; transform: rotate(-8deg); box-shadow: 8px 8px 0 rgba(255,247,231,.72), inset 0 0 0 8px rgba(246,215,106,.52); }
.first-fifty-seal span, .first-fifty-seal strong, .first-fifty-seal b { display: block; line-height: .82; }
.first-fifty-seal span { font-family: var(--mono); font-size: 10px; letter-spacing: .18em; }
.first-fifty-seal strong { font-family: var(--serif); font-size: 32px; letter-spacing: -.08em; }
.first-fifty-seal b { margin-top: 4px; font-family: var(--serif); font-size: 52px; letter-spacing: -.1em; }
.first-fifty-copy .eyebrow { color: var(--navy); }
.first-fifty-copy h2 { max-width: 690px; margin: 0 0 20px; font-size: clamp(45px, 5.3vw, 76px); }
.first-fifty-copy h2 em { color: var(--cream); }
.first-fifty-copy > p { max-width: 650px; margin-bottom: 0; font-size: 17px; line-height: 1.52; }
.first-fifty-details { display: flex; flex-wrap: wrap; gap: 8px 19px; margin-top: 19px; font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.first-fifty-details span::before { content: "✦"; margin-right: 6px; color: var(--cream); }
.first-fifty-action { align-self: end; }
.first-fifty-action .button { margin-bottom: 13px; }
.first-fifty-action > p { max-width: 260px; margin: 0; font-size: 11px; line-height: 1.38; }
.memory-manifesto { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .72fr) 145px; gap: clamp(30px, 5vw, 85px); align-items: center; padding: clamp(75px, 10vw, 132px) max(6vw, 30px); background: var(--gold); position: relative; overflow: hidden; }
.memory-manifesto::before { content: ""; position: absolute; inset: 0; opacity: .15; background: repeating-linear-gradient(135deg, transparent 0 18px, var(--coral) 18px 19px); pointer-events: none; }
.memory-manifesto > * { position: relative; z-index: 1; }
.manifesto-quote h2 { margin: 0; font-size: clamp(43px, 5.2vw, 76px); }
.manifesto-quote h2 span, .manifesto-quote h2 em { display: block; }
.manifesto-quote h2 span:nth-child(2) { color: var(--teal-deep); }
.manifesto-quote h2 em { margin-top: 3px; color: var(--coral-deep); }
.manifesto-copy { border-left: 2px solid rgba(36,59,82,.34); padding-left: clamp(20px,3vw,39px); }
.manifesto-copy p { max-width: 440px; font-size: 16px; line-height: 1.58; }
.manifesto-copy p:last-child { margin-bottom: 0; color: rgba(25,50,71,.82); }
.manifesto-stamp { width: 130px; height: 130px; display: grid; place-content: center; border: 2px solid var(--navy); border-radius: 50%; text-align: center; transform: rotate(10deg); box-shadow: inset 0 0 0 8px rgba(255,247,231,.54); }
.manifesto-stamp span { font-family: var(--mono); font-size: 8px; letter-spacing: .12em; }.manifesto-stamp strong { font-family: var(--serif); font-size: 25px; line-height: .8; letter-spacing: -.07em; }.manifesto-stamp i { color: var(--coral); font-size: 22px; font-style: normal; }
.sample-visual span { display: none; }
.recipient-number, .step-number { display: none; }
.recipient-card { justify-content: flex-start; }
.recipient-name { margin-top: 40px; }
.step:not(:last-child)::after { display: none; }
.steps-wrap { gap: clamp(28px, 5vw, 90px); }
.step, .step + .step { padding: 0; }
.step h3 { max-width: 260px; }
.step-icon { margin: 0 0 26px; }
.package-card { min-height: 530px; }
.package-featured { box-shadow: 0 0 0 2px var(--gold), 10px 12px 0 rgba(0,0,0,.16); transform: translateY(-10px); }
.package-featured:hover { transform: translateY(-16px) rotate(-.4deg); }
.card-badge { background: var(--gold); color: var(--navy); }
.planned-price { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: -3px 0 15px; padding-bottom: 11px; border-bottom: 1px solid rgba(25,50,71,.25); font-family: var(--mono); font-size: 9px; letter-spacing: .025em; line-height: 1.3; }
.planned-price span { max-width: 115px; }
.planned-price strong { font-family: var(--serif); font-size: 20px; letter-spacing: -.04em; white-space: nowrap; }
.package-legacy .planned-price, .package-collection .planned-price { border-color: rgba(255,255,255,.35); }
.scope-note { margin: -5px 0 12px; color: inherit; font-size: 10px; line-height: 1.35; opacity: .86; }
.deposit-note { max-width: 820px; line-height: 1.55; }
.story-section { grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); }
.story-poster { min-height: 500px; position: relative; overflow: hidden; padding: 35px; color: var(--cream); background: var(--navy); box-shadow: 12px 14px 0 var(--coral); transform: rotate(-2deg); }
.story-poster::before { content: ""; position: absolute; inset: 0; opacity: .36; background: linear-gradient(145deg, transparent 0 55%, rgba(63,156,145,.6) 55% 57%, transparent 57%), repeating-radial-gradient(circle at 82% 12%, rgba(246,215,106,.18) 0 3px, transparent 4px 17px); }
.story-poster > * { position: relative; z-index: 1; }
.poster-sun { position: absolute; width: 200px; height: 200px; right: -52px; top: -40px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 15px rgba(246,215,106,.13), 0 0 0 30px rgba(246,215,106,.08); }
.poster-kicker, .poster-note { font-family: var(--mono); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }
.story-poster h3 { max-width: 300px; margin: 62px 0 22px; color: var(--cream); font-size: clamp(50px, 5vw, 70px); }.story-poster h3 em { color: var(--gold); }
.story-poster > p:not(.poster-kicker) { max-width: 260px; margin: 0; font-size: 13px; line-height: 1.48; color: #d2ded4; }
.poster-stamp { position: absolute; right: 24px; bottom: 27px; display: grid; place-items: center; width: 94px; height: 94px; border: 2px solid var(--coral); border-radius: 50%; color: var(--coral); background: var(--cream); font-family: var(--serif); font-size: 19px; font-weight: 800; line-height: .84; text-align: center; transform: rotate(10deg); }
.poster-note { position: absolute; bottom: 17px; left: 34px; color: var(--gold); }
.faq-list details:first-child { border-top: 0; }

@media (max-width: 960px) {
  .first-fifty-section { grid-template-columns: 130px 1fr; }
  .first-fifty-action { grid-column: 2; align-self: start; }
  .memory-manifesto { grid-template-columns: 1fr 1fr; }
  .manifesto-stamp { display: none; }
  .story-section { grid-template-columns: 1fr 1fr; gap: 55px; }
  .story-poster { min-height: 470px; }
  .package-card { min-height: 505px; }
  .package-featured { transform: none; }
}

@media (max-width: 700px) {
  .hero-price-anchor span::after { content: ""; }
  .first-fifty-section { display: block; padding: 64px 24px 61px; }
  .first-fifty-seal { width: 106px; height: 106px; position: absolute; right: 21px; top: 22px; opacity: .95; }.first-fifty-seal span { font-size: 7px; }.first-fifty-seal strong { font-size: 23px; }.first-fifty-seal b { font-size: 38px; }
  .first-fifty-copy { padding-right: 92px; }.first-fifty-copy .eyebrow { max-width: 170px; }.first-fifty-copy h2 { margin-top: 19px; font-size: clamp(43px, 12.3vw, 57px); }.first-fifty-copy > p { margin-top: 23px; font-size: 15px; }
  .first-fifty-details { gap: 8px 12px; margin-top: 17px; font-size: 8px; }.first-fifty-action { margin-top: 25px; }.first-fifty-action .button { min-height: 48px; }.first-fifty-action > p { font-size: 10px; }
  .memory-manifesto { display: block; padding: 70px 24px; }.manifesto-quote h2 { font-size: clamp(42px, 12.2vw, 58px); }.manifesto-copy { margin-top: 31px; padding-left: 18px; }.manifesto-copy p { font-size: 14px; }.manifesto-stamp { display: grid; position: absolute; right: 19px; bottom: 28px; width: 84px; height: 84px; opacity: .88; }.manifesto-stamp strong { font-size: 18px; }.manifesto-stamp span { font-size: 6px; }.manifesto-stamp i { font-size: 16px; }.manifesto-copy p:last-child { padding-right: 68px; }
  .recipient-name { margin-top: 35px; font-size: clamp(30px, 9vw, 37px); }.recipient-card { min-height: 224px; }.recipient-copy { max-width: 145px; }
  .sample-card:first-child { min-height: 420px; }.sample-card:nth-child(2), .sample-card:nth-child(3) { min-height: 330px; }.sample-card:first-child .sample-visual { height: 222px; }.sample-card:nth-child(2) .sample-visual, .sample-card:nth-child(3) .sample-visual { height: 150px; }
  .package-card { min-height: 476px; }.package-featured { box-shadow: 0 0 0 2px var(--gold), 7px 8px 0 rgba(0,0,0,.16); }.package-price { margin-top: 17px; }.planned-price { margin-bottom: 12px; }.package-summary { min-height: 0; margin-bottom: 14px; }.package-card ul { margin-bottom: 15px; }.scope-note { margin-top: -2px; }
  .steps-wrap { gap: 31px; }.step, .step + .step { padding: 0 0 0 76px; }.step-icon { position: absolute; left: 0; top: 0; }.step h3 { margin-top: 0; }.how-footnote strong { display: block; }
  .story-section { display: block; }.story-poster { min-height: 405px; margin-bottom: 66px; padding: 28px; transform: rotate(-1.3deg); }.story-poster h3 { margin-top: 50px; font-size: 55px; }.poster-note { left: 28px; }.story-copy h2 { font-size: clamp(43px, 12vw, 60px); }
}

@media (max-width: 370px) {
  .first-fifty-copy { padding-right: 78px; }.first-fifty-seal { right: 16px; }.first-fifty-copy h2 { font-size: 42px; }.first-fifty-details { font-size: 7px; gap: 7px; }
  .recipient-name { font-size: 29px; }.recipient-card { min-height: 218px; padding: 13px; }.recipient-copy { font-size: 10px; }.package-card { padding: 25px 20px; }
}

/* Master-review correction: a brand motto, not an attributed founder quotation. */
.story-copy .story-motto { max-width: 500px; margin: 30px 0; padding: 14px 0 14px 22px; border-left: 3px solid var(--gold); color: var(--navy); font-family: var(--serif); font-size: 22px; font-weight: 700; line-height: 1.25; }

/* Ten real songs: premium collection controls, built without new third-party UI dependencies. */
.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; }
.music-heading-copy { max-width: 420px; }.music-heading-copy > p { margin: 0 0 18px; color: var(--muted); font-size: 16px; }.music-privacy-note, .music-collection-footnote { display: flex; align-items: center; gap: 10px; max-width: 820px; margin: 25px 0 0; color: var(--muted); font-size: 13px; }.music-privacy-note > span, .music-collection-footnote > span { color: var(--coral); font-size: 18px; }.music-collection-footnote { margin: 31px auto 0; justify-content: center; text-align: center; }
.song-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 42px; }
.song-card { display: flex; flex-direction: column; min-width: 0; background: var(--cream); color: var(--navy); box-shadow: 0 11px 0 rgba(36, 59, 82, .13), var(--shadow); transition: transform .22s ease, box-shadow .22s ease; overflow: hidden; }.song-card:hover { transform: translateY(-5px) rotate(-.15deg); box-shadow: 0 16px 0 rgba(36, 59, 82, .14), 0 24px 42px rgba(24,49,68,.16); }.song-card.is-active { box-shadow: 0 0 0 3px var(--gold), 0 16px 0 rgba(36, 59, 82, .15), 0 24px 42px rgba(24,49,68,.18); }
.song-cover { position: relative; min-height: 188px; padding: 18px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; color: var(--cream); isolation: isolate; }.song-cover::before, .song-cover::after { content: ""; position: absolute; pointer-events: none; z-index: -1; }.song-cover::before { width: 210px; height: 210px; right: -57px; top: -85px; border: 22px solid rgba(255,247,231,.25); border-radius: 50%; }.song-cover::after { width: 130px; height: 130px; left: -63px; bottom: -70px; border: 16px solid rgba(246,215,106,.48); border-radius: 50%; }
.song-card-featured { grid-column: span 2; }.song-card-featured .song-cover { min-height: 244px; }.song-card-featured .song-cover::before { width: 305px; height: 305px; right: -46px; top: -142px; border-width: 28px; }.song-card-featured .song-cover-title { font-size: clamp(53px, 5.4vw, 82px); }.song-feel .song-cover { background: linear-gradient(138deg, #203a51, #1b5458 73%, #f47e60 160%); }.song-wild .song-cover { background: var(--coral); }.song-guys .song-cover { background: var(--teal-deep); }.song-mikey .song-cover { background: var(--navy); }.song-knew .song-cover { background: #ae3f35; }.song-bubble .song-cover { background: #ddbc45; color: var(--navy); }.song-bubble .song-cover::before { border-color: rgba(36,59,82,.28); }.song-bubble .song-cover::after { border-color: rgba(36,59,82,.22); }
.song-ginger .song-cover { background: linear-gradient(140deg, #d7654f, #ef9f5b 58%, #e4c04b); }.song-mountain-gods .song-cover { background: linear-gradient(140deg, #263d66, #51476d 58%, #a85a49); }.song-five-star .song-cover { background: linear-gradient(140deg, #416d57, #789348 60%, #dbc362); }.song-detour .song-cover { background: linear-gradient(140deg, #9a3d39, #c05b46 55%, #e1a95c); }
@media (min-width: 961px) { .song-grid .song-card:nth-child(10) { grid-column: 2; } }
.song-cover-kicker, .song-cover-side { font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.song-cover-title { position: relative; max-width: 88%; margin: 17px 0 0; font-family: var(--serif); font-weight: 800; font-size: clamp(41px, 3.8vw, 58px); letter-spacing: -.075em; line-height: .79; }.song-cover-mark { position: absolute; right: 23px; bottom: 20px; display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid currentColor; border-radius: 50%; font-family: var(--serif); font-size: 23px; transform: rotate(10deg); }.song-cover-side { margin-top: auto; opacity: .8; }
.song-card-copy { padding: 19px 20px 8px; }.song-card-copy .song-type { margin: 0 0 8px; color: var(--teal-deep); font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.song-card-copy h3 { margin: 0 0 7px; font-size: clamp(31px, 3vw, 43px); }.song-card-copy > p:last-child { min-height: 43px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.42; }
.song-player { margin-top: auto; padding: 15px 20px 20px; }.song-mode { display: flex; justify-content: space-between; gap: 8px; padding-top: 11px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }.song-ready { color: var(--teal-deep); text-align: right; }.song-card.is-active .song-ready { color: var(--coral-deep); }.song-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }.song-control { min-height: 43px; padding: 8px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--navy); color: var(--navy); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease; }.song-preview { background: var(--navy); color: var(--cream); }.song-preview:hover, .song-preview[aria-pressed="true"] { background: var(--coral); color: var(--ink); box-shadow: 3px 3px 0 var(--gold); }.song-full:hover, .song-full[aria-pressed="true"] { background: var(--gold); color: var(--navy); box-shadow: 3px 3px 0 var(--coral); }.song-control:focus-visible, [data-audio-seek]:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }.song-control:disabled { cursor: wait; opacity: .6; }
.song-timeline { margin-top: 14px; }.song-time { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-family: var(--mono); font-size: 9px; }.song-scrub { position: relative; height: 18px; margin-top: 4px; display: grid; align-items: center; }.song-scrub::before, .song-progress-fill { content: ""; grid-area: 1 / 1; display: block; height: 4px; border-radius: 999px; }.song-scrub::before { width: 100%; background: rgba(36,59,82,.16); }.song-progress-fill { width: 100%; background: var(--coral); transform: scaleX(0); transform-origin: left; pointer-events: none; }.song-scrub input { grid-area: 1 / 1; position: relative; width: 100%; height: 18px; margin: 0; appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0; cursor: pointer; }.song-scrub input::-webkit-slider-thumb { width: 12px; height: 12px; appearance: none; -webkit-appearance: none; background: var(--navy); border: 2px solid var(--cream); border-radius: 50%; box-shadow: 0 0 0 1px var(--navy); }.song-scrub input::-moz-range-thumb { width: 10px; height: 10px; background: var(--navy); border: 2px solid var(--cream); border-radius: 50%; box-shadow: 0 0 0 1px var(--navy); }.song-scrub input:disabled { cursor: not-allowed; opacity: .45; }.song-status { min-height: 30px; margin: 10px 0 0; color: var(--muted); font-size: 10px; line-height: 1.35; }
.form-journey { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 17px 0 5px; font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }.form-journey span { display: flex; align-items: center; gap: 5px; color: var(--muted); }.form-journey b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--teal-deep); color: var(--cream); font-size: 9px; }.form-step-group { margin: 18px 0 0; padding: 15px 0 0; border: 0; border-top: 1px solid var(--line); min-width: 0; }.form-step-group legend { padding: 0; color: var(--navy); font-family: var(--serif); font-size: 23px; font-weight: 700; letter-spacing: -.04em; line-height: 1; }.form-step-group legend span { margin-right: 6px; color: var(--coral); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; vertical-align: 3px; }.form-step-help { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.35; }.form-step-group .form-grid { padding: 15px 0 0; }.form-package-step > label, .form-email { display: grid; gap: 7px; margin-top: 15px; font-size: 12px; font-weight: 700; }.form-email { padding-top: 19px; border-top: 1px solid var(--line); }.form-package-step + .form-email { margin-top: 19px; }
@media (max-width: 960px) { .song-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.song-card-featured { grid-column: span 2; }.song-card-featured .song-cover { min-height: 226px; }.song-card-copy > p:last-child { min-height: 37px; } }
@media (max-width: 700px) { .music-heading-copy { margin-top: 21px; }.music-heading-copy > p { font-size: 15px; }.music-privacy-note { align-items: flex-start; margin-top: 19px; }.song-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 29px; }.song-card-featured { grid-column: auto; }.song-cover, .song-card-featured .song-cover { min-height: 214px; }.song-card-featured .song-cover-title { font-size: 57px; }.song-card-copy { padding: 18px 18px 7px; }.song-player { padding: 15px 18px 18px; }.song-card-copy > p:last-child { min-height: 0; }.music-collection-footnote { justify-content: flex-start; text-align: left; }.form-journey { gap: 5px; font-size: 7px; }.form-journey span { align-items: flex-start; }.form-journey b { flex: 0 0 auto; width: 16px; height: 16px; font-size: 8px; }.form-step-group legend { font-size: 22px; }.form-step-help { font-size: 10px; }.form-grid-step-one, .form-grid-story { grid-template-columns: 1fr; }.form-grid-step-one label.wide, .form-grid-story label.wide { grid-column: auto; } }
@media (prefers-reduced-motion: reduce) { .song-card, .song-control { transition: none; } }

/* Keep all ten songs balanced: 3×3 plus a centered tenth card on desktop, 2×5 on tablet, and one intentional card per mobile row. */
.song-card-featured { grid-column: auto; border-top: 5px solid var(--gold); }.song-card-featured .song-cover { min-height: 205px; }.song-card-featured .song-cover-title { font-size: clamp(44px, 4vw, 62px); }
@media (max-width: 960px) { .song-card-featured { grid-column: auto; }.song-card-featured .song-cover { min-height: 205px; } }
@media (max-width: 700px) { .song-card-featured .song-cover { min-height: 214px; }.song-card-featured .song-cover-title { font-size: 54px; } }

/* Final launch correction: keep optional deadline guidance readable beside the existing story form. */
.form-field-hint { display: block; margin-top: -2px; color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.35; }
.business-identity { max-width: 550px; margin: 16px 0 0; color: rgba(255,247,231,.78); font-size: 11px; line-height: 1.45; }

/* Approved mobile opening correction: existing artwork is an integrated, visible hero background. */
@media (max-width: 700px) {
  .hero {
    min-height: auto;
    display: block;
    overflow: hidden;
    padding: 106px 24px 56px;
    background-color: var(--navy);
    background-image: url("/manus-storage/async-images/1Sy0zm9sVZwbmNpMrFtGYA/image-1.webp");
    background-size: cover;
    background-position: 54% 26%;
  }
  .hero::before {
    z-index: 0;
    opacity: 1;
    background: linear-gradient(180deg, rgba(15, 35, 48, .46) 0%, rgba(18, 51, 60, .68) 48%, rgba(28, 51, 70, .93) 100%);
  }
  .hero::after { z-index: 1; opacity: .12; }
  .hero-copy { z-index: 2; max-width: 100%; padding-bottom: 0; }
  .hero .eyebrow {
    margin-bottom: 15px;
    color: var(--gold);
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.35;
    text-transform: none;
    text-shadow: 0 1px 12px rgba(5, 20, 31, .75);
  }
  .hero h1 {
    max-width: 355px;
    font-size: clamp(52px, 14.3vw, 65px);
    line-height: .9;
    text-shadow: 0 3px 20px rgba(5, 20, 31, .66);
  }
  .hero-intro {
    max-width: 344px;
    margin-top: 20px;
    color: #fff7e7;
    font-size: 16px;
    line-height: 1.5;
    text-shadow: 0 2px 13px rgba(5, 20, 31, .72);
  }
  .hero-actions { gap: 14px; margin-top: 25px; }
  .hero-actions .button { min-height: 50px; }
  .hero-price-anchor {
    margin-top: 22px;
    background: rgba(17, 40, 53, .58);
    box-shadow: 0 4px 18px rgba(5, 20, 31, .16);
  }
  .hero-art, .hero-ribbon { display: none; }
}
@media (max-width: 370px) {
  .hero { padding: 100px 20px 50px; background-position: 56% 22%; }
  .hero h1 { font-size: clamp(50px, 14.1vw, 58px); }
  .hero-intro { max-width: 320px; }
  .hero-actions { gap: 12px; }
}

/* Public terms and privacy pages use the existing record-label palette and footer language. */
.policy-header { position:relative; background:var(--navy); color:var(--cream); }
.policy-nav { display:flex; align-items:center; gap:16px; font-size:13px; font-weight:700; }
.policy-nav a { color:var(--gold); border-bottom:1px solid currentColor; padding-bottom:3px; }
.policy-nav a:focus-visible, .policy-page a:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.policy-hero { background:var(--navy); color:var(--cream); padding:clamp(72px,9vw,128px) max(6vw,30px) clamp(58px,7vw,94px); position:relative; overflow:hidden; }
.policy-hero::before { content:""; position:absolute; width:min(42vw,520px); aspect-ratio:1; right:-9vw; bottom:-58%; border:28px solid rgba(246,215,106,.22); border-radius:50%; box-shadow:0 0 0 28px rgba(244,126,96,.13); }
.policy-hero > * { position:relative; z-index:1; max-width:840px; }
.policy-hero h1 { font-size:clamp(52px,7vw,100px); margin:0 0 21px; }
.policy-hero > p:not(.eyebrow):not(.policy-updated) { max-width:650px; color:#ebdfc4; font-size:clamp(17px,2vw,20px); line-height:1.55; margin-bottom:0; }
.policy-updated { margin:24px 0 0; color:var(--gold); font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.policy-page { background:var(--cream); }
.policy-layout { width:min(900px,100%); margin:0 auto; }
.policy-block { border-top:1px solid var(--line); padding:clamp(28px,4vw,48px) 0; }
.policy-block:first-child { border-top:0; padding-top:0; }
.policy-block h2 { margin:0 0 16px; font-size:clamp(31px,4vw,49px); }
.policy-block p { max-width:760px; color:var(--muted); font-size:16px; line-height:1.62; }
.policy-block p:last-child { margin-bottom:0; }
.policy-block a { color:var(--teal-deep); border-bottom:1px solid currentColor; font-weight:700; }
.policy-table-wrap { overflow-x:auto; border:1px solid var(--line); }
.policy-table { width:100%; border-collapse:collapse; min-width:580px; background:#fffdf6; }
.policy-table th, .policy-table td { border-bottom:1px solid var(--line); padding:14px 16px; text-align:left; vertical-align:top; }
.policy-table th { background:var(--gold); color:var(--navy); font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.policy-table td { color:var(--muted); font-size:14px; line-height:1.48; }
.policy-table td:first-child { width:31%; color:var(--navy); font-weight:700; }
.policy-table tr:last-child td { border-bottom:0; }
@media (max-width:700px) { .policy-header { padding:15px 20px; }.policy-nav { font-size:12px; }.policy-hero { padding:67px 24px 57px; }.policy-hero h1 { font-size:clamp(48px,14vw,68px); }.policy-hero > p:not(.eyebrow):not(.policy-updated) { font-size:16px; }.policy-page { padding:60px 24px; }.policy-block h2 { font-size:36px; }.policy-block p { font-size:15px; }.policy-table th, .policy-table td { padding:12px; } }

@media (max-width:700px) { .policy-table { min-width:0; }.policy-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }.policy-table, .policy-table tbody, .policy-table tr, .policy-table td { display:block; width:100%; }.policy-table tr { padding:10px 0; border-bottom:1px solid var(--line); }.policy-table tr:last-child { border-bottom:0; }.policy-table td { border:0; padding:3px 12px; }.policy-table td:first-child { width:auto; padding-bottom:5px; color:var(--navy); }.policy-table-wrap { overflow:visible; } }
