/* Presentation only: utility forms and booking-state selectors stay unchanged. */
.utility-page{--utility-paper:#f5f5f3;--utility-line:#d9dce1;--utility-ink:#11151b}
.site-page .utility-page>.section{padding-block:64px}
.site-page .utility-page .card h2{font-size:clamp(30px,3.4vw,44px);line-height:1.08;letter-spacing:-.04em}
.utility-page .utility-step-number{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;background:#e9efff;color:#0046ff;font-size:14px;line-height:1;font-weight:600;letter-spacing:.02em}
.utility-page .utility-event-greeting{font-size:18px;line-height:1.5;color:var(--utility-ink);margin:0}
.utility-page .utility-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0 0 40px}
.utility-page .utility-process li{display:flex;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--utility-line);font-size:17px;line-height:1.4}
.utility-page .utility-process li:nth-child(2) .utility-step-number{background:#dcfaf5;color:#076756}
.utility-page .utility-process li:nth-child(3) .utility-step-number{background:#fff0ed;color:#ac3931}
.utility-page.utility-confirmed .card{gap:22px;padding:clamp(26px,4vw,44px);background:var(--utility-paper)}
.utility-page.utility-confirmed .utility-registration-card{background:#edf2fc}
.utility-page.utility-confirmed .utility-registration-card>.utility-step-number{background:#fff}
.utility-page.utility-confirmed .event-summary{align-self:stretch;gap:20px 24px;margin:0}
.utility-page.utility-confirmed .event-summary div{padding-bottom:20px;border-bottom:1px solid var(--utility-line)}
.utility-page.utility-confirmed .event-summary dt{color:#626975;font-size:13px;font-weight:400}
.utility-page.utility-confirmed .event-summary dd{font-size:18px;color:var(--utility-ink)}
.utility-page.utility-confirmed .utility-reference{margin:0;font-size:14px}
.utility-page.utility-confirmed .utility-actions{margin-top:4px;align-self:stretch;align-items:flex-start}
.utility-page.utility-confirmed .utility-actions .btn{margin-top:0}
.utility-page.utility-confirmed .calendar-card{align-self:stretch;margin-top:10px;padding-top:24px;border-top:1px solid var(--utility-line)}
.utility-page.utility-confirmed .calendar-card h3{font-size:26px}
.utility-page.utility-confirmed .calendar-card p{margin:14px 0 18px}
.utility-page.utility-confirmed .calendar-card [data-cnf="cal"]{display:block;font-size:15px;line-height:1.5;color:#626975}
.utility-page.utility-confirmed .utility-guest-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:clamp(28px,5vw,72px)}
.utility-page.utility-confirmed .utility-guest .form-card{padding:clamp(26px,4vw,44px);background:#f3f7f6}
.utility-page.utility-confirmed .utility-guest .form-card>.utility-step-number{background:#dcfaf5;color:#076756;margin-bottom:24px}
.utility-page.utility-confirmed .utility-guest .form-card h2{font-size:clamp(32px,3.5vw,44px);line-height:1.08}
.utility-page.utility-confirmed .utility-guest-photo{min-width:0}
.utility-page.utility-confirmed .utility-guest-photo figure{margin:0}
.utility-page.utility-confirmed .utility-share .card{background:#fff1ed}
.utility-page.utility-confirmed .utility-share .utility-step-number{background:#fff;color:#ac3931}
.utility-page.utility-confirmed .utility-share .utility-draft-card{background:var(--utility-paper);border:1px solid var(--utility-line)}
.utility-page.utility-confirmed .utility-draft-card h2{font-size:30px}
.utility-page.utility-confirmed .share-draft{margin:0;font-size:18px;line-height:1.7;max-width:100%;color:var(--utility-ink)}
.utility-page.utility-confirmed .utility-draft-card>p{font-size:13px;margin:0}
.utility-page.utility-confirmed .utility-event-day{background:var(--utility-paper)}
.utility-page.utility-confirmed .utility-event-day .prose{max-width:900px}
.utility-page.utility-confirmed .utility-event-day .prose h2{margin:0;font-size:clamp(32px,4vw,48px)}
.utility-page.utility-confirmed .utility-checklist{list-style:none;padding:0;margin:28px 0}
.utility-page.utility-confirmed .utility-checklist li{position:relative;padding:18px 0 18px 28px;margin:0;border-bottom:1px solid var(--utility-line)}
.utility-page.utility-confirmed .utility-checklist li::before{content:'';position:absolute;left:0;top:27px;width:7px;height:7px;background:#0046ff;box-shadow:7px -7px #00e5cc,7px 7px #e8483f}
.utility-library .utility-decks .gate{max-width:100%;padding:clamp(26px,5vw,56px);border:0;background:var(--utility-paper);margin-bottom:64px}
.utility-library .utility-decks .gbar{height:6px;background:#e0e5ed;margin-bottom:20px}
.utility-library .utility-decks .gfill{background:#0046ff}
.utility-library .utility-decks .gcount{font-size:12px;color:#626975;letter-spacing:.02em;margin-bottom:30px;text-transform:none}
.utility-library .utility-decks .gq{max-width:24ch;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.1}
.utility-library .utility-decks .ghelp{max-width:66ch;color:#626975}
.utility-library .utility-decks #gForm{max-width:860px}
.utility-library .utility-decks .opt,.utility-library .utility-decks .chip{border-color:#c5cad2;color:var(--utility-ink);transition:background-color .16s ease,border-color .16s ease}
.utility-library .utility-decks .opt:has(input:checked),.utility-library .utility-decks .chip:has(input:checked),.utility-library .utility-decks .opt.is-sel,.utility-library .utility-decks .chip.is-sel{background:#e9efff;border-color:#0046ff}
.utility-library .utility-decks .opt:focus-within,.utility-library .utility-decks .chip:focus-within{outline:2px solid #0046ff;outline-offset:3px}
.utility-library .utility-decks .scale button{border-color:#c5cad2;color:var(--utility-ink)}
.utility-library .utility-decks .scale button.is-sel{background:#0046ff;color:#fff;border-color:#0046ff}
.utility-library .utility-decks .skip{background:transparent}
.utility-library .utility-decks .sec-label{font-size:14px;letter-spacing:0;text-transform:none;color:#0046ff;margin:0 0 22px}
.utility-library .utility-decks section[aria-label="Available decks"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:deck}
.utility-library .utility-decks .deck{position:relative;display:flex;flex-direction:column;gap:24px;padding:32px;background:#edf2fc;border:0;counter-increment:deck}
.utility-library .utility-decks .deck:nth-child(2){background:#f0f7f5}
.utility-library .utility-decks .deck:nth-child(3){background:#fff1ed}
.utility-library .utility-decks .deck__icon{display:flex;align-items:center;gap:14px;padding:0;border:0;font-size:12px;letter-spacing:.03em}
.utility-library .utility-decks .deck__icon::before{content:counter(deck,decimal-leading-zero);font-size:24px;font-weight:400;letter-spacing:-.03em}
.utility-library .utility-decks .deck__body{display:flex;flex-direction:column;align-items:flex-start;flex:1}
.utility-library .utility-decks .deck__title{font-size:clamp(27px,2.6vw,34px);letter-spacing:-.035em;line-height:1.12;margin-bottom:18px}
.utility-library .utility-decks .deck__meta{font-size:14px;font-weight:400;line-height:1.5;color:#495460;margin-bottom:18px}
.utility-library .utility-decks .deck__blurb{font-size:16px;line-height:1.6;color:#626975;margin-bottom:28px}
.utility-library .utility-decks .deck__foot{flex-direction:column;align-items:flex-start;gap:16px;margin-top:auto}
.utility-library .utility-decks .deck__size{align-self:flex-start;color:#626975;font-size:12px}
.utility-library .utility-decks .fine{margin-top:32px;border-color:var(--utility-line);color:#626975;font-size:14px}
@media(max-width:1000px){
  .utility-page.utility-confirmed .utility-guest-layout{grid-template-columns:1fr}
  .utility-page.utility-confirmed .utility-guest-photo{display:none}
  .utility-library .utility-decks section[aria-label="Available decks"]{grid-template-columns:1fr}
  .utility-library .utility-decks .deck{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px}
  .utility-library .utility-decks .deck__icon{flex-direction:column;align-items:flex-start;gap:8px}
  .utility-library .utility-decks .deck__foot{flex-direction:row;align-items:center;gap:20px}
  .utility-library .utility-decks .deck__size{align-self:center}
}
@media(max-width:700px){
  .site-page .utility-page>.section{padding-block:44px}
  .utility-page .utility-process{grid-template-columns:1fr;gap:0;margin-bottom:28px}
  .utility-page .utility-process li{padding:13px 0;font-size:15px}
  .utility-page .utility-process .utility-step-number{width:34px;height:34px;font-size:12px}
  .utility-library .utility-decks .gate{padding:24px 20px;margin-bottom:44px}
  .utility-library .utility-decks .deck{grid-template-columns:1fr;padding:26px;gap:20px}
  .utility-library .utility-decks .deck__icon{flex-direction:row;align-items:center;gap:14px}
  .utility-library .utility-decks .deck__title{font-size:30px}
  .utility-page.utility-confirmed .card,.utility-page.utility-confirmed .utility-guest .form-card{padding:26px}
  .utility-page.utility-confirmed .utility-actions .btn{width:100%}
  .utility-page.utility-confirmed .utility-event-greeting{font-size:16px}
  .utility-page.utility-confirmed .share-draft{font-size:16px}
}
.guest-slot-form{display:grid;gap:16px;padding-block:22px;border-bottom:1px solid #d9d9d9}
.guest-slot-form h3{font-size:21px;line-height:1.25;margin:0}
.guest-slot-form .field-row{margin:0}
.guest-slot-form .form-status{margin:0}
.guest-slot-form .btn{justify-self:start;max-width:100%;white-space:normal;text-align:center}
[data-guest-registration]>.prose{margin-block:18px}
[data-guest-refresh]{margin-top:20px}
@media(max-width:700px){.guest-slot-form .field-row{display:grid;grid-template-columns:1fr;gap:16px}.guest-slot-form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.utility-library .utility-decks .opt,.utility-library .utility-decks .chip{transition:none}}
