:root {
  --p-bg:#f7f3ec; --p-surface:#ede6da; --p-ink:#2a2622; --p-muted:#665e55;
  --p-accent:#7a4a2c; --p-accent-ink:#fff; --p-action:#7a4a2c; --p-action-ink:#fff;
  --p-inv-bg:#2a2622; --p-inv-surface:#36322e; --p-inv-ink:#f7f3ec; --p-inv-muted:#a29e98;
  --p-inv-accent:#f7f3ec; --p-inv-accent-ink:#2a2622; --p-inv-action:#f7f3ec; --p-inv-action-ink:#2a2622;
  --font-display:"Cormorant Garamond",Georgia,serif;
  --font-text:"Manrope",system-ui,sans-serif;
  --display-weight:500; --display-tracking:-.028em; --display-tracking-xl:-.045em;
  --ly-scale:1.06;
  --line:#d7cbbd; --cream:#fffcf6; --wine:#643139; --olive:#4a5339;
  --header-h:76px;
}
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none!important; }
html { color-scheme:light; scroll-behavior:smooth; }
body { margin:0; background:var(--p-bg); color:var(--p-ink); font:500 16px/1.57 var(--font-text); }
p,ul,ol,blockquote,figure,h1,h2,h3 { margin:0; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:default; }
:focus-visible { outline:2px solid var(--wine); outline-offset:4px; }
img { display:block; max-width:100%; }
h1,h2,h3 { font-family:var(--font-display); font-weight:600; line-height:.99; letter-spacing:-.032em; }
.wrap { width:min(calc(100% - 112px),1280px); max-width:none; padding-inline:0; margin-inline:auto; }
.section { min-height:calc(var(--h,1) * 100svh); padding:clamp(56px,8vh,94px) 0; display:block; border-top:1px solid var(--line); }
section[id] { scroll-margin-top:0; }
.section-head { margin:0 0 34px; }
.section-head h2,.process-section h2 { color:var(--p-ink); font-size:clamp(46px,5.55vw,86px); }
.section-head p { color:var(--p-muted); max-width:62ch; margin-top:12px; }
.split-heading { display:flex; justify-content:space-between; align-items:end; gap:18px; }
.edition,.eyebrow,.invite-small,.caps { font:800 10px/1.4 var(--font-text); letter-spacing:.15em; text-transform:uppercase; }
.edition { color:var(--p-accent); padding:6px 0; white-space:nowrap; }
.quiet { color:var(--p-muted); font-size:13px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { z-index:30; }
.btn { min-height:48px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:10px 17px; font:800 13px/1.28 var(--font-text); white-space:normal; text-align:center; text-decoration:none; border:1px solid transparent; }
.btn--primary { background:var(--p-action); color:var(--p-action-ink); border-color:var(--p-action); }
.btn--primary:hover { background:#653b23; }
.btn--secondary { background:var(--p-surface); color:var(--p-ink); border-color:var(--line); }
.btn--secondary:hover { background:#e3d7c7; }
.btn:active,.text-action:active { transform:translateY(1px); }
.site-header { min-height:var(--header-h); border-bottom:1px solid var(--line); position:relative; z-index:3; }
.header-wrap { min-height:var(--header-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:22px; }
.wordmark { width:max-content; min-height:44px; display:inline-flex; align-items:center; gap:9px; font:700 35px/.9 var(--font-display); letter-spacing:-.06em; text-decoration:none; }
.brand-ring { width:23px; height:22px; display:inline-block; position:relative; flex:none; color:var(--p-accent); }
.brand-ring::before,.brand-ring::after { content:""; width:15px; height:15px; border:1px solid; border-radius:50%; position:absolute; top:3px; left:0; }
.brand-ring::after { left:7px; }
.main-nav { display:flex; gap:clamp(15px,2.5vw,34px); }
.main-nav a,.footer-main nav a { min-height:44px; display:flex; align-items:center; font-size:13px; font-weight:750; white-space:nowrap; text-decoration:none; }
.main-nav a:hover,.footer-main nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.header-order { justify-self:end; }
.menu-toggle { display:none; }
.hero.hero--split { min-height:calc(100svh - var(--header-h)); height:auto; padding:38px 0 50px; display:block; }
.hero-wrap { min-height:calc(100svh - var(--header-h) - 88px); display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1fr); align-items:stretch; gap:clamp(44px,6vw,104px); }
.hero-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; }
.hero-copy .eyebrow { color:var(--p-accent); font-size:11px; margin-bottom:24px; }
.hero h1 { max-width:9.3em; font-size:clamp(59px,7.1vw,109px); line-height:.85; letter-spacing:-.052em; }
.hero .hero-lead { color:var(--p-muted); font-size:clamp(16px,1.4vw,19px); line-height:1.63; max-width:38ch; margin:25px 0 24px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:9px; margin:0; }
.hero-actions .btn { min-height:51px; }
.hero-index { display:flex; flex-wrap:wrap; gap:13px; border-top:1px solid var(--line); margin-top:34px; padding-top:13px; color:var(--p-muted); font-size:12px; font-weight:800; }
.hero-index span+span::before { content:""; display:inline-block; width:4px; height:4px; vertical-align:middle; border-radius:50%; margin-right:13px; background:var(--p-accent); }
.hero-art { position:relative; overflow:hidden; border-radius:8px; isolation:isolate; min-height:515px; background:#7f684d; }
.hero-image { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:50% 52%; }
.hero-invite { position:absolute; inset:auto 24px 24px auto; width:min(59%,279px); min-height:157px; display:grid; gap:8px; padding:19px 19px 12px; text-align:center; border:1px solid #d5c6b3; color:var(--wine); border-radius:5px; background:#f8f0df; box-shadow:0 8px 28px #20130e33; transition:transform .2s ease; }
.hero-invite:hover { transform:translateY(-2px); }
.invite-script { font:italic 600 clamp(30px,3vw,52px)/.9 var(--font-display); letter-spacing:-.045em; }
.invite-last { display:grid; grid-template-columns:1fr 18px; border-top:1px solid #ab7e7e75; padding-top:9px; text-align:left; }
.invite-last span { font-size:15px; line-height:1; text-align:right; }
.catalog-section { background:var(--cream); }
.filter-bar { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:23px; }
.filter { min-height:44px; padding:7px 15px; border:1px solid var(--line); border-radius:5px; background:var(--p-bg); color:var(--p-ink); font-size:13px; font-weight:800; transition:background .18s; }
.filter:hover { background:var(--p-surface); }
.filter[aria-pressed=true] { border-color:var(--p-accent); background:var(--p-accent); color:white; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px 18px; }
.sample-card { min-width:0; border:1px solid var(--line); border-radius:8px; background:var(--p-bg); overflow:hidden; }
.sample-view { width:100%; border:0; display:grid; place-items:center; min-height:245px; padding:24px; background:var(--mat,#e5d6c7); position:relative; overflow:hidden; }
.sample-view:focus-visible { outline-offset:-4px; }
.sample-view .cover { width:min(72%,210px); height:220px; transition:transform .2s; box-shadow:0 9px 25px #21150c36; }
.sample-view:hover .cover { transform:scale(1.028); }
.sample-open { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:40px; height:40px; border-radius:5px; background:var(--cream); color:var(--p-ink); font-size:20px; }
.sample-body { padding:14px 16px 10px; }
.sample-meta { display:flex; justify-content:space-between; align-items:center; gap:5px; font-size:11px; font-weight:800; color:var(--p-muted); }
.sample-body h3 { margin:6px 0 2px; font-size:clamp(30px,3.2vw,42px); }
.text-action { width:fit-content; min-height:44px; display:inline-flex; align-items:center; gap:9px; color:var(--p-accent); font-size:13px; font-weight:800; text-align:left; padding:0; border:0; background:transparent; }
.text-action:hover { text-decoration:underline; text-underline-offset:4px; }
.show-all { margin-top:24px; }
.cover { position:relative; isolation:isolate; display:grid; align-content:center; justify-items:center; gap:10px; text-align:center; overflow:hidden; min-width:0; background:var(--cover,#7a3e4a); color:var(--cover-ink,#fff7e9); padding:20px 13px; }
.cover::after { content:""; position:absolute; inset:9px; border:1px solid currentColor; opacity:.5; pointer-events:none; }
.cover > img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.cover.has-photo::before { content:""; position:absolute; z-index:-1; inset:0; background:#2118127a; }
.cover .caps { font-size:8px; letter-spacing:.13em; line-height:1.45; }
.cover strong { font:600 clamp(31px,3.1vw,45px)/.86 var(--font-display); max-width:100%; letter-spacing:-.04em; overflow-wrap:anywhere; }
.cover b { display:block; font:italic 500 20px/.95 var(--font-display); }
.tone-noir { --mat:#d9d4cb; --cover:#3b3732; }
.tone-garden { --mat:#dbe1d0; --cover:#eef0df; --cover-ink:#3b4831; }
.tone-garden .cover::after,.cover.tone-garden::after,.tone-light .cover::after { border-radius:50% 50% 0 0 / 24% 24% 0 0; }
.tone-wine { --mat:#e3ccd0; --cover:#692e41; }
.tone-cake { --mat:#ecd6c5; --cover:#584035; }
.tone-party { --mat:#f1d9b5; --cover:#d8aa61; --cover-ink:#362416; }
.tone-rose { --mat:#e8cdd0; --cover:#f4e1db; --cover-ink:#663443; }
.tone-light { --mat:#ded5c7; --cover:#eee5cc; --cover-ink:#544534; }
.tone-blue { --mat:#cbdce1; --cover:#dce9e9; --cover-ink:#274655; }
.tone-business { --mat:#cfd4ca; --cover:#364238; }
.tone-studio { --mat:#e1d2b8; --cover:#efdcac; --cover-ink:#4f3526; }
.price-section,.materials-section { background:var(--p-surface); }
.plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.plan { display:flex; flex-direction:column; min-height:400px; padding:21px; border:1px solid var(--line); border-radius:8px; background:var(--cream); min-width:0; }
.plan.plan-featured { background:#f3e4db; border-color:#b8917b; }
.plan .eyebrow { color:var(--p-accent); }
.plan h3 { font-size:clamp(25px,2.7vw,41px); margin:11px 0 7px; overflow-wrap:anywhere; }
.plan .price { font:700 clamp(29px,3vw,42px)/1 var(--font-display); letter-spacing:-.03em; }
.plan .plain-list { margin:15px 0 19px; flex:1; }
.plain-list { list-style:none; padding:0; }
.plain-list li { position:relative; padding:7px 0 7px 16px; border-bottom:1px solid var(--line); font-size:14px; color:var(--p-muted); }
.plain-list li::before { content:""; position:absolute; width:4px; height:4px; background:var(--p-accent); border-radius:50%; top:16px; left:1px; }
.service-list,.faq-list { border-top:1px solid var(--line); }
.service-list details,.faq-list details,.booking-form details { border-bottom:1px solid var(--line); }
summary { min-height:54px; display:flex; align-items:center; gap:12px; justify-content:space-between; list-style:none; cursor:pointer; font-weight:800; padding:12px 0; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; flex:none; font:500 24px/1 var(--font-display); color:var(--p-accent); }
details[open]>summary::after { content:"−"; }
.service-group > summary { min-height:62px; }
.service-group > summary strong { font:600 30px/.97 var(--font-display); }
.service-group > summary small { margin-left:auto; font-size:12px; color:var(--p-muted); }
.service-items { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; padding:0 0 18px; }
.service-item { display:flex; min-height:53px; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); font-size:14px; }
.service-item > span { padding-block:8px; }
.service-item small { display:block; color:var(--p-muted); }
.add-button { min-height:44px; flex:none; border:0; background:none; color:var(--p-accent); padding:7px 5px; font-weight:800; }
.add-button:hover { text-decoration:underline; text-underline-offset:4px; }
.add-button[aria-pressed=true] { color:var(--olive); }
.print-section { background:var(--cream); }
.editorial-grid { display:grid; grid-template-columns:.78fr 1fr; gap:clamp(26px,6vw,100px); align-items:center; min-height:calc(100svh - 160px); }
.editorial-grid .plain-list { margin:20px 0 22px; max-width:40ch; }
.print-photo { min-height:480px; height:100%; max-height:660px; border-radius:8px; overflow:hidden; background:var(--p-surface); }
.print-photo img { width:100%; height:100%; object-fit:cover; }
.guest-workbench,.materials-grid,.faq-grid,.order-grid { display:grid; gap:clamp(16px,4vw,52px); grid-template-columns:minmax(0,.72fr) minmax(0,1fr); }
.guest-workbench { align-items:center; padding:22px; background:var(--cream); border:1px solid var(--line); border-radius:8px; }
.guest-explainer h3,.materials-grid h3,.quote h3 { font-size:clamp(33px,4vw,48px); }
.guest-explainer p { margin:9px 0 16px; color:var(--p-muted); }
.guest-table { min-width:0; background:var(--p-bg); border:1px solid var(--line); border-radius:6px; }
.table-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px; padding:9px 10px; }
.table-head .btn { min-height:44px; }
.guest-table table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:13px; }
.guest-table td,.guest-table th { padding:8px 10px; border-top:1px solid var(--line); text-align:left; overflow-wrap:anywhere; }
.guest-table th:first-child { width:33%; }
.guest-table th { color:var(--p-muted); }
.table-foot { padding:8px 10px; font-size:12px; color:var(--p-muted); border-top:1px solid var(--line); }
.extra-services { display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:19px; }
.materials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.text-samples,.audio-samples { padding:24px; border:1px solid var(--line); background:var(--cream); border-radius:8px; }
.text-samples label { margin-top:15px; display:block; font-size:13px; font-weight:800; }
select,input:not([type=checkbox]):not([type=radio]),textarea { max-width:100%; width:100%; min-width:0; min-height:46px; padding:8px 10px; color:var(--p-ink); background:var(--cream); border:1px solid #bcb09f; border-radius:5px; font-size:16px; font-weight:550; }
.text-samples select { margin:4px 0 10px; }
blockquote { min-height:105px; padding:10px 0 10px 13px; border-left:1px solid var(--p-accent); color:var(--p-muted); font-size:15px; margin:6px 0 14px; }
.tracks { display:grid; gap:13px; margin:16px 0 10px; }
.track { display:grid; grid-template-columns:1fr auto; gap:2px 10px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.track strong { font-size:15px; }
.track span { color:var(--p-muted); font-size:12px; }
.track audio { grid-column:1/-1; width:100%; height:41px; }
.process-section { background:var(--cream); }
.process-section .mo-pc__grid { min-height:calc(100svh - 135px); }
.process-section .mo-pc__step h3 { font-size:clamp(29px,3.1vw,46px); }
.faq-grid { grid-template-columns:minmax(0,.86fr) minmax(0,1fr); }
.faq-list details p { color:var(--p-muted); padding-bottom:16px; }
.order-section { background:var(--p-surface); }
.order-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:start; }
.booking-form,.quote { padding:clamp(17px,3vw,32px); background:var(--cream); border:1px solid var(--line); border-radius:8px; min-width:0; }
.booking-form .fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.fields label { display:grid; align-content:start; gap:4px; font-size:13px; font-weight:800; min-width:0; }
.fields .field-wide { grid-column:1/-1; }
.booking-form details { margin-top:13px; border-top:1px solid var(--line); }
.booking-form .quiet { margin-top:13px; }
.order-options { display:grid; gap:4px; padding-bottom:12px; }
.order-option { display:grid; grid-template-columns:18px 1fr auto; align-items:center; gap:7px; min-height:44px; font-size:13px; border-bottom:1px solid var(--line); }
.order-option input,.family-controls input { accent-color:var(--p-accent); width:17px; height:17px; }
.order-option small { color:var(--p-muted); text-align:right; }
.quote-lines { list-style:none; padding:0; margin:11px 0 14px; }
.quote-lines li { padding:7px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:8px; font-size:13px; }
.quote-lines li strong { white-space:nowrap; }
.quote-total { display:flex; justify-content:space-between; align-items:center; gap:8px; font-weight:800; padding:8px 0 15px; }
.quote-total strong { font:700 clamp(31px,4vw,48px)/1 var(--font-display); color:var(--p-accent); }
.quote .btn { width:100%; }
.quote .quiet { margin-top:8px; }
.site-footer { border-top:1px solid var(--line); padding:29px 0 14px; }
.footer-main,.footer-legal { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 27px; }
.footer-main nav { display:flex; flex-wrap:wrap; gap:8px 21px; }
.footer-main p,.footer-legal { color:var(--p-muted); font-size:13px; }
.footer-legal { margin-top:20px; border-top:1px solid var(--line); padding-top:5px; }
.footer-legal a { min-height:44px; display:inline-flex; align-items:center; }
.preview-dialog { width:min(calc(100% - 26px),600px); max-height:91dvh; border:1px solid var(--line); border-radius:9px; padding:0; background:var(--cream); color:var(--p-ink); overscroll-behavior:contain; }
.preview-dialog::backdrop { background:#241b14bd; }
body:has(.preview-dialog[open]) { overflow:hidden; }
.dialog-bar { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; padding:5px 11px 5px 16px; border-bottom:1px solid var(--line); background:var(--cream); }
.dialog-bar .eyebrow { color:var(--p-accent); }
.icon-button { min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:5px; background:var(--p-bg); color:var(--p-ink); font-size:25px; line-height:1; }
.preview-cover .cover { min-height:330px; }
.preview-cover .cover strong { font-size:clamp(49px,9vw,82px); }
.preview-detail { padding:clamp(17px,5vw,32px); }
.preview-detail h2 { font-size:clamp(36px,8vw,58px); margin-bottom:10px; }
.preview-detail h3 { margin:22px 0 9px; font-size:32px; }
.preview-detail p { color:var(--p-muted); }
.preview-detail dl { margin:0; }
.preview-detail dl div { display:grid; grid-template-columns:57px 1fr; gap:9px; padding:7px 0; border-bottom:1px solid var(--line); }
.preview-detail dt { color:var(--p-accent); font-weight:800; }
.preview-detail dd { margin:0; }
.preview-detail .btn-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.family-controls { margin:10px 0; display:grid; gap:10px; }
.family-person { padding:9px 10px 11px; border:1px solid var(--line); border-radius:6px; }
.family-person legend { font-weight:800; padding:0 5px; }
.family-person label { min-height:44px; display:flex; gap:6px; align-items:center; }
.family-person label:has(select) { display:grid; grid-template-columns:78px 1fr; }
.preview-closed-note { margin-top:7px; font-size:12px; }
.noscript { margin:10px; }
.credits-page { padding:65px 0; }
.credits-page h1 { font-size:clamp(45px,7vw,85px); margin:13px 0; }
.credits-page li { margin:10px 0; }
@media(max-width:1120px) {
  .wrap { width:calc(100% - 72px); }
  .hero-wrap { gap:40px; }
  .plan { padding:16px; }
}
@media(max-width:890px) {
  :root { --header-h:67px; }
  .wrap { width:calc(100% - 48px); }
  .header-wrap { gap:12px; grid-template-columns:1fr auto auto; }
  .main-nav { display:none; }
  .main-nav.is-open { position:absolute; inset:var(--header-h) 0 auto; background:var(--cream); display:grid; gap:3px; padding:12px 24px 18px; border-bottom:1px solid var(--line); box-shadow:0 18px 25px #32291b22; }
  .menu-toggle { width:44px; height:44px; display:grid; place-content:center; gap:5px; border:1px solid var(--line); border-radius:6px; background:var(--cream); color:var(--p-ink); }
  .menu-toggle span { width:18px; height:1px; background:currentColor; }
  .hero h1 { font-size:clamp(47px,8vw,75px); }
  .hero-art { min-height:430px; }
  .hero-invite { inset:auto 12px 12px auto; width:66%; min-height:123px; padding:12px; }
  .catalog-grid,.plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .print-photo { min-height:380px; }
}
@media(max-width:660px) {
  .wrap { width:calc(100% - 40px); }
  .section { padding:50px 0; min-height:100svh; }
  .site-header .wordmark { font-size:29px; gap:6px; }
  .header-order { padding-inline:9px; font-size:11px; min-height:44px; }
  .hero.hero--split { min-height:calc(100svh - var(--header-h)); padding:24px 0; }
  .hero-wrap { min-height:calc(100svh - var(--header-h) - 48px); grid-template-columns:1fr; grid-template-rows:auto minmax(220px,1fr); gap:18px; }
  .hero-copy .eyebrow { margin-bottom:12px; }
  .hero h1 { font-size:clamp(44px,12.9vw,65px); }
  .hero .hero-lead { margin:14px 0; line-height:1.5; }
  .hero-actions { gap:7px; }
  .hero-actions .btn { min-height:44px; padding:9px 10px; font-size:12px; flex:1 1 42%; }
  .hero-index { margin-top:14px; padding-top:9px; font-size:11px; }
  .hero-art { min-height:220px; }
  .hero-image { object-position:50% 45%; }
  .hero-invite { width:min(59%,190px); min-height:99px; gap:4px; padding:9px; }
  .invite-small { font-size:7px; }
  .invite-script { font-size:29px; }
  .invite-last { padding-top:4px; }
  .section-head { margin-bottom:19px; }
  .split-heading { display:block; }
  .section-head h2,.process-section h2 { font-size:clamp(43px,11vw,65px); }
  .edition { display:block; white-space:normal; margin-top:5px; }
  .filter-bar { gap:6px; }
  .filter { padding-inline:10px; font-size:12px; }
  .catalog-grid,.plan-grid,.editorial-grid,.guest-workbench,.materials-grid,.faq-grid,.order-grid,.service-items { grid-template-columns:1fr; }
  .plan { min-height:auto; }
  .sample-view { min-height:220px; }
  .sample-view .cover { height:190px; }
  .editorial-grid { min-height:0; }
  .print-photo { min-height:0; height:auto; aspect-ratio:1.23; }
  .guest-workbench,.text-samples,.audio-samples { padding:14px; }
  .guest-table td,.guest-table th { padding:7px 4px; font-size:11px; }
  .table-head { padding-inline:5px; }
  .table-head .eyebrow { font-size:8px; }
  .faq-grid { gap:0; }
  .preview-cover .cover { min-height:265px; }
}
@media(max-width:350px) {
  .wrap { width:calc(100% - 32px); }
  .header-wrap { gap:6px; }
  .site-header .wordmark { font-size:25px; }
  .header-order { font-size:10px; }
  .booking-form .fields { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

.option-count { display:grid; grid-template-columns:1fr 75px; align-items:center; gap:8px; font-size:12px; }

/* The catalog and forms grow when a visitor opens more options. */
main > .section:not([data-moment]) { height:auto; padding:clamp(56px,8vh,94px) 0; }
main > .section:not([data-moment]) > .wrap { height:auto; display:block; }
main > .catalog-section { min-height:100svh; }
main > .hero.hero--split > .hero-wrap { display:grid; height:auto; grid-template-rows:none; }
main > .print-section:not([data-moment]) > .editorial-grid,
main > .faq-section:not([data-moment]) > .faq-grid { display:grid; }
html[data-buttons="tonal"] .btn--secondary { background:#e9dece; border-color:#bbaa95; color:var(--p-ink); }
html[data-buttons="tonal"] .btn--secondary:hover { background:#ded0bd; border-color:#a9937b; }
.sample-view { min-height:310px; }
.sample-view .cover { height:254px; }
.form-status:empty { min-height:0; }
@media(max-width:660px) {
  main > .section:not([data-moment]) { min-height:0; padding:54px 0; }
  main > .hero.hero--split > .hero-wrap { grid-template-rows:auto minmax(220px,1fr); }
  .sample-view { min-height:240px; }
  .sample-view .cover { height:200px; }
  .service-group > summary small { display:none; }
}


:root { --p-muted:#4e483f; }
.site-header.nav { position:absolute; inset:0 0 auto; width:100%; background:var(--p-bg); }
.hero.hero--split { min-height:100svh; padding-top:calc(var(--header-h) + 38px); }
.hero-wrap { gap:24px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.hero-copy { padding-right:clamp(0px,3vw,48px); }
.hero h1 { font-size:clamp(59px,6.9vw,103px); }
.hero-invite:focus-visible { outline-offset:-4px; }
.hero-actions .btn,.table-head .btn,.header-order { min-height:48px; }
.show-all { align-self:start; }
.guest-workbench { align-items:start; background:transparent; border:0; padding:0; border-radius:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.guest-table { background:var(--cream); }
.editorial-grid,.faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.editorial-grid { align-items:start; }
.editorial-grid .section-head { padding-right:clamp(0px,5vw,65px); }
.print-photo { height:auto; min-height:0; aspect-ratio:1.03; }
.order-grid { align-items:stretch; }
.service-list,.faq-list { border-top:0; }
:where(.plan,.sample-body,.guest-explainer,.materials-grid,.quote) h3,
.plan h3,.sample-body h3,.guest-explainer h3,.materials-grid h3,.quote h3 { font-size:clamp(29px,3vw,41px); }
@media(max-width:890px) and (min-width:661px) {
  .hero h1 { font-size:clamp(45px,7.15vw,66px); }
  .hero-copy { padding-right:0; }
}
@media(max-width:660px) {
  .hero.hero--split { padding-top:calc(var(--header-h) + 24px); }
  .hero-wrap,.editorial-grid,.faq-grid,.guest-workbench { grid-template-columns:1fr; }
  .hero-copy,.editorial-grid .section-head { padding-right:0; }
  .hero h1 { font-size:clamp(43px,12.4vw,64px); }
  .hero-art { min-height:230px; }
  .print-photo { aspect-ratio:1.23; }
  .guest-workbench { padding:0; }
}

