:root {
    --black: #020202;
    --ink: #111111;
    --panel: #111214;
    --panel-2: #191a1c;
    --muted: #6c7077;
    --line: #dedede;
    --soft: #f7f7f5;
    --white: #ffffff;
    --gold: #d9a958;
    --gold-2: #b98238;
    --shadow: 0 18px 45px rgba(0, 0, 0, .14);
    --font-heading: "Inter", Arial, Helvetica, sans-serif;
    --font-body: "Inter", Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--ink);
    background: var(--white);
    line-height: 1.55;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: 245px 1fr auto;
    align-items: center;
    gap: 30px;
    min-height: 88px;
    padding: 0 5.8vw;
    color: var(--white);
    background: rgba(0, 0, 0, .98);
    border-bottom: 1px solid rgba(255,255,255,.13);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    text-transform: uppercase;
    letter-spacing: 5px;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 58px;
    height: 48px;
    color: #050505;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -3px;
    background: linear-gradient(130deg, #f8f8f8 0 34%, #8d8d8d 35% 55%, var(--gold) 56% 66%, #ffffff 67%);
}

.brand strong,
.brand small { display: block; }
.brand strong { font-size: 17px; line-height: 1; }
.brand small { margin-top: 4px; color: #bfbfbf; font-size: 9px; letter-spacing: 6px; }

.site-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 34px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
}

.site-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 88px;
    border-bottom: 2px solid transparent;
}

.site-nav a.active,
.site-nav a:hover {
    color: var(--gold);
    border-color: var(--gold);
}

.quote-link,
.gold-btn,
.outline-btn,
.black-btn,
.whatsapp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 35px;
    border: 1px solid var(--gold);
    border-radius: 2px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
}

.gold-btn::after,
.outline-btn::after,
.quote-link::after {
    content: "";
    width: 17px;
    height: 12px;
    margin-left: 4px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2.7 16.5 6l-5.3 5.3-1.1-1.1 3.4-3.4H0V5.2h13.5l-3.4-3.4L11.2.7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2.7 16.5 6l-5.3 5.3-1.1-1.1 3.4-3.4H0V5.2h13.5l-3.4-3.4L11.2.7Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.site-footer .outline-btn::after,
.success-card .outline-btn::after,
.product-info .outline-btn::after {
    content: "";
    margin-left: 0;
}

.quote-link,
.outline-btn {
    color: var(--gold);
    background: transparent;
}

.project-btn {
    margin-bottom: 29.38px;
    color: var(--white);
    border-color: var(--white);
}

.gold-btn,
.whatsapp-btn {
    color: var(--white);
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
}

.black-btn {
    width: 100%;
    min-height: 40px;
    color: var(--white);
    background: var(--black);
    border-color: var(--black);
}

.outline-btn.light { color: var(--ink); }
.wide { width: 100%; }
.as-link { display: inline-flex; }

.cart-count {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    color: #070707;
    background: var(--gold);
    border-radius: 999px;
}

.menu-toggle { display: none; }

.hero {
    position: relative;
    overflow: hidden;
    min-height: 680px;
    display: flex;
    align-items: center;
    padding: 80px 6.8vw;
    color: var(--white);
    background:
        linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.76) 37%, rgba(0,0,0,.2) 100%),
        repeating-linear-gradient(90deg, transparent 0 105px, rgba(255,255,255,.06) 106px 108px),
        radial-gradient(circle at 72% 20%, rgba(255,255,255,.16), transparent 20%),
        linear-gradient(145deg, #050505 0%, #252525 50%, #080808 100%);
}

.hero::after {
    content: "";
    position: absolute;
    right: 5vw;
    top: 96px;
    bottom: 72px;
    width: 58vw;
    opacity: .78;
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), transparent 20%),
        repeating-linear-gradient(0deg, transparent 0 74px, rgba(255,255,255,.12) 75px 78px),
        repeating-linear-gradient(90deg, transparent 0 128px, rgba(255,255,255,.1) 129px 132px),
        linear-gradient(135deg, #393939, #111);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: inset 0 0 70px rgba(0,0,0,.75);
}

.hero::before {
    content: "";
    position: absolute;
    right: 12vw;
    top: 165px;
    width: 44vw;
    height: 300px;
    background:
        linear-gradient(#aaa, #414141) 0 0 / 100% 56px no-repeat,
        linear-gradient(90deg, #252525, #bdbdbd, #303030) 8% 74% / 80% 34% no-repeat;
    opacity: .42;
    transform: skewX(-12deg);
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 620px;
}

.eyebrow,
.breadcrumb {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0 0 18px;
    padding-bottom: 9px;
    color: #f3ce86;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.eyebrow::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, rgba(240, 200, 121, 0), var(--gold));
}

.breadcrumb {
    padding-bottom: 0;
}

h1, h2, h3, p { margin-top: 0; }

h1 {
    margin-bottom: 20px;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: clamp(41px, 6.4vw, 79px);
    line-height: 1;
    letter-spacing: 1px;
    text-transform: uppercase;
}

h2 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: clamp(25px, 3vw, 41px);
    line-height: 1.08;
    text-transform: uppercase;
}

h2 span { color: var(--gold); }

.hero p:not(.eyebrow),
.page-hero p:not(.eyebrow):not(.breadcrumb) {
    max-width: 460px;
    color: #eeeeee;
    font-size: 16px;
    letter-spacing: 1px;
}

.hero .eyebrow {
    color: #f3ce86;
}

.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.actions.center { justify-content: center; }

.dark-section,
.projects-section,
.featured-section,
.content-section,
.cart-section,
.contact-section,
.success-section {
    padding: 72px 6.8vw;
}

.dark-section {
    color: var(--white);
    background: #030303;
    border-top: 1px solid rgba(255,255,255,.08);
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 34px;
}

.section-heading > p,
.section-heading > div + p { 
    max-width: 320px; 
    color: #d6d6d6; 
    align-items: center;
    margin-bottom: 29.38px;
    margin-right: 50px;
}

.service-grid,
.product-grid,
.footer-grid,
.values-list,
.stats-band {
    display: grid;
    gap: 40px;
}

.service-grid { grid-template-columns: repeat(4, 1fr); }

.service-grid article {
    display: flex;
    flex-direction: column;
    min-height: 242px;
    padding: 34px 60px;
    background: #1b1c1f;
}

.service-icon {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto 38px;
    color: var(--gold);
}

.service-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.service-grid h3 {
    font-family: var(--font-heading);
    font-weight: 600;
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1.4;
    text-transform: uppercase;
}

.service-grid p { color: #cfcfcf; font-size: 14px; letter-spacing: 1px; }

.service-grid a {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    width: max-content;
    margin-top: auto;
    color: var(--gold);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
}

.service-grid a::after {
    content: "";
    width: 17px;
    height: 13px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2.7 16.5 6l-5.3 5.3-1.1-1.1 3.4-3.4H0V5.2h13.5l-3.4-3.4L11.2.7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2.7 16.5 6l-5.3 5.3-1.1-1.1 3.4-3.4H0V5.2h13.5l-3.4-3.4L11.2.7Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.projects-section {
    color: var(--white);
    background: linear-gradient(145deg, #121314, #050505);
    border-top: 1px solid rgba(255,255,255,.08);
}

.project-mosaic {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    grid-auto-rows: 160px;
    gap: 10px;
}

.project-mosaic div {
    background:
        linear-gradient(135deg, rgba(0,0,0,.08), rgba(0,0,0,.62)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.2) 0 3px, transparent 3px 56px),
        linear-gradient(145deg, #8f8f8f, #1e1e1e);
    border: 1px solid rgba(255,255,255,.08);
}

.project-mosaic .mosaic-large {
    grid-row: span 2;
    background:
        linear-gradient(135deg, rgba(0,0,0,.05), rgba(0,0,0,.65)),
        repeating-linear-gradient(0deg, rgba(255,255,255,.16) 0 2px, transparent 2px 50px),
        linear-gradient(145deg, #bdbdbd, #141414);
}

.home-about,
.process-section,
.testimonial-section,
.home-contact {
    padding: 72px 6.8vw;
    color: var(--white);
    background:
        radial-gradient(circle at 16% 0%, rgba(217,169,88,.09), transparent 24%),
        linear-gradient(145deg, #111214, #050505);
    border-top: 1px solid rgba(255,255,255,.08);
}

.home-about {
    display: grid;
    grid-template-columns: minmax(320px, .85fr) minmax(420px, 1fr) minmax(260px, .7fr);
    gap: 56px;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 72px;
}

.about-copy p:not(.eyebrow),
.process-section p:not(.eyebrow),
.testimonial-section p:not(.eyebrow),
.home-contact p:not(.eyebrow) {
    color: #d2d2d2;
}

.about-copy {
    max-width: 420px;
}

.about-copy .eyebrow {
    margin-bottom: 18px;
    font-size: 12px;
    letter-spacing: 1px;
}

.about-copy h2 {
    margin-bottom: 18px;
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.1;
}

.about-copy p:not(.eyebrow) {
    max-width: 360px;
    margin-bottom: 28px;
    color: #d7d7d7;
    font-size: 13px;
    line-height: 1.65;
}

.about-copy .outline-btn {
    min-width: 170px;
    color: var(--gold);
    border-color: var(--gold);
}

.about-visual {
    position: relative;
    min-height: 380px;
    border-left: 6px solid var(--gold);
    background:
        radial-gradient(circle at 43% 54%, rgba(255,184,82,.85), transparent 7%),
        radial-gradient(circle at 43% 54%, rgba(255,184,82,.28), transparent 20%),
        repeating-linear-gradient(27deg, rgba(255,255,255,.18) 0 1px, transparent 1px 22px),
        linear-gradient(90deg, rgba(0,0,0,.1), rgba(0,0,0,.82)),
        linear-gradient(145deg, #535353, #090909);
    box-shadow: inset 0 0 80px rgba(0,0,0,.58);
}

.about-points {
    position: relative;
    display: grid;
    gap: 32px;
}

.about-points div {
    position: relative;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 22px;
    align-items: center;
    min-height: 68px;
}

.about-points div::before {
    content: "";
    position: absolute;
    left: -48px;
    top: 50%;
    width: 38px;
    height: 1px;
    background: rgba(255,255,255,.14);
}

.mini-icon {
    display: block;
    width: 52px;
    height: 52px;
    color: var(--gold);
}

.mini-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-points strong {
    color: #f5f5f5;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
}

.process-section {
    background: #030303;
}

.process-section h2 {
    margin-bottom: 34px;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 22px;
}

.process-grid article {
    position: relative;
    padding-top: 6px;
}

.process-grid article::before {
    content: "";
    position: absolute;
    left: 50px;
    right: 0;
    top: 25px;
    height: 1px;
    background: rgba(255,255,255,.2);
}

.process-grid strong {
    display: block;
    margin-bottom: 16px;
    color: var(--gold);
    font-size: 30px;
    line-height: 1;
}

.process-grid h3 {
    margin-bottom: 16px;
    font-size: 14px;
    text-transform: uppercase;
}

.process-grid p {
    max-width: 210px;
    font-size: 13px;
}

.home-stats {
    background:
        linear-gradient(rgba(255,255,255,.02), rgba(255,255,255,.02)),
        linear-gradient(145deg, #222426, #111);
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.stat-icon {
    display: block;
    width: 62px;
    height: 62px;
    margin: 0 auto 25px;
    color: var(--white);
}

.stat-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.service-icon .filled-icon,
.stat-icon .filled-icon {
    fill: currentColor;
    stroke: none;
}

.testimonial-section {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 58px;
    align-items: stretch;
    padding-top: 66px;
    padding-bottom: 66px;
    background: #050505;
}

.testimonial-copy {
    padding-right: 46px;
    border-right: 1px solid rgba(255,255,255,.16);
}

.quote-mark {
    display: block;
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    color: var(--gold);
}

.quote-mark svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.testimonial-copy blockquote {
    margin: 0 0 28px;
    max-width: 500px;
    color: #f0f0f0;
    font-size: clamp(18px, 2vw, 26px);
    font-weight: 500;
    line-height: 1.45;
}

.dots {
    display: flex;
    gap: 12px;
    margin-top: 28px;
}

.dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--gold);
    transform: rotate(45deg);
    cursor: pointer;
}

.dots button.active {
    background: var(--gold);
}

.testimonial-visual {
    min-height: 390px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.2)),
        repeating-linear-gradient(90deg, transparent 0 100px, rgba(255,255,255,.12) 101px 103px),
        linear-gradient(145deg, #777, #151515 58%, #050505);
    box-shadow: inset 0 0 85px rgba(0,0,0,.6);
}

.home-contact {
    display: grid;
    grid-template-columns: .85fr .78fr 1.25fr;
    gap: 54px;
    align-items: start;
}

.home-contact h2 {
    max-width: 560px;
}

.home-contact-details {
    display: grid;
    gap: 24px;
}

.home-contact-details p {
    margin: 0;
}

.home-contact-details strong {
    display: block;
    margin-bottom: 5px;
    color: var(--gold);
    font-size: 12px;
    text-transform: uppercase;
}

.home-contact-form {
    display: grid;
    gap: 14px;
}

.quote-submit-alert {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 0 12px;
    padding: 11px 13px;
    color: #9f251c;
    background: #fff2f0;
    border: 1px solid #f2b8b2;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
}

.quote-submit-alert svg {
    flex: 0 0 17px;
    width: 17px;
    margin-top: 1px;
}

.home-contact-form .quote-submit-alert {
    color: #ffd2cc;
    background: rgba(132, 25, 17, .28);
    border-color: rgba(255, 143, 132, .45);
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.home-contact-form input,
.home-contact-form textarea {
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    color: var(--white);
    background: rgba(0,0,0,.25);
    border: 1px solid rgba(255,255,255,.16);
    outline: none;
}

.home-contact-form textarea {
    resize: vertical;
}

.home-contact-form input::placeholder,
.home-contact-form textarea::placeholder {
    color: #9c9c9c;
}

.featured-section {
    color: var(--white);
    background:
        radial-gradient(circle at 16% 12%, rgba(194,138,67,.12), transparent 26%),
        linear-gradient(145deg, #101214, #060606);
}

.featured-section.light {
    color: var(--ink);
    background: var(--white);
}

.category-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin-bottom: 38px;
}

.category-strip a {
    min-height: 112px;
    display: grid;
    place-items: center;
    padding: 20px;
    text-align: center;
    color: var(--white);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    background: linear-gradient(145deg, #1d1f22, #0c0c0d);
    border: 1px solid rgba(255,255,255,.07);
}

.category-strip a:first-child,
.category-strip a:hover {
    border-color: var(--gold);
    color: var(--gold);
}

.product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.product-card {
    overflow: hidden;
    color: var(--white);
    background: #151618;
    border: 1px solid rgba(255,255,255,.08);
}

.product-card.light-card {
    color: var(--ink);
    background: var(--white);
    border-color: #e2e2e2;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.product-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background:
        radial-gradient(circle at 50% 45%, #ffffff, #f1f1f1 45%, #e8e8e8);
}

.product-card div { padding: 20px; }
.product-card h3 { margin-bottom: 7px; font-size: 18px; line-height: 1.18; }
.product-card p { color: #cfcfcf; font-size: 14px; }
.light-card p { color: #555; }
.price, .text-link { color: var(--gold-2); font-weight: 900; }

.split-band {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    min-height: 430px;
    color: var(--white);
    background: #030303;
    border-top: 1px solid rgba(255,255,255,.08);
}

.split-band > div:first-child { padding: 78px 6.8vw; }

.workshop-visual {
    min-height: 380px;
    background:
        radial-gradient(circle at 39% 48%, rgba(255,177,75,.75), transparent 7%),
        radial-gradient(circle at 39% 48%, rgba(255,177,75,.28), transparent 18%),
        repeating-linear-gradient(25deg, rgba(255,255,255,.25) 0 1px, transparent 1px 21px),
        linear-gradient(90deg, transparent, rgba(0,0,0,.78)),
        linear-gradient(145deg, #474747, #080808);
}

.page-hero {
    position: relative;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    min-height: 300px;
    padding: 62px 6.8vw;
    color: var(--white);
    background:
        linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.62), rgba(0,0,0,.35)),
        repeating-linear-gradient(90deg, transparent 0 105px, rgba(255,255,255,.08) 106px 108px),
        linear-gradient(145deg, #141414, #050505);
}

.page-hero.small { min-height: 320px; }
.catalog-hero { min-height: 300px; }
.catalog-hero h1 { font-size: clamp(44px, 4.5vw, 64px); }

.hero-benefits {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 24px;
    align-self: center;
    padding: 24px 28px;
    background: rgba(0,0,0,.66);
    border: 1px solid var(--gold);
}

.hero-benefits span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
}

.hero-benefits small {
    display: block;
    color: var(--white);
    font-weight: 400;
}

.catalog-layout {
    display: grid;
    grid-template-columns: 255px 1fr;
    gap: 42px;
    padding: 52px 6.8vw 76px;
    background: var(--white);
}

.filters {
    align-self: start;
    position: sticky;
    top: 112px;
    padding: 18px;
    background: #fbfbfb;
    border-right: 1px solid var(--line);
}

.filters h2,
.filters h3 {
    margin-bottom: 10px;
    font-size: 14px;
    text-transform: uppercase;
}

.filters a,
.filters label {
    display: block;
    padding: 10px 12px;
    font-size: 14px;
}

.filters a.active {
    color: var(--white);
    background: var(--black);
    border-radius: 2px;
}

.filters input { margin-right: 8px; }

.filter-block {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.catalog-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    color: #545454;
    font-size: 14px;
}

.catalog-top select,
.detail-form input,
.detail-form select,
.stacked-form input,
.stacked-form textarea,
.qty-form input {
    min-height: 46px;
    padding: 11px 12px;
    color: var(--ink);
    background: var(--white);
    border: 1px solid #cfcfcf;
}

.product-detail {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 54px;
    padding: 58px 6.8vw 54px;
}

.main-product-image {
    width: 100%;
    aspect-ratio: 1 / .86;
    object-fit: cover;
    background: #f4f4f4;
    border: 1px solid var(--line);
}

.thumb-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-top: 18px;
}

.thumb-row img {
    aspect-ratio: 1 / .78;
    object-fit: cover;
    background: #f3f3f3;
    border: 1px solid var(--line);
}

.thumb-row img:first-child { border-color: var(--gold); }

.product-info h1 {
    color: var(--ink);
    font-size: clamp(34px, 3vw, 48px);
    text-transform: none;
}

.rating { color: var(--gold); font-weight: 900; }
.rating span { color: var(--muted); font-weight: 400; }

.feature-pills {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 24px 0;
    background: #f7f7f7;
    border: 1px solid #eeeeee;
}

.feature-pills span {
    padding: 18px 12px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    border-right: 1px solid #e4e4e4;
}

.feature-pills span:last-child { border-right: 0; }

.detail-form {
    display: grid;
    gap: 16px;
}

.detail-form label,
.stacked-form { display: grid; gap: 9px; }

.option-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.option-grid span {
    min-height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #d5d5d5;
    border-radius: 2px;
    font-size: 13px;
}

.option-grid span:first-child { border-color: var(--gold); color: var(--gold-2); }

.detail-options {
    margin: 0;
    padding: 0;
    border: 0;
}

.detail-options legend {
    margin-bottom: 9px;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.option-grid label {
    display: block;
    cursor: pointer;
}

.option-grid input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.option-grid label span {
    width: 100%;
    text-transform: none;
}

.option-grid input[type="radio"]:checked + span {
    color: var(--gold-2);
    border-color: var(--gold);
    background: #fffaf2;
}

.option-grid span:first-child { color: inherit; border-color: #d5d5d5; }

.product-tabs { padding-top: 30px; }

.spec-table {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 60px;
    max-width: 980px;
}

.spec-table div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}

.cart-section,
.contact-section {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 36px;
    align-items: start;
}

.cart-row {
    display: grid;
    grid-template-columns: 130px 1fr auto auto;
    gap: 18px;
    align-items: center;
    padding: 18px;
    margin-bottom: 14px;
    border: 1px solid var(--line);
}

.cart-row img {
    aspect-ratio: 1 / .75;
    object-fit: cover;
    background: #f4f4f4;
}

.qty-form { display: flex; gap: 8px; }
.qty-form input { width: 82px; }
.qty-form button,
.link-button {
    min-height: 42px;
    padding: 0 14px;
    background: var(--white);
    border: 1px solid var(--black);
    cursor: pointer;
}

.quote-form-panel,
.contact-card,
.success-card,
.empty-state {
    padding: 30px;
    background: var(--soft);
    border: 1px solid var(--line);
}

/* Product and quote pages */
.catalog-hero {
    min-height: 292px;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(0,0,0,.97) 0%, rgba(0,0,0,.72) 43%, rgba(0,0,0,.22) 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 2px, transparent 2px 110px),
        linear-gradient(145deg, #0c0c0c, #343434 48%, #030303);
}

.catalog-hero h1 {
    margin-bottom: 14px;
    font-size: clamp(50px, 5.8vw, 76px);
    letter-spacing: 2px;
}

.catalog-hero .breadcrumb {
    color: var(--gold);
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}

.catalog-layout {
    grid-template-columns: 235px 1fr;
    gap: 38px;
    padding: 48px 6.3vw 72px;
}

.filters {
    padding: 0 24px 0 0;
    background: transparent;
    border-right: 1px solid #e3e3e3;
}

.filters h2,
.filters h3 {
    font-size: 14px;
    font-weight: 800;
}

.filters a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 0 13px;
    font-weight: 600;
}

.filter-icon {
    width: 18px;
    color: currentColor;
}

.filters label {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 7px 0;
    color: #333;
}

.filters input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--gold-2);
}

.price-range {
    position: relative;
    height: 4px;
    margin: 22px 7px 14px;
    background: #d7d7d7;
}

.price-range span {
    position: absolute;
    inset: 0;
    background: var(--gold);
}

.price-range::before,
.price-range::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 14px;
    height: 14px;
    background: var(--gold);
    border-radius: 50%;
    transform: translateY(-50%);
}

.price-range::before { left: -3px; }
.price-range::after { right: -3px; }

.price-labels {
    display: flex;
    justify-content: space-between;
    color: #555;
    font-size: 12px;
}

.reset-btn {
    margin-top: 20px;
}

.custom-box {
    padding: 20px 14px;
    text-align: center;
    border: 1px solid #ddd;
    background: #fafafa;
}

.catalog-top {
    margin-bottom: 28px;
}

.product-grid {
    gap: 28px 24px;
}

.catalog-content .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalog-content .product-card {
    border: 1px solid #e0e0e0;
    box-shadow: 0 8px 18px rgba(0,0,0,.04);
}

.catalog-content .product-card img {
    aspect-ratio: 1 / .86;
}

.catalog-content .product-card div {
    padding: 17px 16px 15px;
}

.catalog-content .product-card h3 {
    min-height: 44px;
    font-size: 18px;
    font-weight: 800;
}

.catalog-content .black-btn {
    min-height: 38px;
    justify-content: space-between;
    padding: 0 16px;
}

.product-detail {
    grid-template-columns: minmax(0, 1.03fr) minmax(420px, .92fr);
    padding: 42px 6.3vw 42px;
}

.product-gallery .breadcrumb {
    display: flex;
    margin-bottom: 30px;
    color: #666;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}

.product-gallery .breadcrumb::after {
    display: none;
}

.main-product-image {
    aspect-ratio: 1.12 / .95;
    padding: 40px;
    object-fit: contain;
}

.thumb-row {
    grid-template-columns: repeat(5, 88px);
    justify-content: center;
    gap: 14px;
    margin-top: 22px;
}

.thumb-row img {
    aspect-ratio: 1 / .82;
    object-fit: contain;
}

.product-info {
    padding-top: 68px;
}

.product-info .eyebrow::after {
    display: none;
}

.product-info h1 {
    margin-bottom: 10px;
    font-size: clamp(34px, 3vw, 44px);
    font-weight: 800;
}

.feature-pills {
    margin: 26px 0 24px;
    border: 0;
    border-radius: 4px;
    overflow: hidden;
}

.feature-pills span {
    display: grid;
    place-items: center;
    min-height: 88px;
    padding: 15px 10px;
    line-height: 1.25;
}

.feature-pills small {
    display: block;
    color: var(--gold-2);
    font-size: 22px;
    line-height: 1;
}

.detail-form label {
    color: #111;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.detail-form select,
.detail-form input {
    margin-top: 7px;
}

.option-grid {
    max-width: 390px;
}

.product-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 18px;
    color: #636363;
    font-size: 12px;
}

.product-tabs {
    padding: 20px 6.3vw 42px;
}

.tab-nav {
    display: flex;
    gap: 48px;
    border-top: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
}

.tab-nav a {
    padding: 20px 0 18px;
    color: #333;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 2px solid transparent;
}

.tab-nav a.active {
    color: var(--gold-2);
    border-color: var(--gold-2);
}

.product-tab-content {
    display: block;
    max-width: 640px;
    padding: 30px 10px 0;
}

.check-list {
    display: grid;
    gap: 9px;
    padding: 0;
    margin: 22px 0 0;
    list-style: none;
}

.check-list li::before {
    content: "✓";
    margin-right: 13px;
    color: var(--gold-2);
}

.product-tab-content .spec-table {
    grid-template-columns: 1fr;
    max-width: none;
}

.featured-section.light {
    padding: 0 6.3vw 56px;
}

.featured-section.light .section-heading {
    margin-bottom: 20px;
}

.featured-section.light .product-grid.compact {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.quote-page {
    padding: 28px 6.3vw 28px;
    background: #fff;
}

.quote-page > .breadcrumb {
    color: #676767;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}

.quote-page > .breadcrumb::after {
    display: none;
}

.quote-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 46px;
    align-items: start;
}

.quote-main h1 {
    margin-bottom: 8px;
    color: #111;
    font-size: clamp(28px, 2.5vw, 40px);
    font-weight: 800;
}

.quote-main h1 span {
    font-size: .6em;
    font-weight: 800;
}

.quote-main > p {
    color: #555;
}

.quote-table {
    margin-top: 22px;
    border: 1px solid #dedede;
    border-radius: 4px;
    overflow: hidden;
}

.quote-table-head,
.quote-row {
    display: grid;
    grid-template-columns: 1.55fr 1.1fr 170px 96px;
    gap: 24px;
    align-items: center;
}

.quote-table-head {
    padding: 15px 24px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    background: #fff;
    border-bottom: 1px solid #dedede;
}

.quote-row {
    padding: 18px 24px;
    border-bottom: 1px solid #e4e4e4;
}

.quote-row:last-of-type {
    border-bottom: 0;
}

.quote-product {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 28px;
    align-items: center;
}

.quote-product img {
    width: 150px;
    aspect-ratio: 1.65 / 1;
    object-fit: contain;
    background: #f6f6f6;
}

.quote-product h2 {
    margin-bottom: 6px;
    font-size: 17px;
    font-weight: 800;
    text-transform: none;
}

.quote-product p,
.quote-specs p {
    margin-bottom: 5px;
    color: #4f4f4f;
    font-size: 13px;
}

.quote-product a {
    color: var(--gold-2);
    font-size: 13px;
    font-weight: 700;
}

.stepper-form {
    display: grid;
    grid-template-columns: 40px 64px 40px;
}

.stepper-form button,
.stepper-form input {
    height: 38px;
    text-align: center;
    background: #fff;
    border: 1px solid #d7d7d7;
}

.stepper-form input {
    border-left: 0;
    border-right: 0;
}

.remove-form button {
    width: 36px;
    height: 36px;
    padding: 7px;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.remove-form svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #333;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.quote-actions-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
    border-top: 1px solid #e4e4e4;
}

.clear-form button {
    min-height: 40px;
    padding: 0 18px;
    color: #333;
    background: #fff;
    border: 1px solid #c9c9c9;
    text-transform: uppercase;
    cursor: pointer;
}

.quote-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 20px;
    border: 1px solid #dedede;
}

.quote-benefits div {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 8px 12px;
    padding: 17px;
    border-right: 1px solid #dedede;
}

.quote-benefits div:last-child {
    border-right: 0;
}

.quote-benefits span {
    grid-row: span 2;
    color: var(--gold-2);
    font-size: 28px;
}

.quote-benefits strong {
    font-size: 12px;
    text-transform: uppercase;
}

.quote-benefits p {
    margin: 0;
    color: #555;
    font-size: 12px;
}

.quote-form-panel {
    padding: 26px;
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 4px;
}

.quote-form-panel h2,
.quote-form-panel h3 {
    color: #111;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
}

.quote-summary-line {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    color: #555;
    font-size: 14px;
}

.quote-summary-line.total {
    color: #111;
    font-weight: 800;
}

.quote-form-panel hr {
    margin: 22px 0;
    border: 0;
    border-top: 1px solid #dedede;
}

.quote-form-panel .stacked-form label {
    color: #111;
    font-size: 13px;
    font-weight: 700;
}

.quote-form-panel .stacked-form input,
.quote-form-panel .stacked-form textarea {
    margin-top: 6px;
    border-radius: 3px;
}

.quote-form-panel .whatsapp-btn {
    background: #0b0b0b;
    border-color: #0b0b0b;
}

.privacy-note {
    margin: 18px 0 0;
    color: #555;
    font-size: 12px;
}

.stacked-form input,
.stacked-form textarea { width: 100%; }
.stacked-form textarea { resize: vertical; }
.stacked-form button:disabled { opacity: .45; cursor: not-allowed; }

.whatsapp-btn {
    width: 100%;
    margin-top: 12px;
    background: #111;
    border-color: #111;
}

.two-col {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 50px;
}

.values-list { grid-template-columns: repeat(2, 1fr); }
.values-list div {
    padding: 24px;
    background: var(--soft);
    border: 1px solid var(--line);
}
.values-list strong,
.values-list span { display: block; }

.stats-band {
    grid-template-columns: repeat(4, 1fr);
    padding: 48px 6.8vw;
    color: var(--white);
    background: linear-gradient(145deg, #242424, #080808);
}

.stats-band div { text-align: center; }
.stats-band strong { display: block; font-size: 42px; line-height: 1; }
.stats-band span { display: block; margin-top: 9px; font-size: 12px; text-transform: uppercase; }

.success-section {
    min-height: 520px;
    display: grid;
    place-items: center;
}

.success-card {
    max-width: 760px;
    text-align: center;
}

.success-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 18px;
    color: #fff;
    background: var(--gold);
    border-radius: 50%;
}

.success-icon svg { width: 27px; }
.success-card.has-receipt { width: min(620px, 100%); }
.quote-receipt { margin-top: 28px; overflow: hidden; color: #20242a; background: #fff; border: 1px solid #d9dde2; text-align: left; }
.quote-receipt header { display: grid; gap: 3px; padding: 20px 22px; color: #fff; background: #111820; }
.quote-receipt header span { color: var(--gold); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.quote-receipt header strong { font-size: 24px; letter-spacing: 1px; }
.quote-receipt header small { color: #c5ccd4; }
.receipt-items { padding: 13px 22px; }
.receipt-items p { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 10px 0; border-bottom: 1px solid #eceef1; font-size: 13px; }
.receipt-items p:last-child { border-bottom: 0; }
.quote-receipt footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 22px; background: #f7f4ee; border-top: 1px solid #e3d7c3; }
.quote-receipt footer span { font-weight: 700; }
.quote-receipt footer small { display: block; margin-top: 3px; color: #73777d; font-size: 10px; font-weight: 400; }
.quote-receipt footer strong { color: var(--gold-2); font-size: 21px; }
.receipt-email-status { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 15px 0 0; color: #626970; font-size: 12px; }
.receipt-email-status svg { width: 17px; }

@media (max-width: 560px) {
    .success-section { padding-top: 48px; padding-bottom: 48px; }
    .success-card.has-receipt h1 { font-size: 27px; }
    .quote-receipt header,
    .receipt-items,
    .quote-receipt footer { padding-left: 16px; padding-right: 16px; }
    .quote-receipt header strong { font-size: 19px; overflow-wrap: anywhere; }
    .receipt-items p { align-items: flex-start; font-size: 12px; }
    .quote-receipt footer { align-items: flex-start; flex-direction: column; gap: 9px; }
    .receipt-email-status { align-items: flex-start; text-align: left; }
}

/* Quote request receipt */
.receipt-success-section {
    padding: 48px 6.8vw 58px;
    background:
        linear-gradient(115deg, rgba(255,255,255,.94), rgba(244,244,242,.96)),
        repeating-linear-gradient(135deg, transparent 0 18px, rgba(0,0,0,.018) 18px 19px);
}

.receipt-success-card {
    width: min(1060px, 100%);
    margin: 0 auto;
    padding: 34px 74px 38px;
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 7px;
    box-shadow: 0 12px 34px rgba(24, 24, 24, .08);
}

.receipt-success-heading {
    max-width: 720px;
    margin: 0 auto 28px;
    text-align: center;
}

.receipt-success-heading .success-icon { margin-bottom: 15px; }
.receipt-kicker {
    width: max-content;
    margin: 0 auto 17px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.receipt-kicker::after {
    content: "";
    display: block;
    width: 56px;
    height: 2px;
    margin: 11px auto 0;
    background: var(--gold);
}

.receipt-success-heading h1 {
    margin: 0;
    font-size: 45px;
    line-height: 1.06;
}

.receipt-success-heading > p:last-child {
    max-width: 650px;
    margin: 15px auto 0;
    color: #575757;
    font-size: 14px;
    line-height: 1.6;
}

.receipt-reference-banner {
    display: grid;
    min-height: 126px;
    align-content: center;
    padding: 25px 32px;
    color: #fff;
    background-color: #101111;
    background-image: linear-gradient(90deg, rgba(8,8,8,.98) 0%, rgba(8,8,8,.77) 54%, rgba(8,8,8,.08) 100%), url("../images/receipts/quote-reference-banner.jpg");
    background-position: center, right center;
    background-size: cover;
    border-radius: 5px;
}

.receipt-reference-banner > span {
    color: #dfa72f;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.receipt-reference-banner > strong {
    margin: 5px 0;
    font-size: 25px;
    letter-spacing: 1px;
}

.receipt-reference-banner small {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #d8d8d8;
    font-size: 11px;
}

.receipt-reference-banner small svg { width: 14px; }
.receipt-summary {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
}

.receipt-section-title { padding: 15px 24px 5px; }
.receipt-section-title h2 {
    width: max-content;
    margin: 0;
    font-size: 14px;
    text-transform: uppercase;
}

.receipt-section-title h2::after {
    content: "";
    display: block;
    width: 54px;
    height: 2px;
    margin-top: 7px;
    background: var(--gold);
}

.receipt-section-title.centered { padding: 0; text-align: center; }
.receipt-section-title.centered h2 { margin: 0 auto; }
.receipt-section-title.centered h2::after { margin-right: auto; margin-left: auto; }
.receipt-summary-head,
.receipt-summary-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 70px 145px 145px;
    align-items: center;
}

.receipt-summary-head {
    padding: 3px 24px 7px;
    color: #676767;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.receipt-summary-head span:not(:first-child) { text-align: right; }
.receipt-summary-head span:nth-child(2) { text-align: center; }
.receipt-summary-row {
    min-height: 76px;
    margin: 0 24px;
    border-top: 1px solid #ececec;
}

.receipt-item-product {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-width: 0;
}

.receipt-item-product img {
    width: 60px;
    height: 56px;
    object-fit: contain;
    background: #f7f7f7;
}

.receipt-item-product strong,
.receipt-item-product small { display: block; }
.receipt-item-product strong { font-size: 13px; }
.receipt-item-product small {
    margin-top: 3px;
    overflow: hidden;
    color: #777;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.receipt-item-value { text-align: right; font-size: 12px; }
.receipt-item-value:nth-child(2) { text-align: center; }
.receipt-item-value small { display: none; }
.receipt-item-value.total strong { font-size: 13px; }
.receipt-estimated-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 24px 17px;
    padding: 14px 16px;
    background: #fff9ee;
    border: 1px solid #dfba70;
    border-radius: 4px;
}

.receipt-estimated-total span strong,
.receipt-estimated-total span small { display: block; }
.receipt-estimated-total span strong { font-size: 12px; text-transform: uppercase; }
.receipt-estimated-total span small { margin-top: 3px; color: #777; font-size: 9px; }
.receipt-estimated-total > strong { color: #cc8c20; font-size: 22px; white-space: nowrap; }
.receipt-reminders {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #ececec;
}

.receipt-reminders p {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    align-items: center;
    margin: 0;
    padding: 16px 25px;
    color: #686868;
    font-size: 11px;
}

.receipt-reminders p + p { border-left: 1px solid #ececec; }
.receipt-reminders p > svg {
    width: 38px;
    height: 38px;
    padding: 9px;
    color: var(--gold);
    border: 1px solid #dfbd78;
    border-radius: 50%;
}

.receipt-reminders strong { display: block; margin-top: 2px; color: #252525; }
.receipt-reminders p span > small { display: block; margin-top: 3px; color: #8a6017; }
.receipt-next-steps { padding: 27px 0 4px; }
.receipt-step-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 46px;
    margin-top: 18px;
}

.receipt-step-list article {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 12px;
    align-items: center;
}

.receipt-step-list article:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 23px;
    right: -34px;
    width: 22px;
    border-top: 3px dotted #dca23c;
}

.receipt-step-list article > span {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #343434;
    background: #faf7f0;
    border: 1px solid #e6d8bd;
    border-radius: 50%;
}

.receipt-step-list article > span svg { width: 21px; }
.receipt-step-list article > span b {
    position: absolute;
    top: -7px;
    right: -4px;
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    color: #fff;
    background: var(--gold);
    border-radius: 50%;
    font-size: 10px;
}

.receipt-step-list h3 { margin: 0 0 4px; font-size: 11px; }
.receipt-step-list p { margin: 0; color: #707070; font-size: 10px; line-height: 1.5; }
.receipt-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 27px;
}

.receipt-actions a {
    min-width: 210px;
    justify-content: center;
}

.receipt-actions svg { width: 16px; }
.receipt-actions a::after { display: none; }
.receipt-actions .outline-btn { color: #262626; border-color: var(--gold); }

@media (max-width: 900px) {
    .receipt-success-card { padding-right: 38px; padding-left: 38px; }
    .receipt-summary-head,
    .receipt-summary-row { grid-template-columns: minmax(0, 1fr) 55px 120px 120px; }
    .receipt-step-list { gap: 24px; }
    .receipt-step-list article:not(:last-child)::after { display: none; }
}

@media (max-width: 680px) {
    .receipt-success-section { padding: 26px 16px 36px; }
    .receipt-success-card { padding: 27px 18px 30px; }
    .receipt-success-heading h1 { font-size: 33px; }
    .receipt-success-heading > p:last-child { font-size: 13px; }
    .receipt-reference-banner { min-height: 145px; padding: 24px 20px; background-position: center, 70% center; }
    .receipt-reference-banner > strong { font-size: 19px; overflow-wrap: anywhere; }
    .receipt-summary-head { display: none; }
    .receipt-section-title { padding: 15px 16px 8px; }
    .receipt-summary-row {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        margin: 0 16px;
        padding: 15px 0;
    }
    .receipt-item-product { grid-column: 1 / -1; }
    .receipt-item-product small { white-space: normal; }
    .receipt-item-value,
    .receipt-item-value:nth-child(2) { text-align: left; }
    .receipt-item-value small { display: block; margin-bottom: 3px; color: #888; font-size: 8px; text-transform: uppercase; }
    .receipt-estimated-total { align-items: flex-start; flex-direction: column; margin: 0 16px 16px; }
    .receipt-reminders { grid-template-columns: 1fr; }
    .receipt-reminders p + p { border-top: 1px solid #ececec; border-left: 0; }
    .receipt-step-list { grid-template-columns: 1fr; }
    .receipt-step-list article { grid-template-columns: 48px 1fr; }
    .receipt-actions { flex-direction: column; }
    .receipt-actions a { width: 100%; min-width: 0; }
}

.site-footer {
    color: #d6d6d6;
    background: var(--black);
}

.footer-grid {
    grid-template-columns: 1.35fr .8fr 1fr 1.3fr;
    padding: 58px 6.8vw 42px;
}

.footer-grid h3 {
    color: var(--white);
    font-size: 14px;
    text-transform: uppercase;
}

.footer-grid a { display: block; margin: 8px 0; }
.footer-brand { color: var(--white); }
.footer-contact-line { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; }
.footer-contact-line svg { width: 15px; color: var(--gold); }

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 6.8vw;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: 13px;
}

@media (max-width: 1180px) {
    .site-header {
        grid-template-columns: auto auto;
        justify-content: space-between;
    }

    .menu-toggle {
        display: inline-flex;
        min-height: 42px;
        padding: 0 14px;
        color: var(--white);
        background: transparent;
        border: 1px solid rgba(255,255,255,.25);
    }

    .site-nav,
    .quote-link { display: none; }

    .site-header.nav-open .site-nav,
    .site-header.nav-open .quote-link { display: flex; }

    .site-header.nav-open .site-nav {
        grid-column: 1 / -1;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .site-header.nav-open .site-nav a {
        min-height: 44px;
        padding: 10px 0;
    }

    .site-header.nav-open .quote-link {
        grid-column: 1 / -1;
        width: max-content;
        margin-bottom: 18px;
    }

    .service-grid,
    .product-grid,
    .product-grid.compact,
    .category-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-benefits { grid-template-columns: repeat(2, auto); }
    .catalog-layout,
    .product-detail,
    .quote-layout,
    .cart-section,
    .contact-section,
    .two-col,
    .split-band,
    .home-about,
    .testimonial-section,
    .home-contact {
        grid-template-columns: 1fr;
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .catalog-content .product-grid,
    .featured-section.light .product-grid.compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quote-table-head {
        display: none;
    }

    .quote-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .quote-benefits {
        grid-template-columns: repeat(2, 1fr);
    }

    .filters { position: static; border: 1px solid var(--line); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
    .site-header,
    .hero,
    .page-hero,
    .dark-section,
    .projects-section,
    .home-about,
    .process-section,
    .testimonial-section,
    .home-contact,
    .featured-section,
    .content-section,
    .cart-section,
    .contact-section,
    .success-section,
    .product-detail,
    .catalog-layout {
        padding-left: 22px;
        padding-right: 22px;
    }

    .site-header { min-height: 74px; }
    .brand { letter-spacing: 3px; }
    .brand-mark { width: 48px; height: 40px; }
    .brand strong { font-size: 14px; }
    .brand small { letter-spacing: 4px; }

    .hero { min-height: 570px; }
    .hero::after {
        inset: auto 22px 36px 22px;
        width: auto;
        height: 170px;
        opacity: .38;
    }
    .hero::before { display: none; }
    h1 { font-size: 42px; }

    .section-heading,
    .catalog-top,
    .page-hero,
    .footer-bottom {
        display: block;
    }

    .service-grid,
    .product-grid,
    .product-grid.compact,
    .catalog-content .product-grid,
    .featured-section.light .product-grid.compact,
    .category-strip,
    .values-list,
    .stats-band,
    .spec-table,
    .feature-pills,
    .option-grid,
    .footer-grid,
    .project-mosaic,
    .thumb-row,
    .process-grid,
    .form-row {
        grid-template-columns: 1fr;
    }

    .quote-product {
        grid-template-columns: 110px 1fr;
        gap: 16px;
    }

    .quote-product img {
        width: 110px;
    }

    .quote-benefits {
        grid-template-columns: 1fr;
    }

    .quote-benefits div {
        border-right: 0;
        border-bottom: 1px solid #dedede;
    }

    .quote-benefits div:last-child {
        border-bottom: 0;
    }

    .tab-nav {
        gap: 18px;
        overflow-x: auto;
        white-space: nowrap;
    }

    .product-tab-content {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-left: 0;
        padding-right: 0;
    }

    .product-info {
        padding-top: 0;
    }

    .thumb-row {
        grid-template-columns: repeat(5, minmax(54px, 1fr));
    }

    .about-visual,
    .testimonial-visual {
        min-height: 240px;
    }

    .testimonial-copy {
        padding-right: 0;
        border-right: 0;
    }

    .process-grid article::before {
        left: 44px;
    }

    .project-mosaic { grid-auto-rows: 150px; }
    .project-mosaic .mosaic-large { grid-row: span 1; }
    .hero-benefits { display: none; }

    .cart-row { grid-template-columns: 94px 1fr; }
    .cart-row form { grid-column: 1 / -1; }
    .qty-form { width: 100%; }
}

/* Storefront commerce experience */
.site-header { min-height: 78px; }
.site-nav a { min-height: 78px; }
.cart-link { min-height: 44px; padding: 0 22px; color: #fff; }
.cart-link::after { display: none; }
.cart-link > svg { width: 18px; height: 18px; }
.cart-link .cart-count { margin-left: 4px; background: #e2a72d; }
.storefront-breadcrumb { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; color: #fff; font-size: 12px; }
.storefront-breadcrumb a:hover,.storefront-breadcrumb span { color: var(--gold); }
.storefront-breadcrumb svg { width: 13px; height: 13px; }

.storefront-products-hero,.storefront-cart-hero { position: relative; display: flex; align-items: center; min-height: 155px; padding: 24px clamp(28px,5vw,84px); overflow: hidden; color: #fff; background: #111a24 url("../images/work-table.svg") no-repeat right -60px center / 520px auto; }
.storefront-products-hero::before,.storefront-cart-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#101923 0%,rgba(16,25,35,.94) 47%,rgba(16,25,35,.35) 100%); }
.storefront-products-hero>div,.storefront-cart-hero>div { position: relative; z-index: 1; }
.storefront-products-hero h1,.storefront-cart-hero h1 { margin: 0 0 5px; font-size: 39px; line-height: 1.1; text-transform: none; }
.storefront-products-hero>div>p:last-child,.storefront-cart-hero>div>p:last-child { margin: 0; color: #d2d5d9; font-size: 13px; }

.storefront-catalog { display:grid; grid-template-columns:265px minmax(0,1fr); gap:46px; max-width:1600px; margin:auto; padding:28px clamp(28px,4.5vw,76px) 18px; }
.storefront-filters { align-self:start; padding:20px 24px; border:1px solid #dfe2e5; border-radius:5px; background:#fff; }
.storefront-filters fieldset { display:grid; gap:8px; padding:0 0 17px; margin:0 0 17px; border:0; border-bottom:1px solid #e0e2e5; }
.storefront-filters legend { width:100%; padding:0 0 10px; color:#111; font-size:11px; font-weight:800; text-transform:uppercase; }
.storefront-filters legend::after { content:""; display:block; width:18px; height:2px; margin-top:7px; background:#d19526; }
.storefront-filters label { display:flex; align-items:center; gap:9px; color:#24282c; font-size:11px; cursor:pointer; }
.storefront-filters label input { position:absolute; opacity:0; pointer-events:none; }
.storefront-filters label>span { position:relative; width:16px; height:16px; flex:0 0 16px; border:1px solid #cbd0d5; border-radius:3px; background:#fff; }
.storefront-filters label input:checked+span { background:#d69b28; border-color:#d69b28; }
.storefront-filters label input:checked+span::after { content:""; position:absolute; left:4px; top:1px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.catalog-price-filter input[type=range] { position:static; width:100%; height:4px; margin:8px 0 9px; opacity:1; accent-color:#ce9220; pointer-events:auto; }
.catalog-price-filter>div { display:flex; justify-content:space-between; color:#5f646a; font-size:9px; }
.storefront-reset { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:37px; margin-top:8px; color:#1d2228; background:#fff; border:1px solid #afb5bc; border-radius:2px; font-size:10px; font-weight:700; text-transform:uppercase; cursor:pointer; }
.storefront-reset svg { width:13px; }
.mobile-filter-heading,.mobile-filter-button { display:none; }

.storefront-catalog-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; margin:5px 0 20px; }
.catalog-search-sort { display:grid; grid-template-columns:minmax(260px,1fr) 1fr 195px; gap:20px; align-items:center; }
.storefront-search { position:relative; display:block; }
.storefront-search svg { position:absolute; left:13px; top:11px; width:17px; color:#434b54; }
.storefront-search input,.catalog-search-sort select { width:100%; height:42px; padding:0 13px; border:1px solid #d7dbe0; border-radius:4px; background:#fff; font-size:11px; outline:0; }
.storefront-search input { padding-left:42px; }
.storefront-search input:focus,.catalog-search-sort select:focus { border-color:#d19729; box-shadow:0 0 0 2px rgba(209,151,41,.12); }
.catalog-search-sort>span { color:#171b20; font-size:11px; }
.catalog-view-toggle { display:flex; gap:5px; align-items:center; }
.catalog-view-toggle button { display:grid; place-items:center; width:38px; height:38px; color:#171b20; background:#fff; border:1px solid #d7dbe0; border-radius:3px; }
.catalog-view-toggle button.active { color:#fff; background:#ce9220; border-color:#ce9220; }
.catalog-view-toggle svg { width:18px; }

.storefront-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.storefront-product-card { position:relative; display:grid; grid-template-rows:auto 1fr auto; min-width:0; overflow:hidden; background:#fff; border:1px solid #dfe2e5; border-radius:6px; transition:box-shadow .18s,border-color .18s; }
.storefront-product-card:hover { border-color:#c9cdd2; box-shadow:0 10px 25px rgba(18,27,38,.08); }
.storefront-product-image { display:grid; place-items:center; min-height:180px; padding:24px 20px 8px; background:#fafafa; }
.storefront-product-image img { width:100%; height:160px; object-fit:contain; }
.storefront-product-copy { padding:0 15px 10px; }
.product-category-label { margin:0 0 4px; color:#c18419; font-size:8px; font-weight:700; text-transform:uppercase; }
.storefront-product-copy h2 { margin:0 0 3px; font-size:13px; line-height:1.3; }
.product-card-summary { min-height:34px; margin:0 0 5px; color:#252a30; font-size:10px; line-height:1.45; }
.product-card-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.product-card-tags span { display:flex; align-items:center; gap:4px; min-height:18px; padding:0 7px; color:#3c444d; border:1px solid #d1d5da; border-radius:3px; font-size:8px; }
.product-card-tags svg { width:9px; color:#b77911; }
.storefront-price { margin:0; color:#282d32; font-size:10px; }
.storefront-price strong { color:#c28111; font-size:14px; }
.storefront-card-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; padding:0 15px 10px; }
.storefront-card-actions form { margin:0; }
.storefront-card-actions form button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:33px; color:#fff; background:#cf911b; border:0; border-radius:2px; font-size:9px; font-weight:800; text-transform:uppercase; cursor:pointer; }
.storefront-card-actions form button svg { width:15px; }
.storefront-card-actions>a { display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:8px; }
.storefront-card-actions>a svg { width:13px; }
.storefront-product-grid.list-view { grid-template-columns:1fr; }
.storefront-product-grid.list-view .storefront-product-card { grid-template-columns:240px minmax(0,1fr) 220px; grid-template-rows:1fr; align-items:center; }
.storefront-product-grid.list-view .storefront-product-image { min-height:150px; }
.storefront-product-grid.list-view .storefront-product-copy { padding:18px; }
.storefront-product-grid.list-view .storefront-card-actions { grid-template-columns:1fr; padding:18px; }
.storefront-pagination { display:flex; justify-content:center; gap:8px; margin:14px 0 0; }
.storefront-pagination a { display:grid; place-items:center; width:38px; height:30px; border:1px solid #d6dade; border-radius:3px; font-size:10px; }
.storefront-pagination a.active { color:#fff; background:#cd901c; border-color:#cd901c; }
.storefront-pagination svg { width:14px; }
.catalog-empty { display:grid; place-items:center; min-height:400px; padding:30px; text-align:center; border:1px solid #e0e3e6; }
.catalog-empty svg { width:35px; color:#c68a1e; }.catalog-empty h2{margin:10px 0 3px}.catalog-empty p{margin:0;color:#6c7279}.catalog-empty a{margin-top:12px;color:#b77d15;font-weight:700}

/* Product configurator */
.storefront-product-detail { max-width:1540px; margin:auto; padding:24px clamp(28px,5vw,84px) 22px; }
.product-detail-breadcrumb { color:#4f565f; }
.product-detail-breadcrumb span,.product-detail-breadcrumb a:hover { color:#b97b13; }
.storefront-product-columns { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(520px,.94fr); gap:56px; align-items:start; }
.storefront-main-media { position:relative; display:grid; place-items:center; min-height:510px; overflow:hidden; border:1px solid #dfe2e5; border-radius:6px; background:#fbfbfb; }
.storefront-main-media>span { position:absolute; left:14px; top:14px; padding:4px 10px; color:#bc7d13; border:1px solid #d59b35; border-radius:3px; font-size:9px; }
.storefront-main-media>img { width:88%; height:430px; object-fit:contain; }
.gallery-arrow { position:absolute; top:50%; display:grid; place-items:center; width:34px; height:34px; padding:0; color:#434a52; background:#fff; border:1px solid #dfe2e5; border-radius:50%; transform:translateY(-50%); }
.gallery-arrow.previous { left:14px; }.gallery-arrow.next{right:14px}.gallery-arrow svg{width:17px}
.storefront-thumbnails { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:13px; }
.storefront-thumbnails button { height:96px; padding:5px; background:#fff; border:1px solid #dfe2e5; border-radius:5px; }
.storefront-thumbnails button.active { border-color:#d29426; }.storefront-thumbnails img{width:100%;height:100%;object-fit:contain}
.storefront-product-config>h1 { margin:4px 0 6px; font-size:29px; line-height:1.2; text-transform:none; }
.product-intro { margin:0; color:#252b31; font-size:11px; line-height:1.55; }
.storefront-feature-strip { display:grid; grid-template-columns:repeat(4,1fr); margin:20px 0 12px; border:1px solid #dfe2e5; border-radius:5px; }
.storefront-feature-strip span { display:flex; align-items:center; justify-content:center; gap:10px; min-height:60px; padding:9px; border-right:1px solid #e4e6e9; }
.storefront-feature-strip span:last-child { border:0; }.storefront-feature-strip svg{width:25px;color:#cf8e19}.storefront-feature-strip b{font-size:9px;line-height:1.5}
.starting-price-panel { display:grid; grid-template-columns:145px 1fr; align-items:center; min-height:64px; margin-bottom:12px; padding:9px 14px; border:1px solid #d59325; border-radius:5px; background:#fffaf1; }
.starting-price-panel>span { display:grid; color:#697078; font-size:9px; }.starting-price-panel strong{color:#d18d17;font-size:23px;line-height:1.1}.starting-price-panel p{margin:0;padding-left:20px;border-left:1px solid #e2c794;font-size:10px}
.product-configurator { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:14px; padding:12px; border:1px solid #dfe2e5; border-radius:6px; }
.configurator-options { min-width:0; }.configurator-options fieldset{padding:0;margin:0 0 14px;border:0}.configurator-options legend{display:flex;align-items:center;gap:5px;margin-bottom:7px;font-size:9px;font-weight:800;text-transform:uppercase}.configurator-options legend svg{width:11px;color:#6c747c}
.config-choice-grid { display:flex; flex-wrap:wrap; gap:8px; }.config-choice-grid label{cursor:pointer}.config-choice-grid input{position:absolute;opacity:0}.config-choice-grid span{display:grid;place-items:center;min-height:30px;padding:0 15px;border:1px solid #d6dade;border-radius:4px;font-size:8px}.config-choice-grid input:checked+span{border-color:#d48e15;box-shadow:inset 0 0 0 1px #d48e15}.config-choice-grid.sizes span{min-width:105px}
.config-addon-grid { display:flex; flex-wrap:wrap; gap:12px; }.config-addon-grid label{display:flex;gap:6px;align-items:flex-start;font-size:8px}.config-addon-grid input{width:14px;height:14px;margin:0;accent-color:#cf8e19}.config-addon-grid span{display:grid}.config-addon-grid small{color:#333}
.detail-quantity { display:grid; gap:7px; margin-top:21px; }.detail-quantity>strong{font-size:9px;text-transform:uppercase}.detail-quantity>span{display:grid;grid-template-columns:32px 45px 32px;width:max-content}.detail-quantity button,.detail-quantity input{height:32px;text-align:center;background:#fff;border:1px solid #d6dade}.detail-quantity input{width:45px;border-left:0;border-right:0}.detail-quantity button{display:grid;place-items:center;padding:0}.detail-quantity svg{width:13px}
.selection-summary { padding:12px; border:1px solid #dfe2e5; border-radius:5px; }.selection-summary h2{font-size:9px;text-transform:uppercase}.selection-summary dl{display:grid;gap:7px;margin:0}.selection-summary dl div{display:flex;justify-content:space-between;gap:8px;font-size:8px}.selection-summary dd{margin:0;text-align:right}.estimated-subtotal{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding-top:11px;border-top:1px solid #dfe2e5;text-transform:uppercase}.estimated-subtotal span{display:grid;font-size:8px;font-weight:700}.estimated-subtotal small{margin-top:8px;color:#70777f;font-size:7px;font-weight:400;text-transform:none}.estimated-subtotal strong{color:#c98714;font-size:18px;white-space:nowrap}
.configurator-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:10px; }.configurator-actions button,.configurator-actions a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:39px;border-radius:2px;font-size:10px;font-weight:800;text-transform:uppercase}.configurator-actions button{color:#fff;background:#cd8d18;border:1px solid #cd8d18}.configurator-actions a{border:1px solid #d09221}.configurator-actions svg{width:17px}
.storefront-description-tabs { margin-top:22px; }.storefront-description-tabs nav{display:flex;gap:34px;border-bottom:1px solid #dfe2e5}.storefront-description-tabs nav button{min-height:43px;padding:0 10px;color:#1c2228;background:transparent;border:0;border-bottom:2px solid transparent;font-size:10px;font-weight:700;text-transform:uppercase}.storefront-description-tabs nav button.active{color:#bc7d13;border-color:#cf8e19}.storefront-description-tabs article{display:none;padding:17px 10px;color:#272d33;font-size:11px}.storefront-description-tabs article.active{display:block}.storefront-description-tabs ul{display:grid;gap:5px;padding:0;list-style:none}.storefront-description-tabs li::before{content:"✓";margin-right:10px;color:#c98714}.storefront-description-tabs dl{margin:0}.storefront-description-tabs dl div{display:grid;grid-template-columns:180px 1fr;padding:8px;border-bottom:1px solid #e3e5e8}.storefront-description-tabs dd{margin:0}
.storefront-related { margin-top:18px; }.storefront-related>h2{font-size:11px;text-transform:uppercase}.storefront-related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.storefront-related article{position:relative;border:1px solid #dfe2e5;border-radius:5px;overflow:hidden}.storefront-related article a{display:grid;padding:7px}.storefront-related img{width:100%;height:90px;object-fit:contain}.storefront-related small{color:#bd7e13;font-size:6px;text-transform:uppercase}.storefront-related strong{font-size:9px}.storefront-related span{font-size:8px}.storefront-related b{color:#c78513}

/* Quote cart */
.storefront-cart-hero { min-height:120px; background-position:right -80px center; }.storefront-cart-hero h1{font-size:30px;text-transform:uppercase}.storefront-cart-page{max-width:1580px;margin:auto;padding:20px clamp(28px,4vw,65px) 30px}.cart-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:30px;max-width:1320px;margin:0 auto 22px}.cart-progress>div{display:flex;align-items:center;gap:11px;min-width:180px}.cart-progress>div>b{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border:1px solid #cfd4da;border-radius:50%;font-size:11px}.cart-progress>div.done b,.cart-progress>div.active b{color:#fff;background:#cd8d18;border-color:#cd8d18}.cart-progress>div span{display:grid}.cart-progress strong{font-size:10px}.cart-progress small{color:#646b74;font-size:8px}.cart-progress>i{height:1px;background:#aeb4ba}
.storefront-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:18px;align-items:start}.storefront-cart-items,.storefront-quote-panel{border:1px solid #dfe2e5;border-radius:6px;background:#fff}.storefront-cart-items>h2{margin:0;padding:18px 22px 6px;font-size:11px;text-transform:uppercase}.cart-items-head,.storefront-cart-row{display:grid;grid-template-columns:minmax(360px,1fr) 115px 135px 135px 55px;gap:20px;align-items:center}.cart-items-head{padding:7px 22px 12px;border-bottom:1px solid #dfe2e5;font-size:8px;font-weight:700}.storefront-cart-row{padding:18px 22px;border-bottom:1px solid #dfe2e5}.cart-item-product{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center}.cart-item-product>img{width:200px;height:125px;object-fit:contain;background:#fafafa;border:1px solid #e4e6e9;border-radius:4px}.cart-item-product>div>small{color:#bd7d13;font-size:7px;text-transform:uppercase}.cart-item-product h3{margin:3px 0 8px;font-size:14px}.cart-item-product dl{padding:8px 10px;margin:0;border:1px solid #dfe2e5;border-radius:4px}.cart-item-product dl div{display:grid;grid-template-columns:75px 1fr;gap:8px;font-size:8px}.cart-item-product dd{margin:0}.cart-quantity-form{display:grid;grid-template-columns:30px 38px 30px}.cart-quantity-form button,.cart-quantity-form input{height:31px;padding:0;text-align:center;background:#fff;border:1px solid #d6dade}.cart-quantity-form input{width:38px;border-left:0;border-right:0}.cart-quantity-form button{display:grid;place-items:center}.cart-quantity-form svg{width:12px}.cart-quantity-form small{grid-column:1/-1;margin-top:5px;color:#bf7d0d;text-align:center;font-size:8px}.cart-unit-price,.cart-line-subtotal{font-size:11px;white-space:nowrap}.cart-item-actions{display:grid;gap:7px}.cart-item-actions>a,.cart-item-actions button{display:grid;place-items:center;width:30px;height:30px;padding:0;color:#26303a;background:#fff;border:1px solid #cfd4da;border-radius:4px}.cart-item-actions svg{width:14px}.cart-project-notes{padding:17px 22px}.cart-project-notes label{display:grid;gap:7px;font-size:9px;font-weight:700;text-transform:uppercase}.cart-project-notes textarea{width:100%;padding:10px;border:1px solid #d6dade;border-radius:4px;resize:vertical;font-size:9px;text-transform:none}.cart-project-notes>small{color:#727980;font-size:8px}.cart-items-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px}.cart-items-footer>a{display:flex;align-items:center;gap:8px;min-height:35px;padding:0 18px;color:#b8790d;border:1px solid #cf9225;border-radius:3px;font-size:9px;font-weight:700;text-transform:uppercase}.cart-items-footer>a svg{width:14px}.cart-items-footer>p{display:flex;align-items:flex-start;gap:11px;max-width:500px;margin:0;padding:9px 15px;color:#665b47;background:#fff8eb;border:1px solid #efcf92;border-radius:4px;font-size:8px}.cart-items-footer>p svg{width:18px;flex:0 0 18px;color:#c58413}
.storefront-quote-panel{position:sticky;top:96px;overflow:hidden}.cart-summary,.cart-quote-form{padding:18px 21px}.cart-summary{border-bottom:1px solid #dfe2e5}.cart-summary h2,.cart-quote-form h2{display:flex;align-items:center;gap:11px;margin:0 0 11px;font-size:11px;text-transform:uppercase}.cart-summary h2 svg,.cart-quote-form h2 svg{width:19px}.cart-summary>p{display:flex;justify-content:space-between;margin:0;padding:6px 0;font-size:9px}.cart-summary>p:nth-of-type(2){font-weight:800;border-top:1px solid #e2e4e7}.cart-summary>div{display:flex;gap:8px;padding:9px;margin-top:5px;color:#675434;background:#fff8ea;border:1px solid #edc87e;font-size:9px}.cart-summary>div svg{width:17px;flex:0 0 17px;color:#c88716}.cart-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cart-form-grid label{display:grid;gap:5px;font-size:8px}.cart-form-grid .full{grid-column:1/-1}.cart-form-grid input,.cart-form-grid textarea{width:100%;padding:8px 9px;border:1px solid #d3d8de;border-radius:3px;font-size:8px;resize:vertical}.cart-quote-form form>button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:37px;margin-top:10px;color:#fff;background:#cc8b17;border:0;border-radius:2px;font-size:9px;font-weight:800;text-transform:uppercase}.cart-quote-form form>button:disabled{opacity:.45}.cart-quote-form form>button svg{width:15px}.cart-privacy{display:flex;align-items:center;justify-content:center;gap:8px;color:#7a8189;font-size:8px}.cart-privacy svg{width:11px}.cart-whatsapp{position:relative;padding-top:13px;border-top:1px solid #dfe2e5}.cart-whatsapp>span{position:absolute;left:50%;top:-7px;padding:0 8px;background:#fff;color:#777;font-size:8px}.cart-whatsapp>a{display:grid;grid-template-columns:40px 1fr;align-items:center}.cart-whatsapp>a svg{grid-row:span 2;width:32px;height:32px;padding:6px;color:#fff;background:#25d366;border-radius:50%}.cart-whatsapp small,.cart-whatsapp strong{font-size:8px}.storefront-cart-empty{display:grid;place-items:center;min-height:450px;padding:30px;text-align:center;border:1px solid #dfe2e5;border-radius:6px}.storefront-cart-empty>svg{width:40px;color:#c5891c}.storefront-cart-empty h2{margin:12px 0 4px}.storefront-cart-empty p{margin:0;color:#6b727a}.storefront-cart-empty a{margin-top:14px;padding:9px 16px;color:#fff;background:#c98a19}

@media(max-width:1250px){.storefront-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storefront-product-columns{grid-template-columns:1fr}.storefront-product-config{max-width:none}.storefront-cart-layout{grid-template-columns:1fr}.storefront-quote-panel{position:static}.cart-items-head,.storefront-cart-row{grid-template-columns:minmax(330px,1fr) 110px 125px 125px 50px}}
@media(max-width:960px){.storefront-catalog{grid-template-columns:1fr;gap:18px}.storefront-filters{position:fixed;z-index:80;inset:0 auto 0 0;width:min(330px,90vw);overflow:auto;transform:translateX(-103%);transition:transform .2s}.storefront-filters.open{transform:translateX(0);box-shadow:12px 0 40px rgba(0,0,0,.24)}body.filters-open::after{content:"";position:fixed;z-index:70;inset:0;background:rgba(0,0,0,.5)}.mobile-filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.mobile-filter-heading button{display:grid;place-items:center;width:32px;height:32px;background:#fff;border:1px solid #d3d8de}.mobile-filter-heading svg{width:15px}.mobile-filter-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 13px;background:#fff;border:1px solid #d7dbe0;border-radius:4px}.mobile-filter-button svg{width:16px}.storefront-catalog-toolbar{grid-template-columns:auto 1fr auto}.catalog-search-sort{grid-template-columns:minmax(180px,1fr) 170px}.catalog-search-sort>span{display:none}.storefront-product-grid.list-view .storefront-product-card{grid-template-columns:190px 1fr}.storefront-product-grid.list-view .storefront-card-actions{grid-column:1/-1;grid-template-columns:1fr auto}.cart-progress{gap:12px}.cart-progress>div{min-width:0}.cart-progress>div small{display:none}.cart-items-head{display:none}.storefront-cart-row{grid-template-columns:1fr 110px 110px 50px}.cart-item-product{grid-column:1/-1}.cart-line-subtotal{display:none}}
@media(max-width:720px){.site-header{min-height:70px}.site-nav a{min-height:44px}.storefront-products-hero,.storefront-cart-hero{min-height:145px;padding-left:22px;padding-right:22px;background-size:360px}.storefront-products-hero h1{font-size:32px}.storefront-catalog,.storefront-product-detail,.storefront-cart-page{padding-left:16px;padding-right:16px}.storefront-catalog-toolbar{grid-template-columns:auto 1fr}.catalog-search-sort{display:contents}.storefront-search{grid-column:1/-1;grid-row:1}.mobile-filter-button{grid-row:2}.catalog-search-sort select{grid-row:2}.catalog-view-toggle{grid-row:2}.storefront-product-grid{grid-template-columns:1fr}.storefront-product-grid.list-view .storefront-product-card{grid-template-columns:1fr}.storefront-product-grid.list-view .storefront-card-actions{grid-column:auto}.storefront-product-image{min-height:190px}.storefront-product-image img{height:180px}.storefront-product-columns{gap:26px}.storefront-main-media{min-height:330px}.storefront-main-media>img{height:280px}.storefront-thumbnails{gap:6px}.storefront-thumbnails button{height:68px}.storefront-product-config>h1{font-size:25px}.storefront-feature-strip{grid-template-columns:1fr 1fr}.storefront-feature-strip span:nth-child(2){border-right:0}.storefront-feature-strip span:nth-child(-n+2){border-bottom:1px solid #e4e6e9}.starting-price-panel{grid-template-columns:1fr}.starting-price-panel p{padding:7px 0 0;border:0}.product-configurator{grid-template-columns:1fr}.selection-summary{grid-row:auto}.configurator-actions{grid-template-columns:1fr}.storefront-description-tabs nav{gap:6px;overflow:auto}.storefront-description-tabs nav button{flex:0 0 auto;font-size:8px}.storefront-description-tabs dl div{grid-template-columns:1fr}.storefront-related>div{grid-template-columns:1fr}.cart-progress{grid-template-columns:1fr 1fr 1fr;gap:6px}.cart-progress>i{display:none}.cart-progress>div{display:grid;justify-items:center;text-align:center}.cart-progress>div span{display:none}.storefront-cart-row{grid-template-columns:1fr 1fr;gap:12px;padding:15px}.cart-item-product{grid-template-columns:110px 1fr}.cart-item-product>img{width:110px;height:90px}.cart-quantity-form{justify-self:start}.cart-unit-price{align-self:center}.cart-item-actions{grid-column:2;grid-row:2;display:flex;justify-content:flex-end}.cart-project-notes,.cart-items-footer{padding:15px}.cart-items-footer{align-items:stretch;flex-direction:column}.cart-form-grid{grid-template-columns:1fr}.cart-form-grid .full{grid-column:auto}.footer-grid{padding-left:22px;padding-right:22px}}

/* Reference storefront refinements */
.storefront-catalog{grid-template-columns:230px minmax(0,1fr);gap:24px;max-width:1680px;padding-top:20px;padding-left:3.6vw;padding-right:3.6vw}.storefront-filters{padding:14px 14px 20px}.desktop-filter-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid #e0e2e5;text-transform:uppercase}.desktop-filter-heading strong{font-size:10px}.desktop-filter-heading a{color:#bf7d0d;font-size:8px;text-transform:none}.storefront-filters label>b{display:grid;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 5px;color:#676e76;background:#f0f1f2;border-radius:12px;font-size:8px}.storefront-filters fieldset{gap:6px;padding-bottom:13px;margin-bottom:13px}.storefront-filters legend{padding-bottom:8px}.storefront-filters legend::after{display:none}.storefront-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.storefront-product-image{min-height:142px;padding:12px 12px 3px}.storefront-product-image img{height:132px}.storefront-product-copy{padding:7px 11px 8px}.storefront-product-copy h2{font-size:11px}.product-card-summary{min-height:30px;font-size:8px}.product-card-tags{margin-bottom:6px}.product-card-tags span{min-height:17px;font-size:7px}.product-default-config{min-height:24px;margin:0 0 5px;color:#555e67;font-size:7px;line-height:1.45}.storefront-price{font-size:8px}.storefront-price strong{font-size:12px}.storefront-card-actions{gap:8px;padding:0 11px 8px}.storefront-card-actions form button{min-height:29px;font-size:8px}.storefront-card-actions form button.in-cart{color:#18864b;background:#fff;border:1px solid #26a761}.storefront-card-actions>a{font-size:7px}.storefront-catalog-toolbar{margin-bottom:12px}.catalog-search-sort{grid-template-columns:minmax(260px,1.1fr) 1fr 185px}.storefront-search input,.catalog-search-sort select{height:36px}.storefront-search svg{top:9px}.catalog-view-toggle button{width:34px;height:34px}.storefront-pagination{margin-top:10px}

.storefront-product-detail{max-width:1680px;padding-top:15px;padding-left:3vw;padding-right:3vw}.storefront-product-columns{grid-template-columns:minmax(500px,.92fr) minmax(700px,1.18fr);gap:44px}.storefront-main-media{min-height:480px}.storefront-main-media>img{height:405px}.storefront-thumbnails button{height:105px}.storefront-product-config>h1{font-size:30px}.product-configurator{grid-template-columns:minmax(0,1fr) 260px;padding:0;border:0}.configurator-options{padding:0}.selection-summary{grid-row:1/span 2;grid-column:2;padding:18px}.configurator-actions{grid-column:1;grid-row:2;align-self:end}.quick-add-note{grid-column:1;display:flex;align-items:center;gap:9px;margin:0;padding:7px 12px;color:#565e67;background:#fafbfc;border:1px solid #dfe2e5;border-radius:4px;font-size:7px}.quick-add-note svg{width:12px}.quick-add-note span{width:1px;height:14px;background:#ccd1d7}.selection-benefits{display:grid;gap:13px;padding:14px 0 0;margin:14px 0 0;border-top:1px solid #dfe2e5;list-style:none}.selection-benefits li{display:flex;align-items:center;gap:9px;font-size:8px}.selection-benefits svg{width:17px}.storefront-description-tabs article.active{display:grid;grid-template-columns:1fr 1fr;gap:24px}.storefront-description-tabs article>p:only-child{grid-column:1/-1}.storefront-related{margin-top:15px}

.storefront-cart-page{max-width:1680px;padding:16px 2.7vw 26px}.storefront-cart-layout{grid-template-columns:minmax(0,1fr) 420px;gap:30px}.storefront-cart-main>.cart-progress{margin:0 25px 20px}.cart-progress{gap:18px}.cart-progress>div{min-width:155px}.storefront-cart-row{padding-top:14px;padding-bottom:14px}.cart-items-footer{justify-content:flex-end}.cart-items-footer>p{width:100%;max-width:none}.storefront-quote-panel{top:88px}.cart-form-grid input,.cart-form-grid textarea{font-size:9px}

/* AJAX mini cart */
.mini-cart-backdrop{position:fixed;z-index:89;inset:0;display:none;width:100%;height:100%;padding:0;background:rgba(4,9,14,.34);border:0}.mini-cart-open .mini-cart-backdrop{display:block}.mini-cart-drawer{position:fixed;z-index:90;right:0;top:0;display:grid;grid-template-rows:auto 1fr auto;width:min(360px,94vw);height:100vh;background:#fff;box-shadow:-18px 0 45px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .22s}.mini-cart-drawer.open{transform:translateX(0)}.mini-cart-drawer>header{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:0 20px;border-bottom:1px solid #e0e3e6}.mini-cart-drawer h2{margin:0;font-size:13px;text-transform:uppercase}.mini-cart-drawer>header button,.cart-toast>button{display:grid;place-items:center;width:30px;height:30px;padding:0;background:transparent;border:0}.mini-cart-drawer svg{width:16px}.mini-cart-items{overflow:auto;padding:0 20px}.mini-cart-items article{display:grid;grid-template-columns:92px minmax(0,1fr) 24px;gap:12px;padding:16px 0;border-bottom:1px solid #e0e3e6}.mini-cart-items article>img{width:92px;height:74px;object-fit:contain;background:#fafafa;border:1px solid #e2e5e8}.mini-cart-items article>div{display:grid;align-content:start;gap:4px}.mini-cart-items article strong{font-size:10px}.mini-cart-items article small{color:#606872;font-size:8px}.mini-cart-items article>button{width:24px;height:24px;padding:0;background:transparent;border:0}.mini-cart-items article>b{grid-column:2/-1;justify-self:end;font-size:11px}.mini-cart-stepper{display:grid;grid-template-columns:27px 33px 27px;width:max-content;margin-top:8px}.mini-cart-stepper button,.mini-cart-stepper b{display:grid;place-items:center;height:27px;padding:0;background:#fff;border:1px solid #d8dde2;font-size:9px}.mini-cart-stepper b{border-left:0;border-right:0}.mini-cart-stepper svg{width:11px}.mini-cart-empty{padding:50px 0;color:#707880;text-align:center}.mini-cart-drawer>footer{padding:18px 20px;border-top:1px solid #dfe2e5}.mini-cart-drawer>footer>p{display:flex;justify-content:space-between;margin:0 0 14px}.mini-cart-drawer>footer>p span{display:grid;font-size:10px;font-weight:700}.mini-cart-drawer>footer>p small{font-size:7px;font-weight:400}.mini-cart-drawer>footer>p strong{font-size:13px}.mini-cart-drawer>footer>a{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:8px;border:1px solid #b9bec4;font-size:9px;font-weight:800;text-transform:uppercase}.mini-cart-drawer>footer>a:nth-of-type(2){color:#fff;background:#cc8b16;border-color:#cc8b16}.mini-cart-drawer>footer>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;padding-top:15px;border-top:1px solid #e0e3e6}.mini-cart-drawer>footer>div span{display:grid;justify-items:center;gap:3px;text-align:center;font-size:7px}.mini-cart-drawer>footer>div svg{width:19px}.cart-toast{position:fixed;z-index:95;right:28px;top:88px;display:grid;grid-template-columns:46px minmax(0,1fr) 28px;gap:12px;width:min(370px,calc(100vw - 32px));padding:18px;color:#182029;background:#fff;border:1px solid #d8dde2;border-radius:6px;box-shadow:0 16px 42px rgba(0,0,0,.2);opacity:0;pointer-events:none;transform:translateY(-14px);transition:.18s}.cart-toast.open{opacity:1;pointer-events:auto;transform:translateY(0)}.cart-toast>span{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:#ca8915;border-radius:50%}.cart-toast>span svg{width:21px}.cart-toast>div{display:grid;gap:2px}.cart-toast strong{font-size:11px}.cart-toast b{font-size:9px}.cart-toast small{color:#5f6770;font-size:8px}.cart-toast a{display:flex;align-items:center;gap:7px;margin-top:6px;color:#bd7b0c;font-size:9px}.cart-toast a svg{width:13px}.cart-toast>button svg{width:15px}

@media(max-width:1450px) and (min-width:1251px){.storefront-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.storefront-product-columns{grid-template-columns:minmax(460px,.9fr) minmax(650px,1.1fr)}}
@media(max-width:1250px){.storefront-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storefront-product-columns{grid-template-columns:1fr}.product-configurator{grid-template-columns:minmax(0,1fr) 280px}.storefront-cart-layout{grid-template-columns:1fr}.storefront-quote-panel{position:static}}
@media(max-width:960px){.desktop-filter-heading{display:none}.storefront-catalog{grid-template-columns:1fr}.product-configurator{grid-template-columns:minmax(0,1fr) 250px}.storefront-cart-main>.cart-progress{margin-left:0;margin-right:0}}
@media(max-width:720px){.product-configurator{grid-template-columns:1fr}.selection-summary{grid-row:auto;grid-column:auto}.configurator-actions,.quick-add-note{grid-column:auto;grid-row:auto}.quick-add-note{align-items:flex-start;flex-wrap:wrap}.quick-add-note span{display:none}.storefront-description-tabs article.active{grid-template-columns:1fr}.cart-toast{right:16px;top:78px}.mini-cart-drawer{width:100%}}

/* Reference-matched homepage */
.brand-mark {
    width: 52px;
    height: 52px;
    padding: 7px;
    color: #fff;
    background: #15171a;
    border: 1px solid rgba(255,255,255,.15);
}

.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.page-home main { background: #050607; }

.page-home .hero {
    min-height: 585px;
    padding: 78px 5.2vw;
    background: url("../images/home-hero-kitchen.webp") center / cover no-repeat;
}

.page-home .hero::before { display: none; }
.page-home .hero::after {
    inset: 0;
    width: auto;
    opacity: 1;
    background: linear-gradient(90deg, rgba(1,3,5,.97) 0%, rgba(1,3,5,.9) 28%, rgba(1,3,5,.48) 50%, rgba(1,3,5,.03) 78%);
    border: 0;
    box-shadow: none;
}

.page-home .hero-content { max-width: 520px; }
.page-home .hero .eyebrow { margin-bottom: 15px; font-size: 13px; }
.page-home .hero h1 { margin-bottom: 18px; font-size: clamp(52px,5vw,72px); line-height: .98; }
.page-home .hero p:not(.eyebrow) { max-width: 500px; font-size: 15px; line-height: 1.65; }
.page-home .hero .actions { margin-top: 26px; }
.page-home .hero .gold-btn { min-height: 50px; padding: 0 31px; }

.page-home .dark-section {
    padding: 32px 5.2vw 38px;
    background: linear-gradient(135deg,#090a0b,#020303);
}

.page-home .section-heading { align-items: end; }
.page-home .section-heading .eyebrow { margin-bottom: 12px; font-size: 12px; }
.page-home .section-heading h2 { margin-bottom: 21px; font-size: clamp(27px,2.7vw,38px); }
.page-home .section-heading > p,
.page-home .section-heading > div + p { max-width: 390px; margin: 0 34px 24px 0; font-size: 13px; line-height: 1.65; }

.page-home .service-grid { gap: 28px; }
.page-home .service-grid article {
    min-height: 330px;
    padding: 24px 28px 22px;
    text-align: center;
    background: linear-gradient(150deg,#17191b,#0d0e0f);
    border: 1px solid rgba(255,255,255,.32);
}

.page-home .service-icon { width: 66px; height: 66px; margin-bottom: 18px; }
.page-home .service-icon svg { stroke-width: 1.7; }
.page-home .service-grid h3 { min-height: 43px; margin-bottom: 12px; font-size: 15px; line-height: 1.35; }
.page-home .service-grid p { max-width: 225px; margin: 0 auto 18px; color: #d0d2d4; font-size: 12px; line-height: 1.55; letter-spacing: 0; }
.page-home .service-grid a { margin-top: auto; font-size: 11px; }

.page-home .home-about {
    grid-template-columns: minmax(300px,.84fr) minmax(390px,1fr) minmax(260px,.72fr);
    gap: 36px;
    padding: 36px 5.2vw;
    background: linear-gradient(105deg,#090a0b,#121416 55%,#050607);
}

.page-home .about-copy { max-width: 430px; }
.page-home .about-copy h2 { font-size: clamp(29px,2.65vw,39px); }
.page-home .about-copy p:not(.eyebrow) { max-width: 410px; margin-bottom: 22px; font-size: 12px; }
.page-home .about-copy .outline-btn { min-height: 42px; padding: 0 22px; font-size: 10px; }
.page-home .about-visual {
    min-height: 405px;
    background: linear-gradient(90deg,rgba(0,0,0,.03),rgba(0,0,0,.2)),url("../images/home-about-welder.webp") center 46% / cover no-repeat;
    border-left: 4px solid var(--gold);
    box-shadow: none;
}

.page-home .about-points { gap: 13px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18); }
.page-home .about-points div { grid-template-columns: 48px 1fr; gap: 16px; min-height: 82px; }
.page-home .about-points div::before { left: -25px; width: 18px; }
.page-home .about-points div > span:last-child { display: grid; gap: 5px; }
.page-home .about-points .mini-icon { width: 44px; height: 44px; }
.page-home .about-points strong { font-size: 12px; }
.page-home .about-points small { max-width: 170px; color: #bec1c4; font-size: 10px; line-height: 1.45; }

.page-home .process-section { padding: 28px 5.2vw 22px; background: #030405; }
.page-home .process-section .eyebrow { margin-bottom: 9px; font-size: 12px; }
.page-home .process-section h2 { margin-bottom: 20px; font-size: clamp(26px,2.5vw,36px); }
.page-home .process-grid { gap: 0; }
.page-home .process-grid article { padding: 0 16px; text-align: center; }
.page-home .process-grid article::before { left: calc(50% + 23px); right: calc(-50% + 23px); top: 21px; background: rgba(217,169,88,.32); }
.page-home .process-grid article:last-child::before { display: none; }
.page-home .process-grid strong {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 0 auto 11px;
    background: #050607;
    border: 1px solid var(--gold-2);
    border-radius: 50%;
    font-size: 17px;
}
.page-home .process-grid h3 { margin-bottom: 7px; font-size: 11px; }
.page-home .process-grid p { max-width: 190px; margin: 0 auto; font-size: 10px; line-height: 1.45; }

.page-home .home-stats { gap: 0; padding: 24px 5.2vw; background: linear-gradient(120deg,#1b1d1f,#0d0f10); }
.page-home .home-stats > div { min-height: 132px; padding: 6px 24px; border-right: 1px solid rgba(255,255,255,.23); }
.page-home .home-stats > div:last-child { border-right: 0; }
.page-home .stat-icon { width: 47px; height: 47px; margin-bottom: 10px; color: var(--gold); }
.page-home .stats-band strong { font-size: 34px; }
.page-home .stats-band span { margin-top: 7px; font-size: 10px; }

.page-home .home-contact {
    grid-template-columns: minmax(235px,.68fr) minmax(280px,.75fr) minmax(430px,1.25fr);
    gap: 34px;
    padding: 32px 5.2vw;
    background: linear-gradient(110deg,#070809,#121416 62%,#070809);
}
.page-home .home-contact .eyebrow { margin-bottom: 10px; font-size: 12px; }
.page-home .home-contact h2 { margin-bottom: 16px; font-size: clamp(28px,2.65vw,38px); }
.page-home .home-contact > div:first-child > p:last-child { max-width: 340px; margin: 0; font-size: 11px; }
.page-home .home-contact-details { gap: 18px; padding: 6px 0 6px 30px; border-left: 1px solid rgba(255,255,255,.18); }
.page-home .home-contact-details p { display: grid; grid-template-columns: 27px 1fr; gap: 12px; align-items: start; color: #d5d7d9; font-size: 10px; }
.page-home .home-contact-details p > svg { width: 22px; color: var(--gold); }
.page-home .home-contact-details strong { margin-bottom: 2px; font-size: 10px; }
.page-home .home-contact-form { gap: 7px; }
.page-home .home-contact-form .form-row { gap: 7px; }
.page-home .home-contact-form input { min-height: 40px; }
.page-home .home-contact-form textarea { min-height: 78px; }
.page-home .home-contact-form input,
.page-home .home-contact-form textarea { padding: 10px 12px; font-size: 10px; background: rgba(1,3,4,.58); }
.page-home .home-contact-form .gold-btn { min-height: 40px; color: #080808; font-size: 10px; }

.page-home .site-footer .footer-grid { padding-top: 32px; padding-bottom: 26px; }
.page-home .site-footer .footer-bottom { padding-top: 14px; padding-bottom: 14px; font-size: 10px; }

@media (max-width: 1180px) and (min-width: 721px) {
    .page-home .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .page-home .home-about { grid-template-columns: minmax(280px,.8fr) minmax(400px,1.2fr); }
    .page-home .about-points { grid-column: 1/-1; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .page-home .home-contact { grid-template-columns: .8fr 1.2fr; }
    .page-home .home-contact-form { grid-column: 1/-1; }
}

@media (max-width: 860px) {
    .page-home .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 0; }
    .page-home .process-grid article::before { display: none; }
    .page-home .home-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .page-home .home-stats > div:nth-child(2) { border-right: 0; }
    .page-home .home-stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 720px) {
    .brand-mark { width: 44px; height: 44px; padding: 6px; }
    .page-home .hero { min-height: 530px; align-items: end; padding: 90px 22px 58px; background-position: 63% center; }
    .page-home .hero::after { inset: 0; height: auto; background: linear-gradient(90deg,rgba(1,3,5,.96),rgba(1,3,5,.73) 62%,rgba(1,3,5,.3)); }
    .page-home .hero h1 { font-size: 48px; }
    .page-home .dark-section,
    .page-home .home-about,
    .page-home .process-section,
    .page-home .home-contact { padding-left: 22px; padding-right: 22px; }
    .page-home .section-heading { display: block; }
    .page-home .section-heading > p,
    .page-home .section-heading > div + p { margin: 0 0 22px; }
    .page-home .service-grid { grid-template-columns: 1fr; gap: 14px; }
    .page-home .service-grid article { min-height: 290px; }
    .page-home .home-about { grid-template-columns: 1fr; }
    .page-home .about-visual { min-height: 360px; }
    .page-home .about-points { grid-template-columns: 1fr; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
    .page-home .about-points div::before { display: none; }
    .page-home .process-grid { grid-template-columns: 1fr; }
    .page-home .process-grid article { padding: 0; }
    .page-home .home-stats { grid-template-columns: repeat(2,minmax(0,1fr)); padding-left: 14px; padding-right: 14px; }
    .page-home .home-stats > div { padding: 12px 8px; }
    .page-home .stats-band strong { font-size: 29px; }
    .page-home .home-contact { grid-template-columns: 1fr; }
    .page-home .home-contact-details { padding-left: 0; border-left: 0; }
}

/* Customer-readable storefront type scale */
.page-products .storefront-breadcrumb { font-size: 12px; }
.page-products .storefront-products-hero>div>p:last-child { font-size: 14px; }
.page-products .storefront-catalog { grid-template-columns: 250px minmax(0,1fr); }
.page-products .desktop-filter-heading strong,
.page-products .storefront-filters legend { font-size: 12px; }
.page-products .desktop-filter-heading a { font-size: 11px; }
.page-products .storefront-filters label { gap: 10px; font-size: 12px; line-height: 1.4; }
.page-products .storefront-filters label>b { min-width: 23px; height: 23px; font-size: 10px; }
.page-products .catalog-price-filter>div { font-size: 11px; }
.page-products .storefront-reset { min-height: 42px; font-size: 11px; }
.page-products .storefront-search input,
.page-products .catalog-search-sort select { height: 42px; font-size: 13px; }
.page-products .storefront-search svg { top: 12px; }
.page-products .catalog-search-sort>span { font-size: 13px; }

.page-products .storefront-product-grid { gap: 14px; }
.page-products .storefront-product-image { min-height: 166px; padding: 15px 14px 5px; }
.page-products .storefront-product-image img { height: 154px; }
.page-products .storefront-product-copy { padding: 10px 14px 12px; }
.page-products .product-category-label { margin-bottom: 5px; font-size: 10px; }
.page-products .storefront-product-copy h2 { margin-bottom: 5px; font-size: 15px; line-height: 1.35; }
.page-products .product-card-summary { min-height: 50px; margin-bottom: 8px; font-size: 12px; line-height: 1.5; }
.page-products .product-card-tags { gap: 6px; margin-bottom: 9px; }
.page-products .product-card-tags span { min-height: 23px; padding: 0 8px; font-size: 10px; }
.page-products .product-default-config { min-height: 34px; margin-bottom: 7px; font-size: 11px; line-height: 1.5; }
.page-products .storefront-price { font-size: 12px; }
.page-products .storefront-price strong { font-size: 17px; }
.page-products .storefront-card-actions { gap: 10px; padding: 0 14px 12px; }
.page-products .storefront-card-actions form button { min-height: 38px; font-size: 12px; }
.page-products .storefront-card-actions>a { font-size: 12px; }
.page-products .storefront-pagination a { width: 40px; height: 36px; font-size: 12px; }

.page-products .storefront-main-media>span { font-size: 11px; }
.page-products .storefront-product-config>h1 { margin-bottom: 9px; font-size: 36px; }
.page-products .storefront-product-config>.product-category-label { font-size: 11px; }
.page-products .product-intro { font-size: 14px; line-height: 1.65; }
.page-products .storefront-feature-strip span { min-height: 72px; padding: 11px; }
.page-products .storefront-feature-strip svg { width: 28px; }
.page-products .storefront-feature-strip b { font-size: 11px; line-height: 1.4; }
.page-products .starting-price-panel { grid-template-columns: 165px 1fr; min-height: 78px; padding: 12px 16px; }
.page-products .starting-price-panel>span { font-size: 11px; }
.page-products .starting-price-panel strong { font-size: 28px; }
.page-products .starting-price-panel p { font-size: 13px; line-height: 1.5; }
.page-products .product-configurator { grid-template-columns: minmax(0,1fr) 300px; gap: 18px; }
.page-products .configurator-options fieldset { margin-bottom: 18px; }
.page-products .configurator-options legend { margin-bottom: 9px; font-size: 12px; }
.page-products .configurator-options legend svg { width: 14px; }
.page-products .config-choice-grid span { min-height: 38px; padding: 0 16px; font-size: 12px; }
.page-products .config-choice-grid.sizes span { min-width: 125px; }
.page-products .config-addon-grid label { gap: 8px; font-size: 12px; line-height: 1.45; }
.page-products .config-addon-grid input { width: 17px; height: 17px; }
.page-products .config-addon-grid small { margin-top: 2px; font-size: 11px; }
.page-products .detail-quantity>strong { font-size: 12px; }
.page-products .detail-quantity>span { grid-template-columns: 38px 52px 38px; }
.page-products .detail-quantity button,
.page-products .detail-quantity input { height: 38px; }
.page-products .detail-quantity input { width: 52px; font-size: 13px; }

.page-products .selection-summary { padding: 20px; }
.page-products .selection-summary h2 { margin-bottom: 14px; font-size: 13px; }
.page-products .selection-summary dl { gap: 10px; }
.page-products .selection-summary dl div { font-size: 12px; line-height: 1.45; }
.page-products .estimated-subtotal span { font-size: 11px; }
.page-products .estimated-subtotal small { font-size: 10px; line-height: 1.4; }
.page-products .estimated-subtotal strong { font-size: 23px; }
.page-products .selection-benefits li { font-size: 12px; }
.page-products .selection-benefits svg { width: 20px; }
.page-products .configurator-actions button,
.page-products .configurator-actions a { min-height: 46px; font-size: 12px; }
.page-products .quick-add-note { padding: 10px 13px; font-size: 11px; line-height: 1.45; }
.page-products .quick-add-note svg { width: 15px; }

.page-products .storefront-description-tabs nav button { min-height: 48px; font-size: 12px; }
.page-products .storefront-description-tabs article { padding: 20px 12px; font-size: 14px; line-height: 1.7; }
.page-products .storefront-description-tabs ul { gap: 8px; }
.page-products .storefront-related>h2 { font-size: 14px; }
.page-products .storefront-related article a { padding: 10px; }
.page-products .storefront-related img { height: 105px; }
.page-products .storefront-related small { font-size: 10px; }
.page-products .storefront-related strong { font-size: 12px; line-height: 1.35; }
.page-products .storefront-related span { font-size: 11px; }

.page-products .mini-cart-drawer h2 { font-size: 16px; }
.page-products .mini-cart-items article strong { font-size: 13px; }
.page-products .mini-cart-items article small { font-size: 11px; line-height: 1.4; }
.page-products .mini-cart-items article>b { font-size: 14px; }
.page-products .mini-cart-stepper button,
.page-products .mini-cart-stepper b { font-size: 12px; }
.page-products .mini-cart-drawer>footer>p span { font-size: 12px; }
.page-products .mini-cart-drawer>footer>p small { font-size: 10px; }
.page-products .mini-cart-drawer>footer>p strong { font-size: 16px; }
.page-products .mini-cart-drawer>footer>a { min-height: 42px; font-size: 11px; }
.page-products .mini-cart-drawer>footer>div span { font-size: 9px; }
.page-products .cart-toast strong { font-size: 13px; }
.page-products .cart-toast b { font-size: 11px; }
.page-products .cart-toast small,
.page-products .cart-toast a { font-size: 10px; }

@media (max-width: 1250px) {
    .page-products .product-configurator { grid-template-columns: minmax(0,1fr) 280px; }
}

@media (max-width: 960px) {
    .page-products .storefront-catalog { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .page-products .storefront-product-copy h2 { font-size: 17px; }
    .page-products .product-card-summary { min-height: 0; font-size: 13px; }
    .page-products .product-default-config { min-height: 0; font-size: 11px; }
    .page-products .storefront-card-actions form button,
    .page-products .storefront-card-actions>a { font-size: 12px; }
    .page-products .storefront-product-config>h1 { font-size: 30px; }
    .page-products .product-intro { font-size: 14px; }
    .page-products .product-configurator { grid-template-columns: 1fr; }
    .page-products .storefront-description-tabs nav button { font-size: 11px; }
}

/* Homepage and footer readability */
.page-home .section-heading > p,
.page-home .section-heading > div + p { font-size: 14px; }
.page-home .service-grid h3 { font-size: 17px; }
.page-home .service-grid p { max-width: 240px; font-size: 14px; line-height: 1.6; }
.page-home .service-grid a { font-size: 12px; }
.page-home .about-copy p:not(.eyebrow) { font-size: 14px; line-height: 1.7; }
.page-home .about-copy .outline-btn { font-size: 12px; }
.page-home .about-points strong { font-size: 14px; }
.page-home .about-points small { max-width: 190px; font-size: 12px; line-height: 1.5; }
.page-home .process-grid h3 { font-size: 13px; }
.page-home .process-grid p { max-width: 205px; font-size: 12px; line-height: 1.55; }
.page-home .stats-band span { font-size: 12px; line-height: 1.4; }
.page-home .home-contact > div:first-child > p:last-child { font-size: 13px; line-height: 1.65; }
.page-home .home-contact-details p { font-size: 13px; line-height: 1.55; }
.page-home .home-contact-details strong { font-size: 11px; }
.page-home .home-contact-form input,
.page-home .home-contact-form textarea { font-size: 13px; }
.page-home .home-contact-form .gold-btn { font-size: 12px; }
.page-home .site-footer .footer-grid p,
.page-home .site-footer .footer-grid a { font-size: 12px; line-height: 1.55; }
.page-home .site-footer .footer-grid h3 { font-size: 13px; }
.page-home .site-footer .footer-bottom { font-size: 12px; }

.footer-registration {
    display: grid;
    gap: 2px;
    margin-top: 14px;
    color: #c8c8c8;
    font-size: 12px;
}
.footer-registration strong { color: var(--gold); font-size: 11px; text-transform: uppercase; }

@media (max-width: 720px) {
    .page-home .service-grid p,
    .page-home .about-copy p:not(.eyebrow),
    .page-home .home-contact-details p { font-size: 14px; }
    .page-home .process-grid p { font-size: 13px; }
    .page-home .site-footer .footer-grid p,
    .page-home .site-footer .footer-grid a,
    .page-home .site-footer .footer-bottom { font-size: 13px; }
}

/* Product listing hero image */
.page-products .storefront-products-hero {
    min-height: 225px;
    background: #07101a url("../images/products-hero-kitchen.webp") center / cover no-repeat;
}
.page-products .storefront-products-hero::before {
    background: linear-gradient(90deg,rgba(3,9,15,.9) 0%,rgba(3,9,15,.68) 42%,rgba(3,9,15,.1) 72%);
}
.page-products .storefront-products-hero h1 { font-size: 42px; }

@media (max-width: 720px) {
    .page-products .storefront-products-hero {
        min-height: 190px;
        background-position: 64% center;
    }
    .page-products .storefront-products-hero::before {
        background: linear-gradient(90deg,rgba(3,9,15,.94),rgba(3,9,15,.72) 62%,rgba(3,9,15,.3));
    }
    .page-products .storefront-products-hero h1 { font-size: 34px; }
}

/* Stable mobile navigation */
.mobile-nav-backdrop { display: none; }
.menu-icon-close { display: none; }

@media (max-width: 1180px) {
    .site-header {
        grid-template-columns: minmax(0,1fr) 44px 44px;
        gap: 10px;
        min-height: 72px;
        padding: 0 20px;
    }
    .site-header .brand { grid-column: 1; min-width: 0; }
    .site-header .menu-toggle {
        grid-column: 3;
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 0;
        color: #fff;
        background: transparent;
        border: 1px solid rgba(255,255,255,.28);
        border-radius: 3px;
        cursor: pointer;
    }
    .site-header .menu-toggle svg { grid-area: 1/1; width: 22px; height: 22px; }
    .site-header.nav-open .menu-icon-open { display: none; }
    .site-header.nav-open .menu-icon-close { display: block; }

    .site-header .cart-link,
    .site-header.nav-open .cart-link {
        position: relative;
        grid-column: 2;
        grid-row: 1;
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        min-height: 44px;
        margin: 0;
        padding: 0;
        color: #fff;
        background: transparent;
        border-color: rgba(217,169,88,.72);
    }
    .site-header .cart-link .cart-label { display: none; }
    .site-header .cart-link>svg { width: 20px; height: 20px; }
    .site-header .cart-link .cart-count {
        position: absolute;
        top: -6px;
        right: -6px;
        min-width: 19px;
        height: 19px;
        margin: 0;
        font-size: 10px;
    }

    .site-header .site-nav,
    .site-header.nav-open .site-nav {
        position: absolute;
        z-index: 2;
        top: 100%;
        left: 0;
        right: 0;
        grid-column: 1/-1;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        max-height: calc(100vh - 72px);
        padding: 8px 20px 18px;
        overflow-y: auto;
        background: #050607;
        border-top: 1px solid rgba(255,255,255,.11);
        box-shadow: 0 18px 35px rgba(0,0,0,.35);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: opacity .18s,transform .18s,visibility .18s;
        pointer-events: none;
    }
    .site-header.nav-open .site-nav {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }
    .site-header .site-nav a,
    .site-header.nav-open .site-nav a {
        justify-content: space-between;
        min-height: 52px;
        padding: 0 4px;
        border-bottom: 1px solid rgba(255,255,255,.12);
        font-size: 14px;
    }
    .site-header .site-nav a:last-child { border-bottom-color: transparent; }
    .site-header .site-nav a.active { border-bottom-color: var(--gold); }

    .mobile-nav-backdrop {
        position: fixed;
        z-index: 45;
        inset: 72px 0 0;
        width: 100%;
        height: calc(100vh - 72px);
        padding: 0;
        background: rgba(0,0,0,.58);
        border: 0;
    }
    .mobile-menu-open { overflow: hidden; }
    .mobile-menu-open .mobile-nav-backdrop { display: block; }
}

@media (max-width: 420px) {
    .site-header { gap: 8px; padding: 0 14px; }
    .site-header .brand { gap: 9px; letter-spacing: 2px; }
    .site-header .brand-mark { width: 40px; height: 40px; }
    .site-header .brand strong { font-size: 13px; }
    .site-header .brand small { font-size: 8px; letter-spacing: 3px; }
}

/* Mobile product detail reading order */
@media (max-width: 720px) {
    .page-products .storefront-product-columns {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .page-products .storefront-gallery,
    .page-products .storefront-product-config { display: contents; }
    .page-products .storefront-main-media { order: 1; }
    .page-products .storefront-thumbnails { order: 2; margin-bottom: 28px; }
    .page-products .storefront-product-config>.product-category-label { order: 3; }
    .page-products .storefront-product-config>h1 { order: 4; }
    .page-products .storefront-product-config>.product-intro { order: 5; }
    .page-products .storefront-product-config>.storefront-feature-strip { order: 6; }
    .page-products .storefront-product-config>.starting-price-panel { order: 7; }
    .page-products .storefront-product-config>.product-configurator { order: 8; }
    .page-products .storefront-description-tabs { order: 9; width: 100%; margin-top: 30px; }
    .page-products .storefront-related { order: 10; width: 100%; margin-top: 24px; }
    .page-products .storefront-product-card[data-product-card-url] { cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .page-products .storefront-product-card[data-product-card-url]:active { border-color: var(--gold-2); }
    .page-products .storefront-card-actions { grid-template-columns: 1fr; }
    .page-products .storefront-card-actions>a { display: none; }
}

/* Mobile quote cart */
@media (max-width: 720px) {
    .page-products .storefront-cart-hero { min-height: 155px; padding: 22px 18px; background-size: 420px auto; }
    .page-products .storefront-cart-hero h1 { font-size: 30px; }
    .page-products .storefront-cart-hero>div>p:last-child { font-size: 13px; line-height: 1.5; }
    .page-products .storefront-cart-page { padding: 14px 12px 28px; }
    .page-products .storefront-cart-layout { display: grid; grid-template-columns: 1fr; gap: 18px; }

    .page-products .storefront-cart-main>.cart-progress {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 5px;
        margin: 0 0 16px;
    }
    .page-products .cart-progress>i { display: none; }
    .page-products .cart-progress>div {
        display: grid;
        justify-items: center;
        gap: 6px;
        min-width: 0;
        text-align: center;
    }
    .page-products .cart-progress>div>b { width: 34px; height: 34px; font-size: 12px; }
    .page-products .cart-progress>div span { display: grid; }
    .page-products .cart-progress strong { font-size: 10px; line-height: 1.25; }
    .page-products .cart-progress small { display: none; }

    .page-products .storefront-cart-items>h2 { padding: 16px 15px 10px; font-size: 15px; }
    .page-products .cart-items-head { display: none; }
    .page-products .storefront-cart-row {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: 16px 12px;
        padding: 16px 14px;
    }
    .page-products .cart-item-product {
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: 104px minmax(0,1fr);
        gap: 13px;
        padding-right: 38px;
        align-items: start;
    }
    .page-products .cart-item-product>img { width: 104px; height: 96px; }
    .page-products .cart-item-product>div>small { font-size: 10px; }
    .page-products .cart-item-product h3 { margin: 4px 0 9px; font-size: 16px; line-height: 1.3; }
    .page-products .cart-item-product dl { padding: 9px; }
    .page-products .cart-item-product dl div { grid-template-columns: 68px minmax(0,1fr); gap: 7px; font-size: 12px; line-height: 1.45; }
    .page-products .cart-item-product dd { overflow-wrap: anywhere; }

    .page-products .cart-quantity-form {
        grid-column: 1;
        grid-row: 2;
        grid-template-columns: 38px 44px 38px;
        justify-self: start;
    }
    .page-products .cart-quantity-form button,
    .page-products .cart-quantity-form input { height: 38px; font-size: 13px; }
    .page-products .cart-quantity-form input { width: 44px; }
    .page-products .cart-quantity-form small { margin-top: 6px; font-size: 10px; }
    .page-products .cart-unit-price { display: none; }
    .page-products .cart-line-subtotal {
        grid-column: 2;
        grid-row: 2;
        display: grid;
        align-content: center;
        justify-items: end;
        font-size: 15px;
    }
    .page-products .cart-line-subtotal::before {
        content: "Subtotal";
        margin-bottom: 3px;
        color: #747b83;
        font-size: 10px;
        font-weight: 500;
        text-transform: uppercase;
    }
    .page-products .cart-item-actions {
        position: absolute;
        top: 14px;
        right: 12px;
        display: grid;
        gap: 6px;
    }
    .page-products .cart-item-actions>a,
    .page-products .cart-item-actions button { width: 34px; height: 34px; }

    .page-products .cart-project-notes { padding: 16px 14px; }
    .page-products .cart-project-notes label { font-size: 12px; }
    .page-products .cart-project-notes textarea { min-height: 105px; padding: 11px; font-size: 13px; line-height: 1.5; }
    .page-products .cart-project-notes>small { font-size: 10px; }
    .page-products .cart-items-footer { padding: 14px; }
    .page-products .cart-items-footer>p { padding: 11px 12px; font-size: 12px; line-height: 1.5; }

    .page-products .storefront-quote-panel { position: static; width: 100%; }
    .page-products .cart-summary,
    .page-products .cart-quote-form { padding: 18px 15px; }
    .page-products .cart-summary h2,
    .page-products .cart-quote-form h2 { margin-bottom: 14px; font-size: 15px; }
    .page-products .cart-summary>p { padding: 8px 0; font-size: 13px; }
    .page-products .cart-summary>div { padding: 11px; font-size: 12px; line-height: 1.45; }
    .page-products .cart-form-grid { grid-template-columns: 1fr; gap: 13px; }
    .page-products .cart-form-grid .full { grid-column: auto; }
    .page-products .cart-form-grid label { gap: 6px; font-size: 12px; font-weight: 600; }
    .page-products .cart-form-grid input,
    .page-products .cart-form-grid textarea { min-height: 44px; padding: 10px 11px; font-size: 14px; line-height: 1.45; }
    .page-products .cart-form-grid textarea { min-height: 105px; }
    .page-products .cart-quote-form form>button { min-height: 46px; margin-top: 14px; font-size: 12px; }
    .page-products .cart-privacy { align-items: flex-start; font-size: 11px; line-height: 1.45; }
    .page-products .cart-whatsapp { margin-top: 16px; padding-top: 18px; }
    .page-products .cart-whatsapp>a { grid-template-columns: 46px 1fr; gap: 4px 9px; }
    .page-products .cart-whatsapp>a svg { width: 38px; height: 38px; }
    .page-products .cart-whatsapp small { font-size: 11px; }
    .page-products .cart-whatsapp strong { font-size: 14px; }

    .page-products .storefront-cart-empty { min-height: 330px; padding: 28px 18px; }
    .page-products .storefront-cart-empty h2 { font-size: 22px; }
    .page-products .storefront-cart-empty p { font-size: 14px; }
}

@media (max-width: 390px) {
    .page-products .cart-item-product { grid-template-columns: 88px minmax(0,1fr); gap: 11px; }
    .page-products .cart-item-product>img { width: 88px; height: 86px; }
    .page-products .cart-item-product h3 { font-size: 15px; }
}

/* Stable quote fields and cart updates. */
.page-products .cart-project-notes textarea,
.page-products .cart-form-grid textarea {
    display: block;
    width: 100%;
    min-height: 112px;
    padding: 12px 13px;
    border: 1px solid #d3d8de;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.5;
    resize: vertical;
}
.page-products .cart-project-notes textarea:focus,
.page-products .cart-form-grid textarea:focus {
    border-color: #c88a1a;
    outline: 2px solid rgba(200, 138, 26, .13);
    outline-offset: 0;
}
.page-products .cart-project-notes>small {
    display: block;
    margin-top: 6px;
    text-align: right;
}
.page-products .cart-quantity-form :disabled {
    cursor: wait;
    opacity: .65;
}

/* Use the product catalog artwork consistently on the cart page. */
.page-products .storefront-cart-hero {
    min-height: 225px;
    background: #07101a url("../images/products-hero-kitchen.webp") center / cover no-repeat;
}
.page-products .storefront-cart-hero::before {
    background: linear-gradient(90deg, rgba(3, 9, 15, .9) 0%, rgba(3, 9, 15, .68) 42%, rgba(3, 9, 15, .1) 72%);
}
.page-products .storefront-cart-hero h1 {
    font-size: 42px;
    text-transform: none;
}

@media (max-width: 720px) {
    .page-products .storefront-cart-hero {
        min-height: 190px;
        background-position: 64% center;
        background-size: cover;
    }
    .page-products .storefront-cart-hero::before {
        background: linear-gradient(90deg, rgba(3, 9, 15, .94), rgba(3, 9, 15, .72) 62%, rgba(3, 9, 15, .3));
    }
    .page-products .storefront-cart-hero h1 { font-size: 34px; }
}
