/* finesse · register=commerce · A=existing-paper+wine · B=editorial-serif+readable-sans
 * C=asymmetric-opening+process-row+photographic-spread+gift-detail · D=existing-card+audio-feedback
 * E=personal-letter · SOUL=6 SPECTACLE=4 DENSITY=5 */

/* A homepage-only refinement. Shared creator, gift and legal styles are untouched. */
.home-edition {
  --home-body: 17px;
  --home-note: 14px;
  --home-lead: 21px;
  --home-h3: 30px;
  --home-heading: clamp(42px, 4.3vw, 64px);
  --home-display: clamp(64px, 6.8vw, 98px);
  --home-gap: clamp(28px, 4vw, 60px);
  --home-pad: clamp(64px, 6.5vw, 100px);
  font-size: var(--home-body);
  line-height: 1.65;
}
.home-edition :is(h1,h2,h3) { min-width:0; overflow-wrap:anywhere; text-wrap:balance; }
.home-edition h2 { font-size:var(--home-heading); line-height:1.04; }
.home-edition :is(.button,.quiet-link) { font-size:var(--home-note); min-height:48px; }
.home-edition .button { white-space:nowrap; }
.home-edition :is(a,button,summary,select):focus-visible { outline:3px solid var(--color-focus); outline-offset:5px; }
.home-edition .site-header { min-height:76px; height:auto; padding-block:10px; --orn-header:76px; }
.home-edition .site-header nav { gap:24px; }
.home-edition .site-header .brand { flex-shrink:0; }
.home-edition .site-header nav a { white-space:nowrap; font-size:var(--home-note); }
.home-edition .site-header .language-switcher { color:var(--color-ink); }
.home-edition .site-header .language-switcher select { font-size:var(--home-note); }
.home-edition .site-header .language-switcher>span { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.home-edition .beta-banner { padding-block:8px; font-size:var(--home-note); line-height:1.5; }
.home-edition .beta-banner a { min-height:32px; align-content:center; }

.home-edition .letter-hero {
  grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  grid-template-areas:'copy art' 'details art';
  align-items:start; gap:24px var(--home-gap);
  padding-block:48px 44px;
}
.home-edition .letter-copy { grid-area:copy; align-self:end; padding-top:22px; }
.home-edition .letter-copy h1 { font-size:var(--home-display); line-height:.98; margin-bottom:24px; }
.home-edition .personal-intro { font-size:var(--home-note); margin-bottom:20px; text-transform:none; letter-spacing:0; max-width:40ch; }
.home-edition .personal-intro::after { display:none; }
.home-edition .hero-lead { font-size:var(--home-lead); line-height:1.55; max-width:35ch; margin:0; }
.home-edition .hero-details { grid-area:details; min-width:0; }
.home-edition .hero-details .under-cta { font-size:var(--home-note); line-height:1.65; text-align:start; max-width:43ch; margin:16px 0 8px; }
.home-edition .hero-details .quiet-link { margin:0; }
.home-edition .hero-art { grid-area:art; min-width:0; }
.home-edition .dedication-photo { height:clamp(310px,28vw,410px); }
.home-edition .hero-audio { padding:22px 24px; }
.home-edition .track-description strong { font-size:var(--home-h3); }
.home-edition .track-description span { font-size:var(--home-note); max-width:165px; line-height:1.5; }
.home-edition .hero-audio>p { font-size:var(--home-note); line-height:1.5; }
.home-edition .player-clock { font-size:var(--home-note); }
.home-edition :is(.example-caption,.memory-letter small) { font-size:var(--home-note); line-height:1.65; }
.home-edition .hero-audio .small-print { font-size:var(--home-note)!important; margin-top:10px!important; }
.home-edition .occasion-picker { gap:12px 24px; padding-block:16px 40px; }
.home-edition .occasion-picker>p:first-child { font-size:var(--home-body); }
.home-edition .occasion-buttons button { font-size:var(--home-note); min-height:46px; }
.home-edition .occasion-caption { font-size:var(--home-note)!important; }
.home-edition .sample-choice-note { margin:0; padding:0; background:none; font-size:var(--home-note); max-width:85ch; }

/* The first decision after the preview is reassurance. Keep the three facts
 * visible before the visitor reaches the longer story sections. */
.home-edition .confidence-rail {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
  padding-block:24px;
  padding-inline:32px;
  background:var(--color-night);
  color:var(--color-light-ink);
}
.home-edition .confidence-item { min-width:0; }
.home-edition .confidence-item strong {
  display:block;
  color:var(--color-paper);
  font:400 21px/1.22 var(--font-display);
  letter-spacing:-.02em;
  margin-bottom:6px;
}
.home-edition .confidence-item span {
  display:block;
  font-size:var(--home-note);
  line-height:1.55;
  max-width:28ch;
}
.home-edition .occasion-picker {
  margin-top:24px;
  padding:24px 0 20px;
  background:var(--color-paper-2);
}
.home-edition .occasion-picker>p:first-child,
.home-edition .occasion-picker .occasion-caption,
.home-edition .occasion-picker .occasion-start { padding-inline:24px; }
.home-edition .occasion-guides {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 28px;
  padding-block:2px 16px;
}
.home-edition .occasion-guides a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:48px;
  padding:10px 0;
  color:var(--color-ink-2);
  font-size:var(--home-note);
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--color-ink-2) 22%, transparent);
}
.home-edition .occasion-guides a:hover { color:var(--color-accent); }
.home-edition .occasion-guides a span { color:var(--color-accent); }

.home-edition .story-spread { padding-block:64px; }
.home-edition .story-grid { grid-template-columns:minmax(0,4fr) minmax(0,6fr); gap:var(--home-gap); }
.home-edition :is(.story-grid p,.how-spread>div>p,.price-spread>div>p) { font-size:var(--home-body); line-height:1.7; max-width:52ch; }
.home-edition .memory-letter { padding:36px 40px; transform:rotate(-1deg); }
.home-edition .memory-letter blockquote { font-size:clamp(27px,2.6vw,36px); line-height:1.3; }
.home-edition .letter-postscript { font-size:var(--home-body)!important; }
.home-edition .how-spread { display:block; padding-block:var(--home-pad); }
.home-edition .how-spread>div:first-child { display:flex; align-items:end; justify-content:space-between; gap:32px; position:static; padding:0; }
.home-edition .how-spread h2 { margin:0; }
.home-edition .how-spread>div>p { max-width:32ch; margin:0; }
.home-edition .gift-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--home-gap); margin-top:44px; }
.home-edition .gift-steps>li { padding:0; }
.home-edition .gift-steps>li::before,.home-edition .gift-steps>li::after { display:none; }
.home-edition .gift-steps h3 { font-size:var(--home-h3); line-height:1.12; margin-bottom:16px; }
.home-edition .gift-steps p { font-size:var(--home-body); line-height:1.7; color:var(--color-ink); max-width:34ch; }

.home-edition .gift-editorial { padding:0; background:var(--color-night); }
.home-edition .gift-editorial::before,.home-edition .gift-editorial::after { display:none; }
.home-edition .gift-editorial-grid { min-height:620px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; padding-block:72px; }
.home-edition .gift-editorial-grid>figure { position:absolute; inset:0; margin:0; z-index:-1; }
.home-edition .gift-editorial-grid>figure::before { inset:0; border:0; background:linear-gradient(90deg,var(--color-clear),var(--color-night) 74%); z-index:2; }
.home-edition .gift-editorial figure img { height:100%; width:100%; object-fit:cover; object-position:center 37%; filter:saturate(.78); }
.home-edition .gift-editorial figure:hover img { scale:1; }
.home-edition .gift-editorial-grid>div { grid-column:2; padding-block:24px; }
.home-edition .gift-editorial h2 { font-size:var(--home-heading); }
.home-edition .gift-editorial p { font-size:var(--home-body); line-height:1.75; color:var(--color-light-ink); }
.home-edition .gift-editorial figcaption { position:absolute; inset-inline-start:60px; bottom:24px; max-width:30ch; font-size:var(--home-note); color:var(--color-light-ink); background:var(--color-night); padding:6px 12px; }
.home-edition .small-print { font-size:var(--home-note)!important; line-height:1.65!important; }
.home-edition .gift-editorial .small-print { opacity:1; }
.home-edition .gift-contents { padding-block:64px; }
.home-edition .gift-contents>header { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:40px; }
.home-edition .gift-contents>header h2 { max-width:11ch; margin:0; }
.home-edition .gift-contents>header p { font-size:var(--home-body); max-width:35ch; margin:0; }
.home-edition .gift-contents-grid { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,4fr); gap:var(--home-gap); align-items:center; }
.home-edition .gift-note { margin:0; background:var(--color-paper-2); min-width:0; }
.home-edition .gift-note>img { width:100%; height:260px; object-fit:cover; display:block; object-position:center 48%; }
.home-edition .gift-note>div { padding:30px 36px; }
.home-edition .gift-contents h3 { font:400 var(--home-h3)/1.2 var(--font-display); margin:0 0 20px; }
.home-edition .gift-note blockquote { font:400 26px/1.45 var(--font-display); margin:0 0 18px; }
.home-edition .gift-note p { font-size:var(--home-note); margin:0; }
.home-edition .gift-words { min-width:0; }
.home-edition .gift-example-label { font-size:var(--home-note); color:var(--color-ink-2); margin:0 0 20px; }
.home-edition .gift-words blockquote { font:400 italic clamp(28px,2.8vw,38px)/1.22 var(--font-display); margin:28px 0; color:var(--color-accent); }
.home-edition .gift-words>p:not(.small-print):not(.gift-example-label) { font-size:var(--home-body); max-width:34ch; }
.home-edition .gift-words .quiet-link { display:flex; width:fit-content; }
.home-edition .price-spread { padding-block:64px; align-items:center; gap:var(--home-gap); background:var(--color-paper-2); }
.home-edition .purchase-note { padding:32px; background:var(--color-paper); border:0; }
.home-edition .purchase-note::before { display:none; }
.home-edition .purchase-note>span,.home-edition .purchase-note ul { font-size:var(--home-body); }
.home-edition .purchase-note .price-display>span:nth-of-type(2) { font-size:var(--home-note); letter-spacing:0; }
.home-edition .price-spread>div>p { max-width:52ch; }
.home-edition .song-guides { display:block; padding-block:44px; }
.home-edition .song-guides>div { display:flex; justify-content:space-between; gap:24px; align-items:end; }
.home-edition .song-guides h2 { font-size:var(--home-heading); margin-bottom:0; }
.home-edition .song-guides>div>p { font-size:var(--home-body); max-width:34ch; margin:0; }
.home-edition .song-guides-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-top:28px; border-top:0; }
.home-edition .song-guides-links a { font-size:var(--home-body); min-height:60px; padding:16px 0; }
.home-edition .faq { display:block; max-width:1000px; padding-block:16px 72px; }
.home-edition .faq>h2 { position:static; margin-bottom:28px; }
.home-edition .faq details { padding-block:0; }
.home-edition .faq summary { font-size:var(--home-body); line-height:1.5; min-height:64px; padding-block:18px; }
.home-edition .faq details p { font-size:var(--home-body); line-height:1.7; max-width:68ch; }
.home-edition .faq-more { margin-top:16px; border:0; }
.home-edition .faq-more>summary { color:var(--color-accent); }
.home-edition .faq-more-answers { padding-inline-start:24px; }
.home-edition .closing-letter { padding-block:64px; }
.home-edition .closing-letter p { font-size:var(--home-body); }
.home-edition .closing-letter h2 { font-size:var(--home-heading); }
.home-edition .footer-top nav,.home-edition .footer-bottom { font-size:var(--home-note); }
.home-edition .footer-top nav { flex-wrap:wrap; gap:8px 24px; }
.home-edition .footer-top nav a { white-space:nowrap; }
.home-edition .footer-signature { opacity:1; transform:none; }
.home-edition .orn-grain { opacity:.035; }
.home-edition .orn-vignette { opacity:.4; }

@media(max-width:1000px) {
  .home-edition .site-header nav>a:not(:last-child) { display:none; }
  .home-edition .site-header { flex-wrap:nowrap; }
  .home-edition .gift-editorial-grid { min-height:560px; }
  .home-edition .gift-editorial-grid>div { grid-column:2; }
  .home-edition .gift-contents-grid { gap:32px; }
  .home-edition .confidence-rail { gap:18px; padding-inline:24px; }
  .home-edition .confidence-item strong { font-size:18px; }
}
@media(max-width:800px) {
  .home-edition { --home-display:clamp(52px,8.8vw,72px); --home-lead:19px; --home-pad:64px; }
  .home-edition .letter-hero { grid-template-columns:minmax(0,1fr); grid-template-areas:'copy' 'details' 'art'; gap:20px; padding-block:28px; }
  .home-edition .letter-copy { padding-top:0; }
  .home-edition .hero-art { max-width:none; }
  .home-edition .dedication-photo { height:360px; }
  .home-edition .story-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .home-edition .how-spread>div:first-child,.home-edition .gift-contents>header,.home-edition .song-guides>div { display:block; }
  .home-edition .how-spread>div>p,.home-edition .gift-contents>header>p,.home-edition .song-guides>div>p { margin-top:24px; }
  .home-edition .gift-steps { gap:24px; }
  .home-edition .gift-steps h3 { font-size:26px; }
  .home-edition .gift-editorial-grid { padding:0; display:flex; flex-direction:column; align-items:stretch; }
  .home-edition .gift-editorial-grid>figure { position:relative; width:100%; height:380px; z-index:0; }
  .home-edition .gift-editorial-grid>figure::before { display:none; }
  .home-edition .gift-editorial-grid>div { padding:40px 32px; }
  .home-edition .gift-editorial figcaption { inset-inline-start:20px; bottom:16px; }
  .home-edition .gift-editorial figure img { object-position:center 35%; }
  .home-edition .gift-contents-grid { grid-template-columns:minmax(0,1fr); }
  .home-edition .gift-contents>header h2 { max-width:none; }
  .home-edition .gift-words { padding:8px 0; }
  .home-edition .price-spread { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:540px) {
  .home-edition { --home-display:54px; --home-heading:42px; --home-lead:18px; --home-pad:52px; }
  .home-edition .wrap { padding-inline:22px; }
  .home-edition .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:64px; gap:0 12px; padding-block:8px; }
  .home-edition .site-header .brand { grid-area:1/1; font-size:28px; order:0; }
  .home-edition .site-header nav { display:none; }
  .home-edition .site-header [data-language-switcher] { grid-area:1/2; margin:0; order:0; }
  .home-edition .site-header .language-switcher select { width:112px; max-width:112px; font-size:14px; min-height:44px; }
  .home-edition .beta-banner { padding:8px 18px; }
  .home-edition .beta-banner a { margin-inline:0; min-height:32px; }
  .home-edition .letter-hero { padding-top:22px; gap:16px; }
  .home-edition .personal-intro { font-size:var(--home-note); margin-bottom:14px; }
  .home-edition .letter-copy h1 { margin-bottom:18px; }
  .home-edition .hero-lead br { display:block; }
  .home-edition .hero-details .button { width:100%; font-size:16px; }
  .home-edition .hero-details .under-cta { margin-top:12px; }
  .home-edition .hero-details .quiet-link { min-height:44px; }
  .home-edition .dedication-photo { height:240px; }
  .home-edition .photo-dedication { padding:20px; }
  .home-edition .photo-dedication strong { font-size:48px; }
  .home-edition .photo-dedication p { font-size:18px; }
  .home-edition .hero-audio { padding:18px; }
  .home-edition .track-description { display:block; }
  .home-edition .track-description span { display:block; max-width:none; margin-top:6px; }
  .home-edition .hero-audio>p { margin-top:10px; }
  .home-edition .occasion-picker { gap:12px; padding-bottom:32px; }
  .home-edition .confidence-rail { grid-template-columns:minmax(0,1fr); gap:18px; padding:22px; margin-top:20px; }
  .home-edition .confidence-item strong { font-size:23px; }
  .home-edition .confidence-item span { max-width:38ch; }
  .home-edition .occasion-picker { margin-top:20px; padding-block:20px 24px; }
  .home-edition .occasion-picker>p:first-child,
  .home-edition .occasion-picker .occasion-caption,
  .home-edition .occasion-picker .occasion-start { padding-inline:0; }
  .home-edition .occasion-guides { grid-template-columns:minmax(0,1fr); gap:0; padding-block:0 12px; }
  .home-edition .occasion-guides a { min-height:46px; }
  .home-edition .occasion-buttons { gap:8px; }
  .home-edition .occasion-buttons button { font-size:var(--home-note); padding:10px 14px; }
  .home-edition .memory-letter { padding:26px; transform:none; }
  .home-edition .gift-steps { grid-template-columns:minmax(0,1fr); margin-top:30px; gap:26px; }
  .home-edition .gift-steps h3 { font-size:var(--home-h3); margin-bottom:10px; }
  .home-edition .gift-steps p { max-width:none; }
  .home-edition .gift-editorial-grid { padding:0; }
  .home-edition .gift-editorial-grid>figure { height:300px; }
  .home-edition .gift-editorial-grid>div { padding:36px 22px; }
  .home-edition .gift-note>img { height:220px; }
  .home-edition .gift-note>div { padding:26px; }
  .home-edition .gift-note blockquote { font-size:25px; }
  .home-edition .purchase-note { padding:26px; }
  .home-edition .price-spread .button { gap:14px; }
  .home-edition .song-guides { padding-block:44px; }
  .home-edition .song-guides-links { grid-template-columns:minmax(0,1fr); }
  .home-edition .faq summary { padding-inline-end:30px; }
  .home-edition .faq-more-answers { padding-inline-start:14px; }
  .home-edition .footer-top { display:block; }
  .home-edition .footer-top nav { display:flex; margin-top:22px; gap:4px 24px; }
  .home-edition .closing-letter .button { font-size:var(--home-note); padding-inline:18px; gap:10px; }
  .home-edition .story-spread { padding-block:48px; }
  .home-edition .gift-contents { padding-block:44px; }
  .home-edition .gift-note>img { height:160px; }
  .home-edition .gift-editorial-grid>figure { height:260px; }
  .home-edition .gift-words blockquote { margin-block:20px; }
  .home-edition .closing-letter { padding-block:48px; }
}
@media(max-width:360px) {
  .home-edition { --home-display:48px; --home-heading:38px; }
  .home-edition .wrap { padding-inline:18px; }
  .home-edition .site-header .brand { font-size:25px; }
  .home-edition .site-header .language-switcher select { width:100px; max-width:100px; }
}
:is(html[lang=ar],html[lang=zh-CN],html[lang=ja]) .home-edition :is(h1,h2,h3) { letter-spacing:0; line-height:1.2; }
@media(prefers-reduced-motion:reduce) {
  .home-edition *, .home-edition *::before, .home-edition *::after { animation:none!important; transition:none!important; }
  .home-edition .orn-lines .orn-line>span { transform:none!important; opacity:1!important; }
}
