/* Shared components are scoped so archived page body layouts keep their content. */
html body header.ks[data-shared-chrome] {position:sticky;top:0;z-index:100;overflow:visible}
html body header[data-shared-chrome] :is(a,button) {}
html body header[data-shared-chrome] .ks-header-inner {width:100%;height:100%;margin:auto}
html body header[data-shared-chrome] nav a {}
html[data-kuci-theme] header[data-shared-chrome] nav a[aria-current=page] {color:var(--kuci-brand);text-decoration:none}
html[data-kuci-theme] header[data-shared-chrome] .ks-nav-group>a[aria-current=page] {border-bottom:2px solid var(--kuci-brand);padding-bottom:8px}
html body header[data-shared-chrome] .ks-submenu a {display:block}
html body header[data-shared-chrome] .ps-children[hidden] {display:none!important}
html body header[data-shared-chrome] .ks-brand {margin:0}
html body footer.ks[data-shared-chrome] {margin:0;}
html body footer[data-shared-chrome] :is(h3,p,small,a) {}
html body footer[data-shared-chrome] .ks-footer-brand>p {margin:0}
html body footer[data-shared-chrome] .ks-footer-contact p {margin:0 0 18px}
html body footer[data-shared-chrome] .k3-form label {display:block;}
html body footer[data-shared-chrome] .k3-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px}
html body footer[data-shared-chrome] .k3-field-wide {grid-column:1/-1}
html body footer[data-shared-chrome] .k3-form :is(input:not([type=checkbox]),textarea,select) {width:100%;padding:10px 12px;margin-top:6px;}
html body footer[data-shared-chrome] .k3-form .k3-consent {display:flex;align-items:flex-start;gap:10px;margin:16px 0;}
html body footer[data-shared-chrome] .k3-consent input {flex:none;margin:4px 0;width:16px;height:16px}
html body footer[data-shared-chrome] .k3-submit {border:0;padding:12px 22px;min-height:48px;cursor:pointer}
html body dialog#ks-search[data-shared-chrome] {margin:auto;padding:40px;border:1px solid var(--kuci-line);width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}
html body dialog#ks-search[data-shared-chrome] h2 {margin-bottom:24px}
html body dialog#ks-search[data-shared-chrome] input {width:100%;padding:12px}
html body dialog#ks-search[data-shared-chrome] label {display:block;}
html body dialog#ks-search[data-shared-chrome] #ks-search-status {margin:16px 0;}
html body dialog#ks-search[data-shared-chrome] ul {list-style:none;padding:0;margin:0}
html body dialog#ks-search[data-shared-chrome] li {padding:16px 0;border-top:1px solid var(--kuci-line)}
html body dialog#ks-search[data-shared-chrome] li a {color:var(--kuci-brand);}
html body dialog#ks-search[data-shared-chrome] li p {}
html body dialog#ks-search[data-shared-chrome]::backdrop {background:#0009}
/* Service reference layouts now share the site's typography, spacing and cards. */
html[data-kuci-theme] .service-reference-page .svc {color:var(--kuci-text)}
html[data-kuci-theme] .service-reference-page .svc-wrap {width:min(1320px,calc(100% - 48px))}
html[data-kuci-theme] .service-reference-page .svc-section {padding:80px 0}
html[data-kuci-theme] .service-reference-page .svc h2 {}
html[data-kuci-theme] .service-reference-page .svc-spaces {gap:28px}
html[data-kuci-theme] .service-reference-page .svc-spaces>article {overflow:hidden;border:1px solid var(--kuci-line);border-radius:var(--kuci-radius-card);background:var(--kuci-surface);box-shadow:var(--kuci-shadow)}
html[data-kuci-theme] .service-reference-page .svc-spaces h3 {margin:0;padding:20px;background:var(--kuci-surface)}
html[data-kuci-theme] .service-reference-page :is(.svc-process-card,.svc-room-grid>article,.svc-advantages>article) {border-radius:var(--kuci-radius-card);overflow:hidden}
html[data-kuci-theme] .service-reference-page .svc-carousel-controls button {border:1px solid var(--kuci-line);color:var(--kuci-brand)}
html[data-kuci-theme] .service-reference-page .svc-pause {border-radius:6px;border-color:var(--kuci-line);color:var(--kuci-text-secondary);opacity:0;transition:opacity .15s}
html[data-kuci-theme] .service-reference-page .svc-carousel:is(:hover,:focus-within) .svc-pause {opacity:1}
html[data-kuci-theme] .service-reference-page .svc-system-title {padding-bottom:0}
html[data-kuci-theme] .service-reference-page .svc-floating {background:var(--kuci-brand);color:#fff!important;border-radius:30px;box-shadow:var(--kuci-shadow)}
html[data-kuci-theme] .service-reference-page .svc-floating:hover {background:var(--kuci-brand-hover)}
@media(max-width:767px) {
  html body footer[data-shared-chrome] .k3-form-grid {grid-template-columns:1fr}
  html body dialog#ks-search[data-shared-chrome] {padding:36px 20px}
  html[data-kuci-theme] .service-reference-page .svc-wrap {width:calc(100% - 32px)}
  html[data-kuci-theme] .service-reference-page .svc-section {padding:48px 0}
  html[data-kuci-theme] .service-reference-page .svc-system-title {padding-bottom:0}
  html[data-kuci-theme] .service-reference-page .svc-spaces {gap:24px}
  html[data-kuci-theme] .service-reference-page .svc-spaces h3 {padding:18px;}
}
@media(hover:none) {html[data-kuci-theme] .service-reference-page .svc-pause {opacity:1}}

/* T02 V3 component contract. Opt in with ku-*; no page body or business state ownership. */
.ku-section{color:var(--color-heading,#262521);}
.ku-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ku-card{min-width:0;padding:28px;background:var(--color-surface,#fff);border:1px solid var(--color-border,#dedad2)}
.ku-path{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ku-step{color:var(--brand-accent,#a21f6b);}
.ku-card h3{margin:0;}.ku-card p{margin:0;color:var(--color-body,#615e58)}
.ku-path .ku-link{margin-top:auto}.ku-button,.ku-link{min-height:44px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;overflow-wrap:anywhere}
.ku-link{color:var(--brand-accent,#a21f6b);}
.ku-button{padding:12px 18px;background:var(--brand-accent,#a21f6b);color:#fff;border:1px solid var(--brand-accent,#a21f6b);cursor:pointer}
.ku-button-secondary{background:transparent;color:var(--brand-accent,#a21f6b)}
.ku-button:hover{background:var(--color-accent-hover,#851956);color:#fff}.ku-button:disabled{cursor:default;opacity:.65}
.ku-section :is(a,button,input,select,textarea,summary):focus-visible,.ku-material-entry:focus-visible{outline:3px solid var(--brand-accent,#a21f6b);outline-offset:4px}
.ku-note{color:var(--color-body,#615e58);margin:22px 0 0}
.ku-room-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.ku-room-layout>div>p:not(.kg-eyebrow){margin:24px 0;max-width:480px}
.ku-room-sample{background:var(--color-surface,#fff);border:1px solid var(--color-border,#dedad2);padding:32px}.ku-room-sample h3{margin:20px 0;}
.ku-tag{display:inline-block;padding:5px 9px;background:var(--color-selected,#f7eaf0);color:var(--brand-accent,#a21f6b);}
.ku-material-roles{list-style:none;padding:0;margin:0}.ku-material-roles li{padding:16px 0;border-bottom:1px solid var(--color-border,#dedad2);}.ku-material-roles span{display:block;color:var(--brand-accent,#a21f6b);margin-bottom:4px}
.ku-media-card figure{margin:0}.ku-media-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.ku-media-card figcaption{margin-top:10px}
.ku-project-card img{aspect-ratio:16/9}.ku-media-placeholder{aspect-ratio:4/3;display:grid;place-items:center;padding:20px;background:var(--color-surface-soft,#efebe4);color:var(--color-body,#615e58);text-align:center}.ku-project-card .ku-media-placeholder{aspect-ratio:16/9}
.ku-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ku-photo-grid img{width:100%;height:auto}
.ku-filter{display:flex;flex-wrap:wrap;gap:8px}.ku-filter button{min-height:44px;padding:10px 16px;background:#fff;border:1px solid var(--color-control-border,#918b81);color:var(--color-heading,#262521)}.ku-filter button[aria-pressed=true]{background:var(--color-selected,#f7eaf0);border-color:var(--brand-accent,#a21f6b)}
.ku-faq details{border-top:1px solid var(--color-border,#dedad2);padding:16px 0}.ku-faq summary{cursor:pointer;min-height:44px;}.ku-faq p{max-width:760px;}
.ku-upload{display:grid;gap:10px;padding:24px;border:1px dashed var(--color-control-border,#918b81);background:#fff}.ku-upload input{max-width:100%;min-height:44px;}.ku-upload small{}
.ku-feedback{padding:16px;border-left:3px solid var(--brand-accent,#a21f6b);background:var(--color-selected,#f7eaf0);color:var(--color-heading,#262521);}.ku-feedback[hidden]{display:none}.ku-feedback[data-state=error]{border-color:#9d2929;background:#fff1ef}
.ku-material-entry{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:20px;z-index:50;max-width:calc(100vw - 40px)}
@media(max-width:1024px){.ku-path-grid{gap:16px}.ku-card{padding:22px}.ku-room-layout{gap:32px}}
@media(max-width:800px){.ku-path-grid,.ku-room-layout{grid-template-columns:1fr}.ku-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ku-room-sample{padding:24px}.ku-path .ku-link{margin-top:0}}
@media(max-width:360px){.ku-card,.ku-room-sample{padding:20px}.ku-photo-grid{grid-template-columns:1fr}.ku-button{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.ku-section *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* T08 consumer integration: retain the enquiry entry without covering list actions. */
body:has(#materials-list) .ks-floating{position:static;margin:24px auto;max-width:calc(100% - 32px);width:max-content}
#materials-list{scroll-margin-top:112px}
#materials-list :is(input,select,textarea){max-width:100%;box-sizing:border-box}
html body .ku-section a.ku-button{color:#fff}
html body .ku-section a.ku-button-secondary{color:var(--brand-accent,#a21f6b)}
