/* Owner-approved City Works architectural identity. Layout hooks and state colours remain intact. */
/* Owner update: purchases stay red; navigation and non-payment actions use blue. */
@layer cw-owner-button-colours {
  .cw-architectural :is(button,input[type=submit],input[type=button],[role=button],.button:not(.button-text),.button-secondary,.primary-cta,.secondary-cta,.header-cta,.phase-button,.service-access-cta,.summary-link),
  .cw-architectural .mobile-plan-bar a,.cw-architectural .customer-service-other a {
    background:#c52d18!important; color:#fff!important; border-color:#c52d18!important; box-shadow:none!important;
  }
  .cw-architectural :is(button,.button:not(.button-text),.primary-cta,.secondary-cta):hover:not(:disabled) { background:#a72413!important; border-color:#a72413!important; }
  .cw-architectural :is(button,input[type=submit],input[type=button]):disabled { opacity:.55!important; cursor:not-allowed!important; }
  .cw-architectural.cw-architectural :is(.language-toggle,.site-chat-toggle,.site-chat-close,[data-contractor-start]),
  .cw-architectural details.mobile-nav-menu>summary,
  .cw-architectural .site-footer .social-icon:not([hidden]),
  .cw-architectural #contractor-form button[type=submit] {
    background:#2165d6!important;color:#fff!important;border-color:#2165d6!important;
  }
  .cw-architectural.cw-architectural :is(.language-toggle,.site-chat-toggle,.site-chat-close,[data-contractor-start]):hover:not(:disabled),
  .cw-architectural details.mobile-nav-menu>summary:hover,
  .cw-architectural .site-footer .social-icon:not([hidden]):hover,
  .cw-architectural #contractor-form button[type=submit]:hover:not(:disabled) {
    background:#174fae!important;border-color:#174fae!important;
  }
}
html:root {
  color-scheme: light;
  --cw-paper:#f7f5ef; --cw-ink:#202725; --cw-muted:#5d6260; --cw-rule:#d8d6ce; --cw-action:#b73519;
  --cw-serif:Georgia,"Times New Roman",serif; --cw-sans:Arial,"Segoe UI",sans-serif;
  --navy:var(--cw-ink); --soft:#eeece5;
  --bg:var(--cw-paper); --paper:var(--cw-paper); --panel:#fffefa; --panel-strong:#eeece5;
  --ink:var(--cw-ink); --muted:var(--cw-muted); --line:var(--cw-rule); --border:var(--cw-rule);
  --accent-red:var(--cw-action); --accent-blue:#31556a; --white-soft:var(--cw-ink); --shadow:none;
  --status-success:#246142; --status-warning:#855512; --status-danger:#a52b27;
  --success:var(--status-success); --green:var(--status-success); --danger:var(--status-danger);
  --warning:var(--status-warning); --gold:var(--status-warning); --blue:var(--accent-blue);
  --comms-paper:var(--cw-paper); --comms-panel:#fffefa; --comms-ink:var(--cw-ink);
  --comms-muted:var(--cw-muted); --comms-line:var(--cw-rule); --comms-shadow:none;
}
body.cw-architectural { background:var(--cw-paper)!important; color:var(--cw-ink)!important; font-family:var(--cw-sans); }
.cw-architectural h1,.cw-architectural h2,.cw-architectural h3 { font-family:var(--cw-serif); font-weight:400; letter-spacing:-.035em; color:var(--cw-ink); }
.cw-architectural h1 { line-height:1.02; }
.cw-architectural p,.cw-architectural li { line-height:1.65; }
.cw-architectural a { color:var(--cw-action); }
.cw-architectural :focus-visible { outline:3px solid #31556a!important; outline-offset:4px; }
.cw-architectural input,.cw-architectural select,.cw-architectural textarea { color:var(--cw-ink)!important; background:#fffefa!important; border:1px solid #9b9c94; border-radius:2px; font-family:var(--cw-sans); }
.cw-architectural input::placeholder,.cw-architectural textarea::placeholder { color:#666d69; opacity:1; }
.cw-architectural input[type=checkbox],.cw-architectural input[type=radio] { accent-color:var(--cw-action); }
.cw-architectural button { font-family:var(--cw-sans); border-radius:2px; }
.cw-architectural .button:not(.secondary):not(.danger),.cw-architectural .request-submit { background:var(--cw-action)!important; color:#fff!important; border-radius:2px; box-shadow:none; }
.cw-architectural .brand img { display:none; }
.cw-architectural .brand strong { color:var(--cw-ink); font:400 30px/1.2 var(--cw-serif); letter-spacing:-.05em; text-transform:none; }
.cw-architectural .brand .city,.cw-architectural .brand .works { color:var(--cw-ink); font:400 30px/1.2 var(--cw-serif); }
.cw-architectural .brand { border-color:var(--cw-rule); }
.cw-architectural button:disabled { opacity:.6; cursor:not-allowed; }
.cw-architectural .site-header { background:var(--cw-paper)!important; border-bottom:1px solid var(--cw-rule)!important; box-shadow:none!important; backdrop-filter:none; }
.cw-architectural .architectural-wordmark { color:var(--cw-ink)!important; display:inline-block; font:400 clamp(28px,3vw,42px)/1 var(--cw-serif); letter-spacing:-.065em; white-space:nowrap; }
.cw-architectural .brand-lockup { min-width:0; text-decoration:none; }
.cw-architectural .brand-tagline { display:none; }
.cw-architectural .site-nav a { color:var(--cw-ink)!important; font-weight:400; }
.cw-architectural .site-nav a:hover { color:var(--cw-action)!important; }
.cw-architectural .header-cta,.cw-architectural .primary-cta,.cw-architectural .phase-button,.cw-architectural .service-access-cta,.cw-architectural button.primary { background:var(--cw-action)!important; color:#fff!important; border:1px solid var(--cw-action)!important; border-radius:2px!important; box-shadow:none!important; }
.cw-architectural .secondary-cta { color:var(--cw-ink)!important; background:transparent!important; border:1px solid #92958f!important; border-radius:2px!important; box-shadow:none!important; }
.cw-architectural .mobile-nav-menu summary { background:transparent!important; border-color:var(--cw-rule); color:var(--cw-ink); }
.cw-architectural .mobile-nav-menu nav { background:var(--cw-paper)!important; border-color:var(--cw-rule)!important; box-shadow:none; }
.cw-architectural .mobile-nav-menu nav a { color:var(--cw-ink)!important; }
.cw-architectural .site-footer { color:var(--cw-muted)!important; background:var(--cw-paper)!important; border-top:1px solid var(--cw-rule)!important; box-shadow:none; }
.cw-architectural .site-footer strong { font:400 28px/1.2 var(--cw-serif); color:var(--cw-ink)!important; }
.cw-architectural .site-footer .red,.cw-architectural .site-footer .blue { color:var(--cw-ink)!important; }
.cw-architectural dialog { color:var(--cw-ink); background:var(--cw-paper); border:1px solid var(--cw-rule); border-radius:4px; }
.cw-architectural dialog::backdrop { background:rgba(25,31,28,.58); }
.cw-architectural .request-dialog,.cw-architectural .request-card,.cw-architectural .access-choice,.cw-architectural .access-choice-card,.cw-architectural .access-step { background:var(--cw-paper)!important; color:var(--cw-ink)!important; border-color:var(--cw-rule)!important; border-radius:3px!important; box-shadow:none!important; }
.cw-architectural .access-choice:has(input:checked),.cw-architectural .access-choice-card:has(input:checked) { border-color:var(--cw-action)!important; background:#f5ece6!important; }
/* Service pages use the same architectural canvas without sacrificing lane-specific text. */
.cw-architectural .service-landing { max-width:1320px; margin:auto; }
.cw-architectural .service-hero { background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; padding:64px 32px 32px; gap:24px; }
.cw-architectural .service-hero h1 { font:400 clamp(44px,5.5vw,80px)/1.04 var(--cw-serif)!important; color:var(--cw-ink)!important; letter-spacing:-.05em; text-transform:none; }
.cw-architectural .service-hero-outcome,.cw-architectural .service-hero-action { color:var(--cw-ink)!important; }
.cw-architectural .service-hero-slogan { font:400 19px/1.6 var(--cw-sans)!important; color:var(--cw-muted)!important; }
.cw-architectural .service-story-image { border:0!important; background:var(--cw-paper)!important; border-radius:0!important; box-shadow:none!important; }
.cw-architectural .service-story-image img { object-fit:contain; border-radius:0!important; mix-blend-mode:multiply; }
.cw-architectural .service-hero-conversion,.cw-architectural .service-hero-truth { background:transparent!important; border-color:var(--cw-rule)!important; box-shadow:none!important; border-radius:0!important; }
.cw-architectural .service-hero-truth span,.cw-architectural .service-hero-truth strong { color:var(--cw-ink)!important; }
.cw-architectural .service-access { background:transparent!important; padding:40px 32px; }
.cw-architectural .service-access-grid { gap:0!important; border-top:1px solid var(--cw-rule); border-bottom:1px solid var(--cw-rule); }
.cw-architectural .service-access-grid article,.cw-architectural .service-access-grid article.featured { background:transparent!important; border:0!important; border-right:1px solid var(--cw-rule)!important; border-radius:0!important; box-shadow:none!important; color:var(--cw-ink)!important; padding:32px; }
.cw-architectural .service-access-grid article:last-child { border-right:0!important; }
.cw-architectural .service-access-grid h3 { color:var(--cw-ink)!important; font:400 32px/1.2 var(--cw-serif)!important; }
.cw-architectural .service-access-price strong { color:var(--cw-ink)!important; font:400 52px/1 var(--cw-serif)!important; }
.cw-architectural .service-access-price small,.cw-architectural .service-access-summary,.cw-architectural .service-access-proof,.cw-architectural .service-access-grid li { color:var(--cw-muted)!important; }
.cw-architectural .service-access-kicker { background:transparent!important; color:var(--cw-action)!important; border:0; font-weight:400; letter-spacing:.08em; }
/* Policy and trust: open editorial sections, retain all exact legal content. */
.cw-architectural .policy-page,.cw-architectural .trust-story { max-width:1180px; margin:auto; }
.cw-architectural .policy-hero,.cw-architectural .trust-story-hero { background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; padding-top:64px; padding-bottom:48px; }
.cw-architectural .policy-hero h1,.cw-architectural .trust-story-hero h1 { color:var(--cw-ink)!important; font:400 clamp(42px,6vw,80px)/1.05 var(--cw-serif)!important; }
.cw-architectural .policy-section,.cw-architectural .trust-story-section { background:transparent!important; border-top:1px solid var(--cw-rule)!important; border-radius:0!important; box-shadow:none!important; }
.cw-architectural .policy-grid article,.cw-architectural .trust-story-card,.cw-architectural .trust-story-grid article { background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
.cw-architectural .policy-grid h3,.cw-architectural .trust-story h2 { color:var(--cw-ink)!important; }
.cw-architectural .trust-story-hero img { mix-blend-mode:multiply; border-radius:0; }
/* Transaction and owner tools inherit materials and typography, not marketing proportions. */
.cw-architectural .card,.cw-architectural .panel,.cw-architectural .surface,.cw-architectural .login-card,.cw-architectural .setup-card { color:var(--cw-ink)!important; background:#fffefa!important; border-color:var(--cw-rule)!important; border-radius:3px!important; box-shadow:none!important; }
.cw-architectural .admin-login-card { background:var(--cw-paper)!important; color:var(--cw-ink)!important; border:1px solid var(--cw-rule)!important; border-radius:3px!important; box-shadow:none!important; }
.cw-architectural .admin-login-brand,.cw-architectural .admin-login-copy { color:var(--cw-muted)!important; }
.cw-architectural .plan,.cw-architectural .request,.cw-architectural .preview,.cw-architectural .transfer,.cw-architectural .bank-guide { border-radius:3px!important; background:#eeece5!important; border-color:var(--cw-rule)!important; }
.cw-architectural .plan:has(input:checked) { border-color:var(--cw-action)!important; background:#f5ece6!important; box-shadow:none!important; }
.cw-architectural .rating input:checked+span,.cw-architectural .choice input:checked+span { background:var(--cw-action)!important; border-color:var(--cw-action)!important; color:#fff!important; }
.cw-architectural .rating input:focus-visible+span,.cw-architectural .choice input:focus-visible+span { outline:3px solid #31556a; outline-offset:3px; }
.cw-architectural .sidebar,.cw-architectural .topbar,.cw-architectural .owner-view-toolbar { background:var(--cw-paper)!important; color:var(--cw-ink)!important; border-color:var(--cw-rule)!important; box-shadow:none!important; }
.cw-architectural .sidebar .brand { border-color:var(--cw-rule); }
.cw-architectural .sidebar .brand strong { font:400 28px/1.2 var(--cw-serif); color:var(--cw-ink); }
.cw-architectural .sidebar .brand-logo { display:none; }
.cw-architectural .nav-link,.cw-architectural .workspace-switcher { color:var(--cw-ink)!important; background:transparent!important; }
.cw-architectural .nav-link.active,.cw-architectural .nav-link[aria-current=page] { background:#ebe8df!important; border-color:var(--cw-action)!important; }
.cw-architectural .command-center-app h1,.cw-architectural .command-center-app h2 { letter-spacing:-.025em; }
.cw-architectural table { color:var(--cw-ink); background:#fffefa; }
.cw-architectural th { background:#ece9df!important; color:var(--cw-ink)!important; border-color:var(--cw-rule)!important; }
.cw-architectural td { border-color:var(--cw-rule)!important; }
.cw-architectural .data-table tbody tr:hover { background:#f0eee6; }
.cw-architectural .status { border-radius:3px; }
.cw-architectural .status.error,.cw-architectural .error { color:#8c2521; }
.cw-architectural .owner-alert,.cw-architectural .owner-step,.cw-architectural .owner-status-strip article,.cw-architectural .owner-split-grid article { background:#fffefa!important; color:var(--cw-ink)!important; border:1px solid var(--cw-rule)!important; box-shadow:none!important; border-radius:3px!important; }
.cw-architectural .owner-alert p,.cw-architectural .owner-alert h2 { color:var(--cw-ink)!important; }
.cw-architectural .site-header a.header-cta { color:#fff!important; }
.cw-architectural a.summary-link { background:var(--cw-action)!important; color:#fff!important; border:1px solid var(--cw-action); border-radius:2px; box-shadow:none; }
.cw-architectural .quote-header { background:var(--cw-paper); border-top:0; border-bottom:1px solid var(--cw-rule); }
.cw-architectural .quote-brand { font:400 30px/1.2 var(--cw-serif); color:var(--cw-ink); letter-spacing:-.05em; }
.cw-architectural .quote-brand img { display:none; }
.cw-architectural .quote-brand b,.cw-architectural .quote-brand strong { color:var(--cw-ink); font-weight:400; }
.cw-architectural .quote-shell button:not(.button-secondary) { background:var(--cw-action); color:#fff; border-radius:2px; }
.cw-architectural .quote-shell .button-secondary { background:transparent; color:var(--cw-ink); border:1px solid #92958f; }
.cw-architectural .provider-quote-form,.cw-architectural .quote-confirm { background:#fffefa; border:1px solid var(--cw-rule); }
.cw-architectural .architectural-wordmark+.brand-copy>strong { display:none; }
.cw-architectural .admin-login-shell,.cw-architectural .admin-login-card,.cw-architectural .footer-contact { min-width:0; max-width:100%; }
.cw-architectural .site-footer { flex-wrap:wrap; }
.cw-architectural .footer-contact { overflow-wrap:anywhere; }
.cw-architectural main.owner-setup-main { width:100%; min-width:0; grid-template-columns:minmax(0,1fr)!important; }
.cw-architectural main.owner-setup-main>*,.cw-architectural .owner-checklist { min-width:0; }
.cw-architectural .owner-checklist { grid-template-columns:minmax(0,1fr); }
.cw-architectural .owner-step { min-width:0; grid-template-columns:auto minmax(0,1fr); overflow-wrap:anywhere; }
.cw-architectural .owner-step>* { min-width:0; }
.cw-architectural .owner-setup-main * { min-width:0; overflow-wrap:anywhere; }
.cw-architectural .owner-section:not(.owner-split-grid),.cw-architectural .owner-section-heading,.cw-architectural .owner-gate-list,.cw-architectural .owner-source-list { grid-template-columns:minmax(0,1fr); }
.cw-architectural main#top.policy-main,.cw-architectural main#top.trust-story,.cw-architectural .trust-story-photo { background:var(--cw-paper)!important; color:var(--cw-ink)!important; }
.architectural-transaction button:not(.secondary) { background:var(--cw-action); color:#fff; border-radius:2px; }
.architectural-transaction button.secondary { background:transparent; color:var(--cw-ink); border:1px solid #92958f; border-radius:2px; }
.architectural-transaction .note,.architectural-transaction .quiet,.architectural-transaction .plan p,.architectural-transaction .request dt { color:var(--cw-muted); }
.architectural-transaction .rating span,.architectural-transaction .choice span { border-color:var(--cw-rule); border-radius:2px; }
.architectural-transaction .consent { border-color:var(--cw-action); }
.architectural-transaction .recommended { background:var(--cw-action); border-radius:2px; }
@media(max-width:700px) {
  .cw-architectural main.owner-setup-main { padding:24px 20px; }
  .cw-architectural .owner-hero,.cw-architectural .owner-status-strip,.cw-architectural .owner-split-grid { grid-template-columns:minmax(0,1fr)!important; min-width:0; }
  .cw-architectural .owner-hero>* { min-width:0; }
  .cw-architectural .admin-login-shell { width:100%; }
  .cw-architectural .site-header { padding-left:20px!important; padding-right:20px!important; }
  .cw-architectural .service-hero { padding:32px 20px 24px; }
  .cw-architectural .service-access { padding:24px 20px; }
  .cw-architectural .service-access-grid article { border-right:0!important; border-bottom:1px solid var(--cw-rule)!important; padding:28px 12px; }
  .cw-architectural .service-access-grid article:last-child { border-bottom:0!important; }
  .cw-architectural .policy-hero,.cw-architectural .trust-story-hero { padding-top:36px; }
  .cw-architectural input,.cw-architectural select,.cw-architectural textarea { font-size:16px; }
}
/* Shared footer: stable icons even when optional channel settings are offline. */
.cw-architectural .site-footer {display:block!important;padding:32px max(24px,4%)!important;border-top:1px solid var(--cw-rule)!important;border-image:none!important;background:var(--cw-paper)!important;}
.cw-architectural .site-footer::before,.cw-architectural .site-footer::after {display:none!important;}
.cw-architectural .site-footer>img {display:none!important;}
.cw-architectural .site-footer .footer-contact {display:flex!important;flex-wrap:wrap;align-items:center;gap:16px 28px!important;max-width:1328px;margin:auto;}
.cw-architectural .footer-contact>strong {flex-basis:100%;font:28px Georgia,serif!important;}
.cw-architectural .footer-contact>span:not(.social-icon-row) {flex-basis:100%;font-size:14px;line-height:1.6;}
.cw-architectural .site-footer :is(.social-links,.social-icon-row) {display:flex!important;flex-basis:100%;gap:12px;align-items:center;margin:4px 0!important;}
.cw-architectural .site-footer .social-icon:not([hidden]) {display:inline-flex!important;width:46px!important;height:46px!important;min-width:46px;align-items:center;justify-content:center;border-radius:4px!important;background:#c52d18!important;color:#fff!important;border:0!important;}
.cw-architectural .site-footer .social-icon-glyph {display:block!important;width:28px!important;height:28px!important;}
.cw-architectural .site-footer .social-icon svg {display:block;width:28px;height:28px;}
.cw-architectural .site-footer .social-icon svg>circle:first-child,.cw-architectural .site-footer .social-icon svg>rect:first-of-type {fill:none!important;}
.cw-architectural .site-footer .footer-legal-links {display:flex!important;flex-wrap:wrap;gap:12px 24px!important;max-width:1328px;margin:18px auto 0!important;}
.cw-architectural .site-footer a {text-decoration:none;}
.cw-architectural .site-footer a:hover {text-decoration:underline;}
.cw-architectural .upgrade-disclosure {margin-top:28px;border-top:1px solid var(--cw-rule);padding:20px 0;}
.cw-architectural .upgrade-disclosure>summary,.cw-architectural details.quote-estimate-notice>summary {cursor:pointer;font-weight:700;color:var(--cw-action);padding:12px 0;}
.cw-architectural .upgrade-disclosure .plan-upgrade {margin-top:12px;}
.cw-architectural details.quote-estimate-notice {display:block;}
.cw-architectural .provider-offer-lead {font-size:18px;line-height:1.5;margin:20px 0 6px;}
.cw-architectural .provider-offer-lead strong {color:#c52d18;}
.cw-architectural .provider-offer-note {font-size:13px;line-height:1.5;color:var(--cw-muted);max-width:470px;}
.cw-architectural .request-plan-summary {font-size:15px!important;line-height:1.5;border-left:3px solid #c52d18;padding:8px 12px;background:#eeece5;}
.cw-architectural details.mobile-nav-menu>summary {background:#c52d18!important;color:#fff!important;border-color:#c52d18!important;}
.request-embed-mode body.cw-architectural .site-footer {display:none!important;}
/* Service lanes share the approved editorial hero and job-first mobile order. */
.cw-architectural[data-service-lane] main#top.service-landing {background:var(--cw-paper)!important;max-width:1400px;margin:auto;}
.cw-architectural[data-service-lane] .service-hero {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy art" "action art";align-items:start;align-content:center;justify-items:stretch;text-align:left;min-height:620px;padding:56px 4.4%;column-gap:32px;row-gap:24px;}
.cw-architectural[data-service-lane] .service-hero-copy {grid-area:copy;justify-items:start;width:100%;padding:0;gap:20px;}
.cw-architectural[data-service-lane] .service-hero-copy .eyebrow {display:none;}
.cw-architectural[data-service-lane] .service-hero h1 {font-size:clamp(44px,4.8vw,68px)!important;}
.cw-architectural[data-service-lane] .service-hero-slogan {max-width:490px;}
.cw-architectural[data-service-lane] .service-story-image {grid-area:art;width:100%;height:100%;min-height:460px;margin:0;align-self:stretch;}
.cw-architectural[data-service-lane] .service-story-image img {height:100%;max-height:620px;width:100%;object-fit:cover;object-position:65% center;}
.cw-architectural[data-service-lane] .service-hero-conversion {grid-area:action;justify-items:start;align-content:start;padding:0;width:100%;gap:20px;}
.cw-architectural[data-service-lane] .service-hero-truth {border:0;border-top:1px solid var(--cw-rule);border-bottom:1px solid var(--cw-rule);}
.cw-architectural[data-service-lane] .service-hero-truth p {padding:14px 12px;min-height:0;place-content:start;}
.cw-architectural[data-service-lane] .service-hero-truth p:first-child {padding-left:0;}
.cw-architectural[data-service-lane] .service-hero-truth strong {font-size:16px;font-weight:500;}
.cw-architectural[data-service-lane] .service-hero-actions {grid-area:action;justify-items:start;text-align:left;}
.cw-architectural[data-service-lane] .service-hero-conversion .service-hero-actions {grid-area:auto;}
.cw-architectural[data-service-lane] .service-access {border-top:1px solid var(--cw-rule);}
@media(max-width:700px) {
 .cw-architectural[data-service-lane] .service-hero {grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "action" "art";padding:32px 24px 0;min-height:0;gap:24px;}
 .cw-architectural[data-service-lane] .service-hero h1 {font-size:clamp(39px,10vw,52px)!important;}
 .cw-architectural[data-service-lane] .service-story-image {min-height:0;height:260px;width:100%;}
 .cw-architectural[data-service-lane] .service-story-image img {height:260px;}
 .cw-architectural[data-service-lane] .service-hero-slogan {font-size:17px!important;line-height:1.5!important;}
 .cw-architectural[data-service-lane] .service-hero-actions {width:100%;}
 .cw-architectural[data-service-lane] .service-hero-truth {grid-template-columns:repeat(2,minmax(0,1fr));}
 .cw-architectural[data-service-lane] .service-hero-truth p+p {border-top:0;border-left:1px solid var(--cw-rule);}
}
@media(prefers-reduced-motion:reduce) { .cw-architectural * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
