/* Good Reception: home + occasion landing pages (Oct 29, 2026). Same palette and type as the original site. */
:root{--ivory:#F6F1E7;--ivory-2:#EEE7D9;--card:#FBF8F2;--navy:#14203A;--navy-2:#0E172B;--ink:#14203A;--ink-2:#3B4458;--gold:#B08D57;--gold-deep:#7A5C2E;--gold-light:#D4B887;--line:rgba(20,32,58,.14);--on-navy:#F6F1E7;--on-navy-2:rgba(246,241,231,.84);
--display:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;--serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Inter Tight","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--g:clamp(20px,5vw,56px);--max:1180px;--sec:clamp(64px,9vw,128px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:var(--ivory);padding:10px 16px;z-index:100;border-radius:6px}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.narrow{max-width:760px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(246,241,231,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.hdr__in{display:flex;align-items:center;gap:16px;min-height:68px}
.logo img{width:190px;height:auto}
@media (min-width:900px){.logo img{width:230px}}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav__links{display:none;gap:4px;align-items:center}
.nav__links>a,.nav summary{font-size:.95rem;padding:8px 10px;text-decoration:none;border-radius:6px;cursor:pointer;color:var(--ink)}
.nav__links>a:hover,.nav summary:hover{background:var(--ivory-2)}
.nav details{position:relative}
.nav summary{list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:" ▾";font-size:.8em}
.menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;min-width:240px;box-shadow:0 18px 40px rgba(20,32,58,.14)}
.menu a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;font-size:.97rem}
.menu a:hover,.menu a[aria-current=page]{background:var(--ivory-2)}
.mnav summary{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:.95rem}
.mnav summary::after{content:""}
.mnav .menu{min-width:260px;max-height:75vh;overflow:auto}
.mnav .menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
@media (min-width:1040px){.nav__links{display:flex}.mnav{display:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:999px;font:600 1rem/1.2 var(--sans);text-decoration:none;border:1.5px solid transparent;cursor:pointer;text-align:center;white-space:nowrap}
.btn--p{background:var(--navy);color:var(--ivory)}
.btn--p:hover{background:var(--navy-2)}
.btn--g{background:var(--gold-light);color:var(--navy)}
.btn--o{border-color:var(--navy);color:var(--navy);background:transparent}
.btn--o:hover{background:var(--ivory-2)}
.btn--sm{min-height:40px;padding:8px 16px;font-size:.92rem}
.btn--lg{min-height:56px;padding:16px 30px;font-size:1.08rem}
.ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.micro{font-size:.9rem;color:var(--ink-2);margin-top:12px}
.soon{display:none;font-size:.92rem;margin-top:10px;color:var(--gold-deep);font-weight:500}
.is-soon .soon{display:block}
/* type */
.eyebrow{font:600 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px}
.h1{font-family:var(--display);font-weight:500;font-size:clamp(2.3rem,1.5rem + 3.6vw,4.3rem);line-height:1.05;letter-spacing:-.01em}
.h1 em,.h2 em{font-style:italic;color:var(--gold-deep)}
.h2{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,1.3rem + 2.2vw,3rem);line-height:1.1;margin-bottom:18px}
.h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.25;margin-bottom:8px}
.lead{font-size:clamp(1.08rem,1rem + .4vw,1.25rem);color:var(--ink-2);max-width:40em}
.sec{padding:var(--sec) 0}
.sec--alt{background:var(--ivory-2)}
.sec--navy{background:var(--navy);color:var(--on-navy)}
.sec--navy .lead,.sec--navy .micro{color:var(--on-navy-2)}
.sec--navy .eyebrow,.sec--navy .h2 em{color:var(--gold-light)}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.center .ctas{justify-content:center}
/* hero */
.hero{padding:clamp(36px,6vw,84px) 0 clamp(48px,7vw,96px)}
.hero__grid{display:grid;gap:clamp(28px,5vw,64px);align-items:center}
@media (min-width:900px){.hero__grid{grid-template-columns:1.05fr .95fr}}
.hero__sub{font-size:clamp(1.1rem,1rem + .5vw,1.3rem);color:var(--ink-2);margin-top:20px;max-width:34em}
.hero__media img{border-radius:18px;width:100%;aspect-ratio:4/3;object-fit:cover}
.hero__type{border-radius:18px;background:var(--navy);color:var(--on-navy);padding:clamp(28px,4vw,48px);display:grid;gap:14px}
.hero__type q{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1rem + .8vw,1.6rem);line-height:1.4;quotes:"“" "”"}
.hero__type small{color:var(--on-navy-2);font-size:.85rem}
.checks{display:grid;gap:8px;margin-top:22px}
.checks li{position:relative;padding-left:28px}
.checks li::before{content:"";position:absolute;left:2px;top:.45em;width:14px;height:8px;border-left:2px solid var(--gold-deep);border-bottom:2px solid var(--gold-deep);transform:rotate(-45deg)}
.sec--navy .checks li::before{border-color:var(--gold-light)}
/* facts strip */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}
.facts ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.facts li{padding:18px 12px;text-align:center;font-size:.95rem;border-right:1px solid var(--line)}
.facts li:nth-child(2n){border-right:0}
.facts b{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:600}
@media (min-width:800px){.facts ul{grid-template-columns:repeat(4,1fr)}.facts li:nth-child(2n){border-right:1px solid var(--line)}.facts li:last-child{border-right:0}}
/* grids + cards */
.grid{display:grid;gap:20px;margin-top:36px}
@media (min-width:720px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.g4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px}
.sec--alt .card{background:#fff}
.sec--navy .card{background:rgba(255,255,255,.05);border-color:rgba(246,241,231,.18)}
.step__n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--ivory);font:600 1rem var(--sans);margin-bottom:14px}
.card p{color:var(--ink-2)}
.sec--navy .card p{color:var(--on-navy-2)}
/* offer stack */
.stack{margin-top:32px;border:2px solid var(--gold);border-radius:20px;background:var(--card);overflow:hidden}
.stack__head{background:var(--navy);color:var(--on-navy);padding:22px 26px}
.stack__head .h3{margin:0;color:var(--ivory)}
.stack__head p{color:var(--on-navy-2);font-size:.95rem;margin-top:4px}
.stack li{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:16px 26px;border-top:1px solid var(--line)}
.stack li:first-child{border-top:0}
.stack li b{font-weight:600}
.stack li span{color:var(--ink-2);font-size:.95rem;grid-column:1}
.stack li i{font-style:normal;color:var(--gold-deep);font-weight:600;font-size:.92rem;grid-row:1;grid-column:2;text-align:right}
.stack__foot{padding:22px 26px;background:var(--ivory-2);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.stack__price{font-family:var(--serif);font-weight:500;font-size:2.2rem;line-height:1}
.stack__price small{font:500 .95rem var(--sans);color:var(--ink-2);display:block;margin-top:6px}
/* packages */
.pk{display:flex;flex-direction:column;gap:10px}
.pk__name{font-family:var(--serif);font-size:1.3rem;font-weight:600}
.pk__price{font-family:var(--serif);font-weight:500;font-size:2.1rem;line-height:1}
.pk__price small{font:500 .85rem var(--sans);color:var(--ink-2)}
.pk ul{display:grid;gap:6px;font-size:.95rem;color:var(--ink-2);margin:6px 0 10px}
.pk ul li{padding-left:18px;position:relative}
.pk ul li::before{content:"·";position:absolute;left:4px;color:var(--gold-deep);font-weight:700}
.pk .btn{margin-top:auto}
.pk--feat{border:2px solid var(--gold)}
.tag{display:inline-block;font:600 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;background:var(--gold-light);color:var(--navy);padding:6px 10px;border-radius:999px;align-self:flex-start}
.addons{display:grid;gap:0;margin-top:26px;border-top:1px solid var(--line)}
.addons li{display:flex;justify-content:space-between;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line)}
.addons li span{color:var(--ink-2);font-size:.93rem;display:block}
.addons li b{white-space:nowrap}
/* examples */
.prompts li{font-family:var(--serif);font-size:1.15rem;font-style:italic;padding:14px 18px;border-left:3px solid var(--gold);background:var(--card);border-radius:0 10px 10px 0;margin-bottom:10px}
.script{background:var(--navy);color:var(--on-navy);border-radius:16px;padding:26px}
.script p{margin-bottom:14px;font-family:var(--serif);font-size:1.08rem;line-height:1.55}
.script p:last-child{margin-bottom:0}
.script b{font-family:var(--sans);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);display:block;margin-bottom:2px}
.label{display:inline-block;font:600 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;padding:6px 10px;border-radius:999px;margin-bottom:14px;color:var(--gold-deep)}
.script .label{color:var(--gold-light)}
.player{margin-top:18px}
.player audio{width:100%}
.disc{font-size:.85rem;color:var(--ink-2);margin-top:8px}
.script+.disc{margin-top:10px}
/* occasions */
.occ{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;transition:border-color .15s,transform .15s}
.occ:hover{border-color:var(--gold);transform:translateY(-2px)}
.occ b{font-family:var(--serif);font-size:1.25rem;font-weight:600}
.occ span{color:var(--ink-2);font-size:.95rem}
.occ i{font-style:normal;color:var(--gold-deep);font-weight:600;font-size:.9rem;margin-top:auto;padding-top:6px}
/* guarantee */
.promise{display:grid;gap:22px;align-items:center;border:1px solid var(--gold);border-radius:20px;padding:clamp(24px,4vw,44px);background:var(--card)}
@media (min-width:800px){.promise{grid-template-columns:auto 1fr}}
.seal{width:104px;height:104px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;text-align:center;font:600 .74rem/1.25 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);padding:10px}
.fine{font-size:.88rem;color:var(--ink-2);margin-top:10px}
/* faq */
.faq{margin-top:28px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:18px 36px 18px 2px;font-family:var(--serif);font-size:1.18rem;font-weight:500;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:1.5rem;color:var(--gold-deep)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 2px 20px;color:var(--ink-2)}
/* note boxes */
.note{border:1px dashed var(--gold);border-radius:14px;padding:20px 22px;background:var(--card);margin-top:26px}
.note b{display:block;margin-bottom:4px}
/* footer */
.ftr{background:var(--navy-2);color:var(--on-navy-2);padding:56px 0 40px;font-size:.93rem}
.ftr a{color:var(--on-navy);text-decoration:none}
.ftr a:hover{text-decoration:underline}
.ftr__grid{display:grid;gap:28px}
@media (min-width:800px){.ftr__grid{grid-template-columns:1.2fr 1fr 1fr 1fr}}
.ftr h2{font:600 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);margin-bottom:12px}
.ftr li{margin-bottom:8px}
.ftr address{font-style:normal;margin-top:32px;padding-top:20px;border-top:1px solid rgba(246,241,231,.14)}
/* sticky mobile CTA */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(246,241,231,.97);border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between}
.mcta span{font-size:.9rem;color:var(--ink-2)}
.mcta .btn{flex:0 0 auto}
@media (min-width:900px){.mcta{display:none}}
@media (max-width:899px){body{padding-bottom:76px}}
[hidden]{display:none!important}
.pk .btn,.ctas .btn{white-space:normal}
/* v2: Grand Slam offer pieces */
.levers{display:grid;gap:12px;margin-top:26px}
@media (min-width:720px){.levers{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.levers{grid-template-columns:repeat(4,1fr)}}
.levers li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.levers b{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:4px}
.stack li i.v{font-family:Newsreader,Georgia,serif;font-size:1.05rem;color:var(--ink)}
.stack__total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;padding:14px 26px;border-top:2px solid var(--gold);background:var(--ivory);font-weight:600}
.stack__total s{color:var(--ink-2);font-weight:400}
.stack__total strong{font-family:Newsreader,Georgia,serif;font-size:1.25rem}
.guide{display:grid;gap:24px;align-items:start}
@media (min-width:900px){.guide{grid-template-columns:1.1fr 1fr}}
.bridge{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 26px}
.bridge p{margin:0;font-size:1.1rem}
/* v2: tone per occasion (accent palettes; all *-deep values pass 4.5:1 on their ivory) */
.t-wedding{--gold:#B9877A;--gold-deep:#8A4F45;--gold-light:#E9C6BC;--ivory:#F8F1EC;--ivory-2:#F1E4DC;--card:#FCF8F5}
.t-anniv{--gold:#A67C52;--gold-deep:#6E4B2A;--gold-light:#DDBF96;--ivory:#F4EDE1;--ivory-2:#EBE1D0}
.t-baby{--gold:#8FA9B8;--gold-deep:#46677A;--gold-light:#C9DCE5;--ivory:#F5F4F0;--ivory-2:#E9EEEF;--card:#FBFBF9;--navy:#2D4456}
.t-bday{--gold:#E0704F;--gold-deep:#A8432A;--gold-light:#F6B9A3;--ivory:#FBF3EC;--ivory-2:#F6E5D8}
.t-grad{--gold:#D19A2A;--gold-deep:#835A0C;--gold-light:#F2CC74}
.t-reunion{--gold:#2E8C83;--gold-deep:#1D5F59;--gold-light:#93D3CA;--ivory:#F5F3EC;--ivory-2:#E7EEE8}
.t-retire{--gold:#B48A3C;--gold-deep:#76561A;--gold-light:#DEC07F;--navy:#1F3A33;--navy-2:#162A25}
.t-memorial{--gold:#8E9A92;--gold-deep:#4F5D57;--gold-light:#CBD4CE;--ivory:#F3F2EE;--ivory-2:#E8E8E3;--card:#FAFAF8;--navy:#35424A;--navy-2:#2A353B}
.t-memorial .h1 em,.t-memorial .h2 em{font-style:normal}
.t-memorial .btn--p{background:var(--navy)}
.hero__note{margin-top:14px;padding:10px 14px;border-left:3px solid var(--gold);background:var(--card);border-radius:0 10px 10px 0;font-size:1rem;color:var(--ink-2)}
.hero__note b{color:var(--ink)}
/* v3: visual upgrade ladder + Event Phone feature */
.pic{position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--ivory-2)}
.pic img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ill{position:absolute;left:8px;bottom:8px;font:600 .66rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:rgba(20,32,58,.72);color:#fff;padding:5px 8px;border-radius:999px}
.epf{display:grid;gap:22px;align-items:center;margin-top:32px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(14px,3vw,28px)}
@media (min-width:900px){.epf{grid-template-columns:1.25fr 1fr;gap:36px}}
.epf .pic{border-radius:16px}
.ladder{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,82%);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;margin-top:18px;counter-reset:s}
.ladder>li{scroll-snap-align:start;position:relative}
@media (min-width:720px){.ladder{grid-auto-columns:minmax(260px,45%)}}
@media (min-width:1100px){.ladder{grid-auto-flow:row;grid-template-columns:repeat(5,1fr);overflow:visible}.ladder>li:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:30%;color:var(--gold-deep);font-weight:700;z-index:1}}
.ladder--2{grid-auto-flow:row;grid-template-columns:1fr;overflow:visible}
@media (min-width:720px){.ladder--2{grid-template-columns:1fr 1fr}}
.step{font:600 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.ladder .pk__price{font-size:1.7rem}
.ladder__hint{margin-top:30px}
@media (min-width:1100px){.ladder__hint{display:none}}
.addons li{align-items:center}
.addons li>div{flex:1}
.thumb{width:64px;height:48px;object-fit:cover;border-radius:8px;flex:none}
/* v5 readability pass (Oct 29, 2026, Brad t188u): same palette and fonts, easier to read.
   Bodoni Moda at large sizes auto-selects its thinnest-hairline optical size, so headlines read as faint strokes; pin a sturdier
   optical size and weight. Body text up to 18px, small print up to ~16px, slightly darker secondary ink, ~65ch line lengths. */
:root{--ink-2:#2E3648;--gold-deep:#6B4F24}
body{font-size:1.125rem;line-height:1.65;letter-spacing:.005em;text-rendering:optimizeLegibility}
.h1,.h2{font-optical-sizing:none;font-variation-settings:"opsz" 22;font-weight:600;letter-spacing:0}
.h1{line-height:1.1}.h2{line-height:1.15}
.h1 em,.h2 em{font-weight:600}
.h3{font-weight:600}
.lead{font-size:clamp(1.15rem,1.05rem + .4vw,1.3rem);line-height:1.6;max-width:36em}
.hero__sub{font-size:clamp(1.15rem,1.05rem + .45vw,1.32rem);line-height:1.6;max-width:34em}
.narrow{max-width:740px}
.card p,.occ span,.pk ul,.stack li span,.addons li span,.levers li,.faq details p{font-size:1.05rem;line-height:1.6}
.faq details p{font-size:1.08rem}
.facts li{font-size:1rem}
.micro,.mcta span,.stack__head p,.stack__price small,.gr-segs{font-size:1rem;line-height:1.55}
.disc,.fine,.hero__type small{font-size:.95rem;line-height:1.55}
.hero__note{font-size:1.05rem;line-height:1.6}
.eyebrow{font-size:.84rem;letter-spacing:.12em}
.step,.tag,.label{font-size:.78rem}
.levers b{font-size:.84rem}
.script p{font-size:1.15rem;line-height:1.6}
.script b{font-size:.8rem}
.gr-tx p{font-size:1rem!important;line-height:1.6!important}
.prompts li{font-size:1.2rem}
.ftr{font-size:1rem}
.ill{font-size:.72rem;background:rgba(20,32,58,.88)}
.sec--navy .lead,.sec--navy .micro,.sec--navy .card p,.stack__head p,.hero__type small{color:rgba(246,241,231,.92)}
