/* /beaton — Codex dealer-site app/beaton/beaton.css, ported verbatim (2026-09-21).
   Scope: wrapper carries both .dealer-page and .urban-page. No url() assets in source. */
.urban-page{--urban-ink:#2b302c;--urban-muted:#62665c;--urban-paper:#f4f2eb;background:var(--urban-paper);color:var(--urban-ink)}
.urban-wrap{width:86%;max-width:1440px;margin-inline:auto}
.urban-page h2{font-size:clamp(2.7rem,4.3vw,5rem);line-height:1.07;letter-spacing:-.055em;font-weight:440;margin:0}
.urban-page h2 em{font-style:normal;color:#797363}
.urban-eyebrow{font-size:12px;line-height:1.7;letter-spacing:1.4px;color:#69634f;font-weight:550;margin:0 0 25px}
.urban-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:15px;line-height:1.6;padding-bottom:9px;border-bottom:1px solid #b7b4a3;color:#3b4433;font-weight:500}
.urban-link:hover{color:#9c4d2a;border-color:currentColor}
.urban-page a:focus-visible,.urban-page button:focus-visible{outline:2px solid #a95830;outline-offset:5px}
.urban-hero-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:10%;padding-block:64px 58px;align-items:end}
.urban-hero h1{font-size:clamp(4rem,6.5vw,7.2rem);line-height:.99;letter-spacing:-.06em;font-weight:430;margin:0}
.urban-hero h1 em{font-style:normal;color:#7a7362}
.urban-hero-aside{max-width:355px}
.urban-wordmark{font-family:Georgia,serif;font-size:39px;line-height:1;letter-spacing:-2px;color:#30372c}
.urban-hero-aside p{font-size:16px;line-height:1.8;color:#606354;margin:20px 0 23px}
.urban-film{position:relative;background:#30382b;overflow:hidden;height:min(62vw,670px);min-height:420px}
.urban-film>video{width:100%;height:100%;object-fit:cover;object-position:center 63%;display:block}
.urban-film:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#18271891);pointer-events:none}
.urban-film-caption{position:absolute;left:7%;right:7%;bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#fff;z-index:1}
.urban-film-caption>span{font-size:14px;letter-spacing:1.3px;line-height:1.7}
.urban-film-caption small{display:block;font-size:12px;letter-spacing:0;color:#eff0e4;margin-top:4px}
.urban-film-control[data-slot=button]{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff90;background:#1c2a2370;color:#fff;flex-shrink:0}
.urban-film-control[data-slot=button]:hover{background:#26392bd9}
.urban-compass{display:flex;align-items:center;gap:45px;justify-content:space-between;padding-block:26px;border-bottom:1px solid #d8d6c9;overflow-x:auto}
.urban-compass a{display:flex;align-items:center;gap:22px;font-size:14px;white-space:nowrap;min-height:30px}
.urban-compass>span{font-size:12px;letter-spacing:1px;color:#696655;white-space:nowrap}
.urban-intro{padding-block:90px 60px;max-width:1440px}
.urban-intro>p:last-child{font-size:17px;line-height:1.8;color:#62665c;max-width:550px;margin:28px 0 0}
.urban-page .assessment-section{background:#eeeee5}.urban-page .assessment-intro h2{color:#2b302c}.urban-page .assessment-intro h2 span{color:#76735e}
.urban-interest{margin-bottom:24px}
.urban-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 25px;padding-bottom:65px}
.urban-product{display:block;padding:0;text-align:left;border:0;background:none;cursor:pointer;color:var(--urban-ink);min-width:0}
.urban-product-stage{display:block;position:relative;overflow:hidden;background:#eae8df;aspect-ratio:1.3}
.urban-product-stage>img{width:100%;height:100%;object-fit:contain;padding:30px;mix-blend-mode:multiply;transition:transform .5s cubic-bezier(.2,.6,.3,1)}
.urban-product-plus{position:absolute;right:20px;bottom:20px;width:39px;height:39px;display:grid;place-items:center;border:1px solid #d3d1c4;border-radius:50%;background:#f4f2ebdf;transition:background .2s,color .2s}
.urban-product:hover .urban-product-stage>img{transform:translateY(-6px) scale(1.04)}
.urban-product:hover .urban-product-plus{background:#393f31;color:white;border-color:#393f31}
.urban-product-label{display:flex;flex-direction:column;gap:7px;padding:22px 0 0}
.urban-product-label>strong{font-size:23px;font-weight:450;letter-spacing:-.7px;line-height:1.2}
.urban-product-label>span{font-size:14px;line-height:1.6;color:#696c61}
.urban-catalogue{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:38px 48px;border-top:1px solid #d1d0c2;margin-bottom:35px}
.urban-catalogue .urban-eyebrow{margin-bottom:15px;font-size:11px}
.urban-catalogue h3{font-size:27px;font-weight:450;letter-spacing:-.8px;margin:0 0 9px;line-height:1.25}
.urban-catalogue p:last-child{margin:0;font-size:15px;color:#696b5e;line-height:1.7}
.urban-catalogue>a{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:22px 26px;min-width:315px;border:1px solid #c9c9b9;border-radius:3px;background:#eeece3;transition:background .2s}
.urban-catalogue>a:hover{background:#e5e2d6}.urban-catalogue strong{font-size:15px;display:block;font-weight:500}.urban-catalogue small{font-size:12px;color:#6b6b5d;display:block;margin-top:7px}
.urban-material-scene{position:relative;isolation:isolate;overflow:hidden;background:#363b30;min-height:660px;display:flex;align-items:center;color:#fff}
.urban-material-scene>img{position:absolute;inset:-150px 0;z-index:-3;width:100%;height:calc(100% + 300px);object-fit:cover;object-position:center 60%;transform:translate3d(0,var(--parallax-y,0px),0)}
.urban-material-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#172119e8,#1721199c 43%,#17211900 83%)}
.urban-material-copy{padding-block:100px;position:relative}.urban-material-copy .urban-eyebrow{color:#d6d4be}
.urban-page .urban-material-copy h2{font-size:clamp(3.2rem,4.6vw,5.1rem);color:#fff;max-width:660px}.urban-page .urban-material-copy h2 em{color:#d5cdb1}
.urban-material-copy>p:not(.urban-eyebrow){max-width:400px;font-size:16px;line-height:1.8;color:#e1e2d6;margin:28px 0 29px}
.urban-material-copy .urban-link{color:#fff;border-color:#b5b99b;font-size:15px}
.urban-scene-credit{position:absolute;bottom:25px;right:7%;font-size:12px;color:#fff;text-shadow:0 1px 6px #000}
.urban-materials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7%;padding-block:55px 65px;border-bottom:1px solid #d3d1c2}
.urban-materials article>span{font-size:11px;letter-spacing:1.3px;color:#7b715c;line-height:1.7}
.urban-materials h3{font-size:23px;line-height:1.3;letter-spacing:-.7px;font-weight:450;margin:20px 0 14px}
.urban-materials p{font-size:15px;line-height:1.8;color:#666b5e;margin:0}
.urban-section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}
.urban-section-heading>p{font-size:16px;line-height:1.8;max-width:310px;color:#63695b;margin:0 0 3px}
.urban-section-heading>.urban-link{flex-shrink:0}
.urban-places{padding-block:90px 100px}
.urban-projects{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.urban-projects figure{margin:0;min-width:0}.urban-projects figure:nth-child(2){margin-top:90px}
.urban-projects figure>div{aspect-ratio:1.2;overflow:hidden;background:#e4e1d5}.urban-projects figure:nth-child(2)>div{aspect-ratio:1.2}
.urban-projects img{width:100%;height:100%;object-fit:cover;display:block}
.urban-projects figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:21px}
.urban-projects figcaption strong{display:block;font-size:25px;font-weight:450;letter-spacing:-.5px}.urban-projects figcaption small{display:block;margin-top:6px;font-size:12px;color:#696b5c;line-height:1.7}
.urban-projects figcaption>svg{color:#989784}
.urban-partner{background:#30392e;color:#fff;padding-block:90px}
.urban-partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.urban-partner .urban-eyebrow{color:#cbcdb6}.urban-page .urban-partner h2{color:#fff}.urban-page .urban-partner h2 em{color:#c2c7a7}
.urban-partner p:not(.urban-eyebrow){font-size:16px;line-height:1.85;color:#d3d7c7;margin:20px 0}
.urban-partner p.urban-partner-lead{font-size:25px;line-height:1.35;letter-spacing:-.6px;color:#fff;margin:0}
.urban-audiences{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.urban-audiences>span{font-size:12px;line-height:1.6;padding:9px 14px;border:1px solid #67725c;color:#e1e5d1;border-radius:25px}
.urban-process{padding-block:90px 80px}
.urban-process ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;padding:0;margin:55px 0 0}
.urban-process li{border-top:1px solid #bdbfad;padding-top:22px}.urban-process li>span{font-size:14px;font-weight:500;color:#8b775c;letter-spacing:1px;display:block;margin-bottom:35px}
.urban-process h3{font-size:25px;line-height:1.25;font-weight:450;letter-spacing:-.6px;margin:0 0 16px}
.urban-process li>p{font-size:15px;line-height:1.8;color:#656d5d;margin:0}
.urban-contact{background:#e7e7dc;display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:center;padding:55px 5%;margin-bottom:30px}
.urban-page .urban-contact h2{font-size:clamp(2.5rem,3.5vw,3.8rem)}
.urban-contact p:not(.urban-eyebrow){font-size:15px;line-height:1.8;color:#626958;max-width:490px;margin:24px 0 0}
.urban-contact address{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;border-left:1px solid #c5c9b6;padding-left:50px}
.urban-contact address>svg{color:#857254;margin-bottom:19px}.urban-contact address>strong{font-size:22px;font-weight:450;letter-spacing:-.4px}
.urban-contact address>span{font-size:15px;line-height:1.8;color:#626958;margin:12px 0 28px}
.urban-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;padding-block:80px 100px;align-items:start}
.urban-faq>div>p:not(.urban-eyebrow){font-size:16px;line-height:1.8;color:#666b5f;max-width:260px;margin:25px 0 0}
.urban-dialog[data-slot=dialog-content]{--urban-ink:#2b302c;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;width:1000px;max-width:calc(100% - 40px)!important;max-height:90svh;overflow-y:auto;padding:0;border-radius:7px;background:#f6f4ed;color:#2b302c;box-shadow:0 30px 100px #0a180c35}
.urban-dialog-image{position:relative;background:#eae8de;display:flex;align-items:center;justify-content:center;min-height:390px;overflow:hidden}
.urban-dialog-image>img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;padding:30px;mix-blend-mode:multiply}
.urban-dialog-image>span{position:absolute;bottom:25px;left:30px;font-size:11px;letter-spacing:1.4px;color:#686955}
.urban-dialog-copy{padding:50px 40px 38px}.urban-dialog .urban-eyebrow{font-size:11px;letter-spacing:1.2px;margin:0 0 17px;color:#7b6d53}
.urban-dialog [data-slot=dialog-title]{font-size:35px;font-weight:450;letter-spacing:-1.2px;line-height:1.1;color:#293b2a;margin:0 0 21px}
.urban-dialog [data-slot=dialog-description]{font-size:15px;line-height:1.8;color:#626955;margin:0}
.urban-dialog ul{list-style:disc;margin:24px 0 20px;padding-left:17px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6;color:#43503b}.urban-dialog li::marker{color:#9d7c4e}
.urban-dialog-note{font-size:12px;line-height:1.7;color:#747562;margin:0 0 25px}
.urban-dialog-cta[data-slot=button]{width:100%;height:auto;min-height:50px;padding:14px 18px;background:#303d2b;border:1px solid #303d2b;border-radius:3px;color:#fff;font-size:14px;white-space:normal;display:flex;justify-content:space-between;gap:14px}
.urban-dialog-cta[data-slot=button]:hover{background:#48523c}.urban-dialog button:focus-visible{outline:2px solid #9c6038;outline-offset:4px}
.urban-dialog [data-slot=dialog-close]{color:#35412f;background:#f6f4edf2;border:1px solid #cdd0c1;z-index:1}
@media(max-width:1100px){.urban-product-stage{aspect-ratio:1.15}.urban-product-stage>img{padding:18px}.urban-product-label>strong{font-size:21px}.urban-dialog-copy{padding-inline:28px}.urban-section-heading>p{max-width:255px}.urban-contact{gap:6%}.urban-contact address{padding-left:30px}}
@media(max-width:899px){.urban-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}.urban-product-stage{aspect-ratio:1.3}.urban-material-scene{min-height:620px}.urban-material-wash{background:linear-gradient(90deg,#172119ee,#17211985 70%,#17211950)}.urban-materials{gap:28px}.urban-materials h3{font-size:21px}.urban-section-heading{align-items:start;flex-direction:column;gap:27px;margin-bottom:35px}.urban-section-heading>p{max-width:440px}.urban-places{padding-block:65px 70px}.urban-projects{gap:25px}.urban-projects figure:nth-child(2){margin-top:65px}.urban-partner{padding-block:65px}.urban-partner-grid{grid-template-columns:1fr;gap:30px}.urban-partner-grid>div:last-child{max-width:580px}.urban-process{padding-block:70px 65px}.urban-process h3{font-size:22px}.urban-faq{grid-template-columns:1fr;gap:32px;padding-block:55px 70px}.urban-faq>div>p:not(.urban-eyebrow){max-width:400px}.urban-dialog[data-slot=dialog-content]{grid-template-columns:.8fr 1.2fr}.urban-dialog-copy{padding:44px 25px 30px}.urban-dialog [data-slot=dialog-title]{font-size:31px}.urban-catalogue{gap:25px}.urban-catalogue>a{min-width:265px;gap:25px;padding:20px}}
@media(max-width:600px){.urban-collection{gap:30px 14px;padding-bottom:42px}.urban-product-stage{aspect-ratio:.95}.urban-product-stage>img{padding:10px}.urban-product-plus{right:10px;bottom:10px;width:32px;height:32px}.urban-product-plus>svg{width:17px;height:17px}.urban-product-label{padding-top:14px;gap:5px}.urban-product-label>strong{font-size:18px;letter-spacing:-.5px}.urban-product-label>span{font-size:12px}.urban-catalogue{flex-direction:column;align-items:stretch;padding-block:28px 38px;margin-bottom:15px;gap:22px}.urban-catalogue h3{font-size:24px}.urban-catalogue>a{min-width:0;padding:18px 20px}.urban-material-scene{min-height:650px}.urban-material-scene>img{object-position:62% center}.urban-material-copy{padding-block:70px 100px}.urban-page .urban-material-copy h2{font-size:3.15rem}.urban-material-copy>p:not(.urban-eyebrow){font-size:15px;max-width:300px}.urban-material-wash{background:linear-gradient(90deg,#172119ed,#17211977)}.urban-materials{grid-template-columns:1fr;gap:26px;padding-block:35px 45px}.urban-materials h3{margin:12px 0 8px;font-size:23px}.urban-materials p{max-width:450px}.urban-materials article+article{border-top:1px solid #d4d3c6;padding-top:25px}.urban-places{padding-block:50px 55px}.urban-projects{grid-template-columns:1fr;gap:32px}.urban-projects figure:nth-child(2){margin:0}.urban-projects figure>div,.urban-projects figure:nth-child(2)>div{aspect-ratio:1.3}.urban-projects figcaption{padding-top:16px}.urban-projects figcaption strong{font-size:23px}.urban-partner{padding-block:55px}.urban-partner p.urban-partner-lead{font-size:24px}.urban-partner p:not(.urban-eyebrow){font-size:15px}.urban-process{padding-block:55px}.urban-process ol{grid-template-columns:1fr;margin-top:35px;gap:28px}.urban-process li{padding-top:17px;display:grid;grid-template-columns:30px 1fr;column-gap:20px}.urban-process li>span{margin:4px 0 0;grid-row:1/3}.urban-process h3{font-size:24px;grid-column:2;margin-bottom:13px}.urban-process li>p{grid-column:2}.urban-contact{width:100%;grid-template-columns:1fr;gap:30px;padding:45px 7%;margin-bottom:0}.urban-contact address{padding:25px 0 0;border-left:0;border-top:1px solid #c5c9b6}.urban-contact address>span{margin-block:10px 20px}.urban-contact .urban-eyebrow{max-width:310px}.urban-faq{padding-block:55px 60px}.urban-dialog[data-slot=dialog-content]{grid-template-columns:1fr;max-width:calc(100% - 24px)!important}.urban-dialog-image{min-height:0;height:210px}.urban-dialog-image>img{height:190px;width:85%;padding:15px}.urban-dialog-image>span{left:23px;bottom:14px;font-size:10px}.urban-dialog-copy{padding:27px 24px}.urban-dialog [data-slot=dialog-title]{font-size:31px}.urban-dialog ul{margin-top:20px}.urban-dialog [data-slot=dialog-description]{font-size:14px}}
@media(prefers-reduced-motion:reduce){.urban-product-stage>img{transition:none}.urban-product:hover .urban-product-stage>img{transform:none}.urban-material-scene>img{transform:none!important}}
@media(max-width:1100px){.urban-hero-heading{gap:6%;grid-template-columns:1.2fr .8fr}.urban-hero h1{font-size:5rem}.urban-compass>span{display:none}}
@media(max-width:899px){.urban-hero-heading{grid-template-columns:1fr;gap:30px;padding-block:50px}.urban-hero-aside{max-width:600px;display:grid;grid-template-columns:auto 1fr;gap:0 35px}.urban-hero-aside p{margin:0;grid-column:2}.urban-hero-aside .urban-link{grid-column:2;margin-top:17px;justify-self:start}.urban-film{height:520px;min-height:0}.urban-intro{padding-block:70px 45px}}
@media(max-width:600px){.urban-hero-heading{padding-block:40px 35px;gap:27px}.urban-hero h1{font-size:clamp(3.2rem,11.5vw,4.4rem)}.urban-hero-aside{display:block}.urban-wordmark{font-size:30px}.urban-hero-aside p{margin-top:16px;font-size:16px}.urban-film{height:460px}.urban-film>video{object-position:48% center}.urban-film-caption{bottom:22px}.urban-film-caption>span{font-size:12px;letter-spacing:.7px;max-width:235px}.urban-compass{gap:30px;padding-block:18px}.urban-page h2{font-size:2.7rem}.urban-intro{padding-block:55px 40px}.urban-intro>p:last-child{font-size:16px}.urban-eyebrow{font-size:12px;letter-spacing:1px}}

.urban-hero h1{font-size:clamp(3.6rem,5.8vw,6.5rem)}
.urban-page .urban-material-copy h2{font-size:clamp(2.8rem,4vw,4.5rem)}
@media(max-width:899px){.urban-hero h1{font-size:clamp(3.7rem,7vw,5rem)}}
@media(max-width:600px){.urban-hero h1{font-size:clamp(3rem,10.6vw,4.2rem)}.urban-page .urban-material-copy h2{font-size:2.75rem}}

.urban-product-summary{display:block;font-size:16px;line-height:1.7;color:#62695a;margin-top:14px;max-width:370px}
@media(max-width:600px){.urban-product-summary{font-size:14px;line-height:1.65;margin-top:11px}}

/* ===== Port shims (shadcn Button/Dialog slots → native elements) ===== */
.dealer-page .urban-film-control,.dealer-page .urban-dialog-cta{display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;padding:0}
.dealer-page .urban-product{font:inherit;width:100%}
.dealer-page .urban-product-summary{text-align:left}
.dealer-page .urban-film>video[hidden]{display:block}
.dealer-page dialog.dealer-dialog.urban-dialog-host{width:1000px;max-width:calc(100% - 40px)}
.dealer-page dialog.dealer-dialog.urban-dialog-host>div.urban-dialog{width:100%;max-width:100%!important;border-radius:7px}
@media(max-width:600px){.dealer-page dialog.dealer-dialog.urban-dialog-host{max-width:calc(100% - 24px)}}
.dealer-page .urban-dialog .dealer-dialog-close{top:14px;right:14px}
.urban-catalogue>a>svg{flex-shrink:0}
