/* V8: spacious composition, luminous artwork, a disciplined type hierarchy. */
:root {
  --paper: #f6f7f9;
  --ink: #202a3a;
  --muted: #667081;
  --blue: #4762b8;
  --line: #dfe3e9;
  --night: #101725;
}
body {background:var(--paper);font-size:15px;letter-spacing:0;line-height:1.85}
h1,h2,h3 {font-weight:500;letter-spacing:-.035em}
.wrap {width:min(1240px,calc(100% - 88px))}
.section {padding-block:84px}
.no-top {padding-top:0}
.section-heading {align-items:flex-end;gap:32px;margin-bottom:34px}
.section-heading h2 {font-size:34px;line-height:1.5;font-weight:500}
.section-description {font-size:14px;line-height:1.85;color:var(--muted)}
.eyebrow {font-size:10px;letter-spacing:.18em;color:#728095;margin-bottom:14px;font-weight:500}
.eyebrow:before {display:none}
.micro-label {font-size:10px;font-weight:500;color:#748197;letter-spacing:.15em}
.text-link {font-size:13px;font-weight:500;color:#405990;letter-spacing:0;display:inline-flex;gap:22px;align-items:center}
.text-link:hover {color:#27488f}
.button {border-radius:2px;clip-path:none;background:#4661b1;border:1px solid #4661b1;box-shadow:none;font-size:13px;font-weight:500;letter-spacing:.03em;min-height:48px;padding:13px 23px;gap:25px;transition:background .18s,border-color .18s}
.button:hover {filter:none;background:#344d96;border-color:#344d96}
.button.secondary {background:transparent;border-color:#c5ccda;color:#3c528c}
.button.secondary:hover {background:#eaf0fa;border-color:#9daed1}
.button.small {font-size:12px;padding:10px 17px;min-height:40px}
[hidden] {display:none!important}

/* A quiet header lets the brand and artwork carry the identity. */
.header-shell {background:#101725f7;border-bottom:1px solid #ffffff13;backdrop-filter:blur(14px)}
.header-shell:after {display:none}
.site-header {height:76px;gap:28px}
.brand-word {font-size:19px;letter-spacing:.14em;font-weight:500}
.brand-sub {font-size:8px;letter-spacing:.29em;color:#8e9cae}
.brand-mark {width:43px;height:43px}
.header-shell .brand-mark img,.site-footer .brand-mark img {filter:brightness(1.4) contrast(1.02)}
.site-header nav {gap:34px;font-size:13px;color:#c1c9d6}
.site-header nav a {padding:24px 0;letter-spacing:0}
.site-header nav a:after {background:#9db9ea;height:1px}
.site-header .button {background:transparent;border-color:#62708b;color:#e7edf7}
.site-header .button:hover {background:#28354a;border-color:#a2b4d2}

/* Hero: one statement, one image, one primary action. */
.home-hero {background:radial-gradient(ellipse at 80% 40%,#24365666,transparent 63%),#101725;color:#f3f6fc;overflow:hidden;border-bottom:1px solid #263146}
.hero-layout {display:grid;grid-template-columns:.9fr 1.2fr;align-items:center;gap:20px;min-height:596px;padding-block:54px 48px}
.hero-copy {position:relative;z-index:1;padding-block:10px}
.hero-copy .eyebrow {color:#93a5c0;font-size:10px;letter-spacing:.19em;margin-bottom:26px}
.hero-copy .eyebrow span {font-family:var(--font-body);letter-spacing:.06em;margin-left:12px;color:#b4c0d2}
.hero-copy h1 {font-size:clamp(42px,4.65vw,65px);font-weight:500;line-height:1.48;letter-spacing:-.045em;white-space:nowrap}
.hero-copy h1 span {color:#bfd4f8}
.hero-intro {font-size:14px;line-height:2;color:#acb9cf;margin-top:23px;letter-spacing:.02em}
.hero-copy .hero-actions {display:flex;align-items:center;gap:28px;margin-top:33px}
.hero-copy .button {background:#d5e3f8;border-color:#d5e3f8;color:#17253b}
.hero-copy .button:hover {background:#eef4fc;border-color:#eef4fc}
.hero-explore {font-size:12px;color:#c9d4e7;display:inline-flex;align-items:center;gap:20px;padding-block:12px}
.hero-explore:hover {color:#f1f7ff}
.hero-scope {color:#8291a9;font-size:11px;margin-top:37px;letter-spacing:.07em}
.hero-scope i {margin-inline:13px;font-style:normal;color:#5a6a83}
.hero-art {position:relative;min-width:0;perspective:900px;margin-right:-28px;padding:0}
.hero-art:before,.hero-art:after {display:none}
.hero-art-image {transform:translate3d(var(--depth-x,0px),var(--depth-y,0px),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease-out;will-change:transform}
.hero-art img {width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at 50% 52%,#000 46%,#000c 64%,transparent 82%)}
.hero-art figcaption {display:flex;justify-content:flex-end;align-items:center;gap:22px;font-size:10px;color:#8e9db4;margin:8px 24px 0 0}
.hero-art figcaption button {border:0;background:none;padding:7px 0;color:#c2d0e5;font-size:11px;display:inline-flex;gap:15px;align-items:center}
.hero-art figcaption button:hover {color:#eff6ff}

/* Emotion is an editorial interlude, not another sales headline. */
.brand-story {padding-block:68px;background:#f6f7f9;border-bottom:0;color:var(--ink)}
.brand-story:before,.brand-story:after {display:none}
.story-layout {display:grid;grid-template-columns:.9fr 1.2fr;gap:70px;align-items:center}
.story-heading h2 {color:#263144;font-size:36px;line-height:1.6;font-weight:400;letter-spacing:.04em}
.story-copy {padding:0;border:0;color:#697385;font-size:14px;line-height:1.95;max-width:540px}
.story-copy .story-lead {font-weight:500;font-size:17px;color:#3b4a60;letter-spacing:.02em}
.story-copy p+p {margin-top:12px}

/* Six styles in a single calm gallery. */
.home-styles {border-top:1px solid var(--line)}
.curated-explorer {display:block;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.curated-explorer .style-tabs {display:flex;flex-direction:row;gap:28px;padding:0 0 22px;border:0;background:none;overflow-x:auto;scrollbar-width:thin}
.curated-explorer .style-tabs button {position:relative;display:block;flex:0 0 auto;min-height:36px;height:auto;width:auto;padding:6px 0;border:0;border-bottom:1px solid transparent;border-radius:0;clip-path:none;background:none;color:#79818e;font-weight:400;font-size:13px;letter-spacing:0;white-space:nowrap;box-shadow:none}
.curated-explorer .style-tabs button:before,.curated-explorer .style-tabs button:after {display:none}
.curated-explorer .style-tabs button[aria-selected=true] {background:none;border-color:#405d9d;color:#293c60;font-weight:500}
.curated-explorer .style-tabs button:hover {color:#293c60}
.curated-explorer .style-panel {display:grid;grid-template-columns:1.65fr 1fr;min-height:0;border:1px solid #e1e5eb;border-radius:3px;background:#fff;overflow:hidden;position:relative}
.curated-explorer .style-picture {position:relative;inset:auto;width:auto;height:auto;min-width:0;overflow:hidden}
.curated-explorer .style-picture img {height:100%;min-height:0;width:100%;aspect-ratio:3/2;object-fit:cover;transform:none}
.curated-explorer .style-picture:before,.curated-explorer .style-picture:after {display:none}
.curated-explorer .style-picture .image-tag {margin:0;position:absolute;left:18px;right:auto;bottom:16px;top:auto;padding:4px 9px;border:0;border-radius:2px;color:#edf2f9;background:#102139a3;font-size:9px;letter-spacing:.02em;backdrop-filter:blur(8px)}
.curated-explorer .style-copy {position:static;inset:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;margin:0;min-height:0;padding:35px;background:#fff;color:var(--ink)}
.curated-explorer .style-copy .micro-label {font-size:10px;color:#8894a7;font-weight:400;margin:0}
.curated-explorer .style-copy h3 {font-size:28px;font-weight:500;color:#27364d;line-height:1.55;margin:10px 0 16px;letter-spacing:-.03em}
.curated-explorer .style-copy>p:not(.micro-label) {font-size:13px;color:#6c7788;line-height:1.95;margin:0}
.curated-explorer .style-copy .style-tags {font-size:10px!important;color:#8791a0;margin-top:20px!important;line-height:1.8;letter-spacing:.02em}
.curated-explorer .style-copy .text-link {margin-top:29px;color:#405990;grid-column:auto;grid-row:auto}
.scenario-details {border-top:1px solid var(--line);margin-top:24px;padding-top:12px}
.scenario-details summary {cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:12px;color:#6c788b;padding:0}
.scenario-details summary::-webkit-details-marker {display:none}
.scenario-details summary span {font-size:20px;font-weight:300;color:#7e8ca2}
.scenario-details[open] summary span {transform:rotate(45deg)}
.scenario-details .scenario-picker {display:block;border:0;margin:0;padding:16px 0 4px}
.scenario-options {display:flex;flex-wrap:wrap;gap:9px}
.scenario-options button {min-height:40px;background:#fff;border:1px solid #d7dee8;color:#657387;border-radius:3px;padding:7px 12px;font-size:12px}
.scenario-options button[aria-pressed=true] {color:#344c82;border-color:#a1b3d7;background:#eaf0fa}
.scenario-description {color:#6f7b8e;font-size:13px;line-height:1.8;margin-top:16px}

/* Pending cases remain honest and compact until real material is supplied. */
.home-cases {padding-block:0 64px;background:var(--paper)}
.home-cases>.wrap {border-top:1px solid var(--line);padding-top:36px}
.home-cases .section-heading {margin-bottom:22px}
.home-cases h2 {font-size:28px}
.case-awaiting {display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:13px;color:#7b8697}
.case-awaiting>span {font-size:11px;color:#7b879a;white-space:nowrap}
.case-awaiting i {font-style:normal;color:#b2bac7;margin-inline:12px}

/* Product image and function take priority over decoration. */
.home-product {background:#131d2e;color:#ecf1f8}
.home-product .eyebrow {color:#92a5c0}
.home-product .section-heading h2 {color:#edf2fb;font-size:32px;font-weight:400}
.home-product .text-link {color:#b8ccea}
.home-product .text-link:hover {color:#eff5ff}
.original-product {display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;border-top:1px solid #cad9f020;padding-top:36px}
.original-product+.original-product {margin-top:40px}
.original-image {overflow:hidden;border-radius:3px;background:#101727}
.original-image img {width:100%;height:auto;max-height:335px;object-fit:contain;transition:transform .4s ease}
.original-product:hover img {transform:scale(1.02)}
.original-copy {max-width:460px}
.original-copy .product-stage {font-size:10px;color:#96a8c4;letter-spacing:.05em;margin-bottom:15px}
.original-copy h3 {font-size:30px;line-height:1.5;color:#edf3fb;font-weight:400;margin-bottom:18px}
.original-copy>p:not(.product-stage) {font-size:14px;line-height:1.95;color:#a8b7cd}
.original-copy>.text-link {margin-top:28px}

.delivery-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.delivery-grid article {padding-top:24px;border-top:1px solid #cdd5e0}
.delivery-number {font-family:var(--font-tech);font-size:12px;color:#8292ad;font-weight:400}
.delivery-grid h3 {font-size:22px;font-weight:500;line-height:1.5;margin:16px 0 14px;color:#34435c}
.delivery-grid p {font-size:13px;line-height:1.95;color:#728094;max-width:310px}
.delivery-support {display:flex;justify-content:space-between;gap:24px;margin-top:40px;padding-top:21px;border-top:1px solid var(--line);font-size:12px;color:#7b8697}
.home-company {background:#eef1f5;padding-block:58px;border-block:1px solid #e2e6ed}
.company-band {display:grid;grid-template-columns:.9fr 1.2fr;gap:70px;align-items:center}
.company-band h2 {font-size:30px;font-weight:400;line-height:1.5;color:#32425b}
.company-band p:not(.eyebrow) {font-size:13px;line-height:1.95;color:#6c7b91;max-width:530px}
.company-band .text-link {margin-top:20px}
.home-contact {padding-block:62px;background:#f9fafc}
.contact-band {display:grid;grid-template-columns:1fr auto 84px;gap:40px;align-items:center}
.contact-band h2 {font-size:32px;font-weight:400;line-height:1.5;color:#293c59}
.contact-band p:not(.eyebrow) {font-size:12px;color:#7a889d;margin-top:15px}
.contact-band-actions {display:flex;flex-direction:column;align-items:center;gap:16px}
.contact-band .contact-number {font-size:18px;font-family:var(--font-tech);font-weight:400;letter-spacing:.06em;color:#5f7495;white-space:nowrap}
.brand-companion {width:84px;height:127px;object-fit:contain;opacity:.94}

/* The same hierarchy carries through the detail pages. */
.page-heading {padding-block:68px 48px}
.page-heading:before,.page-heading:after {display:none}
.page-heading h1 {font-size:46px;font-weight:500;line-height:1.5;max-width:850px}
.page-heading .lede {font-size:15px;color:#6c788c;margin-top:19px}
.company-intro h2,.visit-layout h2,.prose h2 {font-size:30px;font-weight:500}
.company-intro .prose {font-size:14px;color:#65758b}
.service-card,.feature-grid article {background:#fafbfd;border:1px solid #dfe5ed;clip-path:none;border-radius:3px;box-shadow:none;padding:30px}
.service-card h2,.service-card h3 {font-weight:500;font-size:23px}
.product-card {border-radius:3px;clip-path:none;box-shadow:none;border:1px solid #53627b;background:#1b293f}
.product-card:before,.product-card:after,.product-card-image:after {display:none}
.product-card-copy h3 {font-size:29px;font-weight:400}
.product-card-copy .eyebrow {font-size:10px;font-weight:400}
.company-pillars article,.aftercare-grid article {background:transparent;box-shadow:none}
.company-pillars h3 {font-size:21px;font-weight:500}
.product-hero-shell {background:#141e30}
.product-hero-shell:before,.product-main-image:before {display:none}
.aftercare-section {background:#f3f5f8}
.aftercare-grid h3 {font-weight:500;font-size:20px}
.showroom-section {background:#edf1f6}
.showroom-section .section-heading h2 {font-size:34px;font-weight:500}
.room-card,.showroom-card,.location-graphic,.open-badge {clip-path:none;box-shadow:none;border-radius:3px}
.empty-state {border:1px solid #dce3ed;background:#fafbfd;border-radius:3px;box-shadow:none}
.empty-state h3 {font-size:20px;font-weight:500}
.empty-symbol {display:none}
.image-tag {font-size:10px;font-weight:400;border-radius:2px}
.care-details {background:transparent;border-color:#d4dce7}
.room-preview-dialog,.preview-dialog {border-radius:4px;box-shadow:0 30px 90px #070f2e42;border:1px solid #abbcd5}
.dialog-heading {padding-block:15px;background:#f2f5fa;border-bottom:1px solid #d8e0ec}
.dialog-heading h2 {font-size:20px;font-weight:500;line-height:1.5}
.dialog-close {border-radius:2px;clip-path:none;box-shadow:none}
.site-footer {background:#101725;border-top:1px solid #d9e4f514;padding-block:36px 26px}
.footer-top {padding-bottom:24px;gap:28px}
.footer-top p {font-size:12px;font-weight:400;color:#8fa0b9;letter-spacing:.03em}
.footer-phone {font-size:18px;font-weight:400;color:#afbdd3}
.footer-phone span {font-size:9px;color:#8193ad;letter-spacing:.08em}
.footer-meta {font-size:10px;color:#8292aa;border-color:#b7c8e31a;gap:22px}
.preview-note {font-size:9px;color:#8292aa;letter-spacing:0;margin-top:16px}
.back-top {border-radius:2px;clip-path:none;background:#f6f8fc;color:#566b91;border:1px solid #ccd7e7;box-shadow:none;width:40px;height:40px;font-size:18px}

@media (max-width:1100px) {
  .wrap {width:calc(100% - 48px)}
  .hero-layout {min-height:560px;grid-template-columns:1fr 1.12fr;gap:10px}
  .hero-copy h1 {font-size:47px}
  .hero-intro {font-size:12px}
  .hero-copy .hero-actions {gap:18px}
  .hero-copy .button {padding:12px 17px;font-size:12px;gap:15px}
  .hero-explore {font-size:11px;gap:10px}
  .hero-art {margin-right:-18px}
  .curated-explorer .style-tabs {gap:22px}
  .curated-explorer .style-copy {padding:26px}
  .curated-explorer .style-copy h3 {font-size:25px}
  .section-heading h2 {font-size:30px}
  .original-product {gap:36px}
  .story-layout,.company-band {gap:45px}
  .site-header nav {gap:24px}
}
@media (max-width:800px) {
  html {scroll-padding-top:116px}
  .wrap {width:calc(100% - 40px)}
  .section {padding-block:54px}
  .no-top {padding-top:0}
  .site-header {display:grid;grid-template-columns:1fr auto;height:auto;min-height:101px;padding-block:12px 8px;gap:8px 16px}
  .site-header nav {grid-column:1/-1;grid-row:2;justify-content:space-between;display:flex;gap:12px;font-size:12px;width:100%}
  .site-header nav a {padding:6px 0}
  .site-header nav a:after {bottom:0}
  .brand-word {font-size:17px;letter-spacing:.12em}
  .brand-sub {font-size:7px}
  .brand-mark {width:35px;height:35px}
  .site-header .button.small {font-size:10px;padding:7px 11px;min-height:35px;gap:16px}
  .hero-layout {display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-block:39px 22px;gap:12px}
  .hero-copy {padding:0}
  .hero-copy .eyebrow {font-size:8px;margin-bottom:18px;letter-spacing:.17em}
  .hero-copy .eyebrow span {font-size:9px;margin-left:10px}
  .hero-copy h1 {font-size:clamp(35px,8.9vw,54px);line-height:1.48;letter-spacing:-.035em}
  .hero-intro {font-size:12px;line-height:1.95;margin-top:17px}
  .hero-copy .hero-actions {margin-top:24px;gap:26px}
  .hero-copy .button {font-size:12px;padding:12px 17px;min-height:44px}
  .hero-explore {font-size:11px;gap:12px}
  .hero-scope {font-size:10px;margin-top:22px;letter-spacing:.02em}
  .hero-scope i {margin-inline:10px}
  .hero-art {margin:0 -12px}
  .hero-art img {width:100%;max-height:380px;object-fit:contain}
  .hero-art figcaption {margin:0 12px 0 0;gap:18px;font-size:9px}
  .hero-art figcaption button {font-size:10px;min-height:30px}
  .brand-story {padding-block:43px}
  .story-layout {grid-template-columns:1fr;gap:23px}
  .story-heading h2 {font-size:29px;line-height:1.5;letter-spacing:.02em}
  .story-copy {font-size:13px;line-height:1.95}
  .story-copy .story-lead {font-size:15px}
  .section-heading {display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:23px}
  .section-heading h2 {font-size:27px;line-height:1.55}
  .section-description {font-size:12px}
  .section-description br {display:none}
  .eyebrow {font-size:9px;margin-bottom:11px}
  .text-link {font-size:12px;gap:18px}
  .curated-explorer .style-tabs {display:grid;grid-template-columns:repeat(3,1fr);gap:8px 12px;overflow:visible;padding-bottom:20px}
  .curated-explorer .style-tabs button {font-size:11px;min-height:34px;padding:6px 0;text-align:left;white-space:normal;line-height:1.65}
  .curated-explorer .style-panel {display:block}
  .curated-explorer .style-picture img {aspect-ratio:3/2;width:100%;height:auto;min-height:0}
  .curated-explorer .style-picture .image-tag {left:12px;bottom:12px;font-size:8px}
  .curated-explorer .style-copy {padding:23px 22px 25px;display:block}
  .curated-explorer .style-copy h3 {font-size:24px;margin:7px 0 12px}
  .curated-explorer .style-copy>p:not(.micro-label) {font-size:12px}
  .curated-explorer .style-copy .style-tags {margin-top:14px!important;font-size:9px!important}
  .curated-explorer .style-copy .text-link {margin-top:19px}
  .scenario-details {margin-top:18px;padding-top:6px}
  .scenario-details summary {font-size:11px}
  .scenario-options button {font-size:11px;padding:6px 10px}
  .scenario-description {font-size:12px}
  .home-cases {padding-bottom:45px}
  .home-cases>.wrap {padding-top:29px}
  .home-cases .section-heading {flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px}
  .home-cases h2 {font-size:26px}
  .case-awaiting {flex-direction:column;align-items:flex-start;gap:14px;font-size:12px}
  .case-awaiting>span {font-size:10px}
  .case-awaiting i {margin-inline:7px}
  .home-product .section-heading h2 {font-size:26px;line-height:1.55}
  .original-product {grid-template-columns:1fr;gap:24px;padding-top:23px}
  .original-image img {max-height:270px}
  .original-copy h3 {font-size:26px;margin-bottom:12px}
  .original-copy .product-stage {font-size:9px;margin-bottom:10px}
  .original-copy>p:not(.product-stage) {font-size:12px}
  .original-copy>.text-link {margin-top:20px}
  .delivery-grid {grid-template-columns:1fr;gap:24px}
  .delivery-grid article {padding-top:18px;display:grid;grid-template-columns:30px 1fr;gap:8px 12px;align-items:baseline}
  .delivery-grid h3 {font-size:20px;margin:0}
  .delivery-grid p {grid-column:2;font-size:12px;max-width:none}
  .delivery-number {font-size:10px}
  .delivery-support {flex-direction:column;gap:10px;margin-top:26px;padding-top:18px;font-size:11px}
  .home-company {padding-block:43px}
  .company-band {grid-template-columns:1fr;gap:20px}
  .company-band h2 {font-size:26px}
  .company-band p:not(.eyebrow) {font-size:12px}
  .company-band .text-link {margin-top:16px}
  .home-contact {padding-block:43px}
  .contact-band {grid-template-columns:1fr 63px;gap:25px 12px}
  .contact-band h2 {font-size:26px}
  .contact-band p:not(.eyebrow) {font-size:11px;margin-top:10px}
  .contact-band-actions {grid-column:1;grid-row:2;flex-direction:row;justify-content:flex-start;gap:22px}
  .contact-band-actions .button {font-size:11px;gap:15px;padding:11px 15px;min-height:43px}
  .contact-band .contact-number {font-size:14px;letter-spacing:.03em}
  .brand-companion {grid-column:2;grid-row:1;width:63px;height:96px}
  .page-heading {padding-block:44px 34px}
  .page-heading h1 {font-size:34px;font-weight:500;line-height:1.5}
  .page-heading .lede {font-size:13px}
  .company-intro h2,.visit-layout h2,.prose h2 {font-size:26px}
  .showroom-section .section-heading h2 {font-size:27px}
  .service-card,.feature-grid article {padding:23px}
  .service-card h2,.service-card h3 {font-size:22px}
  .product-card-copy h3 {font-size:26px}
  .site-footer {padding-block:28px 23px}
  .footer-top {display:flex;flex-wrap:wrap;gap:17px 25px;padding-bottom:20px}
  .footer-top p {font-size:10px}
  .footer-phone {font-size:16px}
  .footer-meta {font-size:9px;gap:12px}
  .preview-note {font-size:8px;line-height:1.8}
}
@media (prefers-reduced-motion:reduce) {
  .hero-art-image,.original-image img {transition:none;transform:none!important}
}
