/* Shared service theme, scoped to the six tools and their directory. */
body:has(.hct-design){--hct-ac:#af4229;--hct-ink:#302a24;--hct-muted:#6d6257;--hct-line:#ded5ca;--hct-soft:#f7f3ed;--hct-hero:#eee4d5;--hct-card:#fff;--hct-field:#fff}
body:has(.hct-design) :is(.hcc,.hck,.hcp-pop,.hcc-sheet){--ac:#af4229;--ac-t:var(--hct-ac);--ink:var(--hct-ink);--mut:var(--hct-muted);--ln:var(--hct-line);--bg:var(--hct-soft);--card:var(--hct-card);--field:var(--hct-field);--rail:var(--hct-soft);--sel:var(--hct-hero);--auto-bg:var(--hct-soft);--auto-ln:var(--hct-line);--surface:var(--hct-soft)}
body:has(.hct-design) .top_inner_block_wrapper{margin-bottom:16px}
body:has(.hct-design) h1{color:var(--hct-ink);font-size:clamp(26px,2.4vw,36px);line-height:1.2;letter-spacing:-.025em}
body .hcc.hct-design.hcux .hcux-intro{padding:0;border:0;margin:0 0 18px;gap:8px;color:var(--mut)}
body .hct-design .hcux-intro a{color:var(--ac-t)}
body .hct-design :is(.hct-intro,.pv-intro,.hk-header){padding:26px 30px;background:var(--hct-hero);border:1px solid var(--ln);border-radius:18px;margin:0 0 20px}
body .hct-design :is(.hct-eyebrow,.pv-eyebrow){display:block;color:var(--ac-t);font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:9px}
body .hct-design.hcux .hct-intro .hcc-lead{background:none;border:0;padding:0;margin:0;color:var(--ink);font-size:18px;line-height:1.55;font-weight:500;max-width:78ch}
body .hct-design .hct-caption{font-size:12px;line-height:1.6;color:var(--mut);margin:9px 0 0}
body .hct-design.hcux .hcux-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow:visible;padding:0;border:0;margin:0 0 24px}
body .hct-design.hcux .hcux-nav a{border:1px solid var(--ln);border-radius:8px;background:var(--card);min-width:0;padding:12px 14px;line-height:1.35;color:var(--mut);font-size:12px;white-space:normal}
body .hct-design.hcux .hcux-nav b{color:var(--ac-t);font-size:11px}
body .hct-design.hcux .hcux-nav a:hover{color:var(--ink);border-color:var(--ac);background:var(--bg)}
body .hct-design.hcux .hcc-step{border-color:var(--ln);border-radius:16px;box-shadow:none;padding:26px;margin-bottom:20px}
body .hct-design.hcux .hcc-step h2{font-size:22px;line-height:1.3;letter-spacing:-.02em;font-weight:600;gap:12px;color:var(--ink)}
body .hct-design.hcux .hcc-num{background:var(--hct-hero);border:0;color:var(--ac-t);font-weight:700;border-radius:8px;flex:none;width:32px;height:32px}
body .hct-design .hcux-step-help{font-size:13px;line-height:1.6;margin-bottom:20px;color:var(--mut)}
body .hct-design.hcux :is(input:not([type=checkbox]):not([type=range]),select,textarea){border-color:var(--ln);border-radius:8px;background:var(--field);color:var(--ink);box-shadow:none}
body .hct-design.hcux input[type=checkbox]{accent-color:#af4229}
body .hct-design.hcux :is(.hcc-tab,.hcc-tab2){border-radius:8px}
body .hct-design.hcux :is(.hcc-tab.is-on,.hcc-tab2.is-on){background:#af4229;border-color:#af4229;color:#fff}
body .hct-design.hcux .hcc-presets button{border:1px solid var(--ln);background:var(--bg);border-radius:8px;color:var(--ink)}
body .hct-design.hcux .hcc-presets button:hover{border-color:var(--ac);color:var(--ac-t)}
body .hct-design .hcc-filters{padding:16px;background:var(--bg);border:1px solid var(--ln);border-radius:10px;margin-bottom:20px}
body .hct-design.hcux .hcc-note{background:var(--hct-hero);border:0;border-left:3px solid var(--ac);border-radius:0 8px 8px 0;padding:15px 18px;color:var(--ink)}
body .hct-design.hcux .hcc-auto:not(.is-warn){background:var(--bg);border-color:var(--ln);color:var(--ink);line-height:1.7}
body .hct-design.hcux .hcc-res-in{border-color:var(--ln);border-radius:16px;scrollbar-color:#b7aa9a var(--bg);box-shadow:0 6px 24px #302a2406}
body .hct-design.hcux .hcc-res-head{background:var(--hct-hero);border:1px solid var(--ln);padding:20px;border-radius:12px;margin-bottom:18px}
body .hct-design.hcux .hcc-res-head h2{color:var(--ink);font-size:22px;letter-spacing:-.02em}
body .hct-design.hcux .hcc-total b{font-size:30px;letter-spacing:-.035em;color:var(--ink)}
body .hct-design.hcux .hcc-btn{background:#af4229;border-color:#af4229;font-weight:600;color:#fff;border-radius:8px;min-height:48px}
body .hct-design.hcux .hcc-btn.hcux-off{background:var(--ln);border-color:var(--ln);color:var(--mut)}
body .hct-design .hcc-actions{flex-wrap:wrap;gap:8px}
body .hct-design .hcc-actions button{border:1px solid var(--ln);border-radius:7px;min-height:40px;color:var(--ink);background:var(--bg)}
body .hct-design .hcp-btn{border-color:var(--ln);background:var(--field);color:var(--ink);border-radius:8px;min-height:48px}
body .hct-design .hcc-modal{z-index:2100;padding:16px}
body .hct-design .hcc-modal-in{max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ln);border-radius:16px;padding:26px}
body .hct-design #leadForm label.hcc-check{display:block!important;font-size:12px;line-height:1.6;border:0;padding:0}
body .hct-design #leadForm label.hcc-check a{display:inline!important}
body .hct-design #leadForm label.hcc-check input{display:inline-block;vertical-align:middle;margin:0 6px 0 0}
body .hct-design .hcc-modal-in h3{padding-right:36px;line-height:1.35}
body .hct-design .hcc-close{width:44px;height:44px;top:8px;right:8px;z-index:1}
body:has(.hct-design) .hcc-sheet-f{background:var(--hct-hero)}
body:has(.hct-design) .hcc-sheet-send,body .hct-design .hcc-sticky button{background:#af4229;border-color:#af4229;color:#fff}
body:has(.hct-design) .hcux-share{background:var(--hct-card);color:var(--hct-ink);border-color:var(--hct-line)}
body:has(.hct-design) .hcux-share button{background:#af4229;color:#fff}
html.hct-lead-open{overflow:hidden}
html.hct-lead-open body:has(.hct-design) .wraps{z-index:2100!important}
/* Diagram controls use the same accent; material illustrations retain their colours. */
body .hct-design.hc-sftk .sftk-stack{background:var(--card);color:var(--ink);border-color:var(--ln);border-radius:16px;margin:20px 0;padding:26px}
body .hct-design.hc-sftk :is(.sftk-stack-eyebrow,.sftk-stack-kicker){color:var(--ac-t)}
body .hct-design.hc-sftk .sftk-stack-choices button{border-color:var(--ln);color:var(--ink);background:var(--card);border-radius:8px}
body .hct-design.hc-sftk .sftk-stack-choices button[aria-pressed=true]{border-color:var(--ac);background:var(--bg)}
body .hct-design.hc-sftk .sftk-stack-choices button[aria-pressed=true]>span:not(.sftk-choice-text){background:var(--ac);color:#fff}
body .hct-design.hcc-stairs .hcs-eyebrow{color:var(--ac-t)}
body .hct-design.hcc-stairs .hcs-pin[aria-pressed=true]{box-shadow:0 0 0 4px #af422930}
body #hcPaving.hct-design{--pv-accent:#af4229;--pv-border:var(--hct-line);--pv-card:var(--hct-card);--pv-text:var(--hct-ink)}
body #hcPaving.hct-design .pv-intro h2{font-size:25px;letter-spacing:-.02em}
body #hcPaving.hct-design .pv-intro p{font-size:15px;line-height:1.6;color:var(--mut);margin-bottom:0}
body #hcPaving.hct-design .pv-stack{border-radius:16px;margin:20px 0}
body #hcPaving.hct-design #pv-layer-list button[aria-pressed=true]{background:var(--bg)}
body #hcPaving.hct-design .hcux-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
body #hcPaving.hct-design .hcc-res::-webkit-scrollbar-thumb{background:#b7aa9a;border-color:var(--card)}
/* Preserve the guided forms and all of their stage visibility. */
body #hcKit.hct-design .hk-header h2{font-size:26px;margin:0 0 10px;letter-spacing:-.02em;color:var(--ink)}
body #hcKit.hct-design .hk-header p{font-size:15px;margin:0;color:var(--mut)}
body #hcKit.hct-design .hk-nav{border:0;background:transparent;padding:0;gap:8px}
body #hcKit.hct-design .hk-nav button{border:1px solid var(--ln);border-radius:8px;font-size:14px;min-height:52px;background:var(--card)}
body #hcKit.hct-design .hk-nav b{border:0;border-radius:7px;background:var(--bg);color:var(--ac-t);font-size:12px;font-weight:600}
body #hcKit.hct-design .hk-nav [aria-current=step]{border-color:var(--ac);color:var(--ink);background:var(--hct-hero)}
body #hcKit.hct-design .hk-overview{background:var(--hct-hero);border-radius:16px}
body #hcKit.hct-design .hk-secondary{border-radius:8px}
body #hcKit.hct-design .hcc-step{margin-bottom:0}
body #hcStudio.hct-design.hc-guided{--ux-accent:#af4229;--ux-text:var(--hct-ink);--ux-muted:var(--hct-muted);--ux-line:var(--hct-line);--ux-card:var(--hct-card);--ux-soft:var(--hct-soft);--hg-red:#af4229}
body #hcStudio.hct-design.hc-guided .ux-header{background:var(--hct-hero);padding:24px 26px 12px;border:1px solid var(--ln);border-bottom:0;border-radius:18px 18px 0 0;margin:0}
body #hcStudio.hct-design.hc-guided .ux-header h2{font-size:26px;letter-spacing:-.02em}
body #hcStudio.hct-design.hc-guided .hg-intro{background:var(--hct-hero);padding:0 26px 24px;border:1px solid var(--ln);border-top:0;border-radius:0 0 18px 18px;margin:0 0 20px;max-width:none;font-size:15px}
body #hcStudio.hct-design.hc-guided .ux-nav{padding:0;gap:8px;background:none;border:0}
body #hcStudio.hct-design.hc-guided .ux-step{border:1px solid var(--ln);background:var(--card);color:var(--ink);border-radius:8px;min-height:52px}
body #hcStudio.hct-design.hc-guided .ux-step span{font-size:14px}
body #hcStudio.hct-design.hc-guided .ux-step b{border:0;border-radius:7px;background:var(--bg);color:var(--ac-t);font-size:12px;font-weight:600}
body #hcStudio.hct-design.hc-guided .ux-step[aria-current=step]{border-color:var(--ac);background:var(--hct-hero);color:var(--ink)}
body #hcStudio.hct-design.hc-guided :is(.ux-house-controls,.ux-facade-board,.ux-openings-side,.hg-plan,.hg-area-summary,.ux-details,.ux-footer,.hch-stage){border-radius:12px}
body #hcStudio.hct-design.hc-guided :is(.hg-button,.hg-primary,.hg-undo,.hg-clear,.ux-save,.ux-project,.ux-number,.ux-floor,.ux-roof){border-radius:8px}
body #hcStudio.hct-design.hc-guided .ux-caption h3{font-size:24px;letter-spacing:-.02em}
/* Hub: original scene and all six cards. */
body #hc-tools.hct-design{--hs-ink:var(--hct-ink);--hs-muted:var(--hct-muted);--hs-line:var(--hct-line);--hs-paper:var(--hct-soft);--hs-red:#af4229}
body #content:has(#hc-tools.hct-design){background:var(--hct-soft)}
body #hc-tools.hct-design .hs-intro{padding:28px 30px;margin:28px 0 24px;border:1px solid var(--hs-line);border-radius:18px;background:var(--hct-hero)}
body #hc-tools.hct-design h1{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.035em;line-height:1.2}
body #hc-tools.hct-design :is(.hs-feature,.hs-card,.hs-contact,.ht-faq details){border-radius:16px;background:var(--hct-card);border-color:var(--hs-line)}
body #hc-tools.hct-design .hs-button{border-radius:8px}
body #hc-tools.hct-design .hs-primary{background:#af4229;border-color:#af4229;color:#fff}
body #hc-tools.hct-design .hs-eyebrow{color:var(--hs-red)}
body #hc-tools.hct-design .hs-filters button{border-radius:8px}
body #hc-tools.hct-design .hs-filters .is-active{background:#af4229;border-color:#af4229;color:#fff}
body #hc-tools.hct-design .ht-icon{background:var(--hct-hero);color:var(--hs-red);border-radius:10px}
body #hc-tools.hct-design .hs-contact{background:var(--hct-hero)}
/* Visualizer UI only: no changes to WebGL materials, photos or render settings. */
body .hck.hct-design .hck-workspace{background:var(--hct-soft);border-color:var(--ln);border-radius:16px}
body .hck.hct-design :is(.hck-ux-header,.hck-ux-top,.hck-ph){background:var(--hct-hero);border-color:var(--ln)}
body .hck.hct-design :is(.hck-ux-project .hck-assistant-open,.hck-project-tools .hck-assistant-quick){background:#af4229;border-color:#af4229;color:#fff;box-shadow:none}
body .hck.hct-design :is(button,input,select):focus-visible{outline:2px solid var(--ac-t);outline-offset:3px}
@media(max-width:900px){body .hct-design .hcc-sticky{padding-bottom:max(12px,env(safe-area-inset-bottom));border-color:var(--ln);box-shadow:0 -4px 24px #302a2410}body .hct-design .hcc-sticky button{font-size:12px;min-height:44px}body .hct-design .hcc-sticky b{font-size:20px}}
@media(max-width:640px){
 body .hcc.hct-design.hcux .hcux-intro{margin-bottom:14px;font-size:11px}body .hct-design .hcux-intro>span{font-size:10px}
 body .hct-design :is(.hct-intro,.pv-intro,.hk-header){padding:20px;margin-bottom:14px;border-radius:12px}
 body .hct-design.hcux .hct-intro .hcc-lead{font-size:15px;line-height:1.6}body .hct-design .hct-eyebrow{font-size:10px}body .hct-design .hct-caption{font-size:11px}
 body .hct-design.hcux .hcux-nav,body #hcPaving.hct-design .hcux-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:18px}
 body .hct-design.hcux .hcux-nav a{font-size:11px;gap:8px;padding:9px 10px;min-height:44px}
 body .hct-design.hcux .hcc-step{padding:20px 16px;border-radius:12px;margin-bottom:14px}body .hct-design.hcux .hcc-step h2{font-size:19px;gap:9px}
 body .hct-design.hcux .hcc-num{width:28px;height:28px;font-size:11px}body .hct-design .hcux-step-help{font-size:12px}
 body .hct-design .hcc-filters{padding:12px;gap:12px}body .hct-design.hc-sftk .sftk-stack{padding:18px 16px;border-radius:12px;margin:16px 0}
 body .hct-design.hcux .hcc-res-head{padding:18px 16px}body .hct-design.hcux .hcc-res-in{padding:16px}
 body .hct-design .hcc-modal{padding:12px}body .hct-design .hcc-modal-in{padding:22px 18px}
 body #hcKit.hct-design .hk-header h2,body #hcPaving.hct-design .pv-intro h2{font-size:22px}body #hcKit.hct-design .hk-header p{font-size:14px}
 body #hcStudio.hct-design.hc-guided .ux-header{padding:20px 18px 12px;border-radius:12px 12px 0 0}body #hcStudio.hct-design.hc-guided .ux-header h2{font-size:22px}
 body #hcStudio.hct-design.hc-guided .hg-intro{padding:0 18px 20px;border-radius:0 0 12px 12px;font-size:14px}
 body #hcStudio.hct-design.hc-guided .ux-caption h3{font-size:22px}
 body #hc-tools.hct-design .hs-intro{padding:22px 20px;margin:20px 0;border-radius:12px;gap:16px}body #hc-tools.hct-design h1{font-size:30px}body #hc-tools.hct-design .hs-eyebrow{font-size:9px;margin-bottom:12px}
}
@media(max-width:359px){body .hct-design .hcux-intro>span{display:none}body .hct-design .hcc-sticky button{max-width:132px;padding:8px 10px}body .hct-design .hcc-sticky b{font-size:18px}body #hcKit.hct-design .hcc-line{grid-template-columns:1fr 1fr;gap:8px}body #hcKit.hct-design .hcc-del{justify-self:end;width:44px}}
@media(prefers-color-scheme:dark){body:not(.theme-light):has(.hct-design){--hct-ac:#ec9a7e;--hct-ink:#f2e9dd;--hct-muted:#c1b5a6;--hct-line:#55493e;--hct-soft:#302a24;--hct-hero:#3b3025;--hct-card:#24211e;--hct-field:#1b1917}}
body.theme-dark:has(.hct-design){--hct-ac:#ec9a7e;--hct-ink:#f2e9dd;--hct-muted:#c1b5a6;--hct-line:#55493e;--hct-soft:#302a24;--hct-hero:#3b3025;--hct-card:#24211e;--hct-field:#1b1917}
@media print{body:has(.hct-design){--hct-ink:#000;--hct-muted:#333;--hct-hero:#fff;--hct-card:#fff;--hct-soft:#fff}body .hct-design :is(.hct-intro,.pv-intro,.hk-header){display:none}body .hct-design.hcux .hcc-res-in{max-height:none;overflow:visible;border:0;box-shadow:none}body .hct-design.hcux .hcc-res-head{padding:0;border:0;background:none}}

body .hct-design.hc-sftk :is(.sftk-stack-kind,.sftk-stack-material){background:var(--bg);color:var(--mut);border-color:var(--ln)}
body .hct-design.hc-sftk .sftk-stack-choices button[aria-pressed=true]>.sftk-choice-text{color:var(--ink)}
body .hct-design.hc-sftk .sftk-stack-choices button>span{border-color:var(--ln)}
body .hct-design.hc-sftk .sftk-hotspot{border-color:var(--ac)}
body .hct-design.hc-sftk .sftk-hotspot[aria-pressed=true]{background:var(--ac)}
body .hct-design.hc-sftk .sftk-stack-jump{background:transparent;color:var(--ac-t);border-color:var(--ac)}
body .hct-design.hc-sftk :is(.sftk-stack-foot,.sftk-stack-caption,.sftk-stack-head p){color:var(--mut);border-color:var(--ln)}
body .hck.hct-design .hck-workspace .hck-ux-project{background:var(--hct-hero)}
body .hct-design.hcux .hcux-nav a:first-child{padding-left:14px}
@media(max-width:640px){body .hct-design.hcux .hcux-nav a:first-child{padding-left:10px}body #hcPaving.hct-design .hcux-nav a{font-size:11px;min-height:44px;padding:9px 10px}body .hct-design.hcc-stairs .hcc-tabs-top{display:grid;grid-template-columns:1fr 1fr;gap:6px}body .hct-design.hcc-stairs .hcc-tabs-top .hcc-tab{min-width:0;white-space:normal;padding:10px 8px;font-size:12px}}

body .hck.hct-design .hck-workspace :is(.hck-project-tools,.hck-ux-tabs,.hck-ux-viewbar){background:var(--bg)}
body .hck.hct-design .hck-discover-search{color:var(--ac-t);border-color:var(--ac)}

body :is(#hcPaving,#hcKit,.hcc).hct-design :is(input,select,textarea,button,a,summary):focus-visible{outline:2px solid var(--ac-t);outline-offset:3px}
