@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&display=swap");
:root { --ivory:#f7f4ee; --charcoal:#1f1f1f; --wine:#5b1e2d; --stone:#d6cec0; --section-height:650px; --sans:"DM Sans",sans-serif; --serif:"Cormorant Garamond",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; --heat-x:50vw; --heat-y:50vh; }
body { margin:0; background:var(--ivory); color:var(--charcoal); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
.is-hidden { display:none !important; }
.heat-field { position:fixed; inset:0; z-index:20; pointer-events:none; opacity:0; background:radial-gradient(circle 132px at var(--heat-x) var(--heat-y),rgba(177,84,52,.042),rgba(91,30,45,.018) 38%,transparent 72%); mix-blend-mode:multiply; transition:opacity .35s ease; }
html[data-heat="active"] .heat-field { opacity:.82; }
.hero { min-height:100svh; overflow:hidden; padding:24px clamp(24px,5vw,72px) 34px; position:relative; display:flex; flex-direction:column; background:linear-gradient(132deg,#f7f4ee 0%,#f7f4ee 45%,#e6ddd1 100%); }
.glow { position:absolute; border-radius:50%; filter:blur(2px); pointer-events:none; }
.glow-one { width:min(57vw,790px); height:min(57vw,790px); right:-16vw; top:-20vw; background:radial-gradient(circle,rgba(91,30,45,.18),transparent 67%); animation:drift 13s ease-in-out infinite alternate; }
.glow-two { width:52vw; height:52vw; left:-24vw; bottom:-30vw; background:radial-gradient(circle,rgba(190,174,148,.38),transparent 64%); animation:drift 15s ease-in-out infinite alternate-reverse; }
.nav { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; font-size:11px; font-weight:600; letter-spacing:.14em; }
.brand { display:inline-flex; align-items:center; gap:9px; letter-spacing:.19em; }
.brand img { width:27px; height:27px; object-fit:contain; }
.nav-shop,.text-link { display:inline-flex; gap:8px; align-items:center; border-bottom:1px solid currentColor; padding-bottom:4px; transition:opacity .25s ease; }
.nav-shop:hover,.text-link:hover { opacity:.55; }
.hero-content { position:relative; z-index:1; max-width:640px; margin:auto 0; padding:11vh 0 10vh; }
.eyebrow { margin:0 0 19px; font-size:10px; font-weight:600; letter-spacing:.18em; color:var(--wine); }
h1,h2,p { margin-top:0; }
h1 { max-width:640px; margin-bottom:28px; font-family:var(--serif); font-size:clamp(3.7rem,6.7vw,6.85rem); line-height:.88; letter-spacing:-.048em; font-weight:500; }
h1 span,h1 em { display:block; white-space:nowrap; }
h1 em { color:var(--wine); font-weight:400; }
.intro { max-width:450px; margin-bottom:30px; font-size:15px; line-height:1.65; }
.primary-link { display:inline-flex; width:fit-content; padding:13px 18px; background:var(--wine); color:var(--ivory); font-size:10px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; transition:opacity .25s ease, transform .25s ease; }
.primary-link:hover { opacity:.86; transform:translateY(-1px); }
.form-note { min-height:20px; margin:10px 0 0; font-size:11px; color:rgba(31,31,31,.62); }
.status-fade { animation:statusFade .42s ease both; }
.seal-wrap { position:absolute; z-index:0; right:clamp(18px,6vw,112px); bottom:clamp(76px,11vh,142px); width:clamp(144px,16vw,245px); }
.seal { display:block; width:100%; opacity:.32; mix-blend-mode:multiply; animation:settle 1.4s cubic-bezier(.2,.75,.3,1) both; }
.seal-aura { position:absolute; inset:23%; background:var(--wine); border-radius:50%; opacity:.05; filter:blur(35px); }
.hero-cues { position:relative; z-index:1; display:grid; gap:12px; width:fit-content; }
.scroll-cue { display:flex; align-items:center; gap:12px; width:fit-content; font-size:9px; font-weight:600; letter-spacing:.15em; }
.scroll-cue i { display:block; width:38px; height:1px; background:var(--charcoal); position:relative; }
.scroll-cue i::after { content:""; position:absolute; right:0; top:-2px; width:5px; height:5px; border-right:1px solid var(--charcoal); border-bottom:1px solid var(--charcoal); transform:rotate(-45deg); }
.join { display:grid; grid-template-columns:.86fr 1.14fr; gap:clamp(36px,7vw,110px); align-items:start; min-height:var(--section-height); padding:clamp(72px,10vw,112px) clamp(24px,7vw,112px); background:linear-gradient(145deg,#d9cbbb 0%,#cbb7a6 100%); }
.join-copy { position:sticky; top:32px; max-width:520px; }
.copy-fade { animation:quickFade 1s cubic-bezier(.16,.78,.18,1) both; }
.join-copy h2 { margin-bottom:24px; }
.join-copy p:not(.eyebrow) { max-width:420px; font-size:15px; line-height:1.72; color:rgba(31,31,31,.72); }
.signup-panel { display:grid; gap:22px; }
.signup-form,.live-form { background:rgba(247,244,238,.78); border:1px solid rgba(91,30,45,.18); padding:clamp(22px,3.6vw,42px); box-shadow:0 22px 80px rgba(31,31,31,.1); }
.signup-form { display:grid; gap:26px; }
#profileFormInner { display:grid; gap:28px; }
.live-form #liveFormInner { display:grid; gap:26px; }
.email-form { overflow:hidden; background:linear-gradient(145deg,rgba(255,250,239,.98) 0%,rgba(239,228,211,.94) 48%,rgba(219,202,184,.9) 100%); border-color:rgba(91,30,45,.24); border-top:5px solid rgba(91,30,45,.48); box-shadow:0 24px 84px rgba(31,31,31,.1), inset 0 1px 0 rgba(255,255,255,.68); }
.live-form { display:grid; gap:18px; overflow:hidden; background:radial-gradient(circle at 88% 0%,rgba(91,30,45,.42),transparent 38%),linear-gradient(145deg,#292725 0%,#1a1a19 58%,#301821 100%); border-color:rgba(247,244,238,.18); border-top:5px solid rgba(214,206,192,.78); color:var(--ivory); box-shadow:0 28px 90px rgba(31,31,31,.18), inset 0 1px 0 rgba(247,244,238,.1); }
.live-form .eyebrow { color:#d6cec0; margin-bottom:0; }
.live-form h3 { margin:0; font-family:var(--serif); font-size:clamp(2.15rem,4vw,3.7rem); line-height:.92; font-weight:400; letter-spacing:-.04em; }
.live-form p { margin-bottom:0; color:rgba(247,244,238,.76); line-height:1.65; }
.field-line { display:grid; gap:9px; }
label,legend { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
input,textarea,select { width:100%; border:0; border-bottom:1px solid rgba(31,31,31,.38); border-radius:0; outline:0; background:transparent; color:var(--charcoal); padding:12px 0; font:500 14px var(--sans); }
textarea { min-height:86px; resize:vertical; line-height:1.55; }
input::placeholder,textarea::placeholder { color:rgba(31,31,31,.42); }
fieldset { margin:0; padding:0; border:0; display:grid; gap:12px; }
.segmented,.chip-grid,.size-grid { display:flex; flex-wrap:wrap; gap:8px; }
.segmented label,.chip-grid label,.size-grid label { cursor:pointer; text-transform:none; letter-spacing:0; font-size:12px; font-weight:500; }
.segmented input,.chip-grid input,.size-grid input { position:absolute; opacity:0; pointer-events:none; }
.segmented span,.chip-grid span,.size-grid span { display:inline-flex; min-height:34px; align-items:center; justify-content:center; border:1px solid rgba(91,30,45,.22); padding:8px 12px; background:rgba(247,244,238,.58); transition:background .2s ease,color .2s ease,border-color .2s ease; }
.segmented .selected span,.chip-grid .selected span,.size-grid .selected span { background:var(--wine); color:var(--ivory); border-color:var(--wine); }
.size-blocks { display:grid; gap:16px; }
.size-blocks p,.selection-note { margin:0; font-size:11px; color:rgba(31,31,31,.62); }
.selection-note { margin-top:1px; }
.chip-grid.needs-selection,.size-blocks.needs-selection { outline:1px solid var(--wine); outline-offset:7px; }
.selection-error { margin:4px 0 0; color:var(--wine); font-size:12px; font-weight:600; line-height:1.4; animation:statusFade .3s ease both; }
.submit-button,.quiet-button { border:0; cursor:pointer; font:600 10px var(--sans); letter-spacing:.11em; text-transform:uppercase; transition:opacity .25s ease, transform .25s ease; }
.submit-button { width:100%; padding:15px 18px; background:var(--wine); color:var(--ivory); }
.submit-button:disabled { cursor:not-allowed; opacity:.48; }
.submit-button:hover:not(:disabled),.quiet-button:hover { opacity:.82; transform:translateY(-1px); }
.live-form input { border-color:rgba(247,244,238,.34); color:var(--ivory); }
.live-form input::placeholder { color:rgba(247,244,238,.42); }
.consent { display:flex; gap:10px; align-items:flex-start; color:rgba(247,244,238,.78); font-size:10px; line-height:1.5; letter-spacing:.03em; text-transform:none; }
.consent input { width:16px; min-width:16px; margin-top:1px; accent-color:var(--wine); }
.live-actions { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; }
.quiet-button { background:transparent; color:rgba(247,244,238,.72); padding:12px 0; }
.live-form .form-note { color:rgba(247,244,238,.66); }
.step-reveal { animation:slideDown .62s cubic-bezier(.16,.78,.18,1) both; transform-origin:top; will-change:transform,opacity; }
.profile-form { overflow:hidden; background:linear-gradient(145deg,rgba(239,222,211,.94),rgba(216,187,174,.92)); border-color:rgba(91,30,45,.34); border-top:5px solid rgba(91,30,45,.78); box-shadow:0 28px 90px rgba(91,30,45,.16), inset 0 1px 0 rgba(247,244,238,.62); }
.signup-form.is-confirmed,.live-form.is-confirmed { gap:0; align-content:start; grid-template-rows:auto auto; padding:clamp(22px,3.6vw,42px); }
.form-confirmation { display:grid; gap:16px; min-height:136px; align-content:start; }
.form-confirmation .eyebrow { margin-bottom:0; }
.form-confirmation h3 { margin:0; font-family:var(--serif); font-size:clamp(2.05rem,4vw,3.3rem); line-height:.92; font-weight:400; letter-spacing:-.04em; }
.form-confirmation p:not(.eyebrow) { margin:0; max-width:470px; color:rgba(31,31,31,.7); line-height:1.65; }
.confirmation-summary { display:grid; gap:10px; margin:4px 0 0; padding-top:14px; border-top:1px solid rgba(91,30,45,.14); }
.confirmation-summary div { display:grid; grid-template-columns:92px 1fr; gap:14px; }
.confirmation-summary dt { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(91,30,45,.78); }
.confirmation-summary dd { margin:0; font-size:12px; line-height:1.45; color:rgba(31,31,31,.74); word-break:break-word; }
.live-success { display:grid; gap:16px; align-self:start; margin-top:16px; }
.live-success p { margin:0; max-width:430px; }
h2 { margin:0; font-family:var(--serif); font-size:clamp(3.2rem,6.3vw,7rem); line-height:.87; font-weight:400; letter-spacing:-.05em; }
.testimonials { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(34px,7vw,96px); align-items:start; min-height:var(--section-height); padding:clamp(72px,10vw,112px) clamp(24px,8vw,128px); background:var(--charcoal); color:var(--ivory); }
.testimonial-heading { align-self:start; min-width:0; }
.testimonial-heading .eyebrow { color:#d6cec0; }
.testimonial-heading h2 { max-width:460px; font-size:clamp(2.3rem,4.5vw,4.8rem); }
.testimonial-heading p:not(.eyebrow) { max-width:360px; margin:32px 0 0; font-size:14px; line-height:1.68; color:rgba(247,244,238,.72); }
.testimonial-quote { display:grid; grid-template-rows:1fr auto; gap:26px; min-width:0; min-height:330px; height:330px; justify-items:start; transition:opacity .36s ease, transform .36s ease, filter .36s ease; }
.testimonial-quote.entering { opacity:1; transform:translateY(0); filter:blur(0); }
.testimonial-quote.exiting { opacity:0; transform:translateY(8px); filter:blur(2px); }
.testimonial-quote p { max-width:100%; margin:0; font-family:var(--serif); font-size:clamp(2rem,3.45vw,4.2rem); line-height:1.02; font-weight:400; letter-spacing:-.04em; overflow-wrap:normal; }
.testimonial-quote.is-long p { font-size:clamp(1.2rem,2vw,2.35rem); line-height:1.14; letter-spacing:-.025em; }
.testimonial-quote div { display:grid; gap:5px; align-self:end; }
.testimonial-quote strong { font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.testimonial-quote span { font-size:12px; color:rgba(247,244,238,.62); }
.testimonial-dots { display:flex; gap:9px; grid-column:2; }
.testimonial-dots button { width:28px; height:2px; border:0; padding:0; cursor:pointer; background:rgba(247,244,238,.32); transition:background .42s ease,width .42s cubic-bezier(.18,.76,.18,1),opacity .42s ease; }
.testimonial-dots button.active { width:46px; background:#d6cec0; }
footer { position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:68px; padding:15px clamp(24px,5vw,72px); background:var(--wine); color:var(--ivory); font-size:9px; font-weight:600; letter-spacing:.14em; }
footer a { border-bottom:1px solid rgba(247,244,238,.55); padding-bottom:2px; }
.footer-seal-link { position:absolute; left:50%; top:50%; display:block; width:45px; height:45px; border-bottom:0; padding-bottom:0; transform:translate(-50%,-50%); transition:opacity .25s ease; }
.footer-seal-link:hover { opacity:.72; }
.footer-seal { width:100%; height:100%; object-fit:contain; filter:brightness(0) invert(1); opacity:.78; }
.reveal { animation:rise .8s both; animation-timeline:view(); animation-range:entry 5% cover 28%; }
@keyframes settle { from { opacity:0; transform:scale(.92) rotate(-4deg); } to { opacity:.83; transform:scale(1) rotate(0); } }
@keyframes drift { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(-4vw,4vw,0) scale(1.1); } }
@keyframes rise { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes quickFade { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes statusFade { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@keyframes slideDown { from { opacity:0; transform:translate3d(0,-16px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@media (max-width:900px) { .join,.testimonials { grid-template-columns:1fr; }.join-copy { position:static; }.live-actions { grid-template-columns:1fr; }.testimonial-dots { grid-column:1; } }
@media (max-width:700px) { .hero { min-height:760px; }.nav { font-size:9px; }.brand { gap:7px; }.brand img { width:23px; height:23px; }.hero-content { max-width:315px; padding:105px 0 270px; } h1 { max-width:315px; font-size:clamp(2.75rem,11.6vw,4.25rem); line-height:.92; letter-spacing:-.043em; } h2 { font-size:clamp(2.6rem,13vw,3.4rem); }.seal-wrap { right:26px; bottom:66px; width:126px; }.join { padding-top:72px; }.signup-form,.live-form { padding:22px; }.confirmation-summary div { grid-template-columns:1fr; gap:5px; }.segmented,.chip-grid,.size-grid { gap:7px; }.segmented span,.chip-grid span,.size-grid span { min-height:40px; padding:8px 11px; }.submit-button { min-height:48px; }.quiet-button { min-height:44px; }.signup-form input,.signup-form textarea,.live-form input { font-size:16px; }.testimonials { padding-top:68px; padding-bottom:72px; }.testimonial-quote { min-height:340px; height:340px; } footer { flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; } }

/* Local editorial refinement, September 2026. */
:root { --wine:#5b1e2d; --ivory:#f7f4ee; --section-height:auto; }
.hero { min-height: min(850px, 94svh); padding:30px clamp(24px,6vw,96px) 34px; background:var(--ivory); border-bottom:1px solid #d8cdbf; }
.nav { font-size:12px; letter-spacing:.1em; padding-bottom:24px; border-bottom:1px solid #d8cdbf; }
.brand img { width:32px; height:32px; }
.hero-content { max-width:900px; padding:95px 0 75px; margin:auto 0; }
h1 { max-width:960px; font-size:clamp(3.5rem,7.8vw,8rem); line-height:.99; letter-spacing:-.055em; margin-bottom:28px; }
h1 span,h1 em { white-space:normal; }
.eyebrow { font-size:12px; letter-spacing:.16em; }
.intro { font-size:17px; max-width:440px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.primary-link { font-size:12px; padding:19px 24px; gap:24px; letter-spacing:.07em; }
.hero-small { margin:22px 0 0; font-size:12px; color:#786c64; }
.seal-wrap { right:7vw; bottom:90px; width:clamp(130px,16vw,220px); }
.seal { animation:none; opacity:.9; }
.seal-aura,.heat-field { display:none; }
.hero-cues { display:flex; gap:35px; margin-top:20px; }
.scroll-cue { font-size:10px; padding:10px 0; }
.join { background:#eee7de; gap:clamp(40px,7vw,112px); padding:100px clamp(24px,7vw,112px); grid-template-columns: .9fr 1.1fr; }
.join-copy { top:48px; padding-top:48px; }
h2 { font-size:clamp(3.2rem,5.8vw,6rem); line-height:.99; letter-spacing:-.045em; }
.join-copy p:not(.eyebrow) { font-size:16px; color:#62534a; }
.signup-panel { gap:14px; min-width:0; }
.signup-progress { display:flex; justify-content:space-between; margin:0 0 13px; padding:0 0 16px; list-style:none; border-bottom:1px solid #cebdac; gap:12px; }
.signup-progress li { display:flex; gap:9px; font-size:11px; color:#968579; }
.signup-progress span { font-size:12px; }
.signup-progress .current,.signup-progress .complete { color:var(--wine); }
.signup-progress .current { font-weight:600; }
.signup-form,.profile-form,.email-form { background:#fbf8f2; border:1px solid #d3c3b4; border-top:1px solid #d3c3b4; box-shadow:none; padding:32px; }
.signup-form.is-confirmed { padding:18px 24px; background:transparent; }
.live-form { background:#35232a; border:1px solid #35232a; box-shadow:none; padding:32px; }
.live-form > .eyebrow { margin-bottom:8px; }
.live-form h3 { font-size:clamp(2rem,3.8vw,3rem); line-height:1.06; }
.live-form p { font-size:15px; }
label,legend { font-size:11px; letter-spacing:.09em; }
input,textarea { padding:15px 0; font-size:16px; }
#profileFormInner { gap:25px; }
.segmented span,.chip-grid span,.size-grid span { border-color:#d3c3b4; background:transparent; min-height:40px; }
.form-note { font-size:12px; line-height:1.6; margin-top:15px; }
.email-form .submit-button { margin-top:24px; }
.submit-button { font-size:12px; min-height:50px; }
.quiet-button { font-size:11px; }
.saved-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:0; }
.saved-summary > div { display:grid; gap:6px; min-width:0; }
.summary-label { color:#756053; text-transform:uppercase; letter-spacing:.1em; font-size:10px; }
.saved-summary strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.edit-button { border:0; border-bottom:1px solid #c7afa1; background:none; padding:5px 0; color:var(--wine); cursor:pointer; font:12px var(--sans); }
.save-error { color:#8b2034; font-size:13px; line-height:1.6; margin:12px 0 0; }
.save-error:empty { display:none; }
.live-form .save-error { color:#ffd7d7; }
.member-card { position:relative; padding:32px; color:var(--ivory); background:var(--wine); border:1px solid #5b1e2d; animation:statusFade .5s ease; }
.member-card .eyebrow { color:#d9bba5; font-size:10px; }
.member-card h3 { font-family:var(--serif); font-weight:400; font-size:clamp(2.5rem,4vw,4rem); line-height:.98; letter-spacing:-.03em; margin:0 0 20px; overflow-wrap:anywhere; }
.member-card h3 em { color:#e4c7ac; }
.member-card > p { font-size:14px; line-height:1.65; }
.member-card dl { display:grid; gap:20px; padding:24px 0; margin:24px 0; border-block:1px solid #98616b; }
.member-card dt { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#dbc0b8; margin-bottom:7px; }
.member-card dd { margin:0; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.member-delivery { font-size:12px; color:#e4c7ac; }
.member-card .member-note { font-size:12px; margin-top:16px; color:#e4cfc9; }
.member-card .primary-link { background:var(--ivory); color:var(--wine); margin-top:12px; }
.testimonials { display:block; background:#211f1e; padding:90px clamp(24px,7vw,112px); }
.testimonial-heading { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; align-items:end; margin-bottom:45px; }
.testimonial-heading .eyebrow { grid-column:1/-1; }
.testimonial-heading h2 { font-size:clamp(3rem,5vw,5rem); max-width:none; }
.testimonial-heading p:not(.eyebrow) { margin:0; max-width:330px; justify-self:end; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; }
.review-card { display:flex; flex-direction:column; justify-content:space-between; gap:28px; margin:0; padding:30px 0; border-top:1px solid #514640; }
.review-card blockquote { margin:0; font-family:var(--serif); font-size:27px; line-height:1.2; letter-spacing:-.015em; }
.review-card.review-long blockquote { font-size:19px; line-height:1.45; }
.review-card figcaption { display:grid; gap:6px; }
.review-card strong { font-size:11px; font-weight:500; letter-spacing:.07em; }
.review-card figcaption span { font-size:11px; color:#bfb2a4; }
.reviews-link { display:inline-block; font-size:12px; padding:10px 0; margin-top:15px; border-bottom:1px solid #998070; color:#e4c7ac; }
footer { min-height:88px; }
.reveal { animation:none; }
@media(min-width:1400px) { .hero-content { padding-bottom:100px; } }
@media(max-width:1100px) { .seal-wrap { width:140px; right:5vw; bottom:85px; }.hero-content { max-width:780px; } }
@media(max-width:900px) { .join { grid-template-columns:1fr; }.join-copy { max-width:600px; padding-top:0; }.join-copy h2 { max-width:600px; }.signup-panel { width:100%; }.review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.seal-wrap { opacity:.35; }.hero-content { z-index:1; } }
@media(max-width:700px) {
  .hero { min-height:0; padding:24px 24px 20px; }.nav { font-size:10px; padding-bottom:20px; }.brand img { width:26px;height:26px; }.brand { letter-spacing:.12em; }
  .hero-content { max-width:none; margin:0; padding:64px 0 50px; } h1 { font-size:clamp(3.1rem,12vw,5rem); line-height:1; max-width:none; }.intro { font-size:16px; max-width:310px; }
  .hero-actions { gap:20px; }.primary-link { font-size:11px; padding:17px 19px; }.hero-small { font-size:11px; max-width:250px; line-height:1.6; }
  .seal-wrap { display:none; }.hero-cues { gap:20px; margin:0; justify-content:space-between; }.scroll-cue { font-size:8px; gap:8px; }.scroll-cue i { width:20px; }
  .join { padding:64px 24px; gap:30px; }.join-copy h2 { font-size:clamp(2.8rem,12vw,4rem); }.join-copy p:not(.eyebrow) { margin-bottom:0; }
  .signup-form,.live-form,.member-card { padding:24px; }.signup-form.is-confirmed { padding:16px; }.signup-progress { gap:6px; }.signup-progress li { gap:5px; font-size:10px; }.signup-progress span { font-size:11px; }
  .testimonials { padding:64px 24px; }.testimonial-heading { display:block; margin-bottom:32px; }.testimonial-heading p:not(.eyebrow) { margin:22px 0 0; }.review-grid { grid-template-columns:1fr; }.review-card { gap:20px; padding:26px 0; }.review-card blockquote { font-size:27px; }.review-card.review-long blockquote { font-size:23px; }
}

/* Shopper notes: a collection of individual cards, always on display. */
.testimonials { background:#4b1927; padding:96px clamp(24px,7vw,112px) 72px; }
.testimonial-heading { padding-bottom:36px; margin-bottom:40px; border-bottom:1px solid #936575; }
.testimonial-heading .eyebrow { color:#dec1a3; letter-spacing:.2em; }
.testimonial-heading h2 { font-size:clamp(3.3rem,6.2vw,6.5rem); line-height:.98; }
.testimonial-heading h2 em { font-weight:400; color:#e7c9ad; }
.testimonial-heading p:not(.eyebrow) { color:#e0cbce; font-size:15px; max-width:280px; line-height:1.8; }
.review-grid { display:block; columns:3; column-gap:22px; }
.review-card { display:inline-flex; vertical-align:top; width:100%; break-inside:avoid; margin:0 0 22px; padding:28px 30px 26px; background:#f7f4ee; color:#39272a; border:1px solid #e5d9c9; gap:23px; }
.review-card-top { display:flex; align-items:flex-start; justify-content:space-between; height:37px; }
.review-mark { font:76px/.9 var(--serif); color:#925e52; }
.review-card blockquote { font-size:clamp(1.65rem,2.25vw,2.1rem); font-weight:400; line-height:1.22; letter-spacing:-.025em; }
.review-card.review-long blockquote { font-size:21px; line-height:1.42; letter-spacing:-.01em; }
.review-card figcaption { padding-top:21px; border-top:1px solid #d9cbb9; gap:7px; }
.review-card strong { color:#5b1e2d; font-size:12px; letter-spacing:.025em; }
.review-card figcaption span { color:#7d7067; font-size:11px; letter-spacing:.035em; }
.reviews-link { color:#f0d9c1; border-bottom-color:#ba9385; margin-top:12px; padding:12px 0; font-size:13px; }
@media(max-width:1050px) { .review-grid { columns:2; }.review-card blockquote { font-size:29px; } }
@media(max-width:700px) {
  .testimonials { padding:64px 24px 52px; }.testimonial-heading { padding-bottom:28px; margin-bottom:28px; }.testimonial-heading h2 { font-size:clamp(3.3rem,13vw,4.6rem); }.testimonial-heading p:not(.eyebrow) { max-width:300px; }
  .review-grid { columns:1; }.review-card { padding:25px; margin-bottom:18px; gap:20px; }.review-card blockquote { font-size:29px; }.review-card.review-long blockquote { font-size:22px; }
}

/* Keep the last step in place while its content and height transition. */
.completion-stage { min-width:0; }
.completion-stage.is-transitioning { overflow:hidden; overflow-anchor:none; }
.completion-stage .member-card { animation:none; }

/* Subtle feedback for the shopper-note cards on hover-capable devices. */
@media (hover:hover) and (pointer:fine) {
  .review-card {
    position:relative;
    transform-origin:center;
    transition:transform 280ms cubic-bezier(.22,1,.36,1), box-shadow 280ms ease, background-color 280ms ease, border-color 280ms ease;
  }
  .review-card:hover {
    z-index:1;
    transform:translateY(-3px) scale(1.018);
    background-color:#efe5d8;
    border-color:#cdb39a;
    box-shadow:0 14px 30px rgba(25,5,12,.18);
  }
}
@media (prefers-reduced-motion:reduce) {
  .review-card { transition:none; }
  .review-card:hover { transform:none; }
}

/* Consistent signup typography with more breathing room around the section. */
.join {
  padding-top:132px;
  padding-bottom:132px;
}
@media(max-width:700px) {
  .join {
    padding-top:84px;
    padding-bottom:84px;
  }
}

/* A compact preferences sheet, with space given to the active form. */
@media(min-width:901px) {
  .join[data-step="1"] { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(32px,4vw,64px); }
  .join[data-step="1"] .join-copy h2 { font-size:clamp(3rem,4.8vw,5rem); }
}
#profileForm { container-type:inline-size; padding:26px; }
#profileFormInner { gap:19px; }
.profile-basics { display:grid; gap:19px; min-width:0; }
.profile-basics > * { min-width:0; }
#profileForm fieldset { min-width:0; gap:10px; }
#profileForm legend { margin-bottom:8px; }
#profileForm .field-line { gap:5px; }
#profileForm input[type="text"] { padding:10px 0; }
#profileForm .chip-grid,#profileForm .segmented,#profileForm .size-grid { gap:6px; }
#profileForm .chip-grid span,#profileForm .segmented span { min-height:36px; padding:7px 10px; }
#profileForm .size-grid span { min-width:34px; min-height:36px; padding:7px 8px; }
#profileForm .size-blocks { gap:14px; }
.size-group { min-width:0; display:grid; gap:8px; align-content:start; }
#profileForm .size-group-shared { grid-column:1/-1; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.profile-notes { border-block:1px solid #d9cbb9; padding:12px 0; }
.profile-notes summary { cursor:pointer; font-size:13px; color:var(--wine); }
.profile-notes summary span { margin-left:8px; font-size:11px; color:#847467; }
.profile-notes .field-line { margin-top:15px; }
.profile-notes textarea { min-height:65px; }
.profile-submit .form-note { margin-top:8px; font-size:11px; }
@container(min-width:480px) {
  .profile-basics { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:24px; }
  #profileForm .size-blocks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
}
@media(max-width:700px) {
  #profileForm { padding:22px; }
  #profileFormInner { gap:18px; }
  #profileForm .chip-grid span,#profileForm .segmented span,#profileForm .size-grid span { min-height:40px; }
}

/* A quiet source link in each shopper-note card. */
.review-depop { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:6px 0 6px 10px; opacity:.48; transition:opacity 200ms ease; }
.review-depop img { display:block; width:42px; height:auto; }
.review-depop:hover,.review-depop:focus-visible { opacity:1; }

.footer-depop { display:inline-flex; align-items:center; gap:9px; min-height:36px; padding:6px 0; border-bottom:0; opacity:.8; transition:opacity 200ms ease; }
.footer-depop img { display:block; width:48px; height:auto; filter:brightness(0) invert(1); }
.footer-depop span { font-size:14px; }
.footer-depop:hover,.footer-depop:focus-visible { opacity:1; }

.nav-shop { border-bottom:0; }

/* Vector arrows stay monochrome on iOS instead of becoming emoji. */
.link-arrow { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:-.1em; }
.primary-link { align-items:center; }
