/* Claude's white/red visual system, applied to the preserved Codex content. */
:root{--header-height:150px;--max:1120px;--paper:#fff;--brand:#cb402d;--brand-dark:#a8331f;--brand-soft:#fcefeb;--warm:#fdf1ee;--soft:#f8f6f5;--round:14px;--card-shadow:0 6px 24px rgba(60,30,25,.07)}
body.hub,body.visual-site,body.company-site{--ink:#2b2827;--muted:#5c5755;--line:#e7dfdb;--accent:var(--brand);--surface:var(--brand-soft);--call:var(--brand);--call-hover:var(--brand-dark);--contact-ink:var(--brand);--contact-paper:var(--soft);background:#fff;color:var(--ink)}
html{scroll-padding-top:calc(var(--header-height) + 18px);scroll-padding-bottom:110px}
body .wrap{max-width:1120px;width:calc(100% - 64px)}
body h1,body h2,body h3{letter-spacing:.015em}
body .eyebrow{color:var(--brand);font-weight:700;letter-spacing:.07em}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #126a9b;outline-offset:4px}
body .previewbar{padding:6px 20px;background:var(--soft);color:var(--muted);border-bottom:1px solid var(--line);text-align:center}
body .previewbar a{color:var(--brand);margin-left:16px;text-underline-offset:4px}

/* Two rows on desktop; a labelled menu on phones. */
body .header{position:sticky;top:0;z-index:50;display:block;min-height:0;height:auto;padding:0;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);box-shadow:0 2px 12px #3c1e1906}
body .header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:24px;min-height:96px;padding:12px 0}
body .brand{gap:20px;min-width:0;flex-shrink:1;align-items:center}
body .header .brand img{width:157px;max-width:none;height:50px;object-fit:contain}
body .brand-name{font-size:.78rem;max-width:200px;line-height:1.65;padding-left:20px;margin:0;border-left:1px solid var(--line)}
body .brand-name small{display:none}
.header-contact{display:flex;align-items:center;gap:24px;flex-shrink:0}
body .header .header-phone{display:flex;align-items:flex-end;flex-direction:column;gap:0;text-decoration:none;line-height:1.4;color:var(--brand);padding:0;border:0;background:transparent;min-height:44px}
body .header-phone .header-hours{font-size:.67rem;font-weight:400;color:var(--muted);letter-spacing:0;white-space:nowrap}
body .header .header-phone strong{font-size:1.34rem;letter-spacing:.025em;line-height:1.5;font-weight:800;white-space:nowrap}
body .header-phone small{font-size:.67rem;color:var(--muted);line-height:1.5}
body .header-cta{display:flex;justify-content:center;align-items:center;gap:24px;min-height:50px;padding:12px 25px;border-radius:999px;color:#fff;background:var(--brand);font-size:.89rem;font-weight:700;white-space:nowrap}
body .header-cta:hover{background:var(--brand-dark)}
.nav-shell{border-top:1px solid var(--line)}
body .header .nav{display:flex;align-items:center;justify-content:center;position:static;flex-direction:row;flex-wrap:wrap;gap:10px 32px;margin:0 auto;padding:0;background:transparent;border:0}
body .header .nav a{display:flex;align-items:center;font-size:.89rem;min-height:52px;padding:8px 0;line-height:1.6;color:var(--muted);border:0}
body .header .nav a:hover{color:var(--brand)}
body .menu-toggle{display:none}
body .skip{z-index:100}

/* Warm, open hero areas and high-contrast contact choices. */
.hub #main{background:radial-gradient(ellipse at 8% 0%,#fce5de 0,transparent 33%),linear-gradient(#fff9f6 0,#fff 620px);background-repeat:no-repeat;background-size:100% 760px}
body .home-intro{padding:56px 0 64px;gap:48px;grid-template-columns:1.08fr 1fr;align-items:center}
body .home-region{display:inline-block;padding:8px 14px;border:1px solid #efc9bf;border-radius:999px;background:#fff;color:var(--brand);font-size:.78rem;line-height:1.8}
body .home-intro h1{font-size:clamp(2rem,3.3vw,2.55rem);line-height:1.55;color:var(--ink);margin:24px 0}
body .home-lead{color:var(--muted)}
body .home-text-link{color:var(--brand);font-weight:600}
body .home-start{padding:30px;border:1px solid #edc9bf;border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}
body .home-start h2{font-size:1.3rem;color:var(--brand);line-height:1.6}
body .home-direct-call{margin-top:22px;border-radius:999px;background:#fff;color:var(--brand);border:2px solid var(--brand);padding:15px 22px;min-height:90px}
body .home-direct-call:hover{background:var(--brand-soft)}
body .home-direct-call strong{font-size:1.65rem;letter-spacing:.015em}
body .home-branch-call{color:var(--brand);border-color:var(--line)}
body .home-fee{background:var(--soft);border-radius:10px;padding:14px 16px;font-size:.89rem}
body .home-section-heading{margin-bottom:26px}
body .home-section-heading h2{line-height:1.6}
body .home-concerns{padding-top:18px;padding-bottom:56px}
body .home-concern-grid{gap:16px}
body .home-concern{border-radius:var(--round);border:1px solid var(--line);background:#fff;box-shadow:var(--card-shadow);min-height:112px;gap:14px;padding:22px 18px}
body .home-concern>.consult-icon{color:var(--brand)}
body .home-concern strong{font-size:1.05rem}
body .home-concern-arrow{color:var(--brand)}
body .home-concern:hover,body .home-concern[aria-current=true]{background:var(--brand-soft);border-color:var(--brand)}
body .home-other{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:18px 24px;margin-top:18px}
body .home-contact{padding:48px 0;background:var(--soft);box-shadow:0 0 0 100vmax var(--soft);clip-path:inset(0 -100vmax)}
body .home-channels{gap:18px}
body .home-channel{background:#fff;border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--card-shadow);padding:26px 22px}
body .home-channel h3{font-size:1.25rem;gap:12px}
body .home-phone{background:#fff;color:var(--ink)}
body .home-phone .home-office{color:var(--brand);border-color:#ecd8d1}
body .home-phone .home-hours{color:var(--muted)}
body .home-office strong{font-size:1.6rem}
body .home-office b{font-size:.78rem}
body .home-channel-link{border-radius:999px;font-size:1rem;min-height:54px;padding:12px 18px;border:1px solid var(--brand);color:#fff;background:var(--brand)}
body .home-line .home-channel-link{background:#078539;border-color:#078539;color:white}
body .home-line .home-channel-link:hover{background:#066c2f}
body .home-email .home-channel-link:hover{background:var(--brand-dark)}
body .home-topic-summary{background:#fff;border:1px solid #edc9bf;border-left:4px solid var(--brand);border-radius:12px}
body .home-topic-actions button{border-radius:999px;color:var(--brand);border-color:var(--brand)}
body .home-cost{border-radius:12px;background:#fff;padding:8px 20px;border:1px solid var(--line)}

/* Preserve each comparison image and its clipping geometry. */
body.hub #collection{padding-top:60px;padding-bottom:48px}
body.hub .collection-top{border-top:0;padding-top:0}
body .filters{gap:10px}
body .filters button{border-radius:999px;min-height:48px;background:#fff;border:1px solid var(--line)}
body .filters button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}
body .site-grid{gap:28px}
body .site-card{background:#fff;border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--card-shadow);overflow:hidden}
body .site-card .card-title-link{padding:20px 22px 24px}
body .site-card .card-title-link h2{font-size:1.18rem;line-height:1.6}
body .site-card .card-service{color:var(--muted)}
body.hub .site-card .card-detail{color:var(--brand);font-weight:600}
body .card-no{background:#fffffff0;color:var(--brand);border-radius:0 0 12px 0;padding:8px 12px}
body .comparison-switch{padding:10px 12px;gap:8px;border-bottom:1px solid var(--line);background:var(--soft)}
body.hub .comparison-switch button{border-radius:999px;border:1px solid #d5c5be;background:#fff;min-height:48px}
body.hub .comparison-switch button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}

/* The service copy and photos retain their layouts within the new visual system. */
body.visual-site .visual-hero,body .paint-hero{padding-top:48px;padding-bottom:40px;position:relative;isolation:isolate}
body.visual-site .visual-hero:before,body .paint-hero:before{content:'';position:absolute;inset:0 calc((1120px - 100vw)/2);background:linear-gradient(155deg,var(--warm),#fff 82%);z-index:-1}
body .paint-photo>img{border-radius:18px}
body .repair-hero{background:linear-gradient(155deg,var(--warm),#fff 82%);color:var(--ink);padding:48px 0}
body .repair-hero-inner{grid-template-columns:1.05fr 1.2fr;gap:40px}
body.visual-site .repair-copy h1{font-size:clamp(1.8rem,3vw,2.22rem);line-height:1.6}
body.specialist-site :is(.paint-copy,.repair-copy) .eyebrow{font-size:.78rem}
body.visual-site .consult-preview-label{font-size:.78rem!important;line-height:1.8}
body .repair-copy :is(.eyebrow,.special-service){color:var(--brand)}
body .repair-copy .special-lead,body .repair-visual-label,body .repair-observation{color:var(--muted)}
body .repair-observation{border-color:#edc9bf}
body.visual-site .repair-copy .consult-invite,body .repair-copy .message-link{color:var(--ink)}
body.visual-site .repair-copy .consult-preview-label{color:var(--muted)}
body .repair-visual .visual-art{background:#fff;border-color:var(--line);border-radius:var(--round)}
body .service-comparison{border-radius:var(--round);border:1px solid var(--line);box-shadow:var(--card-shadow);background:#fff}
body .service-comparison .photo-range{accent-color:var(--brand)}
body .call-action{background:#fff;color:var(--brand);border:2px solid var(--brand);border-radius:999px}
body .call-action:hover{background:var(--brand-soft)}
body.visual-site .hero-call{padding:16px 22px}
body .message-link{border:1px solid var(--line);border-radius:999px;background:#fff;min-height:54px;padding:10px 16px}
body .repair-copy .message-link{border-color:var(--line)}
body .visual-region,body .special-region{border-bottom:1px solid var(--line);padding:22px 0}
body .visual-region p,body .special-region p{color:var(--brand);font-weight:600}
body.visual-site .concern-card{border-radius:var(--round);background:#fff;box-shadow:var(--card-shadow);border-color:var(--line)}
body .concern-icon{border-radius:50%;background:var(--brand-soft);color:var(--brand)}
body.visual-site .concern-card:hover,body.visual-site .concern-card[aria-current]{background:var(--brand-soft);border-color:var(--brand)}
body .assurance-grid article{border:1px solid var(--line);background:#fff;border-radius:var(--round);padding:24px}
body .consultation-section{background:var(--soft);padding:56px 0}
body .consultation-channels{gap:24px;overflow:visible;border-radius:0}
body.visual-site .phone-channel,body.visual-site .message-channel{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--card-shadow)}
body.visual-site .phone-channel .channel-copy,body.visual-site .phone-channel .phone-hours{color:var(--muted)}
body .channel-overline{color:var(--brand)}
body .phone-channel .office-phone{color:var(--brand);border-color:var(--line)}
body .official-message-links a{border-radius:999px}
body .official-message-links .line-action{background:#078539;color:#fff;border:1px solid #078539}
body .official-message-links .email-action{background:var(--brand);color:#fff;border:1px solid var(--brand)}
body .selected-consult-topic{border-radius:10px;border-left-color:var(--brand)}
body .message-disclosure{border:1px solid var(--line);border-radius:var(--round);background:white;padding:0 24px}
body .contact-form{border:1px solid var(--line);border-radius:var(--round);background:var(--soft)}
body .button{border-radius:999px;background:var(--brand);border-color:var(--brand);color:#fff;min-height:54px}
body .button.outline{background:white;color:var(--brand)}
body .visual-details>details{border:1px solid var(--line);border-radius:var(--round);margin-bottom:14px;background:#fff;overflow:clip}
body .visual-details>details>summary{padding:20px 24px}
body .reading-content,body .model-content{padding:16px 24px 30px}
body .related-grid a{border:1px solid var(--line);border-radius:12px;padding:16px 20px;background:var(--soft)}
body .palette-scene,body .roof-diagram,body .shop-plan-board{border-radius:var(--round);overflow:hidden;background:var(--soft)}
body .roof-steps button{border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
body .roof-steps [aria-pressed=true],body .business-buttons [aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand)}
body .shop-opening{background:var(--soft)}
body .phone-preview-dialog{border-radius:18px;background:#fff}
body .phone-preview-dialog .message-action{border-radius:999px;color:var(--brand);border-color:var(--brand)}

/* Company information and the existing questionnaire use the same components. */
body .office-card,body .company-area,body .company-contact{border-radius:var(--round);background:var(--soft);border-color:var(--line)}
body .company-page-intro{padding-top:44px}
body .inquiry-demo,body .inquiry-context{border-radius:12px}
body .inquiry-block{border-color:var(--line)}
body .inquiry-choice{border-radius:12px;border-color:#cfc2bc}
body .inquiry-choice:has(:checked){background:var(--brand-soft);border-color:var(--brand)}
body .inquiry-choice input{accent-color:var(--brand)}
body .inquiry-block :is(input:not([type=radio]),select,textarea){border-radius:10px}
body .inquiry-primary,body .inquiry-secondary{border-radius:999px}
body .inquiry-primary{background:var(--brand);border-color:var(--brand)}
body .inquiry-primary:hover{background:var(--brand-dark)}
body .inquiry-block small{background:var(--brand)}
body .inquiry-progress [aria-current=step]{border-color:var(--brand);color:var(--brand)}
body .footer{background:var(--brand);color:#fff;border:0;padding-top:44px;padding-bottom:40px;margin-top:28px}
/* The supplied logo includes a white background; show it intact on a white badge. */
body .footer-logo{filter:none;mix-blend-mode:normal;background:#fff;border-radius:6px;padding:8px;width:160px}
body .footer p,body .footer a{color:#fff;opacity:1}

@media(max-width:1184px){body.visual-site .visual-hero:before,body .paint-hero:before{inset:0 -32px}}
@media(max-width:1100px){body .header-inner{gap:16px}.header-contact{gap:18px}body .brand{gap:14px}body .brand-name{padding-left:14px;max-width:175px}body .home-intro{gap:30px}body .home-channels{grid-template-columns:1fr 1fr}body .home-phone{grid-column:1/-1}}
@media(max-width:900px){
 :root{--header-height:80px}
 body .header-inner{min-height:80px;padding:10px 0;gap:16px}
 body .header .brand img{width:138px;height:44px}
 body .header-contact{display:none}
 body .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:68px;min-height:58px;padding:7px;margin-left:auto;border:0;background:transparent;color:var(--ink)}
 body .menu-toggle .menu-bar{display:block;position:relative;width:24px;height:2px;background:var(--brand);margin:5px 0}
 body .menu-bar:before,body .menu-bar:after{content:'';position:absolute;width:24px;height:2px;left:0;background:var(--brand)}
 body .menu-bar:before{top:-7px}body .menu-bar:after{top:7px}
 body .menu-toggle .menu-label{display:block;width:auto;height:auto;background:none;margin:0;font-size:.67rem;line-height:1.4;font-weight:600}
 .nav-shell{border:0}
 body .header .nav{display:none}
 body .header .nav[data-open=true]{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;position:absolute;top:100%;left:0;width:100%;max-width:none;padding:12px 32px 22px;margin:0;border-bottom:1px solid var(--line);background:#fff;max-height:calc(100dvh - var(--header-height) - 100px);overflow:auto;box-shadow:0 16px 25px #3c1e1914}
 body .header .nav a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:.89rem;min-height:54px}
 body .home-intro{grid-template-columns:1fr 1fr;gap:24px;padding:36px 0 44px}
 body .home-intro h1{font-size:2rem}
 body .home-start{padding:24px 20px}
 body .home-direct-call{padding:14px 12px;gap:10px}
 body .home-direct-call strong{font-size:1.45rem}
 body .home-contact-dock,body.visual-site .consultation-dock{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff7;backdrop-filter:blur(6px);border-top:1px solid var(--line);box-shadow:0 -4px 16px #3c1e1909}
 body .home-contact-dock a,body.visual-site .consultation-dock a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:54px;padding:10px 5px;border-radius:999px;border:1px solid var(--brand);font-size:.89rem;font-weight:700;line-height:1.5}
 body .home-contact-dock a:first-child,body.visual-site .consultation-dock .dock-call{background:#fff;color:var(--brand)}
 body .home-contact-dock a:nth-child(2),body.visual-site .consultation-dock .dock-line{background:#078539;color:white;border-color:#078539}
 body .home-contact-dock a:last-child,body.visual-site .consultation-dock .dock-form{background:var(--brand);color:#fff}
 body.visual-site .dock-call strong{font-size:.89rem;letter-spacing:0}
 body.visual-site .dock-call small,body.visual-site .dock-call .call-arrow{display:none}
 body .home-contact-dock .consult-icon,body.visual-site .consultation-dock .consult-icon{width:20px;height:20px}
 body.hub .footer,body.visual-site .footer{padding-bottom:115px}
}
@media(max-width:760px){
 body .wrap{width:calc(100% - 40px)}
 body .header .brand-name{display:none}
 body .home-intro{grid-template-columns:1fr;gap:30px;padding:30px 0 38px}
 body .home-intro h1{font-size:1.9rem;margin:20px 0;line-height:1.6}
 body .home-region{font-size:.78rem;border-radius:12px}
 body .home-start{padding:24px 20px}
 body .home-start h2{font-size:1.22rem}
 body .home-direct-call{border-radius:16px;padding:16px}
 body .home-direct-call strong{font-size:1.7rem}
 body .home-section-heading h2{font-size:1.45rem}
 body .home-concern{padding:18px 14px;min-height:150px;grid-template-columns:1fr;align-content:start}
 body .home-concern strong{font-size:1rem}
 body .home-concerns{padding-bottom:38px}
 body .home-contact{padding:34px 0}
 body .home-channels{grid-template-columns:1fr}
 body .home-channel{padding:24px 20px}
 body .home-phone{grid-column:auto}
 body .home-other{padding:18px;font-size:.89rem}
 body.hub #collection{padding-top:38px}
 body .site-grid{gap:24px}
 body .site-card .card-title-link{padding:18px 20px 22px}
 body.visual-site .visual-hero,body .paint-hero,body .repair-hero{padding-top:28px;padding-bottom:28px}
 body .repair-hero-inner{grid-template-columns:1fr;gap:24px}
 body.visual-site .visual-hero:before,body .paint-hero:before{inset:0 -20px}
 body .paint-photo{margin-top:24px}
 body .consultation-section{padding:36px 0}
 body .consultation-channels{gap:18px}
 body .message-disclosure{padding:0 16px}
 body .visual-details>details>summary{padding:18px}
 body .reading-content,body .model-content{padding:12px 16px 22px}
 body .header .nav[data-open=true]{padding-inline:20px;gap:0 16px}
 body .footer-inner{gap:30px}
}
@media(max-width:360px){
 body .wrap{width:calc(100% - 32px)}
 body .home-contact-dock a,body.visual-site .consultation-dock a{font-size:.78rem}
 body .home-contact-dock .consult-icon,body.visual-site .consultation-dock .consult-icon{display:none}
 body .home-direct-call strong{font-size:1.5rem}
 body .home-intro h1{font-size:1.7rem}
 body .home-concern-grid{gap:10px}
 body .home-concern{padding:16px 12px}
 body.visual-site .visual-hero:before,body .paint-hero:before{inset:0 -16px}
}
@media print{body .header{position:static}body .header-contact,body .home-contact-dock,body .consultation-dock{display:none!important}body .footer{background:white;color:#2b2827}body .footer :is(a,p){color:inherit}body .footer-logo{filter:none}}
