:root{--paper:#f5f2ec;--ink:#232525;--muted:#676b67;--orange:#c94813;--line:#d9d7d0;--white:#fff;--radius:7px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:16px;line-height:1.6}body.locked{overflow:hidden}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button{color:inherit}img{display:block;width:100%;height:auto}picture{display:block}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d65d2c;outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}input,select,textarea{max-width:100%}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(40px,4.6vw,70px)}h2{font-size:clamp(34px,3.6vw,54px)}h3{font-size:24px;letter-spacing:-.025em}p+p{margin-top:18px}.wrap{width:min(1280px,calc(100% - 96px));margin:0 auto}.section{padding:112px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:22px;line-height:1.5}.accent{color:var(--orange)}.lead{font-size:19px;line-height:1.6;color:#525854;margin:28px 0 22px}.fine,small,figcaption{font-size:12px;line-height:1.55;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:15px 23px;background:var(--orange);color:white;text-decoration:none;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:700;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#a8370a;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button-dark{background:var(--ink)}.button-dark:hover{background:#424641}.button-ghost{background:#1b1c1b44;border-color:#ffffff75;color:#fff}.button-ghost:hover{background:#ffffff16}.text-link{display:inline-block;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid #8b8d8555;padding:9px 0;margin-top:22px;transition:color .2s}.text-link:hover{color:var(--orange)}.actions{display:flex;gap:14px;flex-wrap:wrap}.header{height:86px;position:relative;background:var(--ink);color:#fff;z-index:40}.header-hero{position:absolute;inset:0 0 auto;background:transparent}.header-inner{height:100%;display:flex;align-items:center;gap:30px}.brand{font-size:20px;letter-spacing:-.035em;font-weight:800;text-decoration:none;white-space:nowrap;line-height:1.1}.brand i{font-style:normal;color:#ed621b;font-size:1.3em;padding:0 4px}.nav{display:flex;gap:26px;margin-left:auto;font-size:13px}.nav a{text-decoration:none;padding:14px 0}.nav a:hover{color:#ffa069}.header-phone{font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;padding:13px 0}.menu-toggle{display:none;background:none;color:#fff;border:1px solid #ffffff50;width:44px;height:44px;border-radius:5px;padding:11px}.menu-toggle span{display:block;height:2px;width:20px;background:currentColor;margin:5px 0}.skip-link{position:fixed;top:-100px;left:20px;background:white;color:var(--ink);z-index:100;padding:12px}.skip-link:focus{top:10px}.hero{position:relative;min-height:850px;background:var(--paper);overflow:hidden}.hero-art{position:absolute;inset:0;pointer-events:none}.hero-art picture,.hero-art img{width:100%;height:100%}.hero-art img{object-fit:cover;object-position:center}.hero-art:after{content:'';position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,var(--paper))}.hero-content{position:relative;padding-top:175px;color:white;padding-bottom:210px}.hero .eyebrow{color:#e4e3dc;font-size:12px;letter-spacing:.09em;margin-bottom:28px}.hero h1{max-width:780px;font-size:clamp(40px,4.5vw,68px);line-height:1.04;letter-spacing:-.045em;text-shadow:0 2px 24px #0002}.hero-desc{font-size:19px;color:#eeeee8;line-height:1.65;margin:28px 0 30px;max-width:510px}.hero-note{margin-top:20px;color:#c7c8c2;font-size:12px}.hero-bottom{position:relative;display:flex;gap:60px;align-items:center;padding:0 0 35px;font-size:15px}.hero-bottom span{padding-left:17px;border-left:3px solid #dc5c1b}.hero-bottom b{font-weight:700}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;column-gap:70px;align-items:end;margin-bottom:55px}.section-heading .eyebrow{grid-column:1/-1}.section-heading>p:last-child{max-width:430px;color:var(--muted);line-height:1.7;padding-bottom:4px}.services{padding-top:55px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}.service-card:nth-child(2){margin-top:70px}.service-card:nth-child(3){margin-top:140px}.service-image{display:block;position:relative;overflow:hidden;border-radius:6px;background:#ddd}.service-image img{aspect-ratio:1.16;object-fit:cover;transition:transform .6s}.service-card:nth-child(2) .service-image img{object-position:80% 35%;transform:scale(1.16)}.service-card:hover .service-image img{transform:scale(1.04)}.service-card:nth-child(2):hover .service-image img{transform:scale(1.2)}.image-index{position:absolute;top:18px;left:18px;color:#fff;background:#2228;border:1px solid #ffffff35;font-size:11px;padding:5px 10px;border-radius:30px}.round-arrow{position:absolute;right:16px;bottom:16px;background:var(--paper);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:var(--ink)}.service-card h3{font-size:32px;margin:22px 0 14px}.service-card h3 a{text-decoration:none}.service-card>p{font-size:15px;color:var(--muted);max-width:340px}.service-card .text-link{margin-top:12px}.route-section{background:#eae7e0;position:relative}.route-section:before{content:'';position:absolute;top:-35px;left:0;right:0;height:40px;background:linear-gradient(transparent,#eae7e0)}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.route-grid>div>p:not(.eyebrow){max-width:480px}.route-steps{list-style:none;padding:0;margin:0}.route-steps li{display:flex;gap:27px;padding:26px 0;border-bottom:1px solid #cbccc4}.route-steps li:first-child{padding-top:0}.route-steps li>span{font-size:13px;color:var(--orange);padding-top:3px;font-weight:700}.route-steps h3{font-size:23px;margin-bottom:10px}.route-steps p{font-size:15px;color:var(--muted);max-width:390px}.serial-section{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.serial-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.serial-section .lead{color:#c1c3bb}.serial-section .accent{color:#ee722b}.serial-section .eyebrow{color:#e99568}.serial-visual{min-height:450px;display:flex;flex-direction:column;justify-content:center;gap:60px;position:relative}.serial-visual:before{content:'';position:absolute;width:300px;height:300px;border:1px solid #ffffff10;border-radius:50%;left:10%;top:12%}.serial-visual>span{font-size:10px;letter-spacing:.2em;color:#c3c3b8;text-align:center}.serial-pieces{display:flex;align-items:center;justify-content:center;gap:13px;transform:rotate(-13deg);perspective:700px}.serial-pieces i{height:225px;width:52px;display:block;position:relative;transform:skewY(-12deg);border-radius:3px;background:linear-gradient(90deg,#9d3e15,#ef752a 16%,#da5919 78%,#a63d10);box-shadow:12px 18px 20px #0004;border-left:4px solid #f58b44}.serial-pieces i:first-child{background:linear-gradient(90deg,#666,#c4c8c3 25%,#939e97);border-color:#d5dbd6;margin-right:20px}.serial-pieces i:after{content:'';position:absolute;top:18px;left:18px;width:9px;height:9px;background:#343732;box-shadow:0 180px #343732;border-radius:50%}.trial{border-left:2px solid #ec6a29;padding-left:24px;margin:32px 0}.trial h3{font-size:22px;margin-bottom:12px;min-height:28px;letter-spacing:-.025em}.trial p{color:#d0d0c7;font-size:15px;max-width:430px}.trial small{color:#aaa799;display:block;margin-top:12px}.restore-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.restore-grid figure{margin-left:-48px}.restore-grid img{border-radius:0 7px 7px 0;aspect-ratio:1.15;object-fit:cover}.restore-grid figcaption{padding:12px 0 0 48px;font-size:10px}.restore-grid .button{margin-top:30px}.restore-grid p:not(.eyebrow){color:var(--muted)}.experience-section{border-top:1px solid var(--line);padding:80px 0;background:#eae7e0}.experience-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:90px}.experience-grid h2{font-size:39px}.experience-grid .lead{font-size:17px;max-width:530px}.experience-details article{border-top:1px solid #c9c9be;padding-top:24px;margin-bottom:30px}.experience-details h3{font-size:22px;margin-bottom:14px}.experience-details p{font-size:15px;color:var(--muted)}.calculator-section{background:#fffdfa}.calculator-section .section-heading{margin-bottom:45px}.faq-section{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faq-grid>div>p:last-child{color:var(--muted);margin-top:28px}.faq-grid details{border-bottom:1px solid var(--line)}.faq-grid summary{list-style:none;padding:24px 0;display:flex;justify-content:space-between;gap:25px;font-size:18px;line-height:1.5;font-weight:700;cursor:pointer}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary span{font-size:24px;color:var(--orange);font-weight:400;transition:transform .2s}.faq-grid details[open] summary span{transform:rotate(45deg)}.faq-grid details p{font-size:15px;line-height:1.75;padding-bottom:24px;color:var(--muted)}.contacts{background:var(--ink);color:var(--paper);position:relative}.contacts .eyebrow{color:#e99568}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.contacts .lead{color:#b9bcb5;max-width:430px}.contacts .button{margin-top:10px}.contact-grid address{font-style:normal;border-left:1px solid #ffffff20;padding-left:65px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contact-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#a5aaa1;margin:24px 0 5px}.contact-label:first-child{margin-top:0}.contact-phone{font-size:clamp(24px,2.5vw,36px);font-weight:700;letter-spacing:-.03em;text-decoration:none;line-height:1.3}.contact-email{font-size:22px;text-decoration:none}.contact-grid address>p{font-size:17px}.contact-grid address .text-link{margin:4px 0 14px;color:#ed986b}.contact-grid small{color:#a5aaa1}.footer{background:#1e2020;color:#b0b4ac;padding:35px 0 25px}.footer-row{display:flex;align-items:center;flex-wrap:wrap;gap:24px;justify-content:space-between}.footer .brand{color:var(--paper);font-size:16px}.footer p,.footer a:not(.brand),.footer button{font-size:11px}.footer button{border:none;background:none;color:inherit;padding:8px 0;min-height:44px}.image-disclosure{font-size:10px;margin-top:15px;color:#8f958a}.mobile-call{display:none}.motion-toggle[aria-pressed=true]{color:#e99568}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.type-active:after{content:'|';color:#f08042;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.motion-ready .reveal.is-visible{opacity:1;transform:none}.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1!important;transform:none!important}.noscript{padding:20px;text-align:center;background:#fff}.breadcrumbs{display:flex;gap:12px;font-size:13px;color:var(--muted);margin-bottom:40px}.service-hero{padding-top:45px;background:#eae7e0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.detail-grid h1{font-size:50px}.detail-grid .button{margin-top:12px}.detail-grid img{border-radius:7px;aspect-ratio:1.1;object-fit:cover}.detail-grid figcaption{margin-top:9px}.article-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:100px;align-items:start}.prose{max-width:760px}.prose h1{margin-bottom:35px}.prose h2{font-size:31px;line-height:1.2;margin:45px 0 18px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#525954;line-height:1.8}.prose ul{padding-left:20px}.detail-aside{position:sticky;top:40px;background:#eae7e0;padding:32px;border-radius:7px}.detail-aside h2{font-size:30px}.check-list{list-style:none;margin:25px 0;padding:0}.check-list li{position:relative;padding:12px 0 12px 24px;border-bottom:1px solid #d5d5ce;font-size:15px;line-height:1.6}.check-list li:before{content:'↗';position:absolute;left:0;color:var(--orange)}dialog{border:0;padding:0;color:var(--ink);background:var(--paper);border-radius:10px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);box-shadow:0 25px 100px #0005}dialog::backdrop{background:#111b}dialog[open]{animation:modal-in .2s ease-out}dialog:not([open]){display:none}@keyframes modal-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.dialog-fallback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:100}.dialog-shade{position:fixed;inset:0;background:#111b;z-index:99}.close-modal{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:1px solid #d8d7d0;background:var(--paper);font-size:28px;z-index:5;line-height:1}.service-dialog{width:1080px}.modal-grid{display:grid;grid-template-columns:.95fr 1.05fr}.modal-image{position:relative;min-height:570px}.modal-image picture,.modal-image img{height:100%;width:100%;object-fit:cover}.modal-image small{position:absolute;bottom:12px;left:15px;color:#fff;background:#2229;padding:3px 8px;font-size:10px}.modal-copy{padding:60px 48px 40px}.modal-copy h2{font-size:38px;line-height:1.12;margin-bottom:22px}.modal-copy>p:not(.eyebrow){color:var(--muted);font-size:16px}.modal-copy .button{font-size:13px}.modal-copy .text-link{display:table}.palette-dialog{width:900px;padding:35px}.palette-head h2{font-size:35px;margin-bottom:12px}.palette-head p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:720px}.palette-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0 15px}label{display:block;font-size:14px}input,select,textarea{display:block;width:100%;background:white;border:1px solid #d2d4cb;border-radius:5px;padding:12px;color:var(--ink);margin-top:6px;font-size:16px;min-height:48px}textarea{resize:vertical;min-height:100px}.palette-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:20px}.swatch{padding:0;border:1px solid #d5d5ce;border-radius:5px;overflow:hidden;background:#fff;text-align:left;transition:border .2s}.swatch:hover{border-color:var(--orange)}.swatch-color{display:block;height:58px}.swatch b{display:block;font-size:12px;padding:10px 9px 3px}.swatch small{display:block;font-size:10px;padding:0 9px 12px;line-height:1.3;min-height:38px}.swatch[aria-pressed=true]{outline:2px solid var(--orange);outline-offset:1px}#ral-count{margin-top:16px}.inquiry-dialog{width:580px;padding:48px}.inquiry-dialog h2{font-size:36px;margin-bottom:20px}.inquiry-dialog>p:not(.eyebrow){color:var(--muted);font-size:14px}.inquiry-dialog form>label{margin:18px 0}.consent{display:flex;gap:12px;align-items:flex-start;font-size:12px!important;line-height:1.6}.consent input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin-top:4px;accent-color:var(--orange)}.honeypot{position:absolute;left:-10000px}.inquiry-dialog form .text-link{display:table}.inquiry-dialog #quick-status{font-size:14px;color:var(--muted);margin-top:18px}.requests-table{display:grid;gap:10px;margin:25px 0}.request-row{display:flex;gap:15px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:5px;padding:16px;background:white}.request-row button{border:0;background:var(--ink);color:white;padding:10px 18px;border-radius:5px;white-space:nowrap}.error-page{min-height:70vh}.login-box{max-width:450px;margin:60px auto;padding:30px;background:white;border:1px solid var(--line);border-radius:8px}.login-box h1{font-size:35px;margin-bottom:30px}.login-box .button{margin-top:20px}.login-box p{font-size:14px}.login-box label{margin-top:20px}
@media(min-width:1600px){.hero{min-height:950px}.hero-content{padding-top:210px;padding-bottom:255px}.hero h1{font-size:75px}}
@media(max-width:1200px){.wrap{width:calc(100% - 64px)}.header-inner{gap:22px}.brand{font-size:17px}.nav{gap:18px;font-size:12px}.header-phone{font-size:13px}.hero{min-height:780px}.hero-content{padding-top:155px;padding-bottom:200px}.hero h1{font-size:56px;max-width:650px}.hero-desc{font-size:17px;max-width:465px}.hero-bottom{gap:35px;font-size:14px}.route-grid,.serial-grid,.contact-grid{gap:65px}.restore-grid{gap:50px}.restore-grid figure{margin-left:-32px}.restore-grid figcaption{padding-left:32px}.experience-grid{gap:55px}.section{padding:90px 0}.services{padding-top:45px}.article-grid{gap:50px}.detail-grid{gap:45px}.detail-grid h1{font-size:43px}}
@media(max-width:980px){.header{height:76px}.header-inner{gap:20px}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px 32px;background:#232525;flex-direction:column;gap:0;margin:0;border-top:1px solid #ffffff20;box-shadow:0 12px 15px #0002}.nav.is-open{display:flex}.nav a{font-size:16px;padding:15px 0}.header-phone{margin-left:auto;font-size:14px}.menu-toggle{display:block}.hero-art img{object-position:58% center}.hero h1{font-size:49px}.hero-desc{max-width:405px}.hero-content{padding-bottom:210px}.hero .actions{max-width:400px}.hero-bottom{gap:25px;font-size:13px}.service-grid{gap:20px}.service-card h3{font-size:28px}.service-card>p{font-size:14px}.service-card:nth-child(2){margin-top:45px}.service-card:nth-child(3){margin-top:90px}.section-heading{gap:35px}.route-grid,.serial-grid,.restore-grid,.contact-grid{gap:40px}.serial-pieces{gap:8px}.serial-pieces i{width:34px;height:180px}.serial-pieces i:after{left:10px;box-shadow:0 140px #343732}.serial-visual{min-height:330px}.serial-visual:before{width:220px;height:220px}.trial h3{font-size:20px}.restore-grid img{aspect-ratio:.85}.experience-grid h2{font-size:32px}.faq-grid{gap:40px}.faq-grid h2{font-size:36px}.faq-grid summary{font-size:16px}.contact-grid address{padding-left:30px}.contact-email{font-size:20px}.modal-copy{padding:60px 30px 35px}.modal-copy h2{font-size:32px}.modal-image{min-height:550px}.palette-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.article-grid{grid-template-columns:1.35fr .8fr;gap:35px}.detail-aside{padding:24px}.detail-aside h2{font-size:26px}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.section{padding:70px 0}h2{font-size:38px}.header{height:72px}.header-inner{gap:13px}.header .brand{font-size:15px}.header-phone{font-size:12px}.menu-toggle{width:38px;height:40px;padding:8px;flex-shrink:0}.nav{top:72px;padding:15px 20px}.hero{min-height:900px;background:#1c1d1c}.hero-art{top:275px;height:590px;bottom:auto}.hero-art img{object-position:65% center;object-fit:cover}.hero-art:before{content:'';position:absolute;top:0;left:0;right:0;height:170px;background:linear-gradient(#1c1d1c,transparent);z-index:1}.hero-art:after{height:80px}.hero-content{padding-top:120px;padding-bottom:290px;z-index:2}.hero h1{font-size:45px;line-height:1.05;max-width:600px}.hero .eyebrow{font-size:10px;margin-bottom:22px}.hero-desc{font-size:17px;max-width:420px;margin-top:24px}.hero .actions{max-width:100%;gap:10px}.hero .button{font-size:12px;min-height:49px;padding:12px 16px;gap:12px}.hero .button-ghost{background:#202424b3}.hero-note{font-size:11px;max-width:260px}.hero-bottom{width:100%;background:var(--paper);padding:25px 20px 30px;gap:15px;display:flex;justify-content:space-between;margin-top:0;z-index:3}.hero-bottom span{font-size:11px;padding-left:11px;border-left-width:2px;flex:1;max-width:160px}.hero-bottom b{display:block;font-size:16px;margin-top:3px}.services{padding-top:45px}.section-heading{display:block;margin-bottom:35px}.section-heading>p:last-child{margin-top:22px;font-size:15px}.service-grid{grid-template-columns:1fr;gap:40px}.service-card:nth-child(n){margin-top:0;display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-items:start}.service-image{grid-row:1/4}.service-image img{aspect-ratio:.85}.service-card h3{margin-top:9px;font-size:29px;margin-bottom:12px}.service-card .text-link{font-size:12px;margin-top:0;justify-self:start;align-self:end}.service-card>p{line-height:1.65}.round-arrow{width:36px;height:36px;font-size:20px;right:12px;bottom:12px}.image-index{left:12px;top:12px}.route-grid,.serial-grid,.restore-grid,.experience-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.route-grid>div>p:not(.eyebrow){max-width:600px}.lead{font-size:18px;margin-top:24px}.route-steps li{padding:24px 0}.route-steps p{max-width:100%}.route-section:before{height:25px;top:-24px}.serial-grid>div:last-child{grid-row:1}.serial-visual{min-height:250px;gap:40px}.serial-visual:before{top:0;left:25%;width:250px;height:250px}.serial-pieces{gap:16px}.serial-pieces i{height:170px;width:45px}.serial-pieces i:after{left:13px;box-shadow:0 130px #343732}.restore-grid figure{margin:0;grid-row:2}.restore-grid img{border-radius:7px;aspect-ratio:1.4}.restore-grid figcaption{padding-left:0}.experience-grid{gap:25px}.experience-grid h2{font-size:36px}.experience-details article{margin-bottom:20px}.faq-grid>div>p:last-child{margin-top:20px}.faq-grid{gap:25px}.contacts .lead{max-width:550px}.contact-grid address{border:0;border-top:1px solid #ffffff25;padding:35px 0 0}.contact-phone{font-size:34px}.contact-email{font-size:23px}.contact-grid address>p{font-size:16px}.footer{padding-bottom:80px}.footer-row{gap:14px}.footer-row p{flex-basis:100%}.footer-row .brand{font-size:18px}.image-disclosure{margin-top:15px;font-size:10px}.mobile-call{position:fixed;right:18px;bottom:17px;z-index:30;background:var(--ink);color:#fff;border:1px solid #ffffff60;border-radius:40px;padding:12px 20px;font-size:13px;text-decoration:none;display:block;box-shadow:0 5px 25px #0002}body.locked .mobile-call{display:none}.detail-grid{grid-template-columns:1fr;gap:35px}.detail-grid h1{font-size:43px}.detail-grid img{aspect-ratio:1.5}.breadcrumbs{margin-bottom:25px;font-size:12px;flex-wrap:wrap}.service-hero{padding-top:30px}.article-grid{grid-template-columns:1fr;gap:45px}.detail-aside{position:static;padding:30px}.prose h2{font-size:28px}.modal-grid{grid-template-columns:1fr}.service-dialog{width:100%;max-width:100%;max-height:100%;height:100%;margin:0;border-radius:0}.modal-image{min-height:0;height:240px}.modal-image img{object-position:center}.modal-copy{padding:32px 24px 45px}.modal-copy h2{font-size:33px}.close-modal{position:sticky;top:12px;float:right;margin:12px 12px -56px 0;flex-shrink:0}.palette-dialog{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;border-radius:0;padding:24px 20px}.palette-dialog .close-modal{margin:-10px -5px -35px 0}.palette-head{padding-top:15px}.palette-head h2{font-size:32px}.palette-controls{gap:12px}.palette-controls label{font-size:12px}.palette-controls input,.palette-controls select{padding:10px;font-size:16px}.palette-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.palette-head .fine{font-size:11px}.swatch small{font-size:10px;padding:0 6px 8px}.swatch b{padding:8px 6px 4px;font-size:11px}.swatch-color{height:56px}.inquiry-dialog{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;border-radius:0;padding:35px 24px}.inquiry-dialog .close-modal{margin:-23px -12px -21px 0}.inquiry-dialog h2{font-size:34px}.request-row{flex-wrap:wrap}.prose h1{font-size:39px}}
@media(max-width:420px){.wrap{width:calc(100% - 32px)}.header .brand{font-size:12px}.header-phone{font-size:11px}.header-inner{gap:9px}.hero-content{padding-top:112px;padding-bottom:280px}.hero h1{font-size:37px}.hero .eyebrow{font-size:9px;letter-spacing:.06em}.hero-desc{font-size:16px}.hero .actions{flex-direction:column;align-items:flex-start;gap:10px}.hero .button{min-width:225px}.hero-art{top:335px;height:590px}.hero{min-height:925px}.hero-bottom{padding:25px 16px;font-size:11px}.hero-bottom b{font-size:14px}.hero-note{margin-top:15px}.service-card:nth-child(n){gap:17px;grid-template-columns:.95fr 1fr}.service-card h3{font-size:24px;margin-top:0}.service-card>p{font-size:13px}.service-card .text-link{font-size:11px}.service-image img{aspect-ratio:.74}.image-index{font-size:9px;padding:3px 8px}.round-arrow{width:30px;height:30px;font-size:18px}.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.palette-controls{grid-template-columns:1fr}.serial-pieces{gap:9px}.serial-pieces i{width:35px}.serial-pieces i:after{left:10px}.serial-pieces i:first-child{margin-right:12px}.contact-phone{font-size:29px}h2{font-size:34px}.trial h3{font-size:19px}.hero-bottom span{padding-left:8px}.footer-row{column-gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
@media print{.header,.footer,.mobile-call,dialog,.button,.actions{display:none!important}.section{padding:25px 0}.wrap{width:100%}.hero{min-height:0}.hero-art{display:none}.hero-content{padding:20px 0;color:#000}.hero-desc{color:#000}.hero-bottom{padding:15px 0}.reveal{opacity:1!important;transform:none!important}#pc-app .pc-summary{background:white;color:black;border:1px solid #bbb}body{background:white}}
.hero-note{min-height:20px}
@media(min-width:761px) and (max-width:980px){.hero h1{font-size:43px;max-width:590px}.hero-desc{max-width:360px}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10121277,transparent 80%);z-index:1}.hero-content,.hero-bottom{z-index:2}}
@media(max-width:360px){.hero h1{font-size:32px}.hero .eyebrow{font-size:8px}.header .brand{font-size:11px}.header-phone{font-size:10px}.hero-content{padding-bottom:325px}.service-card:nth-child(n){grid-template-columns:1fr}.service-image{grid-row:auto}.service-image img{aspect-ratio:1.4}.service-card h3{margin-top:16px}.service-card .text-link{font-size:13px}.service-card>p{font-size:15px}.trial h3{font-size:17px}}

body.calculator-active .mobile-call{display:none}

/* Readability pass: large monitors and high-density displays. */
@media(min-width:981px){
  .wrap{width:min(1440px,calc(100% - 104px))}
  .header{height:96px}.header-inner{gap:42px}.brand{font-size:23px}
  .nav{gap:30px;font-size:16px}.nav a{padding:18px 0}
  .header-phone{font-size:17px}.hero{min-height:900px}
  .hero-content{padding-top:185px}.hero h1{font-size:clamp(58px,4.3vw,82px);max-width:900px}
  .hero-desc{font-size:22px;max-width:570px}.hero-note{font-size:15px}
  .hero-bottom{font-size:17px;gap:64px}.hero .eyebrow{font-size:15px}
  .service-card>p,.route-steps p,.trial p,.experience-details p,.faq-grid details p{font-size:17px}
  .service-card .text-link,.nav a,.text-link{font-size:16px}
}
.eyebrow{font-size:clamp(13px,1vw,15px);letter-spacing:.11em}
.fine,small,figcaption{font-size:14px;line-height:1.6}
.button{font-size:16px;min-height:58px;padding:16px 26px;transition:background .22s,transform .22s,box-shadow .22s}
.button:hover{box-shadow:0 9px 26px #b6461d32}
.service-image{border-radius:12px}.service-image img{transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.service-card{min-width:0}.service-card h3{font-size:clamp(28px,2.4vw,36px)}
.service-card .text-link{font-size:15px}.image-index{font-size:13px}
.round-arrow{width:50px;height:50px;transition:transform .25s,background .25s}
.service-card:hover .round-arrow{transform:translate(3px,-3px);background:#fff}
.route-steps li>span,.breadcrumbs{font-size:15px}
.contact-label,.image-disclosure{font-size:13px}
.footer p,.footer a:not(.brand),.footer button{font-size:14px}
.footer{padding:40px 0 32px}
/* The calculator opens as a full editorial section with the same visual language as the hero. */
.calculator-section{padding-top:96px;background:#eeeae3}
.calculator-section>.wrap{width:min(1500px,calc(100% - 80px))}
.calculator-section .section-heading{position:relative;min-height:320px;border-radius:16px;padding:68px 74px;margin-bottom:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;overflow:hidden;background:linear-gradient(90deg,#f5f2ec 0%,#f5f2ecf8 38%,#f5f2ec90 60%,#1d1e1c00 100%),url('../img/hero-1536.webp') 75% 42%/cover no-repeat}
.calculator-section .section-heading .eyebrow{margin-bottom:14px}
.calculator-section .section-heading h2{font-size:clamp(42px,4.4vw,70px);max-width:760px;color:#202222}
.calculator-section .section-heading>p:last-child{padding:0;margin-top:17px;font-size:20px;color:#323635;max-width:680px;line-height:1.5}
@media(max-width:980px){.calculator-section>.wrap{width:min(100% - 40px,780px)}.calculator-section .section-heading{min-height:290px;padding:45px 42px;background:linear-gradient(90deg,#f5f2ec 5%,#f5f2eceb 65%,#f5f2ec77),url('../img/hero-1280.webp') center/cover}.calculator-section .section-heading>p:last-child{font-size:18px}}
@media(max-width:600px){
 .calculator-section{padding-top:55px}.calculator-section>.wrap{width:calc(100% - 28px)}
 .calculator-section .section-heading{min-height:0;padding:34px 22px;margin-bottom:20px;background:linear-gradient(90deg,#f5f2ecf5,#f5f2ecd9),url('../img/hero-640.webp') center/cover}
 .calculator-section .section-heading h2{font-size:clamp(31px,8vw,45px)}
 .calculator-section .section-heading>p:last-child{font-size:16px}
 .hero .eyebrow{font-size:12px}.hero-note{font-size:14px}.hero-bottom{font-size:13px}
 .service-card>p,.service-card .text-link,.route-steps p,.experience-details p,.trial p{font-size:16px}
 .footer p,.footer a:not(.brand),.footer button{font-size:13px}
}
.modal-copy .button{font-size:16px}.modal-copy>p:not(.eyebrow){font-size:18px}
.modal-image small{font-size:13px}.palette-head p:not(.eyebrow),.inquiry-dialog>p:not(.eyebrow),.inquiry-dialog #quick-status{font-size:16px}
.palette-controls label,.inquiry-dialog label{font-size:16px}
@media(max-width:760px){.palette-head .fine{font-size:14px}.header-phone{font-size:14px}.modal-copy>p:not(.eyebrow){font-size:17px}}
@media(max-width:360px){.header .brand{font-size:13px}.header-phone{font-size:12px}}

/* Key messages should be read as content, not microcopy. */
.hero-note{font-size:clamp(22px,2vw,30px);line-height:1.25;font-weight:700;letter-spacing:-.025em;color:#fff;margin-top:32px;max-width:650px;text-shadow:0 2px 20px #0007}
.hero-note .type-active:after{color:#f7803d}
.hero-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:#f5f2eced;border-radius:12px;padding:25px 30px 28px;box-shadow:0 12px 28px #1c1d1c15}
.hero-bottom span{padding-left:19px;border-left:4px solid #d9551b;min-width:0}
.hero-bottom small{display:block;color:#555a56;font-size:16px;line-height:1.35}
.hero-bottom b{display:block;color:#252725;font-size:clamp(22px,2vw,29px);line-height:1.2;letter-spacing:-.035em;margin-top:5px}
.services{padding-top:90px}
.services .section-heading{display:block;margin-bottom:50px}
.services .section-heading .eyebrow{margin-bottom:16px}
.services .section-heading h2{max-width:800px}
.services .section-heading>p:last-child{max-width:740px;font-size:21px;line-height:1.5;color:#505650;margin-top:20px;padding:0}
.service-card h3{font-size:clamp(30px,2.4vw,39px);line-height:1.12;letter-spacing:-.035em;margin:22px 0 14px}
.service-card>p{max-width:410px;font-size:18px;line-height:1.55;color:#515751}
.service-card .text-link{font-size:17px;margin-top:20px}
@media(max-width:980px){.hero-note{font-size:24px}.hero-bottom{gap:15px}.hero-bottom small{font-size:14px}.hero-bottom b{font-size:22px}.services .section-heading>p:last-child{font-size:19px}}
@media(max-width:760px){
 .hero-note{font-size:22px;line-height:1.35;margin-top:26px;max-width:420px;color:white}
 .hero-bottom{grid-template-columns:1fr;gap:16px;width:calc(100% - 32px);margin:0 auto;padding:22px;background:var(--paper)}
 .hero-bottom span{max-width:none;flex:auto;padding-left:15px}
 .hero-bottom small{font-size:15px}.hero-bottom b{font-size:24px;margin-top:2px}
 .services{padding-top:70px}.services .section-heading>p:last-child{font-size:18px}
 .service-card:nth-child(n){display:block;margin-top:0}
 .service-grid{gap:52px}.service-image img,.service-card:nth-child(2) .service-image img{aspect-ratio:1.35;object-position:center}
 .service-card h3{font-size:30px;margin:20px 0 10px}
 .service-card>p{font-size:17px;max-width:none}
 .service-card .text-link{font-size:17px;margin-top:12px}
}
@media(max-width:420px){.hero-note{font-size:19px}.hero-bottom{width:calc(100% - 32px);padding:20px}.hero-bottom b{font-size:22px}.service-card h3{font-size:28px}}

/* Balanced headlines retain a natural wrap as the fallback in older browsers. */
h1,h2,h3,.hero-note,.section-heading>p:last-child,.lead,.service-card>p,.contact-lead,.faq-grid summary,.modal-copy>p:not(.eyebrow),.hero-bottom b{text-wrap:balance}
/* Hero message and the three production facts must read as a single composition. */
.hero-note{max-width:min(100%,940px);text-wrap:balance}
.hero-bottom{box-shadow:0 24px 48px #1a1a193d,0 5px 15px #1a1a191c;margin-bottom:44px;z-index:2}
@media(max-width:760px){.hero-bottom{margin-bottom:32px}}
/* Long service names must fit 320px phones without sideways scrolling. */
@media(max-width:360px){.service-hero h1{font-size:35px;line-height:1.12}}

/* Readable wrapping: short display copy is balanced, longer copy avoids orphans. */
:where(.prose p,.prose li,.route-steps p,.experience-details p,.faq-grid details p,.detail-aside li,.contact-grid p,.fine,figcaption){text-wrap:pretty}
h1,h2,h3,.hero-note,.section-heading>p:last-child,.lead,.faq-grid summary,.modal-copy>p:not(.eyebrow),.hero-bottom b{text-wrap:balance}

/* Phone numbers are important actions, not secondary metadata. */
.header-phone{font-size:15px}
.faq-help{font-size:18px;line-height:1.55;margin-top:28px}
.faq-phone{display:inline-block;font-size:clamp(20px,1.7vw,25px);font-weight:700;line-height:1.3;margin-top:5px}
@media(min-width:981px){.header-phone{font-size:19px}}
@media(max-width:760px){.header-phone{font-size:15px}}
@media(max-width:360px){.header-phone{font-size:13px}}

/* Compact, dismissible cookie notice. */
.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1050px;margin:auto;padding:20px 22px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 70px #0004}
.cookie-banner strong{display:block;font-size:18px;line-height:1.3;margin-bottom:4px}.cookie-banner p{font-size:14px;line-height:1.5;color:var(--muted);text-wrap:pretty}.cookie-banner a{font-size:13px}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions .button{min-height:46px;padding:10px 16px;font-size:13px;white-space:nowrap}
@media(max-width:760px){.cookie-banner{left:12px;right:12px;bottom:76px;display:block;padding:18px}.cookie-actions{margin-top:15px;flex-wrap:wrap}.cookie-actions .button{flex:1}.cookie-banner p{font-size:13px}}
