:root{color-scheme:light;--ink:#123638;--text:#315053;--teal:#075755;--mint:#e4f4ee;--gold:#b68235;--line:#dce9e5;--paper:#fff;--subtle:#f5faf8;--radius:20px;--width:1240px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid #a97122;outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(var(--width),calc(100% - 92px));margin-inline:auto}.skip{position:fixed;left:12px;top:12px;padding:10px 16px;background:#fff;z-index:10;transform:translateY(-200%)}.skip:focus{transform:none}.header{background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:26px}.brand{flex-shrink:0}.brand img{width:228px}.header nav{display:flex;align-items:center;gap:31px;font-size:15px;font-weight:650}.header nav>a:not(.button):hover,.text-link:hover,.email-link:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}.hero{background:linear-gradient(115deg,#f5fbf8 8%,#e7f4ef 64%,#d2eae1);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr .95fr;min-height:560px;align-items:center;gap:42px;padding:58px 0}.hero-copy{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:10px;font-size:.73rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;margin:0 0 16px}.eyebrow span{width:25px;height:2px;background:var(--gold);flex:none}h1,h2,h3,p{margin:0}h1{font-size:clamp(3rem,5.5vw,5.3rem);line-height:1.02;letter-spacing:-.069em;font-weight:770}h2{font-size:clamp(2.05rem,3.65vw,3.65rem);line-height:1.05;letter-spacing:-.055em}h3{font-size:1.24rem;line-height:1.2;letter-spacing:-.025em}.lead{font-size:clamp(1.04rem,1.7vw,1.28rem);max-width:560px;color:var(--text);margin:24px 0 27px}.actions{display:flex;flex-wrap:wrap;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--teal);border:1px solid var(--teal);color:white;min-height:48px;padding:11px 18px;border-radius:8px;font-weight:680;line-height:1.2}.button:hover{background:#064441;border-color:#064441}.button.small{min-height:40px;padding:9px 15px}.button.outline{background:transparent;border-color:#64918d;color:var(--teal)}.button.outline:hover{background:#dcefe8}.regions{margin-top:24px;color:#45625e;font-size:.78rem;line-height:1.7}.regions span{display:block;font-weight:700;color:var(--ink)}.hero-image{position:relative;border-radius:26px;overflow:hidden;background:#dbeee5;aspect-ratio:1.17;box-shadow:0 14px 45px #12363816}.hero-image img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;right:12px;bottom:12px;background:#ffffffea;color:var(--ink);padding:5px 9px;border-radius:5px;font-size:.69rem}.section{padding-block:78px;scroll-margin-top:78px}.section-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:46px;align-items:end;margin-bottom:28px}.section-intro>p,.about-layout p:not(.eyebrow),.contact>div>p:not(.eyebrow){color:var(--text);max-width:52ch}.catalog-controls{display:flex;justify-content:space-between;gap:16px;align-items:center}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{padding:8px 11px;background:white;border:1px solid var(--line);border-radius:7px;font-size:.84rem;color:var(--ink)}.filters button[aria-pressed="true"]{background:var(--teal);color:white;border-color:var(--teal)}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:4px 10px;flex:0 1 245px}.search input{border:0;background:white;min-width:0;width:100%;padding:6px;color:var(--ink)}.count{margin:12px 0}.muted{color:#506b69;font-size:.84rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:box-shadow .18s,border-color .18s}.product-card:hover{box-shadow:0 12px 35px #17494315;border-color:#79aba1}.product-art{width:100%;aspect-ratio:1.43;position:relative;overflow:hidden;background:#e5f3ed}.product-art img{width:100%;height:100%;object-fit:cover}.card-copy{padding:19px;display:flex;flex-direction:column;gap:8px;flex:1}.tag{font-size:.73rem;font-weight:700;color:#315d59}.card-copy p{font-size:.9rem;color:var(--text)}.card-link{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--teal);font-weight:730;margin-top:auto;padding-top:9px;font-size:.87rem}.more{margin:23px auto 0;display:flex}.support{background:#103f3f;color:#f6fffc;position:relative}.support .section-intro>p{color:#d2e9e1}.support .eyebrow span{background:#e1ad66}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:30px 0}.support-grid article{padding:24px;border:1px solid #d0eee64a;border-radius:15px;background:#ffffff08}.step{color:#f0c788;font-size:.85rem;font-weight:750}.support-grid h3{margin:11px 0}.support-grid p{color:#d8eae4;font-size:.96rem}.button.inverse{background:#e2f4ec;color:#16403e;border-color:#e2f4ec}.button.inverse:hover{background:white}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}.service-grid article{display:flex;align-items:flex-start;gap:15px;border-top:1px solid var(--line);padding:21px 0}.service-grid article>span{font-size:.76rem;color:#856027;font-weight:750}.service-grid p,.about-layout p{margin-top:8px;color:var(--text)}.about{background:var(--subtle)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px}.text-link,.email-link{display:inline-block;color:var(--teal);font-weight:740;margin-top:18px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}.contact h2{margin-bottom:18px}.enquiry{border:1px solid var(--line);background:var(--subtle);border-radius:var(--radius);padding:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.enquiry label,.editor label,.login label{font-size:.86rem;font-weight:680;display:block;margin-bottom:12px}.enquiry input,.enquiry select,.enquiry textarea,.editor input:not([type=checkbox]),.editor textarea,.editor select,.login input{display:block;width:100%;border:1px solid #aac9c1;border-radius:7px;padding:9px 10px;color:var(--ink);background:#fff;margin-top:4px}.enquiry textarea,.editor textarea{resize:vertical}.enquiry button{margin-bottom:10px}.status{font-size:.87rem;color:var(--teal);margin-top:8px}.status.error{color:#a33132}.status:empty{display:none}footer{border-top:1px solid var(--line);background:#f6faf8}.footer-content{display:flex;align-items:center;gap:28px;min-height:102px;font-size:.85rem;color:var(--text)}.footer-content .brand img{width:190px}.footer-content>a:last-child{margin-left:auto}.detail-breadcrumb{display:inline-block;margin-bottom:20px;color:var(--teal);font-weight:660}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.detail-copy h1{font-size:clamp(2.3rem,4.4vw,4rem);margin:7px 0 18px}.detail-photo{background:#f1f7f4;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.detail-photo img{width:100%;height:380px;object-fit:contain}.detail-photo figcaption{padding:10px 14px;color:#496966;font-size:.82rem}.detail-photo{margin:0}.detail-copy h2{font-size:1.25rem;letter-spacing:-.02em;margin-top:24px}.detail-copy ul{padding-left:19px;color:var(--text)}.detail-copy>p{color:var(--text)}.detail-copy .button{margin-top:16px}.detail-note{padding:12px 14px;background:var(--subtle);border-radius:8px;margin-top:18px;font-size:.83rem}.photo-placeholder{display:grid;place-items:center;min-height:220px;padding:28px;color:var(--text);text-align:center}.empty{padding:26px;background:var(--subtle);border-radius:12px;grid-column:1/-1}.admin-page{max-width:1160px}.admin-page h1{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:10px}.login,.admin-panel,.editor{background:var(--subtle);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:20px}.login{max-width:500px}.admin-actions{display:flex;gap:9px;flex-wrap:wrap}.admin-table{width:100%;border-collapse:collapse;margin-top:14px}.admin-table th,.admin-table td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:.86rem}.admin-table-wrap{overflow-x:auto}.admin-table button{border:1px solid var(--line);background:#fff;color:var(--teal);border-radius:5px;padding:5px 8px}.badge{display:inline-block;padding:3px 7px;border-radius:6px;background:#dcefe6;white-space:nowrap}.badge.off{background:#eee7dc}.editor{max-width:720px}.editor fieldset{border:1px solid var(--line);border-radius:7px;margin:10px 0;padding:10px}.editor fieldset p{margin-top:6px}.editor fieldset input{margin-bottom:8px}.editor label.inline{display:flex;align-items:center;gap:7px}.editor label.inline input{margin:0}.editor h2,.admin-panel h2{font-size:1.5rem;margin-bottom:10px}
@media(max-width:980px){.wrap{width:calc(100% - 48px)}.header nav{gap:18px}.brand img{width:190px}.hero-layout{gap:24px;min-height:470px}.grid{grid-template-columns:repeat(2,1fr)}.contact{gap:25px}.section{padding-block:57px}}
@media(max-width:730px){.wrap{width:calc(100% - 32px)}.nav-shell{min-height:63px}.brand img{width:176px}.menu-toggle{display:block;background:white;border:1px solid var(--line);border-radius:6px;padding:7px 10px;color:var(--ink)}.header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:14px 16px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:11px}.header nav.open{display:flex}.hero-layout,.section-intro,.about-layout,.contact,.detail-layout{grid-template-columns:1fr;gap:21px}.hero-layout{padding:36px 0 26px}.hero-image{aspect-ratio:1.6}.hero-copy h1{font-size:clamp(2.6rem,10vw,4.6rem)}.section{padding-block:46px;scroll-margin-top:62px}.catalog-controls{align-items:stretch;flex-direction:column}.search{flex:auto}.support-grid,.service-grid{grid-template-columns:1fr}.support-grid{gap:11px}.detail-photo img{height:280px}.footer-content{gap:12px;flex-wrap:wrap;padding-block:15px}.footer-content>a:last-child{margin-left:0}}
@media(max-width:440px){.grid,.form-row{grid-template-columns:1fr}.hero-copy h1{font-size:2.6rem}.actions .button{padding-inline:12px}.product-art{aspect-ratio:1.7}.enquiry{padding:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.product-art:not(.sprite){background:radial-gradient(ellipse at 54% 34%,#fff 0%,#f0f9f4 56%,#dceee6 100%);display:grid;place-items:center;padding:22px 26px 30px}
.product-art:not(.sprite) img{height:100%;width:100%;min-height:0;object-fit:contain;mix-blend-mode:multiply}
.product-art img[src$="magnetic-system-combined.jpg"]{mix-blend-mode:normal}
.detail-photo img{background:#fff}
.detail-photo .system-composite{height:auto;aspect-ratio:4/3;background:#000}

.materials-page { max-width: 1120px; }
.materials-intro { max-width: 720px; }
.materials-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  margin-top: 24px;
}
.materials-card {
  min-width: 0;
  padding: clamp(18px, 3vw, 28px);
  background: var(--subtle);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  scroll-margin-top: 95px;
}
.materials-card h2 { margin: 0 0 12px; font-size: clamp(1.4rem, 2.5vw, 1.8rem); }
.materials-card form { display: grid; gap: 14px; }
.materials-card p { margin: 0 0 8px; }
.materials-card .status { margin-top: 12px; }
.materials-card.download-active { border-color: var(--teal); box-shadow: 0 0 0 3px #0b5c5526; }
.offline-download-layout { grid-template-columns: minmax(0, 640px); }
.offline-download-layout input:disabled { background: #edf1ef; cursor: not-allowed; }
.materials-card .actions { margin: 0; gap: 8px; flex-wrap: wrap; }
.materials-card fieldset, #code-editor fieldset { min-width: 0; }
.material-options {
  display: grid;
  gap: 3px;
  max-height: 240px;
  overflow-y: auto;
  padding: 5px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.material-options label {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin: 0;
  padding: 6px 7px;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
}
.material-options label:hover { background: var(--mint); }
.material-options input[type=checkbox] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 4px 0 0;
  accent-color: var(--teal);
}
.material-downloads { padding: 0; list-style: none; }
.material-downloads li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
@media (max-width: 780px) {
  .materials-layout { grid-template-columns: 1fr; }
}

.system-component, .system-evidence {
  margin-top: clamp(24px, 5vw, 58px);
  padding: clamp(18px, 4vw, 36px);
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--subtle);
  scroll-margin-top: 95px;
}
.system-component { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); align-items: center; gap: clamp(18px, 4vw, 40px); }
.system-component-art img { width: 100%; max-height: 330px; object-fit: contain; border-radius: 12px; }
.system-hardware {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--line);
}
.system-hardware li { display: grid; gap: 8px; place-items: center; padding: 13px; text-align: center; background: #fff; }
.system-hardware li:first-child { grid-column: 1 / -1; }
.system-hardware li:last-child:nth-child(2) { grid-column: 1 / -1; }
.detail-photo .system-hardware img { width: 100%; height: clamp(66px, 10vw, 115px); object-fit: contain; }
.detail-photo .system-hardware li:first-child img { height: clamp(120px, 19vw, 218px); }
.system-component h2, .system-evidence h2 { margin: 0 0 10px; font-size: clamp(1.5rem, 3vw, 2.1rem); }
.system-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.system-specs div { padding: 10px 12px; border: 1px solid var(--line); background: var(--paper); border-radius: 8px; }
.system-specs dt { color: var(--teal); font-size: .83rem; font-weight: 700; }
.system-specs dd { margin: 2px 0 0; font-variant-numeric: tabular-nums; }
.catalogue-family-nav {
  margin-top: 30px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.catalogue-family-nav h2 { margin: 0 0 10px; font-size: 1.3rem; }
.catalogue-family-nav ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.catalogue-family-nav li[id] { scroll-margin-top: 95px; }
.catalogue-family-nav a { display: block; padding: 7px 12px; border-radius: 8px; background: var(--mint); font-weight: 650; }
.catalogue-family-nav + .system-component { margin-top: 24px; }
.catalogue-variant-art { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.catalogue-variant-art figure { margin: 0; padding: 8px; background: var(--paper); border-radius: 10px; }
.catalogue-variant-art img { height: clamp(85px, 14vw, 175px); }
.catalogue-variant-art figcaption { margin-top: 7px; font-size: .82rem; font-weight: 650; }
.sourcing-callout {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: 18px;
  padding: 16px 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--subtle);
}
.sourcing-callout > div { flex: 1 1 32ch; }
.sourcing-callout p { margin-top: 5px; color: var(--text); font-size: .92rem; }
.sourcing-guide { margin: 0 0 12px; padding: 12px 14px; border-radius: 8px; background: var(--mint); font-size: .86rem; }
.sourcing-guide ul { margin: 6px 0 0; padding-inline-start: 20px; }
.sourcing-guide li + li { margin-top: 4px; }
@media (max-width: 730px) {
  .system-component { grid-template-columns: 1fr; }
  .system-component-art img { max-height: 230px; }
}

/* Shared public forms, company information and document pages. */
.materials-card label:not(.material-options label) { display: block; font-size: .88rem; font-weight: 650; }
.materials-card input:not([type=checkbox]), .materials-card textarea { display: block; width: 100%; min-width: 0; padding: 11px 12px; margin-top: 6px; border: 1px solid #aac9c1; border-radius: 8px; background: #fff; color: var(--ink); line-height: 1.45; }
.materials-card textarea { resize: vertical; }
.materials-card fieldset { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.materials-card legend { padding-inline: 6px; font-weight: 650; }
.materials-card form > label, .materials-card .form-row { margin: 0; }
.materials-card a, #form-note a { text-decoration: underline; text-underline-offset: 3px; }
.portfolio-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--text); font-size: .88rem; }
.presentation-note { font-size: .88rem; color: var(--text); padding-top: 6px; }
.contact-channels { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-company { display: grid; gap: 3px; padding-block: 16px; }
.footer-company small { font-size: .73rem; }
.policy-page { max-width: 880px; }
.policy-page h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); }
.policy-page h2 { font-size: 1.35rem; margin: 30px 0 10px; letter-spacing: -.02em; }
.policy-page p { color: var(--text); margin-top: 16px; }
.policy-date { font-size: .83rem; }
.policy-page .text-link { margin-top: 0; }
@media (max-width: 730px) { .portfolio-assurance { grid-template-columns: 1fr; gap: 12px; } .footer-company { width: 100%; padding: 0; } }

.enquiry-list { display: grid; gap: 16px; margin-top: 18px; }
.enquiry-record { border: 1px solid var(--line); border-radius: 10px; padding: 18px; background: #fff; }
.enquiry-record h3 { font-size: 1.1rem; margin-bottom: 12px; }
.enquiry-record dl { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 8px 14px; margin: 0; font-size: .87rem; }
.enquiry-record dt { font-weight: 700; }
.enquiry-record dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
@media(max-width:440px) { .enquiry-record dl {grid-template-columns: 1fr; gap: 4px;} .enquiry-record dd {margin-bottom: 10px;} }

@media (min-width:731px) and (max-width:980px) { .header nav { gap: 14px; font-size: .84rem; } }

/* Approved Sunlit Eagle-Eye reference: photographic architecture + live content. */
.showroom-hero { background: #edf0e7; }
.showroom { position: relative; }
.showroom-scene { position: relative; isolation: isolate; width: 100%; aspect-ratio: 1536 / 952; background: #eff1e8 url("assets/showroom/sunlit-room.png") center / 100% 100% no-repeat; overflow: hidden; }
.showroom-intro { position: absolute; left: 3.6%; top: 8%; width: 28%; z-index: 2; }
.showroom-gold-rule { display: block; width: clamp(25px, 3vw, 47px); height: 3px; background: #bb850f; }
.showroom-intro .showroom-gold-rule { margin-bottom: 29px; }
.showroom-intro h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(27px, 2.8vw, 46px); font-weight: 600; line-height: 1.06; letter-spacing: -.045em; color: #05383e; }
.showroom-intro .lead { font-size: clamp(14px, 1.37vw, 22px); line-height: 1.4; letter-spacing: -.02em; margin: 15px 0 0; max-width: 26ch; color: #102f3c; }
.showroom-caption { position: absolute; left: 7.4%; top: 39.3%; width: 21.5%; z-index: 3; }
.showroom-kicker { font-size: clamp(11px, 1.12vw, 18px); line-height: 1.25; font-weight: 560; text-transform: uppercase; color: #0e3440; }
.showroom-caption .showroom-gold-rule { margin: 17px 0 13px; }
.showroom-caption h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(25px, 2.95vw, 48px); line-height: 1.04; letter-spacing: -.045em; font-weight: 600; color: #07383f; }
#featured-product-name { margin-top: 10px; font-size: clamp(13px, 1.32vw, 21px); line-height: 1.25; max-width: 22ch; color: #173340; letter-spacing: -.02em; white-space: pre-line; }
.showroom-code { color: #b87609; font-size: clamp(12px, 1.23vw, 20px); line-height: 1.35; margin-top: 3px; }
.showroom-product { position: absolute; display: block; transform-origin: center bottom; }
.showroom-product img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center bottom; mix-blend-mode: multiply; }
.showroom-product img.showroom-cutout { mix-blend-mode: normal; }
.showroom-main { left: 24.3%; top: 10.5%; width: 50.4%; height: 55.5%; z-index: 1; }
.showroom-preview { left: 70.3%; top: 49%; width: 24%; height: 15.4%; z-index: 4; }
.showroom-product:hover img { filter: brightness(1.015); }
.showroom-next-caption { position: absolute; left: 73.3%; top: 67.2%; width: 22%; z-index: 5; }
.showroom-next-caption .showroom-gold-rule { width: 37px; height: 2px; margin: 8px 0 10px; }
#featured-preview-name { font: 600 clamp(15px, 1.5vw, 24px)/1.12 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; max-width: 90%; }
.showroom-next-caption .showroom-code { font-size: clamp(11px, 1.1vw, 18px); }
.showroom-next-arrow { position: absolute; right: 5%; top: 42%; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #234c50; border-radius: 50%; font: 24px/1 Arial,sans-serif; }
.showroom-caption a:hover h2,.showroom-next-caption a:hover p { text-decoration: underline; text-underline-offset: 5px; }
.showroom-actions { position: absolute; left: 4.9%; top: 67.7%; align-items: center; gap: 32px; z-index: 4; }
.showroom-actions .button { border-radius: 7px; min-height: 44px; padding: 11px 22px; gap: 5px; font-size: clamp(12px, 1.1vw, 18px); font-weight: 600; background: linear-gradient(100deg,#007d78,#006963); border-color: #00726d; box-shadow: 0 3px 13px #47736712; }
.showroom-actions .button > span:last-child { margin-left: 9px; font-size: 21px; line-height: 1; }
.showroom-all-products { font-size: clamp(12px, 1.1vw, 18px); font-weight: 600; border-bottom: 1px solid #bc8b3b; padding-block: 5px; }
.featured-controls { position: absolute; left: 38.2%; top: 77%; display: flex; align-items: center; gap: 20px; z-index: 5; }
.featured-controls button { color: #123e46; border: 1px solid #a9c9c5; background: #ffffff80; }
.featured-controls button:hover { background: #fff; border-color: #b98728; }
.featured-controls .showroom-arrow { border-radius: 50%; width: 34px; height: 34px; min-width: 34px; padding: 0; font: 27px/1 Arial,sans-serif; }
#featured-position { min-width: 62px; font-size: clamp(11px, 1.05vw, 17px); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.showroom-dots { display: flex; gap: 12px; align-items: center; }
.showroom-dots button { width: 12px; height: 12px; min-width: 12px; padding: 0; border-radius: 50%; background: #b3d1c6; border-color: #b3d1c6; position: relative; }
.showroom-dots button::before { content: ''; position: absolute; inset: -8px; }
.showroom-dots button[aria-current="true"] { background: #cb941d; border-color: #b88514; }
#featured-rotation { border: 0; background: transparent; width: 28px; height: 34px; padding: 0; font-size: 14px; }
.showroom-categories { position: absolute; left: 4%; right: 4%; top: 86.3%; display: grid; grid-template-columns: 1.85fr .95fr .95fr 1.1fr .95fr; gap: 3%; align-items: center; }
.showroom-categories h2 { font: 600 clamp(19px, 2.12vw, 34px)/1.02 Georgia,'Times New Roman',serif; letter-spacing: -.04em; border-left: 3px solid #bb8a24; padding-left: 16px; padding-right: 15px; position: relative; white-space: nowrap; }
.showroom-categories h2::after { content: ''; position: absolute; top: 5%; right: -6%; width: 1px; height: 85%; background: #8eaaa6; }
.showroom-category-link { position: relative; font-size: clamp(10px, 1.05vw, 17px); font-weight: 550; white-space: nowrap; padding-bottom: 13px; }
.showroom-category-link::after { content: ''; position: absolute; left: 0; bottom: 0; width: 90%; height: 4px; background: #b1d0c4; border-radius: 4px; }
.showroom-category-link > span { color: #b87d15; padding-left: 9px; font-size: 22px; line-height: .5; }
.showroom-category-link:hover { color: #00736d; }
.showroom-image-note { position: absolute; right: 2.8%; bottom: 2.6%; color: #25454a; font-size: clamp(8px, .78vw, 12px); font-style: italic; }
.portfolio-regions { margin: -10px 0 24px; }
.portfolio-regions span { display: inline; margin-left: 9px; }
body:has(.showroom-hero) .nav-shell { min-height: 72px; }
body:has(.showroom-hero) .nav-shell { width: min(1400px, 91%); }
body:has(.showroom-hero) .brand img { width: 248px; }
body:has(.showroom-hero) .header .button { border-radius: 6px; background: #00756e; }
@media (max-width: 1100px) and (min-width: 731px) {
  .showroom-intro .showroom-gold-rule { margin-bottom: 20px; }
  .showroom-caption .showroom-gold-rule { margin-block: 11px 9px; }
  .showroom-next-arrow { width: 25px; height: 25px; right: 1%; font-size: 18px; }
  .showroom-actions { gap: 20px; }
  .showroom-actions .button { min-height: 38px; padding: 9px 13px; }
  .featured-controls { gap: 12px; left: 37%; }
  .showroom-dots { gap: 9px; }
  .showroom-dots button { width: 9px; height: 9px; min-width: 9px; }
  .showroom-categories { gap: 2.5%; }
  .showroom-category-link > span { padding-left: 4px; font-size: 16px; }
  .showroom-categories h2 { padding-left: 9px; padding-right: 4px; }
}
@media (min-width: 731px) and (max-width: 950px) {
  .menu-toggle { display: block; background: white; border: 1px solid var(--line); border-radius: 6px; padding: 7px 10px; color: var(--ink); }
  .header nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; padding: 14px 24px; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 11px; }
  .header nav.open { display: flex; }
  .showroom-intro h1 { font-size: 2.8vw; }
  .showroom-caption h2 { font-size: 2.9vw; }
  .showroom-intro .lead { font-size: 1.4vw; margin-top: 10px; }
  #featured-product-name { font-size: 1.4vw; margin-top: 6px; }
  .showroom-caption .showroom-gold-rule { margin-block: 7px; height: 2px; }
  .showroom-next-caption .showroom-gold-rule { margin-block: 5px; }
  .showroom-categories h2 { font-size: 2.1vw; }
  .showroom-category-link { font-size: 1.02vw; }
  .showroom-next-arrow { display: none; }
  .featured-controls { gap: 8px; }
  .featured-controls .showroom-arrow { width: 26px; height: 26px; min-width: 26px; font-size: 23px; }
  #featured-position { min-width: 46px; font-size: 11px; }
  .showroom-dots { gap: 7px; }
  .showroom-dots button { width: 7px; height: 7px; min-width: 7px; }
  #featured-rotation { width: 20px; height: 26px; }
}
@media (max-width: 730px) {
  body:has(.showroom-hero) .nav-shell { min-height: 64px; gap: 12px; }
  body:has(.showroom-hero) .brand img { width: 191px; }
  .menu-toggle { white-space: nowrap; }
  .showroom-scene { --showroom-unit: calc(100vw / 390); aspect-ratio: auto; min-height: calc(850 * var(--showroom-unit)); background-image: url("assets/showroom/sunlit-room-mobile.png"); background-size: 100% auto; background-position: center calc(170 * var(--showroom-unit)); background-color: #f1f3eb; }
  .showroom-scene::before { content: ''; position: absolute; inset: 0 0 auto; height: calc(180 * var(--showroom-unit)); background: linear-gradient(#f5f6f0 85%,#f1f3eb00); z-index: 1; }
  .showroom-intro { left: 6%; top: 25px; width: 88%; }
  .showroom-intro .showroom-gold-rule { width: 32px; height: 2px; margin-bottom: 13px; }
  .showroom-intro h1 { font-size: clamp(29px, 8vw, 43px); max-width: 14ch; line-height: 1.05; }
  .showroom-intro .lead { margin-top: 12px; font-size: 14px; line-height: 1.4; max-width: 100%; }
  .showroom-intro .lead br { display: initial; }
  .showroom-main { left: 6%; top: calc(214 * var(--showroom-unit)); width: 88%; height: calc(246 * var(--showroom-unit)); }
  .showroom-preview { left: 62%; top: calc(415 * var(--showroom-unit)); width: 34%; height: calc(90 * var(--showroom-unit)); }
  .showroom-caption { left: 6%; top: calc(471 * var(--showroom-unit)); width: 52%; }
  .showroom-kicker { font-size: 10px; }
  .showroom-caption .showroom-gold-rule { width: 27px; height: 2px; margin: 8px 0 7px; }
  .showroom-caption h2 { font-size: 29px; }
  #featured-product-name { margin-top: 7px; font-size: 12px; max-width: 24ch; }
  .showroom-code { font-size: 12px; margin-top: 4px; }
  .showroom-next-caption { left: 64%; top: calc(516 * var(--showroom-unit)); width: 31%; }
  .showroom-next-caption .showroom-gold-rule { width: 25px; margin-block: 5px 6px; }
  #featured-preview-name { font-size: 15px; max-width: 100%; line-height: 1.1; }
  .showroom-next-caption .showroom-code { font-size: 11px; }
  .showroom-next-arrow { display: none; }
  .showroom-actions { left: 6%; top: calc(613 * var(--showroom-unit)); gap: 17px; }
  .showroom-actions .button { min-height: 39px; font-size: 12px; padding: 9px 13px; }
  .showroom-actions .button > span:last-child { font-size: 17px; margin-left: 4px; }
  .showroom-all-products { font-size: 12px; }
  .featured-controls { left: 6%; right: 6%; top: calc(674 * var(--showroom-unit)); justify-content: center; gap: 12px; }
  .featured-controls .showroom-arrow { width: 34px; height: 34px; min-width: 34px; }
  #featured-position { min-width: 49px; font-size: 12px; }
  .showroom-dots { gap: 8px; }
  .showroom-dots button { width: 8px; height: 8px; min-width: 8px; }
  #featured-rotation { width: 20px; min-width: 20px; }
  .showroom-categories { position: relative; left: auto; right: auto; top: auto; margin: calc(738 * var(--showroom-unit)) 6% 40px; grid-template-columns: 1fr 1fr; gap: 18px 23px; }
  .showroom-categories h2 { grid-column: 1 / -1; font-size: 26px; padding-left: 12px; border-left-width: 2px; white-space: normal; }
  .showroom-categories h2 br { display: none; }
  .showroom-categories h2::after { display: none; }
  .showroom-category-link { font-size: 11px; white-space: normal; padding-bottom: 9px; }
  .showroom-category-link > span { padding-left: 3px; font-size: 16px; }
  .showroom-category-link::after { height: 3px; width: 95%; }
  .showroom-image-note { font-size: 8px; bottom: 11px; right: 6%; }
  .portfolio-regions { font-size: 11px; }
}
@media (max-width: 360px) {
  body:has(.showroom-hero) .brand img { width: 166px; }
  .showroom-intro h1 { font-size: 28px; }
  .showroom-intro .lead { font-size: 13px; }
  .featured-controls { gap: 8px; }
  .showroom-dots { gap: 7px; }
  .showroom-caption h2 { font-size: 26px; }
  #featured-preview-name { font-size: 13px; }
  .showroom-actions { gap: 12px; }
  .showroom-actions .button { padding-inline: 10px; font-size: 11px; }
  .showroom-all-products { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .showroom * { animation: none !important; } }
