/*
 * Song Gift Story - Gift Page (single gift_page) front-end styles.
 * Reproduced verbatim from gift-page-debundled.html, plus a rich-text
 * message variant (.letter .msg) that mirrors .letter p for WordPress.
 * Loaded only on single gift_page views (see inc/gift-cpt.php).
 */

:root{
  --navy:#1E2A4A;
  --navy-deep:#141d35;
  --night:#080b16;
  --gold:#BD9A52;
  --gold-light:#E7D6AC;
  --gold-soft:#d8c089;
  --cream:#FBF6EE;
  --rose:#C98F8B;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Mulish',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--cream);
  background:var(--night);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* deep, living background that runs the whole length of the page */
.bg-field{position:fixed;inset:0;z-index:-3;
  background:
    radial-gradient(120% 80% at 50% 8%, rgba(189,154,82,.20) 0%, rgba(189,154,82,.06) 26%, transparent 52%),
    radial-gradient(150% 120% at 50% 120%, #243358 0%, var(--navy) 30%, var(--navy-deep) 58%, var(--night) 100%);
}
.bg-glow{position:fixed;left:50%;top:-12%;transform:translateX(-50%);z-index:-2;
  width:140vw;height:90vh;pointer-events:none;
  background:radial-gradient(closest-side, rgba(231,214,172,.22), rgba(189,154,82,.10) 42%, transparent 72%);
  filter:blur(8px);
  animation:breathe 9s var(--ease) infinite alternate;
}
@keyframes breathe{from{opacity:.7;transform:translateX(-50%) scale(1)}to{opacity:1;transform:translateX(-50%) scale(1.08)}}
#motes{position:fixed;inset:0;z-index:-1;pointer-events:none}
/* fine film grain so nothing is ever flat */
.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.vignette{position:fixed;inset:0;z-index:49;pointer-events:none;
  box-shadow:inset 0 0 22vh 6vh rgba(8,11,22,.55);}

/* ---------- shared ---------- */
.wrap{max-width:680px;margin:0 auto;padding:0 26px;position:relative}
section{position:relative}
.eyebrow{font-family:'Mulish';font-weight:600;font-size:12px;letter-spacing:.42em;
  text-transform:uppercase;color:var(--gold-soft);}
.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08;
  letter-spacing:.005em;}

/* ornamental gold divider */
.divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto;
  width:min(280px,72%);opacity:.9}
.divider .line{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold) 80%);}
.divider .line.r{background:linear-gradient(270deg,transparent,var(--gold) 80%);}
.divider .gem{width:7px;height:7px;background:var(--gold-light);transform:rotate(45deg);
  box-shadow:0 0 12px rgba(231,214,172,.7);flex:none}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(34px) scale(.985);
  transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}

/* ---------- HERO ---------- */
.hero{min-height:100svh;min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:12vh 26px 16vh;}
.hero .eyebrow{opacity:0;animation:fadeUp 1.4s var(--ease) .3s forwards}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(46px,15vw,104px);line-height:1.02;margin:.26em 0 .34em;
  color:var(--cream);letter-spacing:.01em;text-wrap:balance;
  text-shadow:0 2px 40px rgba(189,154,82,.35);
  opacity:0;animation:heroName 3s var(--ease) .5s forwards}
.hero .sub{font-size:clamp(15px,4.4vw,19px);color:rgba(251,246,238,.78);font-weight:300;
  max-width:30ch;margin:0 auto;opacity:0;animation:fadeUp 1.6s var(--ease) 1.9s forwards}
.hero .sub b{color:var(--gold-light);font-weight:500}

/* glowing cover art, gently floating */
.cover-stage{position:relative;margin:0 auto 6px;width:min(320px,72vw);aspect-ratio:1;
  opacity:0;animation:fadeUp 1.8s var(--ease) 2.3s forwards}
.cover-stage::before{content:"";position:absolute;inset:-22%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(231,214,172,.45),rgba(189,154,82,.12) 55%,transparent 72%);
  filter:blur(6px);animation:halo 6s var(--ease) infinite alternate;}
.cover{position:absolute;inset:0;border-radius:14px;overflow:hidden;
  border:1px solid rgba(231,214,172,.45);
  box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px rgba(189,154,82,.2),
    inset 0 0 60px rgba(189,154,82,.12);
  animation:float 7s var(--ease) infinite alternate;}
@keyframes halo{from{opacity:.65;transform:scale(.98)}to{opacity:1;transform:scale(1.05)}}
@keyframes float{from{transform:translateY(-6px)}to{transform:translateY(8px)}}

/* image placeholder shared style */
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:12px;text-align:center;
  background:
    repeating-linear-gradient(125deg, rgba(231,214,172,.05) 0 14px, rgba(231,214,172,.02) 14px 28px),
    radial-gradient(120% 100% at 50% 0%, rgba(189,154,82,.30), transparent 60%),
    linear-gradient(160deg,#26345a,#16203c 70%);}
.ph .ico{width:34px;height:34px;color:var(--gold-light);opacity:.92;
  filter:drop-shadow(0 0 10px rgba(231,214,172,.4))}
.ph .lbl{font-family:'Mulish';font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  color:rgba(231,214,172,.7)}
.real-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity 1s var(--ease)}
.real-img.loaded{opacity:1}

/* scroll cue - in normal flow so it can never overlap the cover */
.scrollcue{margin-top:clamp(46px,9vh,92px);
  display:flex;flex-direction:column;align-items:center;gap:11px;
  opacity:0;animation:fadeUp 1.4s var(--ease) 2.9s forwards}
.scrollcue span{font-family:'Mulish';font-size:10px;letter-spacing:.36em;text-transform:uppercase;
  color:rgba(231,214,172,.7)}
.scrollcue .ch{width:20px;height:20px;color:var(--gold);animation:bob 2.2s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(7px);opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes heroName{
  0%{opacity:0;transform:translateY(48px) scale(.965);filter:blur(15px);letter-spacing:.07em}
  55%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none;filter:blur(0);letter-spacing:.01em}}

/* ---------- generic section header ---------- */
.sec{padding:13vh 0}
.sec-head{text-align:center;margin-bottom:42px}
.sec-head .eyebrow{display:block;margin-bottom:16px}
.sec-head h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(32px,8.5vw,52px);color:var(--cream);letter-spacing:.01em}

/* ---------- PLAYER ---------- */
.player{position:relative;border-radius:22px;padding:34px 26px 30px;
  background:linear-gradient(165deg, rgba(45,58,96,.65), rgba(16,23,44,.85));
  border:1px solid rgba(231,214,172,.22);
  box-shadow:0 40px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(231,214,172,.18),
    0 0 70px rgba(189,154,82,.10);
  backdrop-filter:blur(6px);overflow:hidden}
.player::after{content:"";position:absolute;left:-30%;top:-60%;width:160%;height:120%;
  background:radial-gradient(closest-side,rgba(231,214,172,.16),transparent 70%);pointer-events:none}
.player-top{display:flex;align-items:center;gap:18px;margin-bottom:24px;position:relative}
.mini-cover{width:64px;height:64px;border-radius:12px;flex:none;overflow:hidden;position:relative;
  border:1px solid rgba(231,214,172,.4);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.mini-cover .ph .ico{width:22px;height:22px}.mini-cover .ph .lbl{display:none}
.track-meta{min-width:0}
.track-meta .t{font-family:'Cormorant Garamond',serif;font-size:25px;color:var(--cream);line-height:1.15}
.track-meta .a{font-size:12px;letter-spacing:.06em;color:var(--gold-soft);margin-top:2px}
.wave-row{display:flex;align-items:center;gap:18px}
.playbtn{width:62px;height:62px;flex:none;border-radius:50%;border:none;cursor:pointer;
  position:relative;background:
    radial-gradient(circle at 35% 30%, #f2e3bd, var(--gold) 58%, #9c7d3c 100%);
  box-shadow:0 10px 30px rgba(189,154,82,.5),0 0 0 1px rgba(231,214,172,.5),
    inset 0 2px 6px rgba(255,255,255,.4),0 0 36px rgba(231,214,172,.35);
  display:grid;place-items:center;transition:transform .25s var(--ease),box-shadow .3s}
.playbtn:hover{transform:scale(1.06)}
.playbtn:active{transform:scale(.97)}
.playbtn svg{width:24px;height:24px;color:#1a2238;margin-left:2px}
.playbtn.playing svg{margin-left:0}
.wave-wrap{flex:1;min-width:0}
#wave{width:100%;height:62px;display:block;cursor:pointer}
.time-row{display:flex;justify-content:space-between;margin-top:14px;
  font-size:11px;letter-spacing:.14em;color:var(--gold-soft);font-variant-numeric:tabular-nums}
.dl{display:inline-flex;align-items:center;gap:9px;margin:26px auto 0;text-decoration:none;
  font-family:'Mulish';font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-light);padding:11px 22px;border-radius:40px;
  border:1px solid rgba(231,214,172,.4);transition:.3s var(--ease);background:rgba(231,214,172,.04)}
.dl:hover{background:rgba(231,214,172,.12);box-shadow:0 0 26px rgba(189,154,82,.3)}
.dl svg{width:15px;height:15px}
.dl-wrap{text-align:center}

/* ---------- MESSAGE ---------- */
.letter{position:relative;border-radius:18px;padding:46px 34px;
  background:linear-gradient(160deg,#fbf6ee,#f3e9d8);color:#33415e;
  box-shadow:0 36px 80px rgba(0,0,0,.5),0 0 0 1px rgba(189,154,82,.3),
    0 0 0 9px rgba(251,246,238,.04);}
.letter::before{content:"";position:absolute;inset:10px;border:1px solid rgba(189,154,82,.4);
  border-radius:11px;pointer-events:none}
.letter .quote{font-family:'Cormorant Garamond',serif;font-size:62px;line-height:.6;
  color:var(--gold);height:30px;text-align:center;margin-bottom:6px}
.letter p{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,5.4vw,25px);
  line-height:1.55;font-weight:400;font-style:italic;color:#3a4869;text-align:center;
  white-space:pre-line}
.letter .sign{display:block;margin-top:26px;text-align:center;font-style:normal;
  font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--gold);}
.letter .sign small{display:block;font-family:'Mulish';font-size:10px;letter-spacing:.32em;
  text-transform:uppercase;color:rgba(189,154,82,.7);margin-bottom:6px;font-style:normal}

/* ---------- LYRICS ---------- */
.lyrics-panel{position:relative;border-radius:18px;overflow:hidden;
  padding:clamp(44px,9vw,72px) clamp(20px,4.5vw,40px);
  background:linear-gradient(165deg, rgba(42,54,90,.50), rgba(15,21,40,.72));
  border:1px solid rgba(231,214,172,.30);
  box-shadow:0 36px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(231,214,172,.16),
    0 0 80px rgba(189,154,82,.14);}
/* faint warm paper grain in cream/gold */
.lyrics-panel::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.10;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' fill='%23E7D6AC'/%3E%3C/svg%3E");}
/* soft warm inner glow */
.lyrics-panel::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 0%, rgba(231,214,172,.12), transparent 58%);}
.lyrics-panel .corner{position:absolute;width:24px;height:24px;border:1px solid var(--gold);
  opacity:.75;filter:drop-shadow(0 0 6px rgba(189,154,82,.5));z-index:1}
.lyrics-panel .corner.tl{top:16px;left:16px;border-right:0;border-bottom:0;border-top-left-radius:5px}
.lyrics-panel .corner.tr{top:16px;right:16px;border-left:0;border-bottom:0;border-top-right-radius:5px}
.lyrics-panel .corner.bl{bottom:16px;left:16px;border-right:0;border-top:0;border-bottom-left-radius:5px}
.lyrics-panel .corner.br{bottom:16px;right:16px;border-left:0;border-top:0;border-bottom-right-radius:5px}
.lyrics{position:relative;z-index:1;text-align:center;font-family:'Cormorant Garamond',serif;
  font-size:clamp(20px,5.4vw,27px);line-height:1.9;font-weight:400;font-style:italic;color:var(--cream);
  letter-spacing:.012em;max-width:40ch;margin:0 auto;
  text-shadow:0 1px 30px rgba(189,154,82,.15)}
.lyrics .stanza{margin:0}
.lyrics .stanza.chorus{color:var(--gold-light);text-shadow:0 1px 26px rgba(189,154,82,.45)}
.lyrics .stanza.signature{font-size:.74em;color:var(--gold-soft);font-style:italic;
  letter-spacing:.06em;margin-top:.2em}
/* ornamental gold diamond between stanzas */
.lyric-div{display:block;width:8px;height:8px;transform:rotate(45deg);
  background:var(--gold-light);box-shadow:0 0 14px rgba(231,214,172,.75);
  margin:clamp(26px,5.5vw,42px) auto}

/* ---------- GALLERY ---------- */
.gallery{display:grid;gap:14px;margin:0 auto;max-width:680px}
.gallery .tile{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;
  border:1px solid rgba(231,214,172,.28);
  box-shadow:0 18px 44px rgba(0,0,0,.42),0 0 0 1px rgba(189,154,82,.10),inset 0 0 40px rgba(189,154,82,.06);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease);min-width:0;min-height:0}
/* warm framing + gentle bottom vignette so it reads as a treasured collage */
.gallery .tile::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(231,214,172,.20);
  background:linear-gradient(180deg,transparent 58%,rgba(8,11,22,.34))}
.gallery .tile:hover{transform:translateY(-6px);
  box-shadow:0 28px 62px rgba(0,0,0,.5),0 0 36px rgba(189,154,82,.28)}
.gallery .tile .ph .lbl{font-size:9px}
.gallery .tile .real-img,.gallery .tile .ph{border-radius:14px}
/* count-adaptive layouts - look balanced from 1 to 5 photos */
.gallery[data-count="1"]{grid-template-columns:1fr;max-width:460px;
  grid-template-rows:clamp(280px,72vw,460px);grid-template-areas:"a"}
.gallery[data-count="2"]{grid-template-columns:1fr 1fr;
  grid-template-rows:clamp(200px,52vw,360px);grid-template-areas:"a b"}
.gallery[data-count="3"]{grid-template-columns:1fr 1fr;
  grid-template-rows:clamp(170px,40vw,280px) clamp(150px,34vw,220px);
  grid-template-areas:"a a" "b c"}
.gallery[data-count="4"]{grid-template-columns:1fr 1fr;
  grid-template-rows:repeat(2,clamp(150px,34vw,220px));
  grid-template-areas:"a b" "c d"}
.gallery[data-count="5"]{grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(3,clamp(116px,21vw,165px));
  grid-template-areas:"a a b b" "a a c c" "d d e e"}
.gallery .tile:nth-child(1){grid-area:a}
.gallery .tile:nth-child(2){grid-area:b}
.gallery .tile:nth-child(3){grid-area:c}
.gallery .tile:nth-child(4){grid-area:d}
.gallery .tile:nth-child(5){grid-area:e}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(6,9,18,.94);
  display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;
  visibility:hidden;transition:opacity .4s var(--ease);backdrop-filter:blur(4px)}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:100%;max-height:86vh;border-radius:10px;
  box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 0 1px rgba(231,214,172,.3);
  transform:scale(.96);transition:transform .5s var(--ease)}
.lightbox.open img{transform:scale(1)}
.lightbox .close{position:absolute;top:20px;right:22px;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(231,214,172,.4);background:rgba(20,29,53,.6);color:var(--gold-light);
  cursor:pointer;display:grid;place-items:center}

/* ---------- VIDEO ---------- */
.video-frame{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;
  border:1px solid rgba(231,214,172,.3);
  box-shadow:0 36px 80px rgba(0,0,0,.5),0 0 60px rgba(189,154,82,.1)}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
/* play overlay sits above the thumbnail image */
.video-play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;cursor:pointer;
  background:radial-gradient(closest-side at 50% 50%, rgba(8,11,22,.30), transparent 60%),
    linear-gradient(180deg, rgba(8,11,22,.18), rgba(8,11,22,.36));
  transition:background .4s var(--ease)}
.video-frame:hover .video-play{background:radial-gradient(closest-side at 50% 50%, rgba(8,11,22,.22), transparent 62%),
    linear-gradient(180deg, rgba(8,11,22,.10), rgba(8,11,22,.28))}
.video-frame .play-ring{width:54px;height:54px;border-radius:50%;
  border:1px solid rgba(231,214,172,.7);display:grid;place-items:center;color:var(--gold-light);
  background:rgba(20,29,53,.42);backdrop-filter:blur(2px);
  box-shadow:0 0 34px rgba(189,154,82,.4),inset 0 0 18px rgba(231,214,172,.16);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.video-frame:hover .play-ring{transform:scale(1.07);box-shadow:0 0 44px rgba(231,214,172,.5)}
.video-frame .play-ring svg{width:21px;height:21px;margin-left:2px}

/* ---------- CLOSING ---------- */
.closing{text-align:center;padding:14vh 0 11vh}
.closing h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-style:italic;
  font-size:clamp(30px,8vw,48px);color:var(--cream);line-height:1.18;margin-bottom:10px;
  text-shadow:0 2px 40px rgba(189,154,82,.3)}
.closing .for{font-family:'Mulish';font-size:12px;letter-spacing:.36em;text-transform:uppercase;
  color:var(--gold-soft);margin-bottom:48px}
.closing .for b{color:var(--gold-light);font-weight:700}
.share{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:56px}
.share a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  cursor:pointer;text-decoration:none;color:var(--gold-light);
  background:radial-gradient(circle at 35% 30%, rgba(45,58,96,.9), rgba(16,23,44,.95));
  border:1px solid rgba(231,214,172,.32);transition:.35s var(--ease);
  box-shadow:0 8px 22px rgba(0,0,0,.4)}
.share a:hover{transform:translateY(-3px);color:#1a2238;
  background:radial-gradient(circle at 35% 30%, #f2e3bd, var(--gold) 65%);
  box-shadow:0 12px 30px rgba(189,154,82,.45),0 0 28px rgba(231,214,172,.4)}
.share a svg{width:21px;height:21px}
.credit{font-family:'Mulish';font-size:11px;letter-spacing:.12em;color:rgba(231,214,172,.45)}
.credit a{color:var(--gold-soft);text-decoration:none;border-bottom:1px solid rgba(189,154,82,.3)}
.credit a:hover{color:var(--gold-light)}
.credit .heart{color:var(--rose)}

.toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);
  background:rgba(20,29,53,.92);color:var(--gold-light);padding:12px 22px;border-radius:40px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(231,214,172,.3);
  opacity:0;visibility:hidden;transition:.4s var(--ease);z-index:70;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

@media (max-width:768px){
  /* tighten vertical rhythm on mobile only - sections felt too stretched */
  .sec{padding:6vh 0}
  .sec-head{margin-bottom:28px}
  .closing{padding:8vh 0 7vh}
  .hero{padding:10vh 26px 11vh}
}
@media (max-width:480px){
  .wrap{padding:0 20px}
  .letter{padding:38px 26px}
  .player{padding:28px 20px 26px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important}
  .reveal{opacity:1 !important;transform:none !important}
  .bg-glow,.cover,.cover-stage::before{animation:none !important}
  .scrollcue .ch{animation:none}
  .hero .eyebrow,.hero h1,.hero .sub,.cover-stage,.scrollcue{opacity:1 !important;animation:none !important}
}

/* personal message: rich-text variant (WordPress) - mirrors .letter p */
.letter .msg{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,5.4vw,25px);line-height:1.55;font-weight:400;font-style:italic;color:#3a4869;text-align:center;white-space:pre-line}
.letter .msg p{margin:0 0 .7em}
.letter .msg p:last-child{margin:0}
.letter .msg em,.letter .msg i{font-style:normal}
.letter .msg strong,.letter .msg b{color:#2b3754}

/* public-sample section: shown only when a gift is flagged as the public example.
   Real private gifts never render this, so they stay clean and intimate. */
.sample-note{max-width:42ch;margin:0 auto 22px;
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:clamp(16px,3.6vw,19px);line-height:1.55;
  color:rgba(231,214,172,.72);letter-spacing:.01em}

.sample-cta-wrap{text-align:center;margin-bottom:44px}
/* brand gold pill: solid gold background, navy text, darkens on hover.
   Colour forced with !important so no global/plugin link rule can hide it. */
.sample-cta,
.sample-cta:link,
.sample-cta:visited,
.sample-cta:hover,
.sample-cta:focus{color:#1E2A4A !important;text-decoration:none}
.sample-cta{display:inline-flex;align-items:center;justify-content:center;gap:11px;
  font-family:'Mulish',system-ui,sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;
  padding:15px 32px;border-radius:999px;
  background:var(--gold);
  box-shadow:0 14px 36px -12px rgba(189,154,82,.7);
  transition:background .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.sample-cta:hover{background:#9C7C39;transform:translateY(-2px);
  box-shadow:0 18px 42px -12px rgba(156,124,57,.75)}
.sample-cta svg{width:17px;height:17px;color:#1E2A4A;stroke:#1E2A4A;flex:none}
