/* Extend the original cream, navy, orange and sage storefront palette. */
.os-service-menu { display:flex; align-items:center; position:relative; gap:4px; }
.os-service-toggle { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#17152a; background:#eeeae1; font-size:16px; cursor:pointer; }
.os-service-toggle:focus-visible, .os-services a:focus-visible, .os-service-links a:focus-visible { outline:2px solid #bf6e25; outline-offset:4px; }
.os-service-links { position:absolute; right:0; top:100%; width:290px; padding:10px; background:#fffdf8; border:1px solid #ded9ce; border-radius:12px; box-shadow:0 14px 30px #17152a15; z-index:40; }
.os-service-links[hidden] { display:none; }
.os-service-links a { display:block; padding:10px 12px; border-radius:8px; color:#17152a; font-size:14px; }
.os-service-links a:hover { background:#eeeae1; }
.os-service-menu-mobile { flex-wrap:wrap; }
.os-service-menu-mobile .os-service-links { position:static; width:100%; box-shadow:none; margin-top:8px; }
.os-service-menu-mobile .os-service-dropdown { display:contents; }
.os-services { color:#17152a; background:#f8f5ee; }
.os-service-container { max-width:1320px; margin:0 auto; padding-left:32px; padding-right:32px; }
.os-service-hero { padding:32px 0 72px; border-bottom:1px solid #ded9ce; background:radial-gradient(ellipse at 100% 0%,#e6ece8 0%,transparent 60%),#f8f5ee; }
.os-service-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:52px; font-size:12px; color:#656272; }
.os-service-breadcrumb a:hover { color:#a35b20; }
.os-service-hero-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; align-items:center; }
.os-service-hero-image { margin:0; overflow:hidden; border-radius:28px; background:#e6ece8; border:1px solid #ded9ce; aspect-ratio:3/2; }
.os-service-image { display:block; width:100%; height:100%; object-fit:cover; }
.os-service-card-image { width:100%; aspect-ratio:3/2; overflow:hidden; border-radius:16px; margin-bottom:24px; background:#e6ece8; }
.os-services .eyebrow { color:#a35b20; }
.os-service-hero h1 { font-size:clamp(40px,5.6vw,76px); line-height:1.05; font-weight:700; max-width:1000px; margin:20px 0; letter-spacing:-.035em; }
.os-service-hero-layout h1 { font-size:clamp(38px,4.2vw,60px); overflow-wrap:break-word; }
.os-service-dot { color:#bf6e25; }
.os-service-intro { max-width:650px; font-size:19px; line-height:1.7; color:#656272; margin:24px 0 30px; }
.os-service-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; border-radius:999px; padding:14px 24px; background:#17152a; color:#fffdf8; font-size:14px; font-weight:700; text-decoration:none; transition:background .2s; }
.os-service-button:hover { background:#31564d; }
.os-service-body { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:80px; padding-top:64px; padding-bottom:64px; align-items:start; }
.os-service-copy { font-size:16px; line-height:1.9; color:#656272; max-width:760px; }
.os-service-copy h2 { font-family:var(--app-font-sans); color:#17152a; font-size:28px; font-weight:700; line-height:1.25; margin:36px 0 16px; letter-spacing:-.025em; }
.os-service-copy h2:first-child { margin-top:0; }
.os-service-copy p { margin:0 0 18px; }
.os-service-copy a { text-decoration:underline; color:#a35b20; }
.os-service-copy ul,.os-service-copy ol { padding-left:24px; list-style:revert; }
.os-service-aside { padding:32px; background:#17152a; color:#f8f5ee; border-radius:28px; }
.os-service-aside .eyebrow { color:#f2a34a; }
.os-service-aside h2 { font-size:32px; line-height:1.12; font-weight:700; margin:18px 0; }
.os-service-aside p { color:#ffffffa6; font-size:14px; line-height:1.8; }
.os-service-aside .os-service-button { background:#f2a34a; color:#17152a; margin-top:26px; gap:8px; width:100%; }
.os-service-text-link { color:#a35b20; font-size:14px; font-weight:700; }
.os-service-aside .os-service-text-link { display:block; color:#f8f5ee; font-size:12px; margin-top:22px; text-align:center; }
.os-service-related { background:#e6ece8; border-top:1px solid #ded9ce; padding:64px 0; }
.os-service-related .eyebrow { color:#31564d; }
.os-service-related h2 { font-size:36px; line-height:1.2; font-weight:700; margin:16px 0 32px; }
.os-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.os-service-card { display:flex; flex-direction:column; align-items:flex-start; padding:32px; background:#fffdf8; border:1px solid #ded9ce; border-radius:24px; transition:box-shadow .2s,border-color .2s; }
.os-service-card:hover { border-color:#bf6e25; box-shadow:0 6px 20px #17152a0a; }
.os-service-number { font-size:12px; color:#a35b20; letter-spacing:.12em; }
.os-service-card h3 { font-size:25px; font-weight:700; line-height:1.25; margin:20px 0 14px; }
.os-service-card p { font-size:14px; color:#656272; line-height:1.8; margin-bottom:24px; }
.os-service-card .os-service-text-link { margin-top:auto; }
.os-service-sources { padding-top:24px; padding-bottom:24px; font-size:12px; color:#656272; }
.os-service-sources a { text-decoration:underline; }
.os-furniture { padding-top:40px; padding-bottom:72px; min-height:60vh; }
.os-furniture > h1 { font-size:clamp(36px,5vw,64px); font-weight:700; margin:20px 0 32px; }
.os-furniture > .eyebrow { color:#a35b20; }
.os-furniture-groups { margin-top:36px; }
.os-furniture-groups h2 { font-size:28px; font-weight:700; margin-bottom:16px; }
.os-furniture-search { display:grid; gap:8px; margin:32px 0 16px; max-width:600px; font-size:14px; font-weight:600; }
.os-furniture-search input { padding:12px 16px; border:1px solid #cfc9bc; border-radius:10px; background:#fffdf8; }
.os-furniture-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 20px; margin:28px 0; }
.os-furniture-empty { margin:36px 0; padding:24px; border:1px solid #ded9ce; border-radius:16px; }
.os-furniture > .os-service-card-image { max-height:520px; margin-top:28px; }
.os-furniture-gallery { margin:24px 0 40px; }
.os-furniture-gallery a { display:block; aspect-ratio:3/2; overflow:hidden; border:1px solid #ded9ce; border-radius:16px; }
.os-furniture-gallery a:focus-visible { outline:3px solid #a35b20; outline-offset:3px; }
.os-furniture-type { margin-top:40px; padding-top:24px; border-top:1px solid #ded9ce; }
.os-furniture-type > h2 { font-size:28px; font-weight:700; }
.os-catalog-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin:36px 0; }
.os-catalog-pagination p { flex-basis:100%; text-align:center; color:#656272; font-size:14px; }
.os-catalog-pagination a { padding:10px 16px; border:1px solid #cfc9bc; border-radius:24px; background:#fffdf8; font-weight:600; color:#17152a; }
.os-catalog-pagination a:hover, .os-catalog-pagination a[aria-current="page"] { background:#17152a; color:#fffdf8; }
.os-catalog-pagination a:focus-visible { outline:3px solid #a35b20; outline-offset:3px; }
@media(max-width:1000px) { .os-furniture-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { .os-furniture-products { grid-template-columns:1fr; } }
.os-services-index section[id] { scroll-margin-top:180px; }
.os-services-index .os-service-hero h1 { max-width:1080px; }
.os-service-accent { color:#bf6e25; }
.os-service-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.os-section-intro { max-width:650px; line-height:1.8; color:#656272; margin:-12px 0 32px; }
.os-service-start,.os-service-faq { padding-top:80px; padding-bottom:80px; }
.os-service-start h2,.os-service-faq h2 { font-size:clamp(30px,3.5vw,44px); font-weight:700; margin-top:16px; line-height:1.1; max-width:720px; }
.os-service-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; margin:40px 0 0; padding:0; }
.os-service-steps li { border-top:1px solid #cfc9bc; padding-top:24px; }
.os-service-steps span { color:#a35b20; font:12px var(--app-font-mono); }
.os-service-steps h3 { font-size:20px; font-weight:700; margin:18px 0 12px; }
.os-service-steps p { color:#656272; line-height:1.8; font-size:15px; }
.os-service-enquiry { background:#17152a; color:#f8f5ee; padding:72px 0; }
.os-enquiry-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
.os-service-enquiry .eyebrow { color:#f2a34a; }
.os-service-enquiry h2 { font-size:clamp(36px,4vw,54px); font-weight:700; margin:20px 0 24px; line-height:1.05; }
.os-enquiry-layout > div > p { color:#ffffffb3; line-height:1.85; margin:18px 0; }
.os-service-enquiry .os-service-text-link { color:#f2a34a; display:inline-block; margin-top:12px; }
.os-project-form { background:#fffdf8; color:#17152a; padding:32px; border-radius:24px; display:grid; gap:20px; }
.os-project-form label { display:block; font-size:14px; font-weight:600; }
.os-project-form label > input:not([type=checkbox]),.os-project-form label > textarea { display:block; margin-top:8px; }
.os-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.os-project-form input:not([type=checkbox]):not([type=hidden]),.os-project-form textarea { box-sizing:border-box; width:100%; min-width:0; border:1px solid #cfc9bc; border-radius:9px; background:#fff; color:#17152a; padding:12px; font:400 15px var(--app-font-sans); }
.os-project-form textarea { resize:vertical; }
.os-project-form input:focus-visible,.os-project-form textarea:focus-visible,.os-project-form button:focus-visible { outline:2px solid #bf6e25; outline-offset:3px; }
.os-project-form legend { font-size:14px; font-weight:600; margin-bottom:12px; }
.os-service-options { display:grid; gap:12px; }
.os-service-options label { display:flex; gap:8px; align-items:center; font-weight:400; line-height:1.5; }
.os-service-options input { accent-color:#a35b20; width:18px; height:18px; flex-shrink:0; }
.os-optional { font-size:12px; font-weight:400; color:#656272; }
.os-form-note { font-size:12px; line-height:1.7; color:#656272; }
.os-project-form .os-service-button { background:#f2a34a; color:#17152a; cursor:pointer; border:0; }
.os-project-form .os-service-button:hover { background:#efb66d; }
.os-project-form .os-service-button:disabled { opacity:.65; cursor:wait; }
.os-enquiry-status { font-size:14px; line-height:1.6; margin:0; }
.os-enquiry-status:empty { display:none; }
.os-enquiry-status[data-state=success] { color:#166534; }
.os-enquiry-status[data-state=error] { color:#9a3412; }
.os-form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.os-service-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; }
.os-service-faq details { border-bottom:1px solid #ded9ce; padding:20px 0; }
.os-service-faq details:first-child { padding-top:0; }
.os-service-faq summary { font-weight:700; font-size:17px; cursor:pointer; line-height:1.5; }
.os-service-faq details p { margin-top:14px; font-size:15px; line-height:1.85; color:#656272; }
.os-service-faq details a { color:#a35b20; text-decoration:underline; }
@media(max-width:900px) { .os-enquiry-layout,.os-service-faq { grid-template-columns:1fr; gap:36px; } .os-service-steps { gap:24px; } }
@media(max-width:600px) { .os-service-start,.os-service-faq,.os-service-enquiry { padding-top:44px; padding-bottom:44px; } .os-service-steps,.os-form-row { grid-template-columns:1fr; } .os-project-form { padding:24px; } }
@media(max-width:900px) { .os-service-hero-layout { grid-template-columns:1fr; gap:32px; } .os-service-body { grid-template-columns:1fr; gap:32px; } .os-service-aside { max-width:600px; } }
@media(max-width:600px) { .os-service-container { padding-left:20px; padding-right:20px; } .os-service-grid { grid-template-columns:1fr; } .os-service-hero { padding-bottom:44px; } .os-service-body,.os-service-related { padding-top:40px; padding-bottom:40px; } .os-service-breadcrumb { margin-bottom:32px; } .os-service-card { padding:24px; } }

/* Furniture collection pages share the storefront palette and typography. */
.os-furniture { color:#17152a; padding-top:28px; padding-bottom:64px; scroll-margin-top:160px; }
.os-furniture .os-service-breadcrumb { margin-bottom:28px; font-size:12px; gap:12px; }
.os-furniture .os-service-breadcrumb [aria-current] { color:#17152a; font-weight:600; }
.os-furniture a:focus-visible,.os-furniture button:focus-visible,.os-furniture input:focus-visible,.os-furniture summary:focus-visible { outline:3px solid #a35b20; outline-offset:4px; }
.os-furniture-hero { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid #ded9ce; border-radius:28px; background:#eeeae1; }
.os-furniture-hero-text { grid-template-columns:1fr; }
.os-furniture-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,56px); }
.os-furniture-hero .eyebrow { color:#a35b20; font-size:11px; letter-spacing:.14em; }
.os-furniture-hero h1 { font-size:clamp(36px,4.5vw,60px); font-weight:700; line-height:1.07; letter-spacing:-.035em; margin:22px 0; overflow-wrap:anywhere; }
.os-furniture-intro { color:#656272; font-size:16px; line-height:1.8; max-width:540px; white-space:pre-line; }
.os-furniture-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:30px; }
.os-furniture-back { color:#656272; font-size:13px; font-weight:600; }
.os-furniture-back:hover { color:#a35b20; }
.os-furniture-hero-note { margin-top:26px; color:#656272; font-size:12px; line-height:1.7; }
.os-furniture-hero-media { position:relative; margin:0; min-height:400px; background:#e6ece8; }
.os-furniture-hero-media > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.os-furniture-brand-hero .os-furniture-hero-media { background:#fffdf8; }
.os-furniture-brand-hero .os-furniture-hero-media > img { object-fit:contain; padding:48px 40px 110px; }
.os-furniture-hero-media figcaption { position:absolute; left:24px; right:24px; bottom:24px; padding:18px 22px; border:1px solid #ffffff80; border-radius:16px; background:#fffdf8ed; backdrop-filter:blur(8px); display:flex; flex-direction:column; gap:7px; }
.os-furniture-hero-media figcaption > span:last-child { font-size:18px; font-weight:600; }
.os-furniture-steps { margin:24px 0 56px; }
.os-furniture-steps ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; list-style:none; border:1px solid #ded9ce; border-radius:16px; overflow:hidden; background:#fffdf8; }
.os-furniture-steps li+li { border-left:1px solid #ded9ce; }
.os-furniture-steps li > a,.os-furniture-steps li > span { display:flex; align-items:center; gap:14px; padding:20px 24px; font-size:14px; font-weight:600; color:#656272; }
.os-furniture-step-number { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:#eeeae1; font:11px var(--app-font-mono,monospace); }
.os-furniture-steps [data-state=current] { background:#17152a; }
.os-furniture-steps [data-state=current] > a { color:#fffdf8; }
.os-furniture-steps [data-state=current] .os-furniture-step-number { background:#f2a34a; color:#17152a; }
.os-furniture-steps [data-state=complete] .os-furniture-step-number { color:#31564d; background:#e6ece8; }
.os-furniture-steps a:hover { text-decoration:underline; text-underline-offset:4px; }
.os-furniture-room-gallery { margin:-16px 0 40px; border-bottom:1px solid #ded9ce; padding-bottom:20px; }
.os-furniture-room-gallery summary { cursor:pointer; color:#31564d; font-weight:600; font-size:14px; }
.os-furniture-collection { scroll-margin-top:160px; }
.os-furniture-toolbar { display:flex; gap:28px; justify-content:space-between; align-items:flex-end; margin-bottom:28px; }
.os-furniture-toolbar .eyebrow { color:#a35b20; font-size:11px; }
.os-furniture-toolbar h2 { font-size:clamp(28px,3vw,38px); font-weight:700; line-height:1.15; margin:12px 0; letter-spacing:-.025em; }
.os-furniture-toolbar p { color:#656272; font-size:13px; }
.os-furniture-toolbar .os-furniture-search { flex:0 1 340px; width:100%; max-width:400px; margin:0; gap:8px; min-width:0; }
.os-furniture-search label,.os-furniture-search { font-size:12px; }
.os-furniture-search input { width:100%; min-width:0; height:46px; font:400 14px var(--app-font-sans,sans-serif); border-radius:10px; }
.os-furniture-search-control { display:flex; gap:8px; }
.os-furniture-search-control button { border-radius:10px; padding:0 16px; background:#17152a; color:#fffdf8; font-size:13px; font-weight:600; }
.os-furniture-search > a { color:#a35b20; text-decoration:underline; width:fit-content; font-size:12px; }
.os-furniture-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.os-furniture-card { display:flex; flex-direction:column; overflow:hidden; background:#fffdf8; border:1px solid #ded9ce; border-radius:20px; transition:transform .2s,border-color .2s,box-shadow .2s; }
.os-furniture-card:hover { transform:translateY(-4px); border-color:#bf6e25; box-shadow:0 14px 32px #17152a0d; }
.os-furniture-card-media { position:relative; aspect-ratio:3/2; background:#eeeae1; overflow:hidden; border-bottom:1px solid #ded9ce; }
.os-furniture-card-media img { display:block; width:100%; height:100%; object-fit:cover; }
.os-furniture-brand-grid .os-furniture-card-media { background:#f3f1ec; }
.os-furniture-brand-grid .os-furniture-card-media img { object-fit:contain; padding:32px; }
.os-furniture-card-index { position:absolute; top:14px; left:14px; padding:6px 10px; border-radius:999px; background:#fffdf8ed; font:11px var(--app-font-mono,monospace); color:#656272; }
.os-furniture-card-placeholder { display:grid; place-items:center; height:100%; font-size:72px; color:#8d8995; }
.os-furniture-card-copy { display:flex; flex:1; flex-direction:column; padding:24px; }
.os-furniture-card-meta { text-transform:uppercase; letter-spacing:.1em; font-size:10px; color:#a35b20; margin-bottom:12px; font-weight:600; }
.os-furniture-card-copy h3 { font-size:25px; line-height:1.2; font-weight:700; letter-spacing:-.025em; margin:0 0 14px; }
.os-furniture-card-description { font-size:13px; color:#656272; line-height:1.8; margin-bottom:24px; }
.os-furniture-card-link { display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid #ded9ce; padding-top:18px; margin-top:auto; font-size:13px; font-weight:700; }
.os-furniture-card-link > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#eeeae1; color:#a35b20; font-size:18px; }
.os-furniture-type { margin-top:28px; padding-top:20px; }
.os-furniture-type > h2 { font-size:21px; }
.os-furniture-products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:22px 0 36px; }
.os-furniture-products > article { display:flex; flex-direction:column; padding:16px; border:1px solid #ded9ce; border-radius:20px; background:#fffdf8; }
.os-furniture-products > article > a { flex:1; }
.os-furniture-products > article > button { margin-top:20px; }
.os-furniture-products > article h3 { font-size:15px; line-height:1.55; }
.os-furniture-products .eyebrow { font-size:9px; overflow-wrap:anywhere; }
.os-furniture-empty,.os-furniture-loading { margin:24px 0; padding:48px 28px; border:1px dashed #cfc9bc; border-radius:20px; background:#fffdf8; text-align:center; }
.os-furniture-empty h3 { font-size:23px; font-weight:600; margin-bottom:12px; }
.os-furniture-empty p { color:#656272; font-size:14px; line-height:1.7; margin-bottom:22px; }
.os-furniture-project { display:flex; justify-content:space-between; align-items:center; gap:36px; margin-top:64px; padding:40px; border-radius:24px; color:#fffdf8; background:#17152a; }
.os-furniture-project .eyebrow { color:#f2a34a; font-size:11px; }
.os-furniture-project h2 { font-size:clamp(26px,3vw,36px); line-height:1.15; font-weight:600; margin:14px 0; }
.os-furniture-project p { color:#ffffffb3; max-width:620px; font-size:14px; line-height:1.8; }
.os-furniture-project .os-service-button { flex-shrink:0; background:#f2a34a; color:#17152a; }
@media(max-width:1050px) { .os-furniture-card-grid,.os-furniture-products { grid-template-columns:repeat(2,minmax(0,1fr)); } .os-furniture-hero-copy { padding:32px; } .os-furniture-project { align-items:flex-start; flex-direction:column; } }
@media(max-width:760px) { .os-furniture-hero { grid-template-columns:1fr; } .os-furniture-hero-media { min-height:280px; aspect-ratio:16/10; } .os-furniture-hero h1 { max-width:600px; } .os-furniture-steps { margin-bottom:36px; } .os-furniture-steps li > a,.os-furniture-steps li > span { padding:16px 12px; gap:8px; font-size:12px; } .os-furniture-toolbar { align-items:stretch; flex-direction:column; } .os-furniture-toolbar .os-furniture-search { flex-basis:auto; max-width:none; } }
@media(max-width:520px) { .os-furniture { padding-top:20px; } .os-furniture-hero-copy { padding:28px 24px; } .os-furniture-hero h1 { font-size:38px; } .os-furniture-hero-media figcaption { left:16px; right:16px; bottom:16px; padding:14px 18px; } .os-furniture-card-grid,.os-furniture-products { grid-template-columns:1fr; gap:20px; } .os-furniture-steps li > a,.os-furniture-steps li > span { flex-direction:column; align-items:flex-start; padding:14px 10px; gap:10px; } .os-furniture-project { padding:28px 24px; margin-top:40px; } .os-furniture-project .os-service-button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .os-furniture-card { transition:none; } .os-furniture-card:hover { transform:none; } }

/* Homepage: editorial room photography and compact catalog discovery. */
.os-home{background:#f7f5ef;color:#17152a}.os-home-wrap{max-width:1320px;margin:0 auto;padding-left:32px;padding-right:32px}.os-home-section{padding-top:76px;scroll-margin-top:150px}.os-home .eyebrow{color:#995522;font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase}.os-home-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center;padding-top:48px;padding-bottom:34px}.os-home h1{font-size:clamp(38px,4.1vw,62px);line-height:1.08;letter-spacing:-.045em;margin:20px 0}.os-home h1 span{display:block;color:#9b572b;margin-top:8px}.os-home-intro{font-size:17px;line-height:1.8;color:#656272;max-width:520px}.os-home-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.os-home-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:#17152a;color:#fff;border:1px solid #17152a;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s}.os-home-button:hover{background:#393348}.os-home-button-secondary{background:transparent;color:#17152a;border-color:#d2cbbc}.os-home-button-secondary:hover{background:#eee8dc}.os-home-hero-image{position:relative;border-radius:18px;overflow:hidden;min-height:550px;background:#e7e2d6}.os-home-hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.os-home-photo-caption{position:absolute;inset:auto 0 0;padding:70px 30px 30px;background:linear-gradient(transparent,rgba(23,21,42,.85));color:#fff}.os-home-photo-caption .eyebrow{color:#f3c494}.os-home-photo-caption p{font-size:24px;line-height:1.3;max-width:290px;margin-top:12px}.os-home-search{max-width:520px;padding-top:20px;border-top:1px solid #ded9ce}.os-home-search label{display:block;font-size:12px;font-weight:600;margin-bottom:10px}.os-home-search>div{display:flex;border:1px solid #d4cdbc;background:white;border-radius:8px;overflow:hidden}.os-home-search input{width:100%;min-width:0;padding:14px;background:transparent;font-size:13px}.os-home-search button{padding:12px 18px;background:#eee8dc;font-weight:600;font-size:13px}.os-home-heading{max-width:690px;margin-bottom:28px}.os-home h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.035em;margin:12px 0}.os-home-heading>p:last-child:not(.eyebrow){color:#656272;line-height:1.7;font-size:15px}.os-home-departments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.os-home-department{border:1px solid #e0dbd0;border-radius:12px;background:#fff;overflow:hidden;text-decoration:none;transition:transform .2s,border-color .2s}.os-home-department:hover{transform:translateY(-3px);border-color:#bcb29c}.os-home-department-image{height:200px;background:#f1eee7;padding:22px}.os-home-department-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.os-home-department-copy{padding:20px}.os-home h3{font-size:18px;font-weight:650;line-height:1.35}.os-home-department-copy span{display:block;font-size:12px;color:#756859;margin-top:8px}.os-home-furniture{display:grid;grid-template-columns:1fr 1fr;background:#e9ece6;border-radius:16px;overflow:hidden}.os-home-furniture-image{min-height:420px}.os-home-furniture-image img{width:100%;height:100%;object-fit:cover}.os-home-furniture-copy{padding:42px}.os-home-brand-links{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.os-home-brand-links a{padding:9px 12px;border:1px solid #cbd1c4;border-radius:5px;font-size:12px;background:#f5f6f1}.os-home-brand-links a:hover{background:white}.os-home-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.os-home-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.os-home-service{display:flex;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid #dcd6c8;border-radius:10px;text-decoration:none;background:#f2eee4;transition:background .2s}.os-home-service:hover{background:#eae2d4}.os-home-number{font-size:12px;letter-spacing:.08em;font-weight:600;color:#9b572b}.os-home-service h3{margin:28px 0 24px}.os-home-service>span:last-child{font-size:12px;margin-top:auto}.os-home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.os-home-steps>div{border-top:1px solid #d9d1c2;padding-top:20px}.os-home-steps h3{margin:14px 0 10px}.os-home-steps p{font-size:14px;color:#656272;line-height:1.8}.os-home-contact{margin-top:76px;margin-bottom:64px;padding-top:42px;padding-bottom:42px;background:#17152a;border-radius:16px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.os-home-contact .eyebrow{color:#e7b481}.os-home-contact p{font-size:14px;line-height:1.7;color:#d7d1df}.os-home-contact .os-home-button{background:#eeb174;color:#17152a;flex-shrink:0}.os-home-contact-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:18px}.os-home-contact-links a{overflow-wrap:anywhere}.os-home-contact-links a:hover{text-decoration:underline}.os-home-image-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:120px;font-family:serif;font-size:25px;color:#837665}.os-home-retry{text-decoration:underline}.os-home a:focus-visible,.os-home button:focus-visible,.os-home input:focus-visible{outline:3px solid #b86b2a;outline-offset:4px}
@media(min-width:1400px){.os-home-contact{padding-left:42px;padding-right:42px}}
@media(max-width:1050px){.os-home-hero{gap:28px}.os-home-hero-image{min-height:510px}.os-home-departments,.os-home-products,.os-home-services{grid-template-columns:repeat(2,minmax(0,1fr))}.os-home-furniture-copy{padding:28px}.os-home-contact{border-radius:0}}
@media(max-width:760px){.os-home-wrap{padding-left:20px;padding-right:20px}.os-home-hero{grid-template-columns:1fr;padding-top:30px;gap:28px}.os-home-hero-image{min-height:360px}.os-home h1{max-width:590px}.os-home-section{padding-top:48px}.os-home-furniture{grid-template-columns:1fr}.os-home-furniture-image{min-height:0;height:300px}.os-home-steps{grid-template-columns:1fr;gap:24px}.os-home-contact{margin-top:48px;margin-bottom:0;align-items:flex-start;flex-direction:column}.os-home-service{padding:20px}}
@media(max-width:480px){.os-home-departments,.os-home-products{gap:12px}.os-home-department-image{height:150px;padding:15px}.os-home-department-copy{padding:14px}.os-home-department h3{font-size:16px}.os-home-services{grid-template-columns:1fr}.os-home-service h3{margin:15px 0}.os-home-actions .os-home-button{width:100%}.os-home-search button{padding:12px}.os-home-furniture-copy{padding:24px}.os-home-products{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.os-home *{transition:none!important;scroll-behavior:auto!important}}

/* Complete, keyboard-operated catalog navigation. */
.os-catalog-menu{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}.os-catalog-entry-label{display:flex;align-items:center;gap:2px}.os-catalog-entry-label>a,.os-catalog-menu>.os-service-menu>a{font-size:13px;font-weight:600;white-space:nowrap;padding:12px 0;color:#17152a}.os-catalog-entry-label>button{width:24px;height:32px;color:#8a5934;font-size:18px;border-radius:5px}.os-catalog-entry-label>a:hover,.os-catalog-entry.is-current>.os-catalog-entry-label>a{color:#a35b20}.os-catalog-panel{position:absolute;top:100%;left:0;width:min(870px,calc(100vw - 64px));z-index:60;background:#fffdf8;border:1px solid #ddd5c7;border-radius:0 0 14px 14px;box-shadow:0 20px 40px #17152a26;max-height:65vh;overflow:auto;padding:26px}.os-catalog-panel[hidden]{display:none}.os-catalog-panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid #e5dfd3;margin-bottom:20px}.os-catalog-panel-heading h2{font-family:serif;font-size:26px;margin-top:5px}.os-catalog-panel-heading .eyebrow{font-size:10px;color:#995522}.os-catalog-panel-heading>a{font-size:12px;font-weight:600}.os-catalog-tree{columns:3;column-gap:28px;list-style:none}.os-catalog-tree>li{break-inside:avoid;margin-bottom:20px}.os-catalog-tree a{display:block;font-size:13px;line-height:1.5;padding:5px 0;overflow-wrap:anywhere}.os-catalog-tree>li>a{font-weight:700;color:#17152a}.os-catalog-tree ul{padding-left:12px;border-left:1px solid #ded7c9;margin-top:6px;list-style:none}.os-catalog-tree ul a{color:#656272;font-weight:400}.os-catalog-tree a:hover{color:#a35b20;text-decoration:underline}.os-catalog-menu a:focus-visible,.os-catalog-menu button:focus-visible{outline:2px solid #b86b2a;outline-offset:3px}.os-catalog-menu-mobile{display:block}.os-catalog-menu-mobile>.os-catalog-entry{border-bottom:1px solid #e1dbcf}.os-catalog-menu-mobile .os-catalog-entry-label{justify-content:space-between}.os-catalog-menu-mobile .os-catalog-entry-label>a{flex:1}.os-catalog-menu-mobile .os-catalog-entry-label>button{width:40px;height:40px}.os-catalog-menu-mobile .os-catalog-panel{position:static;width:100%;box-shadow:none;border:0;border-radius:0;max-height:none;padding:12px;background:#f0ece3}.os-catalog-menu-mobile .os-catalog-panel-heading{display:block}.os-catalog-menu-mobile .os-catalog-panel-heading h2,.os-catalog-menu-mobile .os-catalog-panel-heading .eyebrow{display:none}.os-catalog-menu-mobile .os-catalog-tree{columns:1}.os-catalog-menu-mobile .os-catalog-tree a{padding-top:8px;padding-bottom:8px}
/* Editorial category introductions, real catalog selections and buying guidance. */
.os-home-department{display:flex;flex-direction:column}.os-home-department>a{display:block}.os-home-department-detail{padding:0 20px 22px}.os-home-department-detail p{font-size:13px;color:#656272;line-height:1.7}.os-home-department-detail .os-home-department-tagline{color:#17152a;font-weight:600;margin-bottom:9px}.os-home-department-detail ul{list-style:none;border-top:1px solid #e6e0d5;margin-top:18px;padding-top:12px}.os-home-department-detail li a{display:block;font-size:12px;line-height:1.5;padding:5px 0;color:#8b5027}.os-home-editorial>h2{margin-bottom:32px}.os-home-story{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:16px;background:#efe9dd;margin-top:24px}.os-home-story:nth-of-type(2){background:#e8ede8}.os-home-story:nth-of-type(3){background:#ede7e4}.os-home-story-image{min-height:420px;background:#fffdf8;padding:40px;display:flex;align-items:center;justify-content:center}.os-home-story-image img{max-width:100%;max-height:380px;object-fit:contain;mix-blend-mode:multiply}.os-home-story-image.is-room{padding:0;position:relative}.os-home-story-image.is-room img{position:absolute;width:100%;height:100%;max-height:none;object-fit:cover;mix-blend-mode:normal}.os-home-story-copy{padding:42px}.os-home-story-copy h3{font-size:clamp(26px,2.5vw,36px);line-height:1.2;letter-spacing:-.025em;margin:16px 0}.os-home-story-copy>p:not(.eyebrow){font-size:14px;color:#625c61;line-height:1.8}.os-home-story-copy .os-home-buying-note{font-size:12px!important;border-top:1px solid #cfc7b7;margin:24px 0;padding-top:16px}.os-home-story-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;list-style:none}.os-home-story-links a{display:block;padding:7px 10px;border:1px solid #cfc7b7;background:#ffffff55;border-radius:5px;font-size:12px}.os-home-story-links a:hover{background:#fff}.os-home-story-reverse .os-home-story-image{order:2}.os-home-guide{display:grid;grid-template-columns:1fr 1.35fr;gap:64px}.os-home-guide>div>p:not(.eyebrow){font-size:15px;color:#656272;line-height:1.8}.os-home-faq details{padding:20px 0;border-bottom:1px solid #d9d1c2}.os-home-faq details:first-child{border-top:1px solid #d9d1c2}.os-home-faq summary{font-weight:600;font-size:15px;cursor:pointer;line-height:1.6}.os-home-faq summary:focus-visible{outline:2px solid #b86b2a;outline-offset:5px}.os-home-faq p{font-size:14px;line-height:1.8;color:#656272;padding-top:14px}.os-home #how-it-works,.os-home #support{scroll-margin-top:170px}
@media(max-width:1050px){.os-home-story-copy{padding:28px}.os-home-guide{gap:32px}}
@media(max-width:760px){.os-home-story{grid-template-columns:1fr}.os-home-story-image{min-height:280px;height:280px;padding:24px}.os-home-story-image img{max-height:230px}.os-home-story-reverse .os-home-story-image{order:0}.os-home-guide{grid-template-columns:1fr;gap:20px}.os-home-department-detail{padding:0 14px 18px}}

/* Policy pages and the compact shared footer links. */
.os-footer-legal { display:inline-flex; flex-wrap:wrap; gap:12px 24px; margin-left:24px; color:#656272; }
.os-footer-legal a:hover { color:#a35b20; text-decoration:underline; }
.os-footer-legal a:focus-visible, .os-legal-page a:focus-visible { outline:2px solid #bf6e25; outline-offset:4px; }
.os-legal-page { max-width:900px; margin:0 auto; padding:40px 24px 80px; color:#17152a; }
.os-legal-page nav { font-size:13px; color:#656272; margin-bottom:36px; }
.os-legal-page h1 { font-size:clamp(32px,5vw,56px); font-weight:700; line-height:1.15; margin-bottom:32px; }
.os-legal-copy { font-size:16px; line-height:1.85; color:#656272; overflow-wrap:anywhere; }
.os-legal-copy h2 { font-size:24px; font-weight:700; color:#17152a; line-height:1.3; margin:32px 0 12px; }
.os-legal-copy p { margin:0 0 18px; }
.os-legal-copy a { color:#a35b20; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) { .os-footer-legal { display:flex; margin:14px 0 0; } }

/* Six-image homepage hero carousel. */
.os-hero-slides,.os-hero-slide { position:absolute; inset:0; }
.os-hero-slide { opacity:0; transition:opacity .7s ease; pointer-events:none; }
.os-hero-slide.is-active { opacity:1; }
.os-hero-slide img { width:100%; height:100%; object-fit:cover; }
.os-hero-slider .os-home-photo-caption { padding-bottom:82px; pointer-events:none; }
.os-hero-arrow { position:absolute; top:42%; width:42px; height:42px; border-radius:50%; background:#17152abf; color:#fff; font-size:30px; line-height:1; display:grid; place-items:center; }
.os-hero-prev { left:14px; }.os-hero-next { right:14px; }
.os-hero-controls { position:absolute; bottom:20px; left:24px; right:24px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.os-hero-dots { display:flex; }
.os-hero-dots button { width:28px; height:44px; display:grid; place-items:center; }
.os-hero-dots span { width:8px; height:8px; border-radius:50%; background:#ffffff80; }
.os-hero-dots [aria-current=true] span { background:#f3c494; width:20px; border-radius:8px; }
.os-hero-pause { min-height:44px; padding:0 14px; border:1px solid #ffffff80; border-radius:24px; font-size:12px; color:#fff; background:#17152a80; }
.os-hero-arrow:hover,.os-hero-pause:hover { background:#17152a; }
.os-home .os-hero-slider button:focus-visible { outline-color:#fff; outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .os-hero-slide { transition:none; } }

/* Department dropdowns: hover or click on desktop, expandable sections on mobile. */
.os-catalog-menu { gap:0 18px; }
.os-catalog-entry-label>button { display:grid; place-items:center; }
.os-menu-chevron { display:block; width:6px; height:6px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); margin-top:-3px; transition:transform .15s; }
[aria-expanded=true]>.os-menu-chevron { transform:rotate(225deg); margin-top:3px; }
.os-catalog-entry:hover>.os-catalog-entry-label>a { color:#a35b20; }
.os-catalog-panel { border-top:3px solid #bf6e25; padding:28px; }
.os-catalog-panel-heading h2 { font-family:var(--app-font-sans); font-size:24px; font-weight:650; }
.os-catalog-tree>li>a { font-size:14px; }
.os-catalog-tree a { border-radius:4px; }
.os-catalog-tree a:hover { color:#a35b20; }
.os-catalog-menu-mobile .os-catalog-entry-label>a { font-size:15px; padding:15px 0; }
.os-catalog-menu-mobile .os-catalog-entry-label>button { width:44px; height:44px; }
@media(prefers-reduced-motion:reduce) { .os-menu-chevron { transition:none; } }

/* Saved supplier imagery inside editable service content. */
.os-service-source-image { margin: 1.25rem 0; }
.os-service-source-image img { display: block; max-width: 100%; width: auto; height: auto; max-height: 440px; object-fit: contain; border-radius: 12px; }

/* Installation: readable process cards followed by ordered project details. */
.os-service-body.os-installation-body { grid-template-columns:minmax(0,1fr); gap:48px; }
.os-installation-body .os-service-copy { max-width:none; }
.os-service-copy .os-installation-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:24px 0 56px; }
.os-installation-steps li { padding:24px; background:#fffdf8; border:1px solid #ded9ce; border-radius:20px; }
.os-installation-icon { display:flex; align-items:center; justify-content:center; width:80px; height:80px; padding:16px; background:#17152a; border-radius:16px; margin-bottom:20px; }
.os-installation-icon img { width:48px; height:48px; object-fit:contain; }
.os-installation-step-number { display:block; color:#97521c; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.os-installation-content h3 { font-size:23px; line-height:1.3; font-weight:700; color:#17152a; margin:10px 0 16px; }
.os-installation-steps p { font-size:15px; line-height:1.7; }
.os-installation-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:40px; padding:36px 0; border-bottom:1px solid #ded9ce; }
.os-installation-row figure { margin:0; }
.os-installation-row figure img { width:100%; height:auto; max-height:380px; object-fit:contain; border-radius:20px; display:block; }
.os-installation-row h3 { font-size:28px; margin-top:0; }
.os-installation-row:last-child { border-bottom:0; }
.os-installation-body .os-service-aside { max-width:none; }
.os-installation-body .os-service-aside .os-service-button { width:auto; }
.os-installation-body .os-service-aside .os-service-text-link { text-align:left; }
@media(max-width:1000px) { .os-service-copy .os-installation-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  .os-service-copy .os-installation-steps { grid-template-columns:minmax(0,1fr); gap:16px; }
  .os-installation-row { grid-template-columns:minmax(0,1fr); gap:24px; padding:28px 0; }
  .os-installation-row h3 { font-size:24px; }
}

/* Connected services share a clear reading order and contrasting icon surfaces. */
.os-connected-intro { max-width:850px; margin-bottom:44px; }
.os-connected-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:24px 0 48px; }
.os-connected-card { overflow:hidden; border:1px solid #ded9ce; background:#fffdf8; border-radius:20px; }
.os-connected-card > div { padding:24px; }
.os-connected-card figure { margin:0; background:#17152a; height:190px; display:flex; align-items:center; justify-content:center; }
.os-connected-card .os-connected-icon img { width:80px; height:80px; object-fit:contain; }
.os-connected-card .os-connected-photo img { width:100%; height:100%; object-fit:cover; }
.os-connected-content h3 { color:#17152a; font-size:23px; font-weight:700; line-height:1.3; margin:0 0 16px; }
.os-connected-card p { font-size:15px; line-height:1.75; }
.os-connected-audiences { padding:32px; border-radius:24px; background:#e6ece8; margin:40px 0; }
.os-connected-audiences h2 { margin-top:0; }
.os-service-copy .os-connected-audiences ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 32px; padding-left:22px; margin:20px 0 0; }
.os-connected-audiences li { padding-left:4px; color:#17152a; }
@media(max-width:1000px) { .os-connected-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .os-connected-cards { grid-template-columns:minmax(0,1fr); gap:20px; }
 .os-service-copy .os-connected-audiences ul { grid-template-columns:minmax(0,1fr); }
 .os-connected-audiences { padding:24px; }
}

/* Keep the three Wi-Fi industry images visually consistent. */
.os-connected-industries .os-installation-row figure { aspect-ratio:4 / 3; overflow:hidden; border-radius:20px; }
.os-connected-industries .os-installation-row figure img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:center; border-radius:0; }

.os-pip-content > section { margin-bottom:56px; }
.os-pip-content > section > h2 { max-width:850px; }
.os-pip-content h3 { color:#17152a; font-size:23px; line-height:1.35; font-weight:700; margin:0 0 16px; }
.os-pip-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.os-pip-card { padding:28px; background:#fffdf8; border:1px solid #ded9ce; border-radius:20px; }
.os-pip-content .os-installation-row figure { aspect-ratio:4/3; overflow:hidden; border-radius:20px; }
.os-pip-content .os-installation-row img { width:100%; height:100%; max-height:none; object-fit:cover; }
.os-pip-faq details { border-bottom:1px solid #ded9ce; padding:22px 0; }
.os-pip-faq summary { cursor:pointer; color:#17152a; font-size:19px; font-weight:600; }
.os-pip-faq details p { margin-top:18px; }
.os-pip-contact { padding:36px; background:#e6ece8; border-radius:24px; }
@media(max-width:640px) { .os-pip-grid { grid-template-columns:minmax(0,1fr); } .os-pip-contact { padding:24px; } .os-pip-page .display { overflow-wrap:break-word; } }

/* Kimball brand programs: spacious source-style galleries, grids and accordions. */
.os-kimball { background:#f8f5ee; color:#17152a; font-family:var(--app-font-sans,Arial,sans-serif); padding-bottom:64px; }
.os-kimball h1,.os-kimball h2,.os-kimball h3 { font-family:var(--app-font-sans,Arial,sans-serif); font-weight:650; letter-spacing:-.025em; }
.os-kimball-breadcrumb,.os-kimball-index,.os-kimball-hero,.os-kimball-overview,.os-kimball-gallery,.os-kimball-information,.os-kimball-notice,.os-kimball-back { width:min(1440px,calc(100% - 80px)); margin-left:auto; margin-right:auto; }
.os-kimball-breadcrumb { padding:24px 0; font-size:12px; color:#656272; }
.os-kimball-index-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:32px 0; }
.os-kimball-index h1 { font-size:44px; line-height:1.2; }
.os-kimball-filters { display:flex; gap:16px; }
.os-kimball-filters input,.os-kimball-filters select { padding:12px; border:1px solid #d5d0c4; border-radius:12px; background:#fffdf8; color:#17152a; }
.os-kimball-result-count { font-size:12px; letter-spacing:.1em; padding:0 0 24px; }
.os-kimball-programs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 24px; }
.os-kimball-programs img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.os-kimball-programs h2 { font-size:22px; margin:16px 0 8px; }
.os-kimball-programs p { font-size:13px; color:#656272; }
.os-kimball-hero > button { display:block; width:100%; cursor:zoom-in; }
.os-kimball-hero > button img { width:100%; aspect-ratio:1540/750; max-height:720px; object-fit:cover; display:block; }
.os-kimball-hero h1 { font-size:48px; line-height:1.15; padding:24px 0 36px; }
.os-kimball-sticky { position:sticky; top:0; z-index:15; background:#eeeae1; border-top:1px solid #ded9ce; border-bottom:1px solid #ded9ce; display:flex; justify-content:center; gap:44px; padding:22px 24px; }
.os-kimball-sticky a { font-size:13px; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
.os-kimball-overview { display:grid; grid-template-columns:minmax(0,370px) minmax(0,1fr); gap:10%; align-items:center; padding-top:80px; padding-bottom:70px; scroll-margin-top:90px; }
.os-kimball-overview > img { width:100%; aspect-ratio:370/468; object-fit:cover; }
.os-kimball-overview p { font-size:20px; line-height:1.7; margin:0 0 20px; }
.os-kimball-gallery { padding-bottom:70px; scroll-margin-top:90px; }
.os-kimball-gallery h2 { font-size:38px; line-height:1.25; max-width:850px; margin-bottom:40px; }
.os-kimball-room-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.os-kimball-room-strip button { cursor:zoom-in; min-width:0; }
.os-kimball-room-strip img { width:100%; height:300px; object-fit:cover; }
.os-kimball-information { scroll-margin-top:90px; }
.os-kimball-accordion { border-top:1px solid #ded9ce; scroll-margin-top:90px; }
.os-kimball-accordion:last-child { border-bottom:1px solid #ded9ce; }
.os-kimball-accordion > h2 > button { display:flex; justify-content:space-between; align-items:center; padding:26px 0; width:100%; font-size:26px; text-align:left; color:#17152a; }
.os-kimball-accordion > h2 > button span { font-size:30px; font-weight:300; }
.os-kimball-panel { padding:12px 0 44px; }
.os-kimball-panel[hidden] { display:none; }
.os-kimball-product-grid,.os-kimball-image-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:40px 16px; }
.os-kimball-product-image { display:flex; align-items:center; justify-content:center; width:100%; height:210px; cursor:zoom-in; }
.os-kimball-product-image img { width:100%; height:100%; object-fit:contain; }
.os-kimball-product-grid h3 { font-size:15px; line-height:1.5; margin:14px 0 8px; }
.os-kimball-quote { font-size:12px; color:#f8f5ee; background:#17152a; border-radius:10px; padding:10px 14px; font-weight:600; }
.os-kimball-image-grid img { width:100%; height:180px; object-fit:cover; }
.os-kimball-image-grid button { cursor:zoom-in; }
.os-kimball-material-group { margin:20px 0 44px; }
.os-kimball-material-group h3 { font-size:22px; margin-bottom:24px; }
.os-kimball-material-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:30px 18px; }
.os-kimball-material-grid button { text-align:left; cursor:zoom-in; }
.os-kimball-material-grid img { width:100%; aspect-ratio:1; object-fit:cover; }
.os-kimball-material-grid span { display:block; font-size:14px; margin-top:12px; }
.os-kimball-slider-controls { display:flex; align-items:center; justify-content:center; gap:24px; margin:24px 0 0; }
.os-kimball-slider-controls button { width:44px; height:44px; border:1px solid #ded9ce; border-radius:50%; background:#eeeae1; color:#17152a; font-size:24px; }
.os-kimball-slider-controls span { font-size:13px; }
.os-kimball-notice { min-height:28px; font-size:14px; padding-top:20px; }
.os-kimball-back { display:block; margin-top:20px; font-size:14px; text-decoration:underline; }
.os-kimball-message { padding:80px 24px; text-align:center; }
.os-kimball button:focus-visible,.os-kimball a:focus-visible,.os-kimball-lightbox button:focus-visible { outline:2px solid #bf6e25; outline-offset:4px; }
.os-kimball-lightbox { width:min(1100px,95vw); max-height:94vh; padding:36px; border:1px solid #ded9ce; border-radius:20px; background:#f8f5ee; color:#17152a; margin:auto; overflow:auto; }
.os-kimball-lightbox::backdrop { background:#17152acc; }
.os-kimball-close { position:absolute; top:8px; right:16px; font-size:32px; width:40px; height:40px; }
.os-kimball-lightbox-image img { display:block; max-width:100%; width:auto; height:62vh; object-fit:contain; margin:0 auto; }
.os-kimball-lightbox-caption { text-align:center; margin-top:20px; }
.os-kimball-lightbox-caption h2 { font-size:22px; }
.os-kimball-lightbox-caption a,.os-kimball-lightbox-caption button { display:inline-block; margin:16px 12px 0; text-decoration:underline; }
.os-kimball-lightbox-caption span { display:block; margin-top:12px; }
@media(max-width:1000px) {
 .os-kimball-product-grid,.os-kimball-image-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .os-kimball-material-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .os-kimball-programs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .os-kimball-overview { gap:40px; }
 .os-kimball-index-heading { align-items:flex-start; flex-direction:column; }
}
@media(max-width:640px) {
 .os-kimball-breadcrumb,.os-kimball-index,.os-kimball-hero,.os-kimball-overview,.os-kimball-gallery,.os-kimball-information,.os-kimball-notice,.os-kimball-back { width:calc(100% - 32px); }
 .os-kimball-index h1,.os-kimball-hero h1 { font-size:34px; }
 .os-kimball-sticky { justify-content:flex-start; gap:24px; overflow:auto; padding:18px 16px; }
 .os-kimball-overview { grid-template-columns:minmax(0,1fr); padding-top:36px; padding-bottom:36px; }
 .os-kimball-overview > img { aspect-ratio:4/3; max-height:320px; }
 .os-kimball-overview p { font-size:17px; }
 .os-kimball-gallery h2 { font-size:28px; }
 .os-kimball-room-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .os-kimball-room-strip img { height:140px; }
 .os-kimball-product-grid,.os-kimball-image-grid,.os-kimball-material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
 .os-kimball-product-image { height:170px; }
 .os-kimball-filters { width:100%; gap:8px; }
 .os-kimball-filters input { min-width:0; width:65%; }
 .os-kimball-filters select { min-width:0; width:35%; }
 .os-kimball-programs h2 { font-size:18px; }
 .os-kimball-lightbox { padding:48px 16px 24px; }
 .os-kimball-lightbox-image img { height:48vh; }
}

/* Kimball program families follow the source menu order, across six columns. */
.os-catalog-programs{width:min(1180px,calc(100vw - 64px))}
.os-catalog-programs .os-catalog-tree{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;columns:auto}
.os-catalog-group-title{display:block;font-size:14px;font-weight:700;color:#17152a;padding:5px 0}
.os-catalog-programs .os-catalog-tree ul{border:0;padding-left:0}
@media(max-width:1100px){.os-catalog-programs .os-catalog-tree{grid-template-columns:repeat(3,minmax(0,1fr))}}
.os-catalog-menu-mobile .os-catalog-programs .os-catalog-tree{grid-template-columns:1fr;gap:8px}

/* Give desktop navigation its full row; search sits between logo and quote list. */
@media(min-width:1024px){
  header:has([data-testid="input-product-search"]) form[role="search"]{
    position:absolute;
    top:10px;
    left:50%;
    transform:translateX(-50%);
    width:clamp(280px,36vw,460px);
    margin:0;
  }
  header:has([data-testid="input-product-search"]) .os-catalog-menu{
    flex-wrap:nowrap;
    justify-content:space-between;
    gap:0 10px;
    width:100%;
  }
  header:has([data-testid="input-product-search"]) .os-catalog-entry-label>a{
    font-size:12px;
  }
  header:has([data-testid="input-product-search"]) .os-catalog-entry-label>button{
    width:20px;
    flex-shrink:0;
  }
}
@media(min-width:1200px){
  header:has([data-testid="input-product-search"]) .os-catalog-entry-label>a{font-size:13px}
}


/* Furniture uses the same warm surfaces and accents as the rest of the store. */
.os-kimball-programs>a{display:block;padding:14px;background:#eeeae1;border:1px solid #ded9ce;border-radius:20px;transition:border-color .2s,box-shadow .2s}
.os-kimball-programs>a:hover{border-color:#bf6e25;box-shadow:0 10px 24px #17152a12}
.os-kimball-programs img,.os-kimball-hero>button,.os-kimball-overview>img,.os-kimball-room-strip button,.os-kimball-image-grid button{border-radius:14px;overflow:hidden}
.os-kimball-product-grid article{min-width:0;background:#eeeae1;border:1px solid #ded9ce;border-radius:16px;padding:12px}
.os-kimball-product-image{border-radius:10px;overflow:hidden;background:#f8f5ee}
.os-kimball-overview p{color:#656272}
.os-kimball-sticky a:hover,.os-kimball-breadcrumb a:hover,.os-kimball-back,.os-kimball-lightbox-caption a{color:#a35b20}
.os-kimball-quote:hover,.os-kimball-slider-controls button:hover{background:#a35b20;color:#fffdf8}
.os-kimball-material-grid button{padding:10px;background:#eeeae1;border:1px solid #ded9ce;border-radius:12px}
.os-kimball-material-grid img{border-radius:6px}
.os-kimball-filters input:focus-visible,.os-kimball-filters select:focus-visible{outline:2px solid #bf6e25;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.os-kimball-programs>a{transition:none}}

.os-laundry-copy{padding-top:48px;padding-bottom:48px;max-width:1000px}
.os-laundry-copy section{padding:24px 0;border-bottom:1px solid #ded9ce}
.os-laundry .os-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.os-laundry .os-service-grid{grid-template-columns:1fr}}
@media(min-width:1024px) and (max-width:1199px){
 header:has([data-testid="input-product-search"]) .os-catalog-menu{gap:0 6px}
 header:has([data-testid="input-product-search"]) .os-catalog-entry-label>a{font-size:11px}
}

.os-laundry-expanded{font-size:17px;line-height:1.85;color:#656272}
.os-laundry-expanded h2{margin:48px 0 20px;color:#17152a;font-size:clamp(25px,3vw,36px);line-height:1.25}
.os-laundry-expanded h3{margin:24px 0 12px;color:#17152a;font-size:22px}
.os-laundry-expanded p{margin:0 0 20px}
.os-laundry-expanded>img{display:block;width:100%;max-width:760px;max-height:460px;object-fit:contain;margin:32px auto;border-radius:18px;background:#eeeae1}
.os-laundry-expanded ul,.os-laundry-expanded ol{padding-left:24px;margin:20px 0}
.os-laundry-expanded li{margin:8px 0}
.os-laundry-expanded details{padding:20px 24px;margin:14px 0;background:#eeeae1;border:1px solid #ded9ce;border-radius:14px}
.os-laundry-expanded summary{cursor:pointer;font-weight:650;color:#17152a;line-height:1.5}
.os-laundry-expanded details[open] summary{margin-bottom:18px;color:#a35b20}
.os-laundry-expanded summary:focus-visible{outline:2px solid #bf6e25;outline-offset:4px}

.os-laundry-expanded .os-laundry-source-icon{display:block;width:64px;max-width:64px;height:64px;max-height:64px;object-fit:contain;margin:28px 0 12px;padding:10px;background:#eeeae1;border-radius:14px}
.os-laundry-equipment-option{display:inline-block;margin:0 12px 16px 0!important;padding:10px 16px;background:#eeeae1;border:1px solid #ded9ce;border-radius:10px;color:#17152a;font-weight:600;font-size:14px}

.os-laundry-planning-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 40px}
.os-laundry-planning-card{padding:24px;background:#eeeae1;border:1px solid #ded9ce;border-radius:16px}
.os-laundry-expanded .os-laundry-planning-card .os-laundry-source-icon{margin:0 0 16px;padding:0}
.os-laundry-expanded .os-laundry-planning-card h3{font-size:20px;line-height:1.3;margin:0 0 12px}
.os-laundry-expanded .os-laundry-planning-card p{font-size:15px;line-height:1.65;margin:0}
@media(max-width:700px){.os-laundry-planning-row{grid-template-columns:1fr}.os-laundry-planning-card{display:flex;align-items:flex-start;gap:18px}.os-laundry-expanded .os-laundry-planning-card .os-laundry-source-icon{flex-shrink:0;margin:0}}

.os-project-page{background:#f8f5ee;color:#17152a;padding:40px max(24px,calc((100% - 1200px)/2)) 72px}
.os-project-page nav,.os-pip-project-credit{font-size:14px;color:#656272;margin-bottom:24px}
.os-project-page h1{font-size:clamp(32px,5vw,56px);line-height:1.15;margin-bottom:28px;font-weight:650}
.os-project-page h2{font-size:32px;margin:40px 0 24px}
.os-project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}
.os-project-facts>div{background:#eeeae1;padding:20px;border:1px solid #ded9ce;border-radius:14px}
.os-project-facts dt{font-size:12px;text-transform:uppercase;color:#a35b20;margin-bottom:8px}
.os-project-facts dd{margin:0;font-weight:600}
.os-project-hero img{width:100%;max-height:660px;object-fit:cover;border-radius:20px}
.os-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:40px}
.os-project-gallery img{width:100%;height:auto;border-radius:16px}
@media(max-width:650px){.os-project-facts,.os-project-gallery{grid-template-columns:1fr}}

.os-project-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.os-project-photo{margin:0;min-width:0}
.os-project-photo-button{display:block;position:relative;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in;background:#eeeae1}
.os-project-gallery .os-project-photo-button img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.os-project-photo-label{position:absolute;left:10px;bottom:10px;padding:5px 12px;border-radius:20px;background:#17152ae8;color:#fffdf8;font-size:13px;font-weight:650}
.os-project-photo-button:focus-visible,.os-project-lightbox button:focus-visible{outline:3px solid #bf6e25;outline-offset:3px}
.os-project-lightbox{width:min(1100px,94vw);max-height:94dvh;margin:auto;padding:48px 24px 24px;border:1px solid #ded9ce;border-radius:18px;background:#f8f5ee;color:#17152a;overflow:auto}
.os-project-lightbox::backdrop{background:#17152acc}
.os-project-lightbox-close{position:absolute;right:12px;top:6px;width:40px;height:40px;font-size:32px}
.os-project-lightbox-photo{display:block;width:100%;height:65dvh;object-fit:contain;touch-action:pan-y}
.os-project-lightbox-caption{text-align:center;font-size:16px;font-weight:650;margin:16px 0}
.os-project-lightbox-controls{display:flex;justify-content:center;align-items:center;gap:24px}
.os-project-lightbox-controls button{width:44px;height:44px;border-radius:50%;background:#17152a;color:#fffdf8;font-size:24px}
@media(max-width:700px){.os-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.os-project-lightbox{padding:48px 12px 20px}.os-project-lightbox-photo{height:56dvh}}

.os-project-lightbox-photo{height:50dvh}
.os-project-thumbnails{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:20px}
.os-project-thumbnail{min-width:0;padding:3px;border:2px solid transparent;border-radius:8px;background:#eeeae1;color:#17152a;cursor:pointer}
.os-project-thumbnail img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.os-project-thumbnail span{display:block;font-size:11px;line-height:1.4;padding:4px 0 1px}
.os-project-thumbnail[aria-current="true"]{border-color:#bf6e25;background:#fce4c7}
@media(max-width:700px){.os-project-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px}.os-project-lightbox-photo{height:38dvh}}

.os-project-details{margin:32px 0}
.os-project-details p{max-width:1000px;font-size:17px;line-height:1.85;color:#656272;margin:0 0 28px}

/* Anchor the Services dropdown to its own trigger, keeping the pointer path inside it. */
.os-catalog-menu:not(.os-catalog-menu-mobile) .os-catalog-entry-services{position:relative}
.os-catalog-menu:not(.os-catalog-menu-mobile) .os-catalog-entry-services>.os-catalog-panel{top:100%;left:auto;right:0;width:320px;max-width:calc(100vw - 32px);padding:20px}
.os-catalog-entry-services .os-catalog-tree{columns:1}
.os-catalog-entry-services .os-catalog-tree>li{margin-bottom:6px}
.os-catalog-entry-services .os-catalog-tree a{padding:10px 8px;border-radius:8px}
.os-catalog-entry-services .os-catalog-tree a:hover{background:#eeeae1}
.os-catalog-entry-services .os-catalog-panel-heading{gap:12px;padding-bottom:14px;margin-bottom:12px}
.os-catalog-entry-services .os-catalog-panel-heading h2{font-size:22px}

.os-kimball-image-unavailable{display:flex;align-items:center;justify-content:center;min-height:120px;width:100%;padding:16px;background:#eeeae1;color:#656272;border:1px solid #ded9ce;border-radius:10px;font-size:13px}
