/* Rex v2: one smaller hero mascot, one quiet joke, otherwise business first. */
:root{--ink:#24382d;--muted:#56665d;--line:#d8dfd2;--soft:#eef1e6;--navy:#214e3a;--white:#faf8f1;background:#faf8f1;color:#24382d}
body{background:#faf8f1;color:#24382d}
.site-header{background:#faf8f1;border-color:#d8dfd2}
.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:36px;font-weight:700;letter-spacing:-1.5px;color:#214e3a}
.brand .brand-mark{width:38px;height:42px}
.brand-copy>span,.brand span,.header-contact span,.nav a{color:#56665d}
.header-contact a{color:#214e3a}
.nav .nav-cta,.nav .home-link{border-color:#aebbab;background:#f4f5eb}
.button,#ks-form .ks-submit{background:#214e3a;border-color:#214e3a;color:#fff}
.button:hover,#ks-form .ks-submit:hover{background:#163b2b;border-color:#163b2b}
.hero-actions .button.secondary{background:transparent;border-color:#b8c4b1;color:#214e3a}
.hero-actions .button.secondary:hover{background:#eef1e6}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#6b8b5c}
.hero.rex-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:50px;align-items:center;padding-top:42px;padding-bottom:57px}
.hero.rex-hero .hero-copy{max-width:640px}
.hero .rex-eyebrow,.rex-section-kicker{color:#4c6a4d;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;line-height:1.8;margin-bottom:18px}
.hero.rex-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(45px,4.8vw,66px);font-weight:400;line-height:1.06;letter-spacing:-2px;margin-bottom:25px;color:#24382d}
.hero.rex-hero .hero-intro{font-size:17px;line-height:1.85;max-width:610px}
.hero.rex-hero .hero-region{font-size:16px;line-height:1.8;margin-bottom:23px}
.hero.rex-hero .hero-pricing{font-size:14px;line-height:1.85;max-width:570px}
.hero.rex-hero .hero-pricing span{font-size:13px;margin-top:7px;line-height:1.85}
.hero.rex-hero .hero-contact{font-size:14px;margin-top:18px;color:#214e3a}
.rex-hero-figure{margin:0;min-width:0;width:100%;max-width:360px;position:relative;text-align:center;align-self:center;justify-self:center}
.rex-hero-figure img{display:block;width:100%;max-height:425px;object-fit:contain;margin:0 auto}
.rex-hero-figure figcaption{margin-top:13px;font-size:13px;line-height:1.7;color:#52644e;letter-spacing:.01em}
.section-heading h2,.service-inner h2,.about-copy h2,.page-intro h1,.content-section h2,.projects-intro h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.8px}
.step{border-top-color:#9baa86}
.step-number{color:#5a734c}
.step h3{color:#214e3a}
.source-note,.kicker,.ks-configurator .ks-eyebrow{color:#52664b}
.service-section,.about-section,.site-footer{background:#eef1e6;border-color:#d8dfd2}
.service-inner strong{color:#24382d}
.ks-configurator{--ks-ink:#24382d;--ks-muted:#56665d;--ks-line:#d8dfd2;--ks-soft:#eef1e6;--ks-navy:#214e3a}
.ks-configurator h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1px}
#ks-form .ks-step{border-color:#bac7af;color:#52664b}
#ks-form .ks-option{background:#fffef9;border-color:#cbd4c2}
#ks-form .ks-option:has(>input:checked){background:#eff3e7;border-color:#214e3a}
#ks-form .ks-option:focus-within{outline-color:#79965f}
#ks-form .ks-option input,#ks-form .ks-consent input{accent-color:#214e3a}
#ks-form .ks-best{background:#e4ebd7;color:#365438;border-color:#b6c6a3}
#ks-form .ks-features li::before{background:#799060}
#ks-form .ks-summary{background:#eef1e6;border-color:#b7c5a9}
#ks-form #ks-pick,#ks-form .ks-call{color:#3f633d}
#ks-form .ks-totals>div{border-color:#d0d8c6}
#ks-form .ks-field input,#ks-form .ks-field select{background:#fffef9;border-color:#bdc9b2;color:#24382d}
#ks-form .ks-deposit-notice{border-color:#a4b795;background:#eef1e6}
.scope-box,.contact-box,.ldoc,.project-card,.app-card,.ncard{background:#fffef9;border-color:#cbd4c2}
.scope-box,.contact-box,.ldoc-body .callout,.sub-tbl th{background:#eef1e6}
.device-photo{max-width:640px;margin:32px auto}
@media(max-width:1000px){.hero.rex-hero{gap:27px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.hero.rex-hero h1{font-size:53px}.rex-hero-figure img{max-height:375px}}
@media(max-width:760px){.hero.rex-hero{grid-template-columns:1fr;gap:27px;padding-top:35px;padding-bottom:38px}.hero.rex-hero h1{font-size:clamp(41px,7vw,54px);max-width:580px;letter-spacing:-1.3px}.hero.rex-hero .hero-intro{font-size:16px}.hero .rex-eyebrow{margin-bottom:15px;font-size:11px}.rex-hero-figure{width:100%;max-width:270px;justify-self:center}.rex-hero-figure img{max-height:285px}.rex-hero-figure figcaption{font-size:13px;margin-top:10px}.hero.rex-hero .hero-contact{font-size:14px}.brand strong{font-size:33px}.header-contact a{font-size:14px}.rex-footer-mascot{margin-bottom:10px}}
@media(max-width:430px){.hero.rex-hero{padding-top:27px;gap:24px}.hero.rex-hero h1{font-size:43px;letter-spacing:-1.4px}.hero.rex-hero .hero-pricing{font-size:13px}.hero.rex-hero .hero-pricing span{font-size:12px}.rex-hero-figure{max-width:230px}.rex-hero-figure img{max-height:240px}.hero-actions{gap:10px}.brand-copy>span{font-size:11px}.rex-section-kicker{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
