/* WEB DIVISOR / ATELIER
   Shared presentation for marketing, catalog, account, and administration pages.
   Functional markup, validation, pricing, and tracking remain owned by Razor.
   Restaurant campaign keeps its own composition and shares only these tokens. */
:root {
    --wd-navy: #112d37;
    --wd-navy-mid: #315b60;
    --wd-navy-deep: #112d37;
    --wd-navy-ink: #0b2028;
    --wd-cyan: #397579;
    --wd-cyan-light: #dce8b3;
    --wd-cyan-ink: #a33d23;
    --wd-gold: #dce8b3;
    --wd-gold-deep: #c7d89c;
    --wd-orange: #c54c2b;
    --wd-ink: #112d37;
    --wd-ink-body: #495c59;
    --wd-ink-muted: #586764;
    --wd-link: #a33d23;
    --wd-focus: #167fa3;
    --wd-surface: #fffef9;
    --wd-surface-soft: #f7f5ee;
    --wd-line: rgba(17, 45, 55, .14);
    --at-paper: #f7f5ee;
    --at-sage: #e9eddf;
    --at-glass: rgba(255, 254, 249, .76);
    --at-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 20px 45px -28px rgba(17,45,55,.24);
    --bs-primary: #c54c2b;
    --bs-primary-rgb: 197,76,43;
    --bs-body-color: #495c59;
    --bs-body-bg: #f7f5ee;
}
body.wd-site { background: var(--at-paper); color: var(--wd-ink-body); font-family: Inter, sans-serif; margin-bottom: 0; }
.wd-site main { min-height: 55vh; }
.wd-site main h1, .wd-site main h2 { letter-spacing: -.045em; line-height: 1.13 !important; font-weight: 600 !important; }
.wd-site main h1:not(.h3) { font-size: clamp(2.5rem, 4.4vw, 4.25rem); }
.wd-site main :is(h1, h2) > span:not(.badge) { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-style: italic; color: inherit !important; }
.wd-site main h3, .wd-site main h4 { letter-spacing: -.025em; font-weight: 600; }
.wd-site .lead { font-size: 1.12rem; line-height: 1.75; }
.wd-site p { text-wrap: pretty; }
.wd-site .text-muted { color: var(--wd-ink-muted) !important; }
.wd-site .text-primary, .wd-site .text-cyan { color: var(--wd-cyan-ink) !important; }
.wd-site a:not(.btn):not([class]) { color: var(--wd-link); }
.wd-site a:focus-visible, .wd-site button:focus-visible, .wd-site summary:focus-visible { outline: 3px solid var(--wd-focus); outline-offset: 4px; }
.wd-site :is(input, select, textarea) { scroll-margin-block: 130px; }
.wd-site [id] { scroll-margin-top: 110px; }
.wd-site .container { width: min(1220px, calc(100% - 80px)); max-width: none; padding-inline: 0; }
.wd-site :is(.wd-topbar, #header) > .container-fluid { width: min(1220px, calc(100% - 80px)); padding-inline: 0 !important; }
.wd-site .wd-topbar { background: var(--wd-navy); padding: 9px 0; }
.wd-site .wd-topbar-phone { font-size: 0.875rem; font-weight: 500; }
.wd-site .wd-topbar-meta { gap: 22px; }
.wd-site .wd-topbar-meta span { font-size: 0.875rem; letter-spacing: .02em; }
.wd-site #header { background: #faf9f4 !important; border-bottom: 1px solid var(--wd-line); box-shadow: 0 5px 24px -18px rgba(17,45,55,.2) !important; }
.wd-site #header .navbar-brand-logo { width: 185px; min-width: 0; max-width: 185px; }
.wd-site #header .nav-link { font-size: 0.875rem; font-weight: 600; color: var(--wd-navy); padding-inline: .65rem; }
.wd-site #header .nav-link:hover, .wd-site #header .nav-link.active { color: var(--wd-cyan-ink); }
.wd-site #header .dropdown-menu { background: #fffef9; border: 1px solid var(--wd-line); border-radius: 14px; box-shadow: 0 20px 50px -15px #112d3733; padding: 12px; }
.wd-site #header .dropdown-item { border-radius: 6px; font-size: 0.875rem; color: var(--wd-navy); padding-block: 9px; }
.wd-site #header .dropdown-item:hover { background: var(--at-sage); color: var(--wd-cyan-ink); }
.wd-site #header .navbar-toggler { color: var(--wd-navy); border-radius: 8px; }
@media (min-width: 992px) {
    .wd-site #header .navbar-nav-wrap { flex-wrap: nowrap; align-items: center; }
    .wd-site #header .navbar-brand { flex-shrink: 0; }
    .wd-site #header .navbar-collapse { min-width: 0; }
    .wd-site #header .navbar-nav { width: 100%; gap: 0; }
    .wd-site #header .navbar-nav > .nav-item { margin-inline: 0; }
    .wd-site #header .nav-link { white-space: nowrap; padding-inline: .5rem; }
    .wd-site #header .btn-buy { white-space: nowrap; font-size: 0.875rem; padding: 12px 16px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .wd-site #header .navbar-nav .nav-link { padding-inline: .2rem; }
    .wd-site #header .btn-buy { font-size: 0.875rem; padding-inline: 12px; }
}
/* Keep the submenu indicator separate from the decorative link underline. */
.wd-site #header .navbar-nav .nav-link.dropdown-toggle::after {
    content: ""; display: inline-block; position: static; inset: auto;
    width: .48em; height: .48em; flex: 0 0 .48em;
    margin: -.25em 0 0 .65em; padding: 0; min-width: 0;
    background: none; border: 0; border-radius: 0;
    border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor;
    transform: rotate(45deg); opacity: 1; transition: none;
}
.wd-site #header .navbar-nav .nav-link.dropdown-toggle[aria-expanded="true"]::after,
.wd-site #header .navbar-nav .hs-sub-menu-opened > .nav-link.dropdown-toggle::after {
    transform: rotate(225deg);
}
.wd-site .bg-light, .wd-site .bg-soft-primary { background: var(--at-sage) !important; }
.wd-site main > .bg-white, .wd-site main > section.bg-white { background: var(--at-paper) !important; }
.wd-site :is(.hero-bg, .hp-hero, .gs-hero, .gma-hero, .shop-hero) {
    background: radial-gradient(ellipse at 88% 20%, rgba(196,215,182,.42), transparent 48%), radial-gradient(ellipse at 3% 95%, rgba(235,211,190,.32), transparent 40%), var(--at-paper) !important;
}
.wd-site .hero-blob { display: none; }
.wd-site .hero-bg > .container, .wd-site .gma-hero > .container, .wd-site .gs-hero > .container { padding-block: clamp(3rem, 5vw, 5.5rem) !important; }
.wd-site .shop-hero > .container { padding-block: 4rem !important; }
.wd-site .section-eyebrow, .wd-site .section-eyebrow-light { background: none !important; padding: 0; border: 0; border-radius: 0; font-size: 0.875rem; letter-spacing: .16em; font-weight: 700; }
.wd-site .section-eyebrow { color: var(--wd-cyan-ink); }
.wd-site .section-eyebrow-light { color: var(--wd-cyan-light); }
.wd-site .badge.bg-warning, .wd-site .badge.bg-soft-primary { background: #e5ebd5 !important; color: #385341 !important; border-radius: 5px !important; font-weight: 650; letter-spacing: .06em; }
.wd-site :is(.btn-primary, .btn-buy, .btn-continue, .lf-continue-btn, .lf-submit-btn) {
    background: #c54c2b !important; border: 1px solid #c54c2b !important; color: #fff !important;
    border-radius: 7px !important; box-shadow: 0 6px 16px -12px #733320 !important; font-weight: 650; text-shadow: none;
}
.wd-site :is(.btn-primary, .btn-buy, .btn-continue, .lf-continue-btn, .lf-submit-btn):hover { background: #a33d23 !important; border-color: #a33d23 !important; color: #fff !important; }
.wd-site :is(.btn-buy, .btn-continue) i { color: inherit; }
.wd-site :is(.btn-outline-primary, .btn-outline-light) { border-radius: 7px !important; font-weight: 600; box-shadow: none; }
.wd-site .btn-outline-primary { border-color: #a8b7ab; color: var(--wd-navy); background: transparent; }
.wd-site .btn-outline-primary:hover { background: var(--wd-navy); border-color: var(--wd-navy); color: #fff; }
.wd-site .btn-warning { background: var(--wd-gold) !important; border-color: var(--wd-gold) !important; color: var(--wd-navy) !important; border-radius: 7px !important; box-shadow: none; }
.wd-site :is(.btn, .btn-buy, .btn-continue) { min-height: 42px; }
.wd-site .btn-lg { font-size: .92rem; padding-block: 15px; }
.wd-site .btn-sm, .wd-site .btn-xs { min-height: 32px; }
.wd-site :is(.problem-card, .service-card, .why-card, .industry-card, .channel-tile, .deliverable, .hp-cat-tile, .hp-launch, .hp-faq, .spg-card, .shop-prod-card, .shop-flagship, .shop-flagship-buy, .go-main, .go-bonus, .go-checkout, .go-buy, .pd-buy-card, .cart-line, .cart-summary, .gs-trust-card, .gma-diff-card, .gma-svc-card, .gma-proof-card, .location-card, .location-near-card, .service-card-link, .lp-plan-card, .lp-portfolio-card, .lp-trust-card) {
    background: #fffef9; border: 1px solid rgba(154,173,154,.32); border-radius: 16px !important; box-shadow: var(--at-shadow);
}
.wd-site :is(.service-card, .why-card, .problem-card, .industry-card) { padding: 28px; }
.wd-site :is(.hp-cat-tile, .industry-card, .service-card-link, .location-card):hover { border-color: #899d83; box-shadow: 0 22px 40px -24px #112d373d; }
.wd-site :is(.service-icon, .why-icon, .problem-icon, .industry-icon, .deliverable-icon, .hp-cat-tile .icon, .gs-trust-card .icon) { background: #e9eddf !important; color: #a33d23 !important; box-shadow: none; border-radius: 12px; }
.wd-site .hp-cat-tile { text-align: left; padding: 24px 18px; }
.wd-site .hp-cat-tile .icon { margin-left: 0; width: 42px; height: 42px; font-size: 1.2rem; }
.wd-site .hp-cat-tile h3 { font-weight: 600; line-height: 1.4; }
.wd-site .hp-launch img { height: 320px; border: 12px solid #e9eddf; border-bottom: 0; border-radius: 14px 14px 0 0; }
.wd-site .hp-launch .cap { padding: 18px; }
.wd-site .hp-step .num { background: none; color: var(--wd-cyan-ink); border-radius: 0; box-shadow: none; font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.wd-site .hp-step { border-top: 1px solid var(--wd-line); padding-top: 24px; }
.wd-site :is(.trust-bar, .results-section, .promise-section, .final-cta) { background: var(--wd-navy) !important; }
.wd-site :is(.trust-bar, .results-section, .promise-section, .final-cta)::before { opacity: .16; }
.wd-site .trust-stat h2 { font-family: Georgia, serif; font-style: italic; font-weight: 400 !important; font-size: 2.4rem; }
.wd-site .trust-stat .trust-icon { display: none; }
.wd-site .trust-bar { padding-block: 30px !important; }
.wd-site .process-step { box-shadow: none; border: 0; border-top: 1px solid #bcc8b4; border-radius: 0; background: transparent; padding-top: 28px; }
.wd-site .process-step-highlight { background: var(--wd-navy); border-radius: 16px; padding: 28px; }
.wd-site .process-number { background: var(--at-sage); box-shadow: none; color: var(--wd-navy); }
.wd-site .process-time { background: #e5ebd5; color: #385341; border-radius: 5px; font-weight: 600; }
.wd-site .process-connector { display: none; }
.wd-site .guarantee-card { border-radius: 20px; background: var(--wd-navy); box-shadow: 0 25px 45px -25px #112d3750; }
.wd-site .guarantee-card::before { opacity: .15; }
.wd-site .job-chip { border-radius: 8px; box-shadow: none; background: transparent; border-color: var(--wd-line); }
.wd-site .job-chip i { color: #a33d23; }
.wd-site :is(.faq-section .accordion-item, .hp-faq, .gma-faq) { border: 0; border-bottom: 1px solid var(--wd-line); border-radius: 0 !important; background: transparent; box-shadow: none; }
.wd-site .accordion-button, .wd-site .accordion-button:not(.collapsed) { background: transparent; color: var(--wd-navy); box-shadow: none; font-weight: 600; padding: 24px 12px; }
.wd-site .accordion-body { color: var(--wd-ink-body); line-height: 1.75; }
.wd-site .hp-faq summary { padding: 22px 8px; }
.wd-site .prose-content { max-width: 800px; font-size: 1rem; line-height: 1.9; }
.wd-site .prose-content h2 { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--wd-line); font-size: 1.65rem; }
.wd-site .prose-content h3 { font-size: 1.25rem; }
/* Shared enquiry form; preserve all step, error, consent, and success states. */
.wd-site .lf-stepped { --lf-navy: #112d37; --lf-navy-2: #23484e; --lf-cyan: #397579; --lf-text-muted: #586764; background: #fffef9; border: 1px solid #ffffffc9; border-radius: 20px; box-shadow: var(--at-shadow); }
.wd-site .lf-stepped::before { background: var(--wd-orange); height: 3px; }
.wd-site :is(.lf-stepped-head, .lf-progress, .lf-step-label-row) { background: transparent; }
.wd-site .lf-stepped-badge { background: #e5ebd5; border: 0; border-radius: 5px; color: #385341; font-size: 0.875rem; }
.wd-site .lf-stepped-title { font-size: 1.6rem; line-height: 1.2; letter-spacing: -.04em; }
.wd-site .lf-stepped-sub { font-size: 0.875rem; }
.wd-site .lf-dot.is-active::before { animation: none; }
.wd-site :is(.hero-form-wrap, .gs-form-spotlight)::before { display: none; }
.wd-site .form-control, .wd-site .form-select, .wd-site .lf-input { background-color: #fffef9; border: 1px solid #b9c4b5; border-radius: 7px; color: var(--wd-navy); padding: 12px 14px; }
.wd-site .form-control:focus, .wd-site .form-select:focus { border-color: #397579; box-shadow: 0 0 0 3px #39757926; }
.wd-site .form-control.is-invalid, .wd-site .input-validation-error { border-color: #c8254f; }
.wd-site .form-control::placeholder { color: #77837e; }
.wd-site input[type=checkbox]:checked { background-color: #397579; border-color: #397579; }
.wd-site .table { color: var(--wd-ink-body); --bs-table-bg: transparent; --bs-table-striped-bg: #edf0e6; border-color: #d9ded2; }
.wd-site .table th { color: var(--wd-navy); font-size: 0.875rem; letter-spacing: .04em; padding-block: 16px; background: #e9eddf; }
.wd-site .table td { padding-block: 16px; vertical-align: middle; }
.wd-site :is(.rounded-3, .rounded-4).bg-white { background: #fffef9 !important; border-color: #d9ded2 !important; box-shadow: var(--at-shadow) !important; }
.wd-site .cart-summary, .wd-site .pd-buy-card { top: 100px; }
.wd-site .shop-prod-card .price, .wd-site .spg-price, .wd-site .price-xl { font-weight: 600; letter-spacing: -.04em; }
.wd-site .spg-card::before { background: var(--wd-orange); }
.wd-site .lp-plan-card.featured { border-color: var(--wd-orange); transform: none; }
.wd-site .lp-plan-card .plan-ribbon { background: var(--wd-navy); color: #fff; }
.wd-site .lp-hero { background: radial-gradient(ellipse at 85% 15%, #315b60 0, transparent 55%), var(--wd-navy) !important; }
.wd-site .lp-plan-card .plan-price { color: var(--wd-navy); }
.wd-site footer.bg-dark { background: var(--wd-navy) !important; }
.wd-site footer .link-light { color: #d7e0d9; }
.wd-site footer .link-light:hover { color: var(--wd-gold); }
.wd-site footer .navbar-brand { display: inline-flex; max-width: 100%; padding: 0; }
.wd-site .at-footer-main { background: #fff; padding-block: 56px 40px; }
.wd-site .at-footer-main .text-white { color: var(--wd-navy) !important; }
.wd-site footer .at-footer-main .link-light { color: var(--wd-navy) !important; }
.wd-site footer .at-footer-main .link-light:hover { color: var(--wd-orange) !important; }
.wd-site .at-footer-bottom { padding-top: 40px; }
.wd-site .at-footer-intro { padding: 48px 0; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.wd-site .at-footer-intro p { margin: 0; color: #fffef9; font-size: clamp(1.7rem,3vw,2.6rem); line-height: 1.2; letter-spacing: -.04em; }
.wd-site .at-footer-intro em { font-family: Georgia,serif; font-weight: 400; }
/* Homepage composition: a portfolio-led introduction, not a catalog headline. */
.at-home-hero { background: radial-gradient(ellipse at 90% 30%, #dce5d3 0, transparent 48%), var(--at-paper); padding: 70px 0; }
.at-home-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center; }
.wd-site .at-home-title { font-size: clamp(2.8rem,4.5vw,4.3rem) !important; margin: 22px 0; }
.at-home-title em { font-family: Georgia,serif; font-weight: 400; }
.at-home-copy > p { max-width: 470px; font-size: 1.06rem; line-height: 1.75; margin-bottom: 26px; }
.at-home-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.at-home-note { display: block; font-size: 0.875rem; color: var(--wd-ink-muted); margin-top: 18px; }
.at-home-art { position: relative; min-height: 510px; border-radius: 110px 14px 14px 14px; background: radial-gradient(ellipse at bottom right,#496956,transparent 60%),#183b42; box-shadow: 0 30px 55px -35px #112d3759; border: 1px solid #ffffff80; }
.at-home-art-label { position: absolute; top: 26px; right: 28px; color: #dce8b3; font-size: 0.875rem; letter-spacing: .14em; }
.at-home-shot { width: 46%; height: 355px; position: absolute; border: 5px solid #f7f5eecc; border-radius: 12px; overflow: hidden; background: var(--at-paper); box-shadow: 0 22px 35px #0004; }
.at-home-shot img { width: 100%; height: auto; display: block; }
.at-home-shot-a { top: 90px; left: 6%; transform: rotate(-6deg); z-index: 2; }
.at-home-shot-b { top: 68px; right: 5%; transform: rotate(8deg); }
.at-home-glass { position: absolute; bottom: 45px; right: -12px; background: #e1e9c5; border: 1px solid #ffffffba; border-radius: 12px; padding: 19px 24px; z-index: 3; color: var(--wd-navy); box-shadow: var(--at-shadow); transform: rotate(3deg); }
.at-home-glass strong { display: block; font-size: 1.05rem; }
.at-home-glass span { font-size: 0.875rem; }
.at-home-caption { position: absolute; bottom: 15px; left: 10px; right: 10px; text-align: center; color: #dce4da; font-size: 0.875rem; }
.at-proof-line { border-block: 1px solid var(--wd-line); padding: 24px 0; }
.at-proof-line .container { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 0.875rem; color: var(--wd-navy); }
.at-proof-line i { color: #728744; margin-right: 7px; }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .wd-site #header { background: rgba(250,249,244,.9) !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
    .wd-site :is(.lf-stepped,.hp-cat-tile,.spg-card,.shop-prod-card,.shop-flagship,.go-main,.go-bonus,.cart-summary,.gs-trust-card,.gma-diff-card,.gma-svc-card,.location-card,.service-card,.why-card,.problem-card,.lp-plan-card) { background: var(--at-glass); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
    .at-home-glass { background: rgba(232,242,201,.8); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
}
@media (max-width:1199.98px) {
    .wd-site .container, .wd-site :is(.wd-topbar,#header) > .container-fluid { width: calc(100% - 48px); }
    .wd-site #header .navbar-brand-logo { width: 150px; max-width: 150px; }
    .wd-site #header .nav-link { font-size: 0.875rem; padding-inline: .4rem; }
    .at-home-grid { gap: 35px; }
}
@media (max-width:991.98px) {
    .at-home-grid { grid-template-columns: 1fr; gap: 40px; }
    .at-home-art { width: min(540px,100%); margin: 0 auto; }
    .at-home-copy > p { max-width: 640px; }
    .at-home-hero { padding: 48px 0; }
    .wd-site #header .navbar-collapse { max-height: 75vh; overflow-y: auto; padding-bottom: 16px; }
    .wd-site #header .nav-link { font-size: .95rem; padding: 12px 4px; }
    .wd-site #header .dropdown-menu { box-shadow: none; background: #edf0e6; margin: 0 0 12px; }
    .wd-site .at-footer-intro { flex-direction: column; align-items: flex-start; }
    .wd-site .cart-summary, .wd-site .pd-buy-card { position: static; }
}
@media (max-width:575.98px) {
    .wd-site .container, .wd-site :is(.wd-topbar,#header) > .container-fluid { width: calc(100% - 36px); }
    .wd-site main h1:not(.h3), .wd-site .at-home-title { font-size: 2.7rem !important; }
    .wd-site .lead { font-size: 1rem; }
    .wd-site :is(.service-card,.why-card,.problem-card,.industry-card) { padding: 22px; }
    .wd-site .hero-bg > .container, .wd-site .gma-hero > .container, .wd-site .gs-hero > .container { padding-block: 36px !important; }
    .at-home-art { min-height: 410px; }
    .at-home-shot { height: 280px; }
    .at-home-shot-a { top: 72px; }
    .at-home-shot-b { top: 63px; }
    .at-home-glass { padding: 14px 16px; right: -4px; bottom: 37px; }
    .at-home-art-label { font-size: 0.875rem; right: 18px; }
    .at-home-actions { flex-direction: column; }
    .at-home-actions .btn { width: 100%; }
    .at-proof-line .container { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; font-size: 0.875rem; }
    .wd-site .hp-launch img { height: 240px; }
    .wd-site .lf-stepped-title { font-size: 1.4rem; }
    .wd-site .lf-tag-trust { gap: 8px; font-size: 0.875rem; }
    .wd-site .hp-cat-tile { padding: 20px 14px; }
}
@media (prefers-reduced-transparency:reduce) {
    .wd-site #header { background: #faf9f4 !important; }
    .wd-site :is(.lf-stepped,.hp-cat-tile,.spg-card,.shop-prod-card,.shop-flagship,.go-main,.go-bonus,.cart-summary,.gs-trust-card,.gma-diff-card,.gma-svc-card,.location-card,.service-card,.why-card,.problem-card,.lp-plan-card) { background: #fffef9; }
    .at-home-glass { background: #e1e9c5; }
    .wd-site *, .at-home-glass { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}
@media (prefers-reduced-motion:reduce) {
    .wd-site *, .wd-site *::before, .wd-site *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
/* Page-family refinements and compatibility with the restaurant composition. */
.wd-site main :is(h1,h2,h3,h4,h5,h6) { color: var(--wd-navy); }
.wd-site main :is(.text-white,.lp-hero:not(.lp-hero-light),.results-section,.final-cta,.promise-section) :is(h1,h2,h3) { color: #fffef9; }
.wd-site .lp-hero-light { background: radial-gradient(ellipse at 85% 15%, #dce5d3, transparent 55%), var(--at-paper) !important; }
.wd-site .lp-hero-cta-primary { background: #c54c2b !important; color: #fff !important; border-radius: 7px; box-shadow: none; }
.wd-site .lp-hero-cta-secondary { border-radius: 7px; }
.wd-site .co-card { background: #fffef9; border-radius: 16px; box-shadow: var(--at-shadow); }
.wd-site main .restaurant-lp :is(h1,h2,h3) { color: inherit; }
.wd-site main .restaurant-lp h1 { font-size: clamp(44px,4.2vw,62px); }
.wd-site main .restaurant-lp :is(h1,h2) { letter-spacing: -.055em; line-height: 1.08 !important; }
.wd-site .restaurant-lp .rl-form { scroll-margin-top: 110px; }
.wd-site .restaurant-lp .rl-mobile-cta { z-index: 1100; }
@media (max-width:575px) { .wd-site main .restaurant-lp h1 { font-size: 45px !important; } }
.wd-site main .lf-stepped :is(h2,h3),
.wd-site main .process-step:not(.process-step-highlight) :is(h3,h4) { color: var(--wd-navy); }
.wd-site main .process-step-highlight :is(h3,h4) { color: #fffef9; }
.wd-site .wd-topbar-phone b { color: #dce8b3; }
/* Native controls remain fully legible in both opaque and glass modes. */
.wd-site .co-field-label { font-weight: 650; letter-spacing: .07em; }
.wd-site .table-responsive { border: 1px solid var(--wd-line); border-radius: 12px; background: #fffef9; }
/* Compact mobile navigation stays below the visible brand and close control. */
@media (max-width:991.98px) {
    .wd-site #header .navbar-brand,
    .wd-site #header .navbar-brand-logo { width: 170px !important; min-width: 0 !important; max-width: 170px !important; }
    .wd-site #header .navbar-collapse {
        position: static; inset: auto; width: 100%; max-height: calc(100dvh - 150px);
        background: transparent; padding: 12px 0 18px; overflow-y: auto;
    }
    .wd-site #header .navbar-collapse .navbar-nav { max-width: none; gap: 5px; }
    .wd-site #header .navbar-collapse .nav-item .nav-link {
        color: var(--wd-navy) !important; background: #edf0e6; border: 1px solid #d9ded2;
        border-radius: 8px; padding: 12px 14px !important; font-size: 1.05rem; font-weight: 600;
    }
    .wd-site #header .navbar-collapse .nav-item .nav-link i { color: var(--wd-cyan-ink); }
    .wd-site #header .navbar-collapse .nav-item .nav-link:not(.dropdown-toggle)::after { display: none; }
    .wd-site #header .navbar-collapse .nav-item .nav-link.dropdown-toggle::after { margin-left: auto; }
    .wd-site #header .navbar-collapse .dropdown-menu { background: #fffef9; border: 1px solid var(--wd-line); }
    .wd-site #header .navbar-collapse .dropdown-item { color: var(--wd-navy); font-size: 1rem; white-space: normal; }
    .wd-site #header .navbar-collapse .dropdown-item:hover { color: var(--wd-cyan-ink); background: var(--at-sage); }
}
@media (max-width:991.98px) {
    .wd-site #header .navbar-collapse { padding-top: 12px !important; }
}
.wd-site .go-total, .wd-site .go-fineprint { background: var(--at-sage); }
.wd-site .go-save { background: #dce8ce; color: #385341; border-radius: 6px; }
.wd-site .go-bonus-tag { color: #a33d23; font-weight: 650; }
.wd-site .bg-primary { background-color: var(--wd-navy) !important; }
.wd-site .btn-soft-primary { color: var(--wd-navy); background: var(--at-sage); }
.wd-site .lp-hero-grid h1 { font-size: clamp(2.4rem,3.5vw,3.5rem) !important; }
.wd-site .lp-hero-visual .at-home-art { background: radial-gradient(ellipse at 80% 20%,#486b60,transparent 65%),#23484e; }
.wd-site .lp-hero-visual .at-home-glass { color: var(--wd-navy); }

/* Original brand artwork retains its proportions at every header size. */
.navbar-brand-logo, .topbar-logo, .lpf-logo { height: auto; }

/* Readability and editorial rhythm: one scale across every page family. */
html { font-size: 16px; }
body.wd-site, body.wd-focus { font-size: 1rem; line-height: 1.65; }
.wd-skip-link { position: fixed; top: 12px; left: 12px; z-index: 2000; padding: 12px 20px; background: #112d37; color: #fff; border-radius: 6px; transform: translateY(-180%); }
.wd-skip-link:focus { transform: translateY(0); color: #fff; }
.wd-site main p, .wd-site main .accordion-body, .wd-site main .hp-faq .body {
    font-size: 1rem; line-height: 1.75;
}
.wd-site main .lead { font-size: clamp(1.125rem, 1.5vw, 1.3rem); line-height: 1.65; }
.wd-site main :is(h1,h2,h3,h4,h5,h6) { text-wrap: balance; overflow-wrap: normal; word-break: normal; }
.wd-site main :is(h1,h2) { letter-spacing: -.035em; line-height: 1.14 !important; }
.wd-site main :is(h3,h4,h5,h6) { letter-spacing: -.015em; line-height: 1.35; }
.wd-site main :is(h5,h6,.h6) { font-size: 1.0625rem; }
.wd-site main :is(.small,small) { font-size: .9375rem; line-height: 1.6; }
.wd-site :is(.section-eyebrow,.section-eyebrow-light) { font-size: .875rem; letter-spacing: .1em; line-height: 1.6; }
.wd-site .section-eyebrow + h2, .wd-site .section-eyebrow-light + h2 { margin-top: 16px; }
.wd-site .content-space-1 { padding-block: clamp(3.5rem,6vw,6rem); }
.wd-site .hp-cat-tile { text-align: left; padding: 28px 22px; }
.wd-site .hp-cat-tile .icon { margin-left: 0; background: #edf0e6; box-shadow: none; }
.wd-site .hp-cat-tile h3 { font-size: 1.125rem; line-height: 1.35; }
.wd-site .hp-cat-tile .from { font-size: .9375rem; line-height: 1.6; margin-top: 8px; }
.wd-site .hp-launch .cap { font-size: 1rem; padding: 20px; line-height: 1.45; }
.wd-site .hp-launch .cap span { display: block; margin-top: 6px; font-size: .875rem; }
.wd-site .hp-stat .lbl { font-size: .875rem; letter-spacing: .03em; margin-top: 10px; line-height: 1.5; }
.wd-site .hp-step h3 { font-size: 1.125rem; margin-bottom: 8px; }
.wd-site .at-home-title { letter-spacing: -.04em; }
.wd-site main .at-home-copy > p { max-width: 34em; font-size: clamp(1.125rem,1.5vw,1.25rem); line-height: 1.7; }
.wd-site .at-home-note { display: block; font-size: .875rem; line-height: 1.65; }
.wd-site .at-home-art-label { display: none; }
.wd-site .at-home-glass { padding: 20px 24px; transform: none; max-width: calc(100% - 32px); }
.wd-site .at-home-glass strong { font-size: 1.125rem; line-height: 1.4; }
.wd-site .at-home-glass span { font-size: .9375rem; line-height: 1.5; }
.wd-site .at-home-caption { font-size: .875rem; line-height: 1.4; bottom: 18px; }
.wd-site .at-proof-line { padding-block: 28px; }
.wd-site .at-proof-line .container { gap: 20px 28px; }
.wd-site .at-proof-line span { font-size: .9375rem; }
.wd-site :is(.btn,.btn-buy,.btn-continue) { font-size: 1rem; line-height: 1.4; min-height: 48px; }
.wd-site :is(.btn-lg,.lf-continue-btn,.lf-submit-btn) { font-size: 1rem; }
.wd-site :is(.btn-xs,.btn-sm) { font-size: .875rem; min-height: 40px; }
.wd-site .badge { font-size: .875rem; line-height: 1.45; white-space: normal; }
.wd-site :is(.go-main-label,.go-bonus-tag,.process-time,.go-value-sm) { font-size: .875rem; }
.wd-site .go-fineprint p { font-size: .9375rem; line-height: 1.7; }
.wd-site .table th { font-size: .875rem; letter-spacing: .02em; }
.wd-site .table td { font-size: .9375rem; }
.wd-site footer .link-sm { font-size: .9375rem; display: inline-block; padding-block: 4px; }
.wd-site footer :is(.small,small) { font-size: .875rem; line-height: 1.7; }
.wd-site footer .text-white-50 { color: #bfcfc9 !important; }
.wd-site footer .navbar-brand-logo { width: 220px; max-width: 100%; }
.wd-site .wd-topbar-phone { font-size: .875rem; }
.wd-site .wd-topbar-meta span { font-size: .875rem; }
.wd-site .wd-topbar-meta { gap: 18px; }
.wd-site #header .navbar-brand-logo { width: 220px; max-width: 220px; }
.wd-site #header .navbar-nav .nav-link { font-size: .9375rem; padding-inline: .65rem; }
.wd-site #header .dropdown-item { font-size: .9375rem; line-height: 1.5; padding: 12px 16px; }
.wd-site #header .btn-buy { font-size: .9375rem; padding: 12px 18px; }
.wd-site #header .navbar-toggler { width: 48px; height: 48px; padding: 8px; }
/* Shared forms: comfortable labels, no tiny consent text or iOS input zoom. */
body :is(.lf-stepped,.rl-form) :is(.lf-stepped-sub,.lf-field-label,.lf-continue-btn,.lf-submit-btn) { font-size: 1rem; line-height: 1.5; }
body .lf-stepped :is(.lf-input,.form-control,.form-select) { font-size: 1rem; min-height: 50px; }
body .lf-stepped :is(.lf-stepped-badge,.lf-step-count,.js-step-label-name,.lf-trust-row,.lf-disclaimer,.lf-error,.lf-dot-num) { font-size: .875rem; line-height: 1.6; }
body .lf-stepped .lf-trust-row { flex-wrap: wrap; gap: 10px 18px; }
body .lf-stepped .lf-field-label { text-transform: none; letter-spacing: 0; font-weight: 600; }
body .lf-stepped .lf-saved-label { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
body .lf-stepped .lf-saved-chip { min-width: 0; flex-wrap: wrap; }
body .lf-stepped .lf-saved-chip { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 6px 10px; }
body .lf-stepped .lf-saved-chip .lf-back-link { grid-column: 2; justify-self: end; min-height: 32px; }
body .lf-stepped .lf-saved-label { font-weight: 500; }
body .lf-stepped .lf-saved-label { flex: 1 1 120px; }
body :is(.rl-form,.rl-conversion-grid > *,.at-home-grid > *) { min-width: 0; }
.wd-site :is(input,select,textarea,.form-control,.form-select) { font-size: 1rem; }
.wd-site .form-label { font-size: 1rem; }
.wd-site .form-control::placeholder, body .lf-stepped .form-control::placeholder { color: #63716d; opacity: 1; }
.lpf-footer { font-size: .875rem; line-height: 1.7; }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .wd-site #header .navbar-brand-logo { width: 200px; max-width: 200px; }
    .wd-site #header .navbar-nav .nav-link { padding-inline: .5rem; }
    .wd-site .wd-topbar-meta span:last-child { display: none; }
}
@media (max-width: 991.98px) {
    .wd-site #header .navbar-brand, .wd-site #header .navbar-brand-logo {
        width: min(220px,calc(100vw - 104px)) !important;
        min-width: 0 !important; max-width: 220px !important;
    }
    .wd-site #header .navbar-collapse .nav-item .nav-link { font-size: 1.125rem; padding: 15px 16px !important; }
    .wd-site #header .navbar-collapse .dropdown-item { font-size: 1rem; padding: 12px 16px; }
    .wd-site #header .navbar-collapse { max-height: calc(100dvh - 140px); }
    .wd-site .at-home-hero { padding-block: 56px; }
    .wd-site .at-home-grid { gap: 44px; }
}
@media (max-width: 575.98px) {
    .wd-site main h1:not(.h3), .wd-site .at-home-title { font-size: clamp(2.25rem,9.5vw,2.875rem) !important; }
    .wd-site main h2:not(.lf-stepped-title) { font-size: clamp(1.875rem,8vw,2.375rem); }
    .wd-site .at-home-title { line-height: 1.14 !important; }
    .wd-site .at-home-copy > p { font-size: 1.125rem; line-height: 1.7; }
    .wd-site .at-home-copy .btn { width: 100%; justify-content: center; }
    .wd-site .at-proof-line .container { display: grid; grid-template-columns: 1fr; gap: 14px; }
    .wd-site .at-home-art-label { font-size: .875rem; line-height: 1.5; left: 24px; right: 24px; }
    .wd-site .at-home-glass { bottom: 64px; right: 16px; padding: 16px 18px; }
    .wd-site .at-home-caption { left: 20px; right: 20px; }
    .wd-site .hp-launch .cap { padding: 16px; }
    .wd-site .hp-cat-tile { padding: 24px 18px; }
    .wd-site .at-footer-intro { padding-block: 40px; }
    .wd-site .at-footer-intro .btn { width: 100%; }
    .wd-site .go-total { gap: 18px; }
    .wd-site .wd-topbar-phone { font-size: .875rem; }
    .lpf-topbar .lpf-logo { width: 220px; flex-basis: 220px; }
    .lpf-topbar > .container { gap: 14px; }
    .lpf-topbar .lpf-phone { font-size: .875rem; }
    .lpf-topbar .lpf-phone i { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .wd-site *, .wd-focus * { scroll-behavior: auto !important; }
}
@media (max-width: 359.98px) {
    .wd-site .row > .col-6:has(.hp-cat-tile) { width: 100%; }
}
/* Package campaign: readable prices and calm, consistent action surfaces. */
.wd-site.wd-landing :is(.lp-hero-cta-primary,.lp-plan-card .btn-pick,.lp-compare-table .btn-pick-mini) {
    background: #c54c2b; color: #fff; border-radius: 8px; box-shadow: none;
    font-size: 1rem; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.wd-site.wd-landing :is(.lp-hero-cta-primary,.lp-plan-card .btn-pick,.lp-compare-table .btn-pick-mini):hover { background: #a33d23; transform: none; }
.wd-site.wd-landing .lp-plan-card.featured, .wd-site.wd-landing .lp-plan-card.featured:hover { background: #fffef9; transform: none; box-shadow: var(--at-shadow); }
.wd-site.wd-landing .lp-plan-card::before, .wd-site.wd-landing .lp-plan-card.featured::before { height: 3px; background: #c54c2b; }
.wd-site.wd-landing .lp-plan-card .plan-ribbon { background: #112d37; color: #fff; box-shadow: none; letter-spacing: .04em; }
.wd-site.wd-landing .lp-plan-card .plan-price, .wd-site.wd-landing .lp-compare-table .total-row {
    background: none; color: #112d37; -webkit-text-fill-color: #112d37; font-weight: 600;
}
.wd-site.wd-landing .lp-plan-card .plan-bonus { background: #edf0e6; color: #385341; border-radius: 6px; }
.wd-site.wd-landing .lp-plan-card .plan-features li { display: block; position: relative; padding-left: 28px; font-size: 1rem; line-height: 1.65; }
.wd-site.wd-landing .lp-plan-card .plan-features li > i { position: absolute; left: 0; top: 9px; }
.wd-site.wd-landing .lp-compare-table thead th.featured { background: #e9eddf; }
.wd-site.wd-landing .lp-compare-table thead th.featured :is(.plan-label,.plan-price-mini) { background: none; color: #112d37; }
.wd-site.wd-landing .lp-compare-table thead th.featured::after { background: #112d37; box-shadow: none; }
.wd-site.wd-landing :is(.lp-hero-highlight,.lp-hero-price .price-strong,.lp-guarantee-title .accent) { background: none; color: #dce8b3; -webkit-text-fill-color: #dce8b3; }
.wd-site.wd-landing .lp-seal-core { background: #23484e; color: #fff; border: 1px solid #dce8b3; }
