:root{--bg:#F1E9DA;--ink:#171A16;--accent:#29362A;--muted:#49716B;--soft:#BE9550;--display:Aptos, Arial, sans-serif;--body:Arial, sans-serif;--radius:15px;--max:980px}
body{} .layout-nameplate{}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.62}a{color:inherit}img{display:block;max-width:100%;height:auto}.skip{position:absolute;left:-999px;top:12px;background:var(--ink);color:var(--bg);padding:10px 14px;z-index:100}.skip:focus{left:12px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-header{background:color-mix(in srgb,var(--bg) 90%,white);border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent);position:relative;z-index:5}.nav-shell{max-width:var(--max);margin:auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.mark{min-width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--accent);color:var(--accent);font:800 .92rem/1 var(--display);letter-spacing:.04em;background:color-mix(in srgb,var(--bg) 80%,white)}.brand-name{font-family:var(--display);font-weight:900;font-size:clamp(1.05rem,2vw,1.5rem);line-height:1.05}.nav-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.nav-links a{text-decoration:none;font-size:.92rem}.phone-link{border:1px solid currentColor;padding:10px 14px;text-decoration:none;font-weight:800}.hero{max-width:var(--max);margin:auto;padding:70px 22px 48px;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.eyebrow{font-size:.77rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-weight:900}.hero h1,.page-hero h1{font-family:var(--display);font-size:clamp(2.35rem,6vw,5.25rem);line-height:.97;margin:14px 0 22px;letter-spacing:0}.hero p,.page-hero p{font-size:clamp(1.04rem,1.8vw,1.25rem);max-width:66ch}.hero-media{min-height:360px;border-radius:var(--radius);overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.13);position:relative}.hero-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-media:after{content:"";position:absolute;inset:18px;border:1px solid color-mix(in srgb,var(--bg) 60%,transparent)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:2px solid var(--accent);background:var(--accent);color:var(--bg);text-decoration:none;font-weight:900}.btn.secondary{background:transparent;color:var(--accent)}.section{max-width:var(--max);margin:auto;padding:56px 22px}.section.alt{max-width:none;background:color-mix(in srgb,var(--soft) 18%,transparent)}.section.alt>.inner{max-width:var(--max);margin:auto}.section-title{font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0 0 18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding:24px;background:color-mix(in srgb,var(--bg) 84%,white);border-radius:calc(var(--radius) * .65)}.card h3{font-family:var(--display);font-size:1.35rem;margin:0 0 10px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.fact{padding:16px 0;border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}.fact dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:900}.fact dd{margin:5px 0 0;font-weight:800}.contact-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.contact-card{background:var(--ink);color:var(--bg);padding:28px;border-radius:var(--radius)}.contact-card a{color:var(--bg)}form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:900}input,textarea,select{width:100%;padding:13px 14px;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:10px;background:#fff;color:#111;font:inherit}textarea{resize:none;min-height:132px}form button,.cookie button{cursor:pointer;border:2px solid var(--accent);background:var(--accent);color:var(--bg);font-weight:900;padding:11px 14px}.form-status{min-height:28px;font-weight:900}.qa-note{font-size:.92rem;color:color-mix(in srgb,var(--ink) 70%,transparent)}.site-footer{margin-top:50px;padding:34px 22px;background:var(--ink);color:var(--bg)}.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}.footer-links{display:grid;gap:8px}.footer-links a{color:var(--bg)}.page-hero{max-width:var(--max);margin:auto;padding:58px 22px 22px}.legal main{max-width:880px;margin:auto;padding:34px 22px}.legal h1,.legal h2{font-family:var(--display)}.faq-item{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding:20px 0}.faq-item h3{margin:0 0 8px;font-family:var(--display)}.cookie{position:fixed;z-index:50;background:var(--bg);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);box-shadow:0 20px 60px rgba(0,0,0,.16);padding:16px;max-width:440px}.cookie p{margin:0 0 12px;font-size:.92rem}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie .secondary{background:transparent;color:var(--accent)}.pos-0{left:22px;bottom:22px}.pos-1{right:22px;bottom:22px}.pos-2{left:22px;top:22px}.pos-3{right:22px;top:22px}.pos-4{left:50%;transform:translateX(-50%);bottom:18px;max-width:720px}.pos-5{left:18px;right:18px;bottom:18px;max-width:none}.pos-6{right:18px;top:96px}.pos-7{left:18px;top:96px}.pos-8{left:50%;top:88px;transform:translateX(-50%)}.layout-rail .site-header{position:fixed;left:0;top:0;bottom:0;width:210px}.layout-rail .nav-shell{height:100%;flex-direction:column;align-items:flex-start;justify-content:flex-start}.layout-rail .nav-links{display:grid}.layout-rail main,.layout-rail .site-footer{margin-left:210px}.layout-rail .hero{grid-template-columns:1fr;max-width:940px}.layout-console{background:var(--ink);color:var(--bg)}.layout-console .site-header,.layout-console .site-footer{background:#07090a}.layout-console .card,.layout-console input,.layout-console textarea,.layout-console select,.layout-console .cookie{color:#111}.layout-gallery .nav-shell,.layout-letter .nav-shell{display:grid;justify-items:center}.layout-technical .btn,.layout-urban .btn,.layout-service .btn,.layout-service .phone-link{border-radius:0}.layout-note .card,.layout-note input,.layout-note textarea{border-radius:24px}.layout-margin .hero{grid-template-columns:.72fr 1.28fr}.layout-sign .site-header{background:var(--ink);color:var(--bg)}.layout-sign .mark{background:var(--bg)}.layout-water .hero{max-width:1280px}.layout-letter .mark{border-radius:50%}.layout-workshop .card{border-radius:50px}.layout-urban .section-title{text-transform:uppercase}.layout-listing .card{border-radius:8px}.layout-residential .mark{border-radius:4px 4px 16px 16px}.layout-nameplate .brand-name{max-width:470px}.layout-glass .card,.layout-glass .contact-card{backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 72%,white 28%);color:var(--ink)}.layout-glass .contact-card a{color:var(--ink)}
@media(max-width:920px){.layout-rail .site-header{position:relative;width:auto}.layout-rail main,.layout-rail .site-footer{margin-left:0}.hero,.contact-panel,.footer-inner{grid-template-columns:1fr}.grid,.facts{grid-template-columns:1fr}.nav-shell{align-items:flex-start}.nav-links{width:100%}.hero{padding-top:42px}.hero-media{min-height:260px}.cookie{left:14px!important;right:14px!important;bottom:14px!important;top:auto!important;transform:none!important;max-width:none}.phone-link{display:inline-flex}}@media(max-width:520px){body{font-size:16px}.hero h1,.page-hero h1{font-size:clamp(2.05rem,13vw,3.4rem)}.actions{display:grid}.btn{width:100%}.brand{align-items:flex-start}.mark{min-width:40px;height:40px}.nav-shell,.section,.hero,.page-hero{padding-left:16px;padding-right:16px}}

/* contrast hardening */
.site-header{background:var(--bg)!important;border-bottom:1px solid var(--ink)!important}.mark{background:var(--accent)!important;color:var(--bg)!important;border-color:var(--accent)!important}.card{background:var(--bg)!important;border-color:var(--ink)!important}.section.alt{background:var(--bg)!important;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.qa-note{color:var(--ink)!important}.fact{border-top-color:var(--ink)!important}input,textarea,select{border-color:var(--ink)!important}.cookie{border-color:var(--ink)!important}.layout-sign .mark{background:var(--bg)!important;color:var(--ink)!important}.layout-console .mark{color:#111!important;background:#eef3f4!important;border-color:#eef3f4!important}.layout-console .card{background:#111518!important;color:#eef3f4!important}.layout-glass .card,.layout-glass .contact-card{background:var(--bg)!important;color:var(--ink)!important}

/* final contrast normalization */
.btn,.cookie button,form button{background:var(--accent)!important;color:var(--bg)!important;border-color:var(--accent)!important}.btn.secondary,.cookie button.secondary{background:var(--bg)!important;color:var(--accent)!important}.site-footer,.contact-card{background:var(--ink)!important;color:var(--bg)!important}.site-footer a,.contact-card a{color:var(--bg)!important}.cookie{background:var(--bg)!important;color:var(--ink)!important}.cookie p{color:var(--ink)!important}.nav-links a,.phone-link,.brand-name{color:var(--ink)!important}

/* footer brand contrast correction */
.site-footer .brand-name{color:var(--bg)!important}.site-footer p,.site-footer strong{color:var(--bg)!important}

/* mobile overflow hardening */
.nav-shell,.brand,.nav-links,.hero,.contact-panel,.grid,.facts,.footer-inner{min-width:0}.brand-name,.nav-links a,.phone-link,h1,h2,h3,p,dd,dt,a,.contact-card,.card,.fact,input,textarea,select{overflow-wrap:anywhere;word-break:normal}.hero>*,.contact-panel>*,.grid>*,.footer-inner>*{min-width:0}.hero-media{max-width:100%}@media(max-width:640px){.nav-shell{display:grid;grid-template-columns:1fr;justify-items:start}.nav-links{display:grid;grid-template-columns:1fr;gap:10px}.phone-link{max-width:100%}.brand{max-width:100%}.brand-name{font-size:1.05rem}.contact-card{padding:20px}.section-title{font-size:clamp(1.8rem,11vw,2.8rem)}}
