/* Public sheet. One section, one inner, one hero, one labeled row, one jump. */

@font-face { font-display: swap; font-family: "AT Carquette Text"; src: url(../fonts/at-carquette-text.woff2) format("woff2"),
    url(../fonts/at-carquette-text.woff) format("woff"); }

@font-face { font-display: swap; font-family: "AT Carquette Display"; src: url(../fonts/at-carquette-display.woff2) format("woff2"),
    url(../fonts/at-carquette-display.woff) format("woff"); }

:root { --dsr-orange: #ffa500; --dsr-orange-bright: #ffc233; --dsr-mark: #9a6200; --dsr-heading: var(--dsr-orange); --dsr-wash: color-mix(in srgb, var(--dsr-orange) 14%, transparent); --dsr-white: #fff; --dsr-ink: #232325; --dsr-gray: #9b9b9b; --dsr-hover: #d48900; --dsr-bronze: #8a6438; --dsr-line: rgba(35, 35, 37, 0.12); --dsr-muted: #4a4a4d; --dsr-overlay: rgba(35, 35, 37, 0.58); --dsr-overlay-mid: rgba(35, 35, 37, 0.4); --dsr-overlay-soft: rgba(35, 35, 37, 0.16); --dsr-overlay-strong: rgba(35, 35, 37, 0.85); --dsr-pill: rgba(35, 35, 37, 0.72); --dsr-header-fill: var(--dsr-pill); --dsr-header-fill-hero: rgba(35, 35, 37, 0.35); --dsr-header-fill-scrolled: rgba(35, 35, 37, 0.88); --dsr-type-on-white: #232325; --dsr-font-display: "AT Carquette Display", "AT Carquette", system-ui, sans-serif; --dsr-font-body: "AT Carquette Text", "AT Carquette", system-ui, sans-serif; --dsr-fs-title: clamp(1.35rem, 2.25vw, 1.8rem); --dsr-fs-section: clamp(1.5rem, 2.4vw, 2rem); --dsr-fs-body: clamp(0.95rem, 1.4vw, 1.125rem); --dsr-fs-label: clamp(0.85rem, 1.26vw, 1.05rem); --dsr-fs-nav: clamp(0.97rem, 1.44vw, 1.29rem); --dsr-lh-title: 1.3; --dsr-lh-body: 1.5; --dsr-radius: 12px; --dsr-radius-photo: 15px; --dsr-radius-pill: 999px; --dsr-header-h: 5.5rem; --dsr-wrap: 1200px; --dsr-gutter: 1.1rem; --dsr-media: 25.3rem; --dsr-z-base: 1; --dsr-z-float: 20; --dsr-z-header: 30; --dsr-z-skip: 40; --dsr-z-drawer: 50; --dsr-z-lightbox: 60; }

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body { margin: 0; min-height: 100%; background: var(--dsr-white); color: var(--dsr-type-on-white); font-family: var(--dsr-font-body); }

img, svg { max-width: 100%; height: auto; }

ul, ol { line-height: 1.5; }

/* ——— atoms ——— */

.dsr-title, .dsr-section-title { margin: 0; padding: 0; font-family: var(--dsr-font-display); font-size: var(--dsr-fs-title); font-weight: 400; line-height: var(--dsr-lh-title); color: var(--dsr-heading); text-align: left; }

.dsr-section:not(.dsr-section--doc) .dsr-title,
.dsr-section:not(.dsr-section--doc) .dsr-section-title { text-transform: uppercase; }

.dsr-section-title { margin: 0; font-size: var(--dsr-fs-section); text-align: center; }

.dsr-section--doc > .dsr-section__inner > .dsr-title,
.dsr-section--doc .dsr-lead .dsr-title { max-width: 18ch; margin: 0 0 1.75rem; font-size: clamp(1.85rem, 3.6vw, 2.75rem); line-height: 1.12; text-transform: none; text-wrap: balance; }

.dsr-section--doc .dsr-section-title { width: 100%; margin: 2.25rem 0 0.85rem; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.25; text-align: left; text-wrap: balance; scroll-margin-top: 5.5rem; }

.dsr-section--doc .dsr-section-title:first-child { margin-top: 0.35rem; }

.dsr-body, .dsr-text .dsr-body { margin: 0 0 0.45em; font-family: var(--dsr-font-body); font-size: var(--dsr-fs-body); font-weight: 400; line-height: var(--dsr-lh-body); color: inherit; text-wrap: pretty; }

.dsr-body:last-child { margin-bottom: 0; }
.dsr-text h2, .dsr-text h3, .dsr-text p { margin: 0; padding: 0; }

.dsr-label { font-family: var(--dsr-font-display); font-size: var(--dsr-fs-label); font-weight: 400; line-height: 1.2; color: var(--dsr-ink); text-transform: uppercase; text-align: center; }

.dsr-image { position: relative; display: block; overflow: hidden; border-radius: var(--dsr-radius-photo); }

.dsr-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border: 0; }

.dsr-image > img { position: absolute; inset: 0; }

.dsr-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 0.7rem 1.35rem; border: 0; border-radius: var(--dsr-radius-pill); background: var(--dsr-orange); color: var(--dsr-white); font-family: var(--dsr-font-display); font-size: clamp(1.05rem, 1.7vw, 1.45rem); font-weight: 400; line-height: 1.3; text-align: center; text-decoration: none; cursor: pointer; transition: background-color 150ms ease, color 150ms ease, outline-color 120ms ease; }

.dsr-btn:hover, .dsr-btn:focus-visible { background: var(--dsr-hover); color: var(--dsr-white); }

.dsr-btn:focus-visible { outline: 2px solid var(--dsr-ink); outline-offset: 3px; }

.dsr-link { color: var(--dsr-mark); text-decoration: underline; transition: color 150ms ease, outline-color 120ms ease; }
.dsr-link:hover { color: var(--dsr-ink); }
.dsr-link:focus-visible { color: var(--dsr-ink); outline: 2px solid var(--dsr-ink); outline-offset: 3px; }

.dsr-vh { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.dsr-video { position: relative; overflow: hidden; background: var(--dsr-ink); border-radius: var(--dsr-radius-photo); aspect-ratio: 3 / 4; width: min(100%, 36rem); }

.dsr-video__media, .dsr-video video.dsr-bg-video,
.dsr-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }

.dsr-video__media, .dsr-video video.dsr-bg-video { z-index: var(--dsr-z-base); pointer-events: none; }

.dsr-video::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.06) 16%, transparent 48%); }

.dsr-video__poster { opacity: 1; transition: opacity 400ms ease; }

.dsr-video[data-playing] .dsr-video__poster,
.dsr-video:has(video:playing) .dsr-video__poster { opacity: 0; }

/* ——— page + skip ——— */

.dsr-page { margin: 0; min-height: 100%; background: var(--dsr-white); }
.dsr-page--landing { --dsr-header-h: 0px; background: #1a1a1a; }
.dsr-page--landing .dsr-main { min-height: 100vh; }
.dsr-main { display: block; min-height: 40vh; }

.dsr-skip { position: absolute; left: 0.75rem; top: 0.75rem; z-index: var(--dsr-z-skip); padding: 0.55rem 0.85rem; background: var(--dsr-ink); color: var(--dsr-white); font-family: var(--dsr-font-display); text-decoration: none; border-radius: 8px; transform: translateY(-150%); }

.dsr-skip:focus { transform: none; outline: 2px solid var(--dsr-orange); outline-offset: 2px; }

/* ——— chrome ——— */

.dsr-page:has(.dsr-section--hero) { --dsr-header-fill: var(--dsr-header-fill-hero); }

.dsr-page:has(.dsr-section--hero) .dsr-header { position: fixed; inset: 0 0 auto 0; width: 100%; }

.dsr-header { position: sticky; top: 0; z-index: var(--dsr-z-header); background: var(--dsr-header-fill); transition: background-color 200ms ease; }

.dsr-header.is-scrolled { background: var(--dsr-header-fill-scrolled); }

.dsr-page:has(.dsr-section--hero) .dsr-header:not(.is-scrolled) .dsr-header__link,
.dsr-page:has(.dsr-section--hero) .dsr-header:not(.is-scrolled) .dsr-header__burger-label { text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65); }

.dsr-header__inner { display: flex; align-items: center; gap: 0.85rem; max-width: var(--dsr-wrap); min-height: var(--dsr-header-h); margin: 0 auto; padding: 0.65rem var(--dsr-gutter); }

.dsr-header__logo { display: block; flex: 0 0 auto; width: clamp(7.5rem, 14vw, 11rem); line-height: 0; transition: width 200ms ease; }

.dsr-header__logo img { display: block; width: 100%; height: auto; }

.dsr-header__pill { display: flex; align-items: center; margin-left: auto; padding: 0.3rem 0.35rem 0.3rem 0.85rem; }

.dsr-header__nav { flex: 1 1 auto; min-width: 0; }

.dsr-header__list { display: flex; align-items: center; flex-wrap: wrap; gap: 0.15rem 2.1rem; margin: 0; padding: 0; list-style: none; }

.dsr-header__item { position: relative; margin: 0; }

.dsr-header__link, .dsr-header__sublink { display: inline-block; margin: 0; padding: 0.35rem 0; border: 0; background: none; color: var(--dsr-white); font-family: var(--dsr-font-display); font-size: var(--dsr-fs-nav); line-height: 1.2; text-decoration: none; cursor: pointer; transition: color 150ms ease, outline-color 120ms ease; }

.dsr-header__link:hover, .dsr-header__link:focus-visible,
.dsr-header__link[aria-current="page"],
.dsr-header__sublink:hover, .dsr-header__sublink:focus-visible,
.dsr-header__sublink[aria-current="page"] { color: var(--dsr-orange); outline: none; }

.dsr-header__sub { position: absolute; top: 100%; left: 0; z-index: 5; min-width: 14rem; margin: 0; padding: 0.7rem 0.85rem; list-style: none; background: var(--dsr-pill); border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--dsr-radius); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(6px); transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease; }

.dsr-header__item--has-sub:hover > .dsr-header__sub,
.dsr-header__item--has-sub:focus-within > .dsr-header__sub { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }

.dsr-header__sub > li { margin: 0 0 0.4rem; }
.dsr-header__sub > li:last-child { margin-bottom: 0; }
.dsr-header__sublink { display: block; white-space: nowrap; }

.dsr-header__call { flex: 0 0 auto; width: auto; min-height: 44px; margin-left: 1.15rem; padding: 0.45rem 1rem; white-space: nowrap; font-size: calc(1.15 * var(--dsr-fs-nav)); }

.dsr-header__burger { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 0.15rem; margin: 0 0 0 auto; padding: 0.25rem; border: 0; border-radius: 15px; background: transparent; color: var(--dsr-orange); cursor: pointer; }

.dsr-header__burger-label { font-family: var(--dsr-font-display); font-size: 0.7rem; color: var(--dsr-white); }

.dsr-header__burger-icon svg { display: block; width: 2.4rem; height: 2.4rem; }

.dsr-drawer { position: fixed; inset: 0; z-index: var(--dsr-z-drawer); visibility: hidden; }
.dsr-drawer[hidden] { display: none; }
.dsr-drawer:not([hidden]) { display: block; }
.dsr-drawer.is-open { visibility: visible; }

.dsr-drawer__dim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45); opacity: 0; transition: opacity 220ms ease; }
.dsr-drawer.is-open .dsr-drawer__dim { opacity: 1; }

.dsr-drawer__panel { position: absolute; inset: 0 0 0 auto; width: min(100vw, 22rem); height: 100%; overflow: auto; padding: 1.25rem 1.1rem 2rem; background: var(--dsr-orange); transform: translateX(100%); transition: transform 220ms ease; }
.dsr-drawer.is-open .dsr-drawer__panel { transform: none; }

.dsr-drawer__badge { display: block; width: 4.5rem; height: auto; margin: 0 0 1rem; }

.dsr-drawer__close { position: absolute; top: 0.75rem; right: 0.75rem; margin: 0; padding: 0.35rem; border: 0; background: transparent; cursor: pointer; }

.dsr-drawer__nav, .dsr-drawer__list, .dsr-drawer__sub { margin: 0; padding: 0; list-style: none; }

.dsr-drawer__item { margin: 0 0 0.55rem; }

.dsr-drawer__link, .dsr-drawer__label { font-family: var(--dsr-font-display); font-size: 1.15rem; color: var(--dsr-ink); text-decoration: none; }

.dsr-drawer__link[aria-current="page"] { font-weight: 700; }

.dsr-drawer__row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; min-height: 44px; cursor: pointer; }

.dsr-drawer__label { pointer-events: none; }

.dsr-drawer__toggle { position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-end; width: 100%; margin: 0; padding: 0.25rem; border: 0; background: transparent; cursor: pointer; }

.dsr-drawer__sub { display: none; padding: 0.4rem 0 0 0.8rem; }
.dsr-drawer__item--expandable[data-open="true"] > .dsr-drawer__sub { display: block; }
.dsr-drawer__link--sub { font-size: 1rem; }

html.dsr-nav-open, html.dsr-nav-open body { overflow: hidden; }

.dsr-footer { --dsr-heading: var(--dsr-orange); background: var(--dsr-gray); color: var(--dsr-white); padding: clamp(2.75rem, 5vw, 4rem) var(--dsr-gutter) 1.75rem; }

.dsr-footer__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 0.9fr) auto; gap: 2rem 2.25rem; align-items: start; max-width: var(--dsr-wrap); margin: 0 auto; }

.dsr-footer__heading { margin: 0 0 0.7rem; font-family: var(--dsr-font-display); font-size: clamp(0.95rem, 1.15vw, 1.05rem); font-weight: 400; color: var(--dsr-heading); }

.dsr-footer__entity, .dsr-footer__brand, .dsr-footer__phone,
.dsr-footer__address, .dsr-footer__note { margin: 0; font-family: var(--dsr-font-body); font-size: clamp(0.95rem, 1.15vw, 1.05rem); line-height: 1.45; font-style: normal; }

.dsr-footer__brand { margin-bottom: 0.85rem; }
.dsr-footer__brand strong { font-weight: 700; }
.dsr-footer__phone { margin-bottom: 0.85rem; }
.dsr-footer__phone .dsr-footer-link { text-decoration: none; font-size: 1.15rem; }
.dsr-footer__note { margin-top: 0.35rem; color: rgba(255, 255, 255, 0.78); }
.dsr-footer__hours { margin: 0; }

.dsr-footer__hours > div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.35rem 0.75rem; margin: 0 0 0.35rem; font-size: clamp(0.95rem, 1.15vw, 1.05rem); }

.dsr-footer__hours dt, .dsr-footer__hours dd { margin: 0; }

.dsr-footer__links { display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem; }

.dsr-footer-link { color: inherit; text-decoration: underline; text-underline-offset: 0.12em; }

.dsr-footer .dsr-footer-link { color: var(--dsr-white); text-decoration: none; min-height: 1.75rem; display: inline-flex; align-items: center; }

.dsr-footer .dsr-footer-link:hover { color: var(--dsr-orange); outline: none; }

.dsr-footer .dsr-footer-link:focus-visible { color: var(--dsr-orange); outline: 2px solid var(--dsr-orange); outline-offset: 3px; }

.dsr-footer__marks { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 0.85rem; }

.dsr-footer__marks img { width: 5rem; height: 5rem; object-fit: contain; }

.dsr-footer__mark--bbb { width: 3.75rem; height: 5rem; }

.dsr-footer__area { grid-column: 1 / -1; padding-top: 0.25rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }

.dsr-footer__cities { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; font-size: clamp(0.9rem, 1.1vw, 1rem); line-height: 1.55; }

.dsr-footer__cities li { display: inline; }

.dsr-footer__cities li:not(:last-child)::after { content: "·"; margin: 0 0.45em; color: rgba(255, 255, 255, 0.4); }

.dsr-footer__bar { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }

.dsr-footer__copy { margin: 0; font-size: 0.9rem; color: rgba(255, 255, 255, 0.82); }

.dsr-footer__top { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: auto; color: var(--dsr-white); line-height: 0; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 50%; }
.dsr-footer__top svg { fill: currentColor; color: inherit; }

.dsr-page > .dsr-float-phone { position: fixed; right: 1rem; bottom: 1rem; z-index: var(--dsr-z-float); width: 3.4rem; height: 3.4rem; }

.dsr-float-phone__link { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; background: var(--dsr-orange); color: var(--dsr-ink); text-decoration: none; transition: transform 150ms ease, outline-color 120ms ease; }

.dsr-float-phone__link:hover, .dsr-float-phone__link:focus-visible { transform: scale(1.06); outline: none; }

.dsr-float-phone__link svg { display: block; width: 1.75rem; height: 1.75rem; }
html.dsr-nav-open .dsr-float-phone { visibility: hidden; pointer-events: none; }

/* ——— section + hero ——— */

.dsr-section { position: relative; display: block; background: var(--dsr-white); }

.dsr-section__bg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 16%; pointer-events: none; }
.dsr-section__bg--mats { object-position: 40% 52%; }

.dsr-section__inner { position: relative; z-index: var(--dsr-z-base); display: flex; flex-direction: column; align-items: stretch; gap: 1.6rem; width: 100%; max-width: var(--dsr-wrap); margin: 0 auto; padding: clamp(2.25rem, 5vw, 3.75rem) var(--dsr-gutter); }

.dsr-section--doc > .dsr-section__inner { padding-bottom: clamp(3.5rem, 7vw, 5rem); }

.dsr-section--hero { isolation: isolate; overflow: hidden; background: var(--dsr-ink); color: var(--dsr-white); min-height: 100svh; }

.dsr-section--hero > .dsr-section__inner,
.dsr-hero__slides > .dsr-section__inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; max-width: none; min-height: 100svh; padding: var(--dsr-header-h) var(--dsr-gutter) 2rem; }

.dsr-hero__slides > .dsr-section__inner { justify-content: flex-end; gap: 1.1rem; padding-bottom: calc(1.25rem + 10svh); }

.dsr-hero { display: flex; flex-direction: column; align-items: center; gap: 0.65rem; width: min(100%, 38rem); padding: 1.25rem 1.35rem; background: var(--dsr-overlay); border-radius: 14px; text-align: center; animation: dsr-rise 480ms ease both; }

.dsr-hero__title, .dsr-hero__kicker, .dsr-hero__sub { margin: 0; text-align: center; text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5); }

.dsr-hero__title { font-family: var(--dsr-font-display); font-size: clamp(1.75rem, 5vw, 3.2rem); font-weight: 400; line-height: 1.12; color: var(--dsr-orange-bright); text-transform: uppercase; text-wrap: balance; }

.dsr-hero__kicker { font-family: var(--dsr-font-display); font-size: clamp(1.35rem, 3vw, 2.2rem); font-weight: 400; line-height: 1.2; color: var(--dsr-orange-bright); text-wrap: balance; }

.dsr-hero__sub { max-width: 38rem; margin-top: 0.45rem; font-family: var(--dsr-font-body); font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 1.45; color: var(--dsr-white); }

.dsr-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; animation: dsr-rise 480ms 70ms ease both; }

.dsr-hero__badges, .dsr-landing__badges { display: flex; flex-wrap: wrap; gap: 1.125rem 2.25rem; justify-content: center; align-items: center; }

.dsr-hero__badges { animation: dsr-rise 480ms 140ms ease both; }

.dsr-landing__badges { flex-direction: column; align-items: flex-start; gap: 0; }

.dsr-landing__badge--yelp { margin-top: -2.75rem; }

.dsr-hero__actions .dsr-btn { width: auto; }
.dsr-hero__badges img, .dsr-landing__badges img { display: block; height: 10rem; width: auto; }
.dsr-hero__badges img { height: 8rem; }
.dsr-hero__badge--yelp img,
.dsr-landing__badge--yelp img { height: 7rem; }
.dsr-hero__badge--yelp img { height: 5.6rem; }

.dsr-hero__slides { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center; width: 100%; min-height: inherit; }

.dsr-hero__slide { position: absolute; inset: 0; z-index: 0; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 1.2s ease, visibility 1.2s ease; }

.dsr-hero__slide.is-active { opacity: 1; visibility: visible; }

.dsr-hero__slide img { transform: scale(1.04); }

.dsr-hero__slide.is-active img { animation: dsr-ken 5.5s linear forwards; }

.dsr-section--hero > img.dsr-section__bg { animation: dsr-ken 12s linear forwards; }

.dsr-hero__prev, .dsr-hero__next, .dsr-hero__pause { position: absolute; z-index: 4; margin: 0; padding: 0; border: 0; border-radius: var(--dsr-radius-pill); background: var(--dsr-overlay); color: var(--dsr-white); cursor: pointer; }
.dsr-hero__prev, .dsr-hero__next { top: 50%; transform: translateY(-50%); width: 2.75rem; height: 2.75rem; font-size: 1.5rem; }
.dsr-hero__prev { left: 0.75rem; }
.dsr-hero__next { right: 0.75rem; }
.dsr-hero__pause { left: 50%; bottom: 0.75rem; transform: translateX(-50%); padding: 0.35rem 0.85rem; font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }

.dsr-hero__prev:hover, .dsr-hero__next:hover, .dsr-hero__pause:hover,
.dsr-hero__prev:focus-visible, .dsr-hero__next:focus-visible, .dsr-hero__pause:focus-visible { background: var(--dsr-overlay-strong); outline: 2px solid var(--dsr-white); outline-offset: 2px; }

/* ——— layout primitives + offering ——— */

.dsr-section--band { --dsr-heading: var(--dsr-orange); background: var(--dsr-gray); color: var(--dsr-white); }

.dsr-section--band .dsr-label { color: var(--dsr-white); }

.dsr-stack { display: flex; flex-direction: column; gap: 3.75rem; }

.dsr-split { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.67fr); gap: 2.75rem 4.5rem; align-items: stretch; overflow: visible; }

.dsr-split--flip { grid-template-columns: minmax(0, 1.67fr) minmax(0, 1fr); }

.dsr-split--flip .dsr-media { order: 1; }

.dsr-grid { display: grid; grid-template-columns: repeat(var(--dsr-cols, 3), minmax(0, 1fr)); gap: 1.5rem; align-items: start; }

.dsr-grid--4 { --dsr-cols: 4; align-items: start; gap: 1rem; }
.dsr-grid--5 { --dsr-cols: 5; gap: 1rem; }

.dsr-tiles { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; gap: 1.25rem; }

.dsr-section__inner.dsr-tiles { overflow: visible; padding: clamp(3rem, 5.5vw, 4.25rem) clamp(2.25rem, 4vw, 2.75rem); }

.dsr-tiles .dsr-tile { flex: 0 0 calc((100% - 5 * 1.25rem) / 6); width: calc((100% - 5 * 1.25rem) / 6); min-width: 0; z-index: 0; overflow: visible; }
.dsr-tiles .dsr-tile .dsr-image { aspect-ratio: 3 / 4; transform-origin: bottom center; transition: transform 180ms ease; }

.dsr-section:has(.dsr-home-feature) > .dsr-section__inner { padding-block: 20px; }

.dsr-home-feature { display: grid; grid-template-rows: 11.04rem; justify-items: center; align-items: center; }

.dsr-home-feature__icon { display: grid; place-items: center; align-self: center; width: 5.75rem; height: 5.75rem; padding: 0; background: transparent; border-radius: var(--dsr-radius); color: inherit; text-decoration: none; }

.dsr-home-feature__icon--logo { width: 11.04rem; height: 11.04rem; max-width: 100%; }

.dsr-home-feature__icon--bbb { width: min(9.625rem, 100%); height: auto; aspect-ratio: 161 / 61; }

.dsr-home-feature__icon--tx { width: 6.21rem; height: 6.21rem; }

.dsr-home-feature__icon img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }

.dsr-about-photo { width: 100%; max-width: none; aspect-ratio: auto; min-height: 0; height: 100%; }

.dsr-split .dsr-section-title, .dsr-split .dsr-title { text-align: left; margin: 0 0 0.6rem; }

.dsr-services-kicker__text, .dsr-services-intro { margin: 0 auto; text-align: center; color: var(--dsr-type-on-white); font-family: var(--dsr-font-body); font-size: var(--dsr-fs-body); line-height: var(--dsr-lh-body); }

.dsr-services-intro { max-width: 46rem; }

.dsr-tile { position: relative; display: flex; flex-direction: column; min-width: 0; margin: 0; }

.dsr-tile .dsr-image img { transition: transform 180ms ease; }

.dsr-tile:hover .dsr-image img,
.dsr-tile:focus-within .dsr-image img { transform: scale(1.04); }
.dsr-tile .dsr-image { width: 100%; aspect-ratio: 4 / 5; }

.dsr-tile__caption { margin: 0.45rem 0 0; color: var(--dsr-orange); font-family: var(--dsr-font-display); font-size: clamp(0.79rem, 1.16vw, 1rem); line-height: 1.25; text-align: center; text-transform: uppercase; }

.dsr-tiles .dsr-tile .dsr-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 42%;
  pointer-events: none;
  background: linear-gradient(to top, rgba(35, 35, 37, 0.82) 0%, rgba(35, 35, 37, 0.46) 42%, rgba(35, 35, 37, 0.1) 74%, transparent 100%);
  opacity: 0;
  transition: opacity 180ms ease;
}

@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
  .dsr-section:has(.dsr-tiles .dsr-tile:hover),
  .dsr-section:has(.dsr-tiles .dsr-tile:focus-within) { z-index: var(--dsr-z-float); }
  .dsr-tiles .dsr-tile:hover { z-index: 2; }
  .dsr-tiles .dsr-tile:hover .dsr-image { transform: scale(1.64); }
  .dsr-tiles .dsr-tile:hover .dsr-image img { transform: none; }

  .dsr-stack > .dsr-split:hover,
  .dsr-stack > .dsr-split:focus-within { z-index: var(--dsr-z-float); }
  .dsr-split .dsr-media:hover > .dsr-video,
  .dsr-split .dsr-media:focus-within > .dsr-video {
    bottom: auto;
    width: max(100%, calc(100% * var(--dsr-video-ar, 1.7778)));
    height: max(100%, calc(100% / var(--dsr-video-ar, 1.7778)));
    box-shadow: 0 14px 36px rgba(35, 35, 37, 0.38);
  }
  .dsr-split:not(.dsr-split--flip) .dsr-media:hover > .dsr-video,
  .dsr-split:not(.dsr-split--flip) .dsr-media:focus-within > .dsr-video { right: auto; }
  .dsr-split--flip .dsr-media:hover > .dsr-video,
  .dsr-split--flip .dsr-media:focus-within > .dsr-video { left: auto; }
  .dsr-split .dsr-media:hover > .dsr-video::after,
  .dsr-split .dsr-media:focus-within > .dsr-video::after {
    top: auto;
    height: 12%;
    background-image: linear-gradient(to top, rgba(35, 35, 37, 0.72) 0%, rgba(35, 35, 37, 0.28) 46%, transparent 100%);
  }
  .dsr-split .dsr-media:hover > .dsr-tile__caption,
  .dsr-split .dsr-media:focus-within > .dsr-tile__caption {
    z-index: 2;
    width: max(100%, calc(100% * var(--dsr-video-ar, 1.7778)));
    right: auto;
    bottom: calc(100% - max(100%, calc(100% / var(--dsr-video-ar, 1.7778))));
  }
  .dsr-split--flip .dsr-media:hover > .dsr-tile__caption,
  .dsr-split--flip .dsr-media:focus-within > .dsr-tile__caption {
    left: auto;
    right: 0;
  }
}

.dsr-media > .dsr-tile__caption,
.dsr-intro-photo > .dsr-tile__caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; margin: 0; padding: 0.7rem 0.85rem 0.9rem; color: var(--dsr-white); font-size: clamp(0.85rem, 1.2vw, 1.05rem); text-shadow: 0 0 0.45rem rgba(0, 0, 0, 0.5), 0 0 0.9rem rgba(0, 0, 0, 0.5); pointer-events: none; }

.dsr-intro-photo { width: 100%; aspect-ratio: auto; min-height: 0; height: 100%; }
.dsr-split .dsr-prose { display: flex; flex-direction: column; gap: 0.6rem; align-items: flex-start; min-width: 0; margin: 0; }

.dsr-media { position: relative; display: block; width: var(--dsr-media); height: var(--dsr-media); max-width: 100%; min-width: 0; min-height: 0; margin: 0; align-self: center; overflow: visible; }

.dsr-split .dsr-media { --dsr-video-ar: 1.7778; }
.dsr-split .dsr-media--portrait { --dsr-video-ar: 0.5625; }

.dsr-split .dsr-image,
.dsr-split .dsr-about-photo,
.dsr-split .dsr-intro-photo { width: 100%; max-width: none; aspect-ratio: auto; min-height: 0; height: 100%; }
.dsr-split .dsr-media > .dsr-image { width: 100%; height: 100%; max-width: none; aspect-ratio: 1 / 1; min-height: 0; }
.dsr-split .dsr-media > .dsr-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  min-height: 0;
  transition: width 220ms ease, height 220ms ease, inset 220ms ease, box-shadow 220ms ease;
}
.dsr-split .dsr-media > .dsr-tile__caption { transition: width 220ms ease, inset 220ms ease, bottom 220ms ease; }

.dsr-split .dsr-prose .dsr-label { display: block; margin: 0.85rem 0 0.35rem; text-align: left; }

.dsr-split .dsr-list, .dsr-split .dsr-steps,
.dsr-split ul { margin: 0.35rem 0 0; padding-left: 1.2rem; max-width: none; font-size: var(--dsr-fs-body); line-height: 1.5; }

.dsr-faq-types li,
.dsr-list { margin: 0 0 1rem; padding-left: 1.2rem; max-width: 70ch; font-size: var(--dsr-fs-body); line-height: 1.5; }

.dsr-doc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.15rem; margin: 0.35rem 0 0; }

.dsr-list li,
.dsr-split ul li { margin: 0.45em 0; line-height: 1.5; }

.dsr-gallery { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.54rem; width: 100%; list-style: none; margin: 0; padding: 0; }

.dsr-gallery > li { min-width: 0; margin: 0; }

.dsr-gallery__item { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; margin: 0; padding: 0; border: 0; border-radius: var(--dsr-radius); overflow: hidden; cursor: zoom-in; background: transparent; appearance: none; }

.dsr-gallery__item img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 180ms ease; }

.dsr-gallery__item:hover img, .dsr-gallery__item:focus-visible img { transform: scale(1.03); }
.dsr-gallery__item:focus-visible { outline: 2px solid var(--dsr-orange); outline-offset: 2px; transition: outline-color 120ms ease, transform 180ms ease; }

.dsr-pricing { display: flex; flex-direction: column; align-items: stretch; gap: 0.85rem; width: 80%; max-width: 100%; margin-inline: auto; }
.dsr-pricing .dsr-section-title { margin: 0; text-align: left; }
.dsr-pricing .dsr-body { margin: 0; max-width: 70ch; text-align: left; }

.dsr-pricing-table { width: 100%; border-collapse: collapse; font-family: var(--dsr-font-body); font-size: clamp(0.88rem, 1.15vw, 1.05rem); text-align: center; }

.dsr-pricing-table th, .dsr-pricing-table td { border: 1px solid var(--dsr-line); padding: 0.7em 0.45em; vertical-align: middle; font-weight: 400; }

.dsr-pricing-table thead th { font-weight: 500; color: var(--dsr-ink); background: var(--dsr-wash); }

.dsr-pricing-table tbody th[scope="row"] { text-align: left; padding-left: 0.75em; }
.dsr-pricing-table__note td { text-align: left; }
.dsr-pricing-table__note--full td { text-align: left; padding-left: 0.75em; }

/* ——— docs ——— */

.dsr-doc-intro, p.dsr-doc-intro { margin: 0 0 1.5rem; max-width: 46rem; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.55; text-align: left; }

.dsr-doc-body { width: 100%; }

.dsr-doc-body .dsr-body { margin: 0 0 0.9rem; max-width: 70ch; font-size: clamp(0.98rem, 1.2vw, 1.08rem); line-height: 1.6; }

.dsr-doc-body .dsr-legal-list,
.dsr-doc-body .dsr-legal-terms { max-width: 70ch; }

.dsr-doc-body ol, .dsr-doc-body ul { margin: 0 0 0.75em; padding-left: 1.35em; }
.dsr-doc-body li { margin: 0 0 0.35em; }

.dsr-doc-video { width: 100%; max-width: 720px; margin: 0 0 1.5rem; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--dsr-radius); background: #111; }

.dsr-doc-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.dsr-doc-media { display: flex; flex-direction: column; gap: 0.75rem; width: 100%; }

.dsr-section:has(.dsr-faq) .dsr-lead .dsr-title { max-width: 12ch; text-transform: uppercase; }

.dsr-faq { display: flex; flex-direction: column; width: 100%; }

.dsr-faq-item { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.2fr); gap: 1.15rem 2.5rem; align-items: start; width: 100%; margin: 0; padding: 1.35rem 0; border-top: 1px solid var(--dsr-line); }

.dsr-faq-item:last-of-type { border-bottom: 1px solid var(--dsr-line); }

.dsr-faq-q { margin: 0; color: var(--dsr-heading); font-family: var(--dsr-font-display); font-size: clamp(1.15rem, 1.9vw, 1.45rem); font-weight: 400; line-height: 1.25; text-align: left; text-transform: none; }

.dsr-faq-a { min-width: 0; color: var(--dsr-type-on-white); }

.dsr-faq-a .dsr-body { max-width: none; margin: 0 0 0.75em; font-size: clamp(0.98rem, 1.2vw, 1.08rem); line-height: 1.55; }

.dsr-faq-types { margin: 0 0 0.85rem; padding-left: 1.2rem; max-width: 40rem; line-height: 1.5; }
.dsr-faq-types li::marker { color: var(--dsr-mark); }

.dsr-faq-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.54rem; }

.dsr-faq-photos .dsr-image { width: 100%; aspect-ratio: 700 / 470; }

.dsr-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; width: 100%; align-items: stretch; }

.dsr-review-unit { display: flex; flex-direction: column; min-width: 0; height: 100%; }
.dsr-review-unit .dsr-image { aspect-ratio: 20 / 21; border-radius: 12px 12px 0 0; }

.dsr-review { display: flex; flex-direction: column; justify-content: flex-start; flex: 1 1 auto; gap: 0.75rem; padding: 0.9rem 1rem 1rem; background: var(--dsr-bronze); color: var(--dsr-white); border-radius: 0 0 12px 12px; }

.dsr-review__meta { display: flex; flex-direction: column; gap: 0.45rem; margin-top: auto; }

.dsr-review__quote, .dsr-review__name, .dsr-review__place { margin: 0; font-family: var(--dsr-font-body); color: var(--dsr-white); }

.dsr-review__quote { font-size: clamp(0.85rem, 1.25vw, 1rem); line-height: 1.35; }
.dsr-review__name { font-size: 1.05rem; font-weight: 700; }
.dsr-review__place { font-size: 1.05rem; }

.dsr-review__rule { display: block; width: 100%; height: 0; margin: 0.15rem 0; border: 0; border-top: 1px solid var(--dsr-white); }

.dsr-review__stars { --dsr-star: 1rem; --dsr-star-gap: 0.3rem; --dsr-star-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='20.5 22.5 159 155'%3E%3Cpath fill='black' d='M99.996 22.5l-18.14 59.517-61.356-.902 51.715 33.194L44.407 177.5 100 138.956l55.593 38.544-28.187-63.191L179.5 81.115l-61.36 1.002L99.996 22.5z'/%3E%3C/svg%3E"); display: block; width: calc(5 * var(--dsr-star) + 4 * var(--dsr-star-gap)); height: var(--dsr-star); margin-top: 0.15rem; background: currentColor; -webkit-mask-image: var(--dsr-star-shape), var(--dsr-star-shape), var(--dsr-star-shape), var(--dsr-star-shape), var(--dsr-star-shape); -webkit-mask-size: var(--dsr-star); -webkit-mask-repeat: no-repeat; -webkit-mask-position: 0 0, calc(1 * (var(--dsr-star) + var(--dsr-star-gap))) 0, calc(2 * (var(--dsr-star) + var(--dsr-star-gap))) 0, calc(3 * (var(--dsr-star) + var(--dsr-star-gap))) 0, calc(4 * (var(--dsr-star) + var(--dsr-star-gap))) 0; mask-image: var(--dsr-star-shape), var(--dsr-star-shape), var(--dsr-star-shape), var(--dsr-star-shape), var(--dsr-star-shape); mask-size: var(--dsr-star); mask-repeat: no-repeat; mask-position: 0 0, calc(1 * (var(--dsr-star) + var(--dsr-star-gap))) 0, calc(2 * (var(--dsr-star) + var(--dsr-star-gap))) 0, calc(3 * (var(--dsr-star) + var(--dsr-star-gap))) 0, calc(4 * (var(--dsr-star) + var(--dsr-star-gap))) 0; }

.dsr-review__stars.dsr-reveal { transform: scaleX(0); transform-origin: left center; }
.dsr-review__stars.dsr-reveal.is-in { transform: scaleX(1); transition: transform 500ms ease; }

.dsr-reviews-end { display: flex; flex-direction: column; align-items: flex-start; gap: 0.85rem; margin-top: 0.5rem; padding-top: clamp(1.5rem, 3vw, 2.25rem); }
.dsr-reviews-end .dsr-section-title { margin: 0; text-align: left; }
.dsr-reviews-end__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.85rem 1.25rem; }

@media (min-width: 751px) {
  .dsr-reviews > .dsr-review-unit:first-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(14rem, 22rem) minmax(0, 1fr);
    align-items: stretch;
  }
  .dsr-reviews > .dsr-review-unit:first-child .dsr-image {
    aspect-ratio: auto;
    min-height: 18rem;
    height: 100%;
    border-radius: 12px 0 0 12px;
  }
  .dsr-reviews > .dsr-review-unit:first-child .dsr-review { border-radius: 0 12px 12px 0; }
}

.dsr-split .dsr-image.dsr-reveal,
.dsr-split .dsr-media.dsr-reveal { opacity: 0; }
.dsr-split .dsr-image.dsr-reveal.is-in,
.dsr-split .dsr-media.dsr-reveal.is-in { opacity: 1; transition: opacity 400ms ease; }

.dsr-lead { width: 100%; }

.dsr-safety-kicker { margin: 0 0 0.65rem; font-family: var(--dsr-font-display); font-size: clamp(0.95rem, 1.4vw, 1.15rem); line-height: 1.4; }

.dsr-safety-credit { margin: 0 0 1rem; font-size: clamp(0.9rem, 1.2vw, 1.05rem); line-height: 1.5; }

.dsr-safety-actions, .dsr-jump { display: flex; flex-wrap: wrap; gap: 0.45rem 0.4rem; margin: 0 0 1.75rem; }

.dsr-safety-actions .dsr-btn { width: auto; }

.dsr-jump a { display: inline-flex; align-items: center; min-height: 2.25rem; padding: 0.3rem 0.7rem; border: 1px solid var(--dsr-line); border-radius: var(--dsr-radius-pill); color: var(--dsr-ink); text-decoration: none; font-size: 0.85rem; transition: background-color 120ms ease, outline-color 120ms ease; }

.dsr-jump a:hover { background: var(--dsr-wash); }
.dsr-jump a:focus-visible { background: var(--dsr-wash); outline: 2px solid var(--dsr-ink); outline-offset: 2px; }

.dsr-row { display: grid; grid-template-columns: minmax(9.5rem, 12rem) minmax(0, 1fr); gap: 0.35rem 1.25rem; padding: 0.8rem 0; border-bottom: 1px solid var(--dsr-line); }

.dsr-row__label { margin: 0; color: var(--dsr-ink); font-family: var(--dsr-font-display); font-size: 0.95rem; font-variant-numeric: tabular-nums; }
h3.dsr-row__label { color: var(--dsr-heading); }

.dsr-row__body { margin: 0; font-size: clamp(0.95rem, 1.15vw, 1.05rem); line-height: 1.5; }

.dsr-row__body .dsr-body { margin: 0; font-size: inherit; line-height: 1.55; }
.dsr-row__body ol { margin: 0.7rem 0 0; padding-left: 1.2rem; }

.dsr-cite-source { margin: 0.75rem 0; font-size: 0.95rem; line-height: 1.5; }

.dsr-rule-block { width: 100%; margin: 0 0 2rem; }
.dsr-rows { list-style: none; margin: 0; padding: 0; }

.dsr-rows--numbered { list-style: decimal; padding-left: 1.4rem; }
.dsr-rows--numbered > .dsr-row { display: list-item; grid-template-columns: none; }
.dsr-rows--numbered > .dsr-row::marker { color: var(--dsr-mark); }

.dsr-assembly-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1.5rem; }

.dsr-legal-block { margin: 0 0 2.25rem; padding: 0 0 2.25rem; border-bottom: 1px solid var(--dsr-line); scroll-margin-top: 5.5rem; }

.dsr-legal-block:last-of-type { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.dsr-row:last-child { border-bottom: 0; }

.dsr-legal-list, .dsr-legal-terms { margin: 0.35rem 0 0; padding-left: 1.4rem; }

.dsr-legal-list > li, .dsr-legal-terms > li { margin: 0; padding: 0.7rem 0 0.7rem 0.35rem; border-bottom: 1px solid var(--dsr-line); font-size: clamp(0.98rem, 1.2vw, 1.08rem); line-height: 1.55; }

.dsr-legal-list > li::marker, .dsr-legal-terms > li::marker { color: var(--dsr-mark); }
.dsr-legal-also { margin-top: 2rem; }

/* ——— landing + form ——— */

.dsr-landing { position: relative; min-height: 100vh; overflow: hidden; color: var(--dsr-white); }

.dsr-landing__bg { position: absolute; inset: 0; }

.dsr-landing__bg img { display: block; width: 100%; height: 100%; object-fit: cover; }



.dsr-landing__inner { position: relative; z-index: var(--dsr-z-base); display: flex; flex-direction: column; gap: 1.1rem; max-width: var(--dsr-wrap); min-height: 100vh; margin: 0 auto; padding: 1.1rem 1.15rem 2.5rem; }

.dsr-landing__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }

.dsr-landing__logo { width: min(11.5rem, 42vw); }
.dsr-landing__logo img { display: block; width: 100%; height: auto; }

.dsr-landing__pill { display: flex; align-items: center; gap: 0.65rem; padding: 0.55rem 0.65rem; background: rgba(80, 80, 82, 0.72); border-radius: 16px; }

.dsr-landing__pill .dsr-btn { width: auto; min-height: 2.65rem; font-size: 1rem; }

.dsr-landing__panel { width: min(72%, 853px); margin: 0 auto; padding: 1.15rem 1.35rem 1.5rem; background: rgba(70, 70, 72, 0.42); border-radius: 18px; }

.dsr-landing__title { margin: 0 0 1rem; color: var(--dsr-orange); font-family: var(--dsr-font-display); font-size: clamp(1.85rem, 4.2vw, 3.15rem); font-weight: 400; line-height: 1.1; text-align: center; text-transform: uppercase; }

.dsr-landing__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 29.8rem); gap: 1.5rem 2rem; align-items: start; }

.dsr-landing__lead { display: flex; flex-direction: column; gap: 0.7rem; min-width: 0; }

.dsr-landing__copy { display: flex; flex-direction: column; gap: 0.7rem; }
.dsr-landing__kicker, .dsr-landing__headline { margin: 0; color: var(--dsr-white); }

.dsr-landing__headline { font-family: var(--dsr-font-display); font-size: clamp(1.65rem, 3.2vw, 2.45rem); font-weight: 400; line-height: 1.15; }

.dsr-landing__body { margin: 0; color: var(--dsr-orange); font-family: var(--dsr-font-display); font-size: clamp(1.25rem, 2.4vw, 1.85rem); font-weight: 400; line-height: 1.35; }

.dsr-landing__uses { display: flex; flex-direction: column; gap: 0.12rem; margin: 0.35rem 0 0; padding: 0; list-style: none; }

.dsr-landing__uses li { color: var(--dsr-orange); font-family: var(--dsr-font-display); font-size: clamp(1.2rem, 2vw, 1.55rem); }



.dsr-form { position: relative; display: flex; flex-direction: column; gap: 0.75rem; width: 100%; margin: 0; }

.dsr-form__hp { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

.dsr-landing .dsr-form { max-width: 29.8rem; justify-self: end; padding: 1.15rem; background: var(--dsr-white); color: var(--dsr-type-on-white); border-radius: 16px; box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22); }

.dsr-form__field { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.dsr-form__label { font-size: clamp(0.9rem, 1.15vw, 1.05rem); color: var(--dsr-type-on-white); }
.dsr-form__req { color: var(--dsr-mark); }

.dsr-form__input, .dsr-form__textarea { width: 100%; margin: 0; padding: 0.7rem 0.85rem; border: 1px solid rgba(0, 0, 0, 0.28); border-radius: 8px; background: var(--dsr-white); color: var(--dsr-ink); font-family: var(--dsr-font-body); font-size: 1rem; line-height: 1.35; }

.dsr-form__input:focus, .dsr-form__textarea:focus { border-color: var(--dsr-orange); outline: none; box-shadow: 0 0 0 2px var(--dsr-wash); }

.dsr-form__textarea { min-height: 7.5rem; resize: vertical; }
.dsr-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; }
.dsr-form__note { margin: 0; font-size: 0.9rem; color: var(--dsr-type-on-white); }
.dsr-form__note a { color: var(--dsr-mark); }
.dsr-form__turnstile { min-height: 65px; }
.dsr-form__submit { align-self: flex-start; min-width: 7.5rem; }
.dsr-form__submit:disabled { opacity: 0.6; cursor: not-allowed; }

.dsr-form__status { display: none; margin: 0; padding: 0.7rem 0.85rem; border: 1px solid var(--dsr-mark); border-radius: 8px; background: var(--dsr-wash); }

.dsr-form__status.is-visible { display: block; animation: dsr-rise 200ms ease; }
.dsr-form__status.is-error { border-color: var(--dsr-ink); }

/* ——— 404 ——— */

.dsr-404 { display: grid; grid-template-columns: minmax(16rem, 28rem) minmax(0, 1.2fr); gap: clamp(1.75rem, 4vw, 3rem); width: 100%; align-items: center; }

.dsr-404__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 0.85rem; }
.dsr-404__copy .dsr-title { margin: 0; max-width: 12ch; }
.dsr-404__copy .dsr-body { margin: 0; max-width: 36ch; }
.dsr-404__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; }
.dsr-404__photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--dsr-radius-photo); }
.dsr-404__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ——— lightbox ——— */

.dsr-lightbox { position: fixed; inset: 0; z-index: var(--dsr-z-lightbox); display: flex; align-items: center; justify-content: center; padding: 1rem; background: var(--dsr-white); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 220ms ease, visibility 220ms ease; }

.dsr-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

.dsr-lightbox__inner { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; max-width: min(96vw, 1400px); max-height: 92vh; }

.dsr-lightbox__img { display: block; max-width: 96vw; max-height: 90vh; width: auto; height: auto; object-fit: contain; transition: opacity 220ms ease; }
.dsr-lightbox__img.is-swap { opacity: 0; }

.dsr-lightbox__btn { position: fixed; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: var(--dsr-radius-pill); background: var(--dsr-pill); color: var(--dsr-white); font-size: 1.5rem; cursor: pointer; }

.dsr-lightbox__btn:hover, .dsr-lightbox__btn:focus-visible { background: rgba(255, 165, 0, 0.95); outline: none; }

.dsr-lightbox__close { top: 0.75rem; right: 0.75rem; }
.dsr-lightbox__prev { left: 0.5rem; top: 50%; transform: translateY(-50%); }
.dsr-lightbox__next { right: 0.5rem; top: 50%; transform: translateY(-50%); }

body.dsr-lightbox-open { overflow: hidden; }

@keyframes dsr-rise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

@keyframes dsr-ken {
  from { transform: scale(1); }
  to { transform: scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
  .dsr-hero,
  .dsr-hero__actions,
  .dsr-hero__badges,
  .dsr-hero__slide,
  .dsr-hero__slide img,
  .dsr-section--hero > img.dsr-section__bg,
  .dsr-lightbox,
  .dsr-lightbox__img,
  .dsr-drawer__dim,
  .dsr-drawer__panel,
  .dsr-header,
  .dsr-header__logo,
  .dsr-header__sub,
  .dsr-tile .dsr-image img,
  .dsr-tiles .dsr-tile .dsr-image,
  .dsr-tiles .dsr-tile:hover .dsr-image,
  .dsr-tiles .dsr-tile.is-open .dsr-image,
  .dsr-split .dsr-media > .dsr-video,
  .dsr-split .dsr-media > .dsr-tile__caption,
  .dsr-gallery__item img,
  .dsr-video__poster,
  .dsr-review__stars.dsr-reveal,
  .dsr-split .dsr-image.dsr-reveal,
  .dsr-split .dsr-media.dsr-reveal,
  .dsr-float-phone__link,
  .dsr-form__status.is-visible {
    animation: none;
    transition: none;
  }

  .dsr-hero__pause { display: none; }
  .dsr-tiles .dsr-tile:hover .dsr-image { transform: none; }
  .dsr-tiles .dsr-tile:hover .dsr-image::after,
  .dsr-tiles .dsr-tile:focus-within .dsr-image::after { opacity: 0; }
  .dsr-split .dsr-media:hover > .dsr-video,
  .dsr-split .dsr-media:focus-within > .dsr-video {
    inset: 0;
    width: 100%;
    height: 100%;
    box-shadow: none;
  }
  .dsr-split .dsr-media:hover > .dsr-tile__caption,
  .dsr-split .dsr-media:focus-within > .dsr-tile__caption {
    width: auto;
    inset: auto 0 0 0;
  }
}

@media (min-width: 1001px) {
  .dsr-header.is-scrolled .dsr-header__logo { width: clamp(7rem, 13vw, 10.3rem); }
}

@media (max-width: 1000px) {
  .dsr-header__nav { display: none; }
  .dsr-header__burger { display: flex; }
  .dsr-header__pill { padding: 0.25rem; }
  .dsr-footer__inner { grid-template-columns: 1fr 1fr; }
  .dsr-footer__marks { justify-content: flex-start; }
  .dsr-grid--5 { --dsr-cols: 3; }
  .dsr-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dsr-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dsr-row { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 750px) {
  :root { --dsr-header-h: 5.44rem; }

  html, body, .dsr-page { overflow-x: clip; }

  .dsr-header__inner { gap: 0.5rem; padding: 0.5rem 0.8rem; min-height: var(--dsr-header-h); }
  .dsr-header__logo { width: 6.44rem; }
  .dsr-header__call { margin-left: 0; padding: 0.46rem 0.75rem; font-size: 0.9rem; min-height: 44px; }
  .dsr-header__burger-label { font-size: 0.8rem; }
  .dsr-header__burger-icon svg { width: 2.76rem; height: 2.76rem; }

  .dsr-page > .dsr-float-phone { display: none; }

  .dsr-section--hero > .dsr-section__inner {
    /* Extra 30svh on top vs bottom shifts the flex midpoint down 15svh. */
    padding: calc(1.5rem + 30svh) 1rem 1.5rem;
  }
  .dsr-hero__slides > .dsr-section__inner {
    padding: 1.5rem 1rem max(0.5rem, calc(1.5rem + 10svh - 15svh));
  }

  .dsr-hero__prev, .dsr-hero__next, .dsr-hero__pause {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: calc(var(--dsr-header-h) + 0.5rem);
    bottom: auto;
    transform: none;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.25rem;
  }
  .dsr-hero__pause {
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    padding: 0 0.75rem;
    font-size: 0.75rem;
  }

  .dsr-hero__actions { flex-direction: column; align-items: center; width: 100%; }
  .dsr-hero__actions .dsr-btn { width: 60vw; max-width: 100%; }

  .dsr-grid,
  .dsr-split,
  .dsr-landing__grid,
  .dsr-404,
  .dsr-assembly-grid,
  .dsr-faq-photos,
  .dsr-reviews {
    grid-template-columns: minmax(0, 1fr);
  }

  .dsr-split--flip .dsr-media { order: 0; }
  .dsr-tiles { --dsr-tile-peek: 2; flex-wrap: wrap; }
  .dsr-tiles .dsr-tile { flex: 1 1 calc(50% - 0.75rem); width: auto; cursor: zoom-in; -webkit-tap-highlight-color: transparent; }
  .dsr-tiles .dsr-tile.is-open { z-index: var(--dsr-z-float); cursor: zoom-out; }
  .dsr-section:has(.dsr-tiles .dsr-tile.is-open) { z-index: var(--dsr-z-float); }
  .dsr-tiles .dsr-tile:nth-child(odd) .dsr-image { transform-origin: center left; }
  .dsr-tiles .dsr-tile:nth-child(even) .dsr-image { transform-origin: center right; }
  .dsr-tiles .dsr-tile.is-open .dsr-image {
    transform: scale(var(--dsr-tile-peek));
    box-shadow: 0 14px 36px rgba(35, 35, 37, 0.38);
  }
  .dsr-tiles .dsr-tile.is-open .dsr-image img { transform: none; }
  .dsr-tiles .dsr-tile.is-open .dsr-image::after { opacity: 1; }
  .dsr-tiles .dsr-tile.is-open .dsr-tile__caption {
    position: absolute;
    z-index: 2;
    left: 0;
    width: calc(100% * var(--dsr-tile-peek));
    margin: 0;
    padding: 0.7rem 0.85rem 0.9rem;
    color: var(--dsr-white);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55), 0 0 0.45rem rgba(0, 0, 0, 0.5);
    top: calc(50% * (1 + var(--dsr-tile-peek)));
    transform: translateY(-100%);
  }
  .dsr-tiles .dsr-tile.is-open:nth-child(even) .dsr-tile__caption { left: auto; right: 0; }
  .dsr-tiles .dsr-tile:focus-visible { outline: 2px solid var(--dsr-orange); outline-offset: 2px; }
  .dsr-split,
  .dsr-split--flip { grid-template-columns: minmax(0, 1fr); }
  .dsr-split .dsr-image,
  .dsr-split .dsr-about-photo { aspect-ratio: 4 / 3; height: auto; }
  .dsr-split .dsr-intro-photo {
    width: min(100%, var(--dsr-media));
    height: auto;
    aspect-ratio: 1 / 1;
    justify-self: center;
  }
  .dsr-split .dsr-media > .dsr-image,
  .dsr-split .dsr-media > .dsr-video { aspect-ratio: 1 / 1; width: 100%; height: 100%; }
  .dsr-split .dsr-media { width: min(100%, var(--dsr-media)); height: auto; aspect-ratio: 1 / 1; justify-self: center; }
  .dsr-faq-item { grid-template-columns: minmax(0, 1fr); }
  .dsr-home-feature { grid-template-rows: auto; }
  .dsr-home-feature__icon--logo { width: min(8.16rem, 34.4vw); height: min(8.16rem, 34.4vw); }
  .dsr-grid.dsr-grid--4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    align-items: center;
  }
  .dsr-home-feature--tx { display: none; }
  .dsr-grid--4 .dsr-home-feature__icon--logo { width: min(6.786rem, 28.08vw); height: min(6.786rem, 28.08vw); }
  .dsr-grid--4 .dsr-home-feature__icon--bbb { width: min(5.491rem, 100%); height: auto; aspect-ratio: 161 / 61; }
  .dsr-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dsr-footer__inner { grid-template-columns: 1fr; }
  .dsr-landing__top { flex-wrap: wrap; }
  .dsr-landing__panel { width: 100%; }
  .dsr-landing .dsr-form { max-width: none; justify-self: stretch; }
  .dsr-form__row { grid-template-columns: 1fr; }

  .dsr-landing__lead { display: contents; }
  .dsr-landing__copy { order: 1; }
  .dsr-landing__grid > .dsr-form { order: 2; }
  .dsr-landing__badges {
    order: 3;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.35rem 0.85rem;
  }
  .dsr-landing__badge { flex: 0 0 auto; }
  .dsr-landing__badges img { height: 8.5rem; }
  .dsr-landing__badge--yelp { margin-top: 0; }
  .dsr-landing__badge--yelp img { height: 5.95rem; }

  .dsr-pricing { width: 100%; }
  .dsr-pricing-table { table-layout: auto; width: 100%; font-size: var(--dsr-fs-body); }
  .dsr-pricing-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .dsr-pricing-table tbody,
  .dsr-pricing-table tr,
  .dsr-pricing-table th,
  .dsr-pricing-table td { display: block; width: 100%; }
  .dsr-pricing-table tr { margin: 0 0 0.85rem; border: 1px solid var(--dsr-line); }
  .dsr-pricing-table th, .dsr-pricing-table td {
    padding: 0.55em 0.75em;
    border: 0;
    border-bottom: 1px solid var(--dsr-line);
    text-align: left;
    overflow-wrap: anywhere;
  }
  .dsr-pricing-table tbody th[scope="row"] {
    background: var(--dsr-wash);
    font-family: var(--dsr-font-display);
  }
  .dsr-pricing-table tr:not(.dsr-pricing-table__note) td[data-label] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    font-variant-numeric: tabular-nums;
    font-weight: 500;
  }
  .dsr-pricing-table tr:not(.dsr-pricing-table__note) td[data-label]::before {
    content: attr(data-label);
    display: inline;
    margin: 0;
    color: var(--dsr-muted);
    font-family: var(--dsr-font-display);
    font-weight: 400;
  }
  .dsr-pricing-table tr:not(.dsr-pricing-table__note) td:last-child { border-bottom: 0; }
  .dsr-pricing-table__note {
    margin: 0;
    border: 0;
    background: var(--dsr-wash);
  }
  .dsr-pricing-table__note td { border: 0; }
  .dsr-pricing-table__note td:not([colspan]) { display: none; }
  .dsr-pricing-table tbody tr:not(.dsr-pricing-table__note) + .dsr-pricing-table__note {
    margin-top: 0.15rem;
    border-top: 1px solid var(--dsr-line);
    border-left: 1px solid var(--dsr-line);
    border-right: 1px solid var(--dsr-line);
  }
  .dsr-pricing-table__note + .dsr-pricing-table__note {
    border-left: 1px solid var(--dsr-line);
    border-right: 1px solid var(--dsr-line);
    border-bottom: 1px solid var(--dsr-line);
  }
}

@media (max-width: 750px) and (prefers-reduced-motion: reduce) {
  .dsr-hero__pause { display: none; }
  .dsr-tiles .dsr-tile.is-open .dsr-image {
    transform: none;
    box-shadow: none;
  }
  .dsr-tiles .dsr-tile.is-open .dsr-tile__caption {
    position: static;
    width: auto;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    color: inherit;
    text-shadow: none;
  }
}
