.qq{--wine:#681633;--wine2:#410d25;--muted:#786973;--edge:#eadde2;--green:#0b9e63;min-height:85vh;padding:38px 16px 90px;background:linear-gradient(160deg,#f9f1f4 0%,#fff 42%,#faf5f6 100%);color:#321a27;font-family:inherit}.qq *{box-sizing:border-box}.qq [hidden]{display:none!important}.qq-shell{width:min(1180px,100%);margin:auto}.qq-bar{display:flex;align-items:center;justify-content:space-between;gap:15px}.qq-home{text-decoration:none;color:var(--wine);font-weight:700;display:inline-flex;align-items:center;gap:8px}.qq-brand{color:var(--wine);font-weight:900;letter-spacing:.3px}.qq-hero{text-align:center;padding:36px 5px 27px}.qq-kicker{display:inline-flex;padding:7px 16px;border-radius:99px;background:#f2e2e9;color:var(--wine);font-size:.85rem;font-weight:800}.qq-hero h1{font-size:clamp(2rem,5vw,3.2rem);color:var(--wine);margin:13px 0 8px;font-weight:850}.qq-hero p{color:var(--muted);margin:0 auto;max-width:560px;line-height:1.7}.qq-progress-wrap{margin:0 auto 20px;padding:21px 25px;border:1px solid var(--edge);background:#fff;border-radius:22px;box-shadow:0 8px 30px #53112b08}.qq-progress-label{display:flex;justify-content:space-between;gap:15px;color:var(--wine);font-weight:800;font-size:.87rem;margin-bottom:12px}.qq-track{background:#f3e8ee;height:9px;border-radius:40px;overflow:hidden}.qq-track span{display:block;background:linear-gradient(90deg,#8a254b,#c26d89);width:33.333%;height:100%;border-radius:40px;transition:width .35s ease}.qq-stages{display:flex;justify-content:space-between;gap:8px;margin-top:13px;font-size:.78rem;color:#94848e}.qq-stages .active{color:var(--wine);font-weight:800}.qq-panel{background:#fff;padding:clamp(18px,4vw,38px);border:1px solid var(--edge);box-shadow:0 14px 50px #5011250c;border-radius:28px}.qq-section-top{text-align:center;margin-bottom:25px}.qq-number{width:43px;height:43px;display:inline-grid;place-items:center;background:#f6e8ee;color:var(--wine);font-weight:850;border-radius:14px}.qq-section-top h2{font-size:clamp(1.4rem,3vw,1.9rem);color:var(--wine);margin:12px 0 7px}.qq-section-top p{margin:0;color:var(--muted)}.qq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:17px}.qq-card{position:relative;display:block;overflow:hidden;border:2px solid #f0e6eb;border-radius:19px;background:#fff;color:#371a29;cursor:pointer;text-align:start;padding:0;box-shadow:0 3px 12px #420b2208;transition:border-color .2s,transform .2s,box-shadow .2s;font:inherit}.qq-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #420b2218}.qq-card:focus-visible,.qq button:focus-visible,.qq a:focus-visible,.qq input:focus-visible,.qq select:focus-visible{outline:3px solid #c66c91;outline-offset:3px}.qq-card[aria-pressed=true]{border-color:var(--wine);box-shadow:0 0 0 2px #6816331a}.qq-card-media{display:block;aspect-ratio:1.7;overflow:hidden;background:linear-gradient(135deg,#e6c7d4,#8b4160);position:relative}.qq-card-media img{height:100%;width:100%;object-fit:cover;display:block}.qq-image-placeholder{display:grid;place-items:center;height:100%;color:#fff;font-size:2.6rem}.qq-card-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:14px;min-height:65px}.qq-card-caption strong{font-size:.95rem}.qq-card-caption i{color:#cfc0c7}.qq-card[aria-pressed=true] .qq-card-caption i{color:var(--wine)}.qq-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.qq-next,.qq-back,.qq-submit,.qq-open-now{border:0;border-radius:15px;font:inherit;font-weight:800;padding:14px 27px;min-height:50px;cursor:pointer}.qq-next{background:var(--wine);color:white;margin-inline-start:auto;display:inline-flex;align-items:center;gap:13px}.qq-next:disabled{opacity:.5;cursor:not-allowed}.qq-back{color:var(--wine);background:#f5e9ee;display:inline-flex;align-items:center;gap:12px}.qq-error{color:#a11930;background:#fff0f1;border:1px solid #f2c8d0;border-radius:12px;padding:12px 15px;margin:16px 0 0;line-height:1.5}.qq-summary{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}.qq-summary span{border-radius:30px;background:#f8eaf0;padding:9px 14px;color:var(--wine);font-size:.87rem;font-weight:700}.qq-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.qq-field{display:flex;flex-direction:column;gap:9px;min-width:0;font-weight:700;color:#4c2b3b}.qq-field>span:first-child{font-size:.92rem}.qq-field input,.qq-field select{width:100%;height:53px;border:1.5px solid #e3d8df;background:#fff;border-radius:13px;padding:0 13px;color:#36212b;font:inherit;min-width:0}.qq-phone{display:flex;direction:ltr;gap:7px}.qq-phone select{width:137px;flex:0 0 137px}.qq-phone input{flex:1}.qq-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:25px;background:linear-gradient(110deg,#08683d,#12c878);color:#fff;font-size:1.03rem;box-shadow:0 9px 20px #0088492d}.qq-submit:disabled{opacity:.5;cursor:not-allowed}.qq-disclaimer{display:block;text-align:center;color:var(--muted);line-height:1.7;margin-top:12px}.qq-overlay{position:fixed;inset:0;z-index:100000;background:#200915b8;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(7px)}.qq-modal{width:min(100%,440px);text-align:center;background:#fff;border-radius:27px;padding:34px 27px;box-shadow:0 25px 80px #15040c75}.qq-modal-icon{display:grid;place-items:center;margin:0 auto 15px;width:72px;height:72px;border-radius:24px;background:#e1f9ec;color:#078a4c;font-size:2rem}.qq-modal h2{margin:0 0 12px;color:var(--wine);font-size:1.5rem}.qq-modal p{line-height:1.8;color:#665963;margin:0 0 18px}.qq-countdown{height:9px;background:#e7ece8;border-radius:99px;overflow:hidden}.qq-countdown>div{height:100%;width:0;background:linear-gradient(90deg,#087e49,#16cf7b);transition:width .2s linear}.qq-countdown+span{display:block;font-size:.9rem;color:var(--muted);margin:12px 0 20px}.qq-open-now{width:100%;background:linear-gradient(105deg,#086f41,#0dbb70);color:white}.qq-cancel{margin-top:13px;border:0;background:transparent;font:inherit;color:var(--muted);cursor:pointer;padding:9px}@media(max-width:650px){.qq{padding:18px 12px 95px}.qq-hero{padding:26px 2px 20px}.qq-progress-wrap{padding:17px}.qq-panel{padding:18px 13px;border-radius:21px}.qq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.qq-card-media{aspect-ratio:1.25}.qq-card-caption{padding:10px;min-height:62px}.qq-card-caption strong{font-size:.85rem}.qq-fields{grid-template-columns:1fr;gap:16px}.qq-next,.qq-back{padding:12px 18px}.qq-bar{font-size:.9rem}}
/* Desktop and tablet use the same Quick Service journey as mobile, with a wider responsive canvas. */
@media (min-width: 1100px) {
  .qq{padding:112px 28px 100px}
  .qq-shell{width:min(1180px,calc(100vw - 56px))}
  .qq-hero{padding:30px 8px 28px}
  .qq-hero p{max-width:690px;font-size:1.02rem}
  .qq-progress-wrap{padding:22px 30px}
  .qq-panel{padding:42px 44px}
  .qq-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .qq-event,.qq-event .qq-card-caption{min-height:112px}
  .qq-card-caption{padding:15px 16px}
  .qq-actions{margin-top:32px}
}
@media (min-width: 651px) and (max-width: 1099px) {
  .qq{padding:104px 22px 90px}
  .qq-shell{width:min(900px,100%)}
  .qq-hero{padding:28px 4px 24px}
  .qq-progress-wrap{padding:20px 22px}
  .qq-panel{padding:30px 26px}
  .qq-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
  .qq-fields{gap:16px}
  .qq-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;text-align:center;gap:6px}
  .qq-stages span{line-height:1.35}
}
@media (min-width: 651px) and (max-width: 760px) {
  .qq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qq-fields{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.qq *{transition:none!important;animation:none!important}}

/* Text-only event types. Category cards retain their images. */
.qq-event{display:flex;align-items:center;min-height:104px;background:linear-gradient(145deg,#fff 0%,#fcf6f8 100%);}
.qq-event .qq-card-caption{width:100%;min-height:104px;padding:18px 20px;gap:14px;}
.qq-event .qq-card-caption strong{font-size:1.04rem;line-height:1.55;overflow-wrap:anywhere;}
.qq-event .qq-card-caption i{font-size:1.15rem;flex-shrink:0;}
.qq-event[aria-pressed=true]{background:linear-gradient(135deg,#f7e7ee,#fff);}
@media(max-width:650px){.qq-event,.qq-event .qq-card-caption{min-height:88px}.qq-event .qq-card-caption{padding:14px 12px}.qq-event .qq-card-caption strong{font-size:.95rem}}

/* Invitation choices and separate Card Studio sample covers. */
.qq-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:660px;margin:20px auto 26px}
.qq-choice button{font:inherit;font-weight:800;border:2px solid #e8d9e0;border-radius:17px;background:#fff;color:#681633;padding:19px 13px;cursor:pointer;min-height:65px}
.qq-choice button[aria-pressed=true]{border-color:#681633;background:#f8e8ef;box-shadow:0 0 0 2px #68163314}
.qq-templates{margin-top:20px}.qq-template-cover{aspect-ratio:3/4;background:#f4e8ed}.qq-template-cover img{object-fit:cover}
.qq-help{color:#786973;line-height:1.8;max-width:730px;margin:9px auto 18px;text-align:center}
#qqTemplateArea h3{color:#681633;text-align:center;margin-top:22px}
@media(max-width:650px){.qq-stages{font-size:.65rem;gap:3px;flex-wrap:wrap}.qq-choice{gap:9px}.qq-choice button{padding:13px 7px;font-size:.9rem}}

/* Quick Service only: force the mobile navigation above page content and give it
   an opaque, legible surface even when Safari composites header glass incorrectly. */
@media (max-width: 850px) {
  body.quick-quote-page .site-header {
    z-index: 10050 !important;
  }
  body.quick-quote-page .site-header:has(.main-nav.open),
  body.quick-quote-page .site-header.scrolled:has(.main-nav.open) {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  body.quick-quote-page .site-header .main-nav,
  body.quick-quote-page .site-header.scrolled .main-nav {
    position: absolute !important;
    z-index: 10051 !important;
    inset-inline: 12px !important;
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 120px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 5px !important;
    padding: 14px 12px !important;
    border-radius: 22px !important;
    border: 1px solid #8d4560 !important;
    background: #66172e !important;
    background-image: linear-gradient(145deg, #5d1327, #712039 56%, #64142c) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 22px 50px rgba(45, 5, 18, .32) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-12px) !important;
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s !important;
  }
  body.quick-quote-page .site-header .main-nav.open,
  body.quick-quote-page .site-header.scrolled .main-nav.open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition: opacity .22s ease, transform .22s ease, visibility 0s !important;
  }
  body.quick-quote-page .site-header .main-nav a,
  body.quick-quote-page .site-header.scrolled .main-nav a {
    display: flex !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 14px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: transparent !important;
    font-weight: 750 !important;
    text-align: center !important;
    text-decoration: none !important;
    opacity: 1 !important;
  }
  body.quick-quote-page .site-header .main-nav a.active,
  body.quick-quote-page .site-header .main-nav a:hover,
  body.quick-quote-page .site-header .main-nav a:focus-visible {
    color: #ffe6b0 !important;
    background: rgba(244, 208, 149, .19) !important;
  }
}
