:root{--navy:var(--magnus-navy);--muted:var(--magnus-muted);--burgundy:var(--magnus-burgundy);--rule:var(--magnus-rule);--gutter:4.12vw;font-family:var(--magnus-font);color:var(--navy);background:#eef3f7;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,figure,p,h1,h2{margin:0}
button{border:0}
button:focus-visible,a:focus-visible{outline:3px solid var(--burgundy);outline-offset:7px}
.skip-link{position:fixed;left:20px;top:12px;z-index:30;padding:12px 18px;background:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.homepage{width:100%;min-height:100svh;display:flex;flex-direction:column;overflow:hidden}
.hero{position:relative;height:85.6svh;min-height:0;isolation:isolate}
.architecture{position:absolute;inset:0;z-index:-3;background:#e7eff5 url('showroom-assets/studio.svg') center/100% 100% no-repeat}
.site-header{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:2.18svh var(--gutter) 0;gap:2vw}
.brand{display:block;flex:none;width:14.7vw;max-width:350px}
.brand img{display:block;width:100%;height:auto}
.navigation{display:flex;align-items:center;gap:3.6vw;margin-left:6.2vw;font-size:clamp(14px,1.06vw,24px);white-space:nowrap}
.navigation button{padding:0;background:none}
.navigation a:hover,.navigation button:hover{text-decoration:underline;text-underline-offset:5px}
.appointment{padding:0 1.95vw;height:5.05svh;min-height:44px;border:1px solid var(--navy);border-radius:50px;background:transparent;font-size:clamp(12px,.88vw,20px);font-weight:600;white-space:nowrap}
.appointment:hover{background:#ffffff36}
.menu-toggle{display:none}
.mobile-appointment{display:none}
.hero-copy{position:absolute;top:20.2%;left:var(--gutter);z-index:3;width:34vw}
.eyebrow{font-size:clamp(11px,.8vw,18px);letter-spacing:.43em;font-weight:600;line-height:1.5;color:#65718b;white-space:nowrap}
h1{font-size:min(7.55vw,12svh);font-weight:400;letter-spacing:-.045em;line-height:.89;margin:2.5svh 0 1.55svh -0.38vw}
h1 span{display:block;white-space:nowrap}
.description{font-size:clamp(17px,1.37vw,31px);line-height:1.48;letter-spacing:-.014em;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:2.75vw;margin-top:3.25svh;white-space:nowrap}
.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:1.05vw;padding:0 2.4vw;height:5.95svh;min-height:50px;border-radius:50px;background:var(--burgundy);color:#fff;font-size:clamp(16px,1.16vw,27px);font-weight:400}
.primary-action:hover{background:#6e1422}
.primary-action svg{width:1.4vw;min-width:20px;fill:none;stroke:currentColor;stroke-width:1.35}
.range-link{font-size:clamp(15px,1.06vw,24px);line-height:1.6;border-bottom:1px solid currentColor}
.product-scene{position:absolute;inset:0;z-index:1;pointer-events:none}
.model-backdrop{position:absolute;top:16.6%;left:39.5%;font-size:min(26.8vw,43svh);line-height:1;letter-spacing:-.065em;font-weight:700;color:#53738c;opacity:.16}
.product-frame{position:absolute;right:9.3%;bottom:11.7%;width:min(54.3vw,87svh);aspect-ratio:2900/2140}
.product{position:relative;z-index:2;display:block;width:100%;height:auto}
.product.motion-enabled{pointer-events:auto;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;transform-origin:50% 50%}
@media(prefers-reduced-motion:reduce){.product.motion-enabled{transform:none!important;will-change:auto!important;touch-action:auto}}
.product-reflection{position:absolute;top:100%;left:0;width:100%;height:34%;object-fit:fill;transform:scaleY(-1);opacity:.14;filter:blur(3px);mask-image:linear-gradient(to top,#000,transparent 90%)}
.floor-shadow{position:absolute;right:10%;bottom:10%;width:44%;height:6%;background:radial-gradient(ellipse,#5164794d 0%,#617b9425 39%,transparent 72%);filter:blur(8px);transform:rotate(1deg)}
.annotation{position:absolute;z-index:4;display:flex;align-items:center;font-size:clamp(10px,.79vw,18px);white-space:nowrap}
.annotation svg{fill:none;stroke:#fff;stroke-width:1.6;overflow:visible}
.annotation-comfort{left:-2.4%;top:65.5%;align-items:flex-end;gap:.2vw}
.annotation-comfort > span{padding-bottom:0}
.annotation-comfort svg{width:6.55vw;height:6.45vw;max-width:9.9svh;max-height:9.8svh;margin-bottom:-.2vw}
.annotation-controls{right:-14.5%;top:49.5%;gap:.3vw}
.annotation-controls svg{width:4.1vw;height:3vw}
.annotation-controls > span{align-self:flex-start;margin-top:.1vw}
.detail-rail{height:14.4svh;min-height:0;position:relative;z-index:5;display:grid;grid-template-columns:38% 39% 23%;align-items:center;padding:0 var(--gutter);background:#f1f5f9}
.rail-shape{position:absolute;z-index:-1;top:-2.55svh;left:0;width:100%;height:calc(100% + 2.55svh);fill:#f1f5f9;pointer-events:none}
.rail-seam{fill:none;stroke:#fff;stroke-width:1.5}
.model-identification{display:flex;align-items:center;gap:2.9vw}
.model-name{font-size:min(4.65vw,7.5svh);letter-spacing:-.05em;font-weight:700;line-height:1}
.model-category{padding-left:2.9vw;border-left:1px solid var(--rule);font-size:clamp(10px,.83vw,19px);font-weight:600;letter-spacing:.36em;line-height:3;color:#65718b;white-space:nowrap}
.console-detail{display:flex;align-items:center;gap:1.45vw}
.console-detail img{width:10.65vw;height:8.95svh;object-fit:cover;object-position:center 32%;border-radius:10px}
.console-detail h2{font-size:clamp(15px,1.15vw,27px);letter-spacing:-.02em;font-weight:600;line-height:1.4;white-space:nowrap}
.console-detail p{font-size:clamp(12px,.96vw,22px);line-height:1.7;color:var(--muted);white-space:nowrap}
.discover-more{display:flex;align-items:center;justify-content:flex-end;gap:2.1vw;min-height:5.5svh;border-left:1px solid var(--rule);font-size:clamp(14px,1.1vw,26px);white-space:nowrap}
.discover-more svg{width:1.9vw;height:4.6svh;fill:none;stroke:currentColor;stroke-width:1.2}
.discover-more:hover span{text-decoration:underline;text-underline-offset:5px}
.availability-status{position:fixed;z-index:20;top:calc(8svh + 12px);right:var(--gutter);max-width:360px;padding:16px 20px;background:#f9fbfd;color:var(--navy);box-shadow:0 5px 26px #102b4720;border:1px solid #bdcbd6;border-radius:8px;font-size:14px;line-height:1.5}
.availability-status:empty{display:none}
@media(min-width:1800px){.hero-copy{width:35vw}.description{font-size:min(1.37vw,2.28svh)}.model-backdrop{left:43%}}
@media(max-width:1100px) and (min-width:761px){.navigation{gap:2vw;margin-left:0}.hero-copy{top:23%}.hero-actions{gap:2vw}.primary-action{padding-inline:2vw}.annotation-controls{right:-16%}.model-category{letter-spacing:.25em}.console-detail{gap:1vw}}
@media(max-width:760px){
  :root{--gutter:24px}
  .homepage{min-height:100svh}
  .hero{height:auto;min-height:0;padding-bottom:18px}
  .architecture{background-size:auto 100%;background-position:60% 50%;opacity:.8}
  .architecture::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#f8fbfd 10%,#f8fbfdb3 34%,transparent 75%)}
  .site-header{height:88px;padding:20px var(--gutter);gap:12px;flex-wrap:wrap}
  .brand{width:155px;max-width:none}
  .appointment{display:none}
  .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;padding:8px;background:transparent;border:1px solid #77849b;border-radius:50%;margin-left:auto}
  .menu-toggle .menu-line{height:1px;width:19px;background:var(--navy)}
  .menu-toggle[aria-expanded=true] .menu-line:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-line:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .navigation{display:none;position:absolute;left:24px;right:24px;top:82px;margin:0;padding:18px 22px;background:#f8fbfd;border:1px solid #b8c6d2;border-radius:8px;box-shadow:0 8px 26px #17334a12;font-size:16px;white-space:normal}
  .navigation.is-open{display:flex;align-items:flex-start;flex-direction:column;gap:0}
  .navigation a,.navigation button{padding:13px 0;text-align:left;width:100%}
  .navigation .mobile-appointment{display:block;border-top:1px solid #d5dee5;margin-top:8px;padding-top:20px;font-weight:600}
  .hero-copy{position:relative;top:auto;left:auto;width:auto;padding:34px var(--gutter) 0}
  .eyebrow{font-size:11px;letter-spacing:.25em}
  h1{font-size:clamp(52px,15.5vw,92px);line-height:.95;letter-spacing:-.06em;margin:23px 0 20px -2px}
  .description{font-size:17px;line-height:1.5;max-width:430px}
  .desktop-break{display:none}
  .hero-actions{gap:25px;margin-top:25px;flex-wrap:wrap}
  .primary-action{font-size:15px;min-height:49px;height:49px;gap:13px;padding:0 23px}
  .primary-action svg{width:20px}
  .range-link{font-size:14px}
  .product-scene{position:relative;inset:auto;height:auto;margin:36px 0 15px;padding:32px 18px 38px}
  .model-backdrop{font-size:55vw;top:-12px;left:22%;opacity:.16}
  .product-frame{position:relative;width:100%;right:auto;bottom:auto;margin:0}
  .product-reflection{height:19%;opacity:.12;filter:blur(2px)}
  .floor-shadow{right:7%;bottom:31px;width:76%;height:28px}
  .annotation{font-size:11px;white-space:normal;line-height:1.3}
  .annotation-comfort{top:77%;left:0;gap:0;max-width:132px;align-items:center}
  .annotation-comfort > span{max-width:84px;padding-top:30px}
  .annotation-comfort svg{width:45px;height:55px;flex:none;margin:0}
  .annotation-controls{top:36%;right:-4px;gap:0;align-items:center;flex-direction:column-reverse;width:76px;text-align:center}
  .annotation-controls svg{width:30px;height:24px;transform:rotate(-20deg);margin-right:17px}
  .annotation-controls > span{align-self:center;max-width:76px;margin:0}
  .detail-rail{height:auto;min-height:0;display:grid;grid-template-columns:1fr;gap:24px;padding:27px var(--gutter) 29px}
  .rail-shape{top:-17px;height:90px}
  .model-identification{gap:25px}
  .model-name{font-size:52px}
  .model-category{padding-left:25px;font-size:11px;letter-spacing:.28em;line-height:2.8}
  .console-detail{gap:18px}
  .console-detail img{width:112px;height:67px;border-radius:7px}
  .console-detail h2{font-size:16px}
  .console-detail p{font-size:12px;white-space:normal}
  .discover-more{border-left:0;border-top:1px solid #cbd6df;justify-content:space-between;padding-top:20px;min-height:0;font-size:15px}
  .discover-more svg{width:23px;height:35px}
  .availability-status{top:88px;left:24px;right:24px;max-width:none}
}
@media(max-width:359px){:root{--gutter:20px}.hero-actions{gap:18px}.primary-action{padding-inline:20px}.eyebrow{letter-spacing:.23em}.console-detail{gap:13px}.console-detail img{width:96px}}

/* The semantic target stays still; a single visual surface moves inside it. */
.hover-bob-surface{display:block;pointer-events:none}
.thumbnail-target{display:block}
.thumbnail-target img{display:block}
.annotation > [data-hover-bob]{pointer-events:auto}
.primary-action.bob-ready,.appointment.bob-ready,.menu-toggle.bob-ready{padding:0;border:0;background:transparent}
.primary-action.bob-ready > .hover-bob-surface,.appointment.bob-ready > .hover-bob-surface,.menu-toggle.bob-ready > .hover-bob-surface,.discover-more.bob-ready > .hover-bob-surface{display:flex;align-items:center;justify-content:inherit;gap:inherit;height:100%;border-radius:inherit}
.primary-action.bob-ready > .hover-bob-surface{padding:0 2.4vw;background:var(--burgundy)}
.primary-action.bob-ready:hover > .hover-bob-surface{background:#6e1422}
.appointment.bob-ready > .hover-bob-surface{padding:0 1.95vw;border:1px solid var(--navy);justify-content:center}
.appointment.bob-ready:hover > .hover-bob-surface{background:#ffffff36}
.range-link.bob-ready{border-bottom:0}
.range-link.bob-ready > .hover-bob-surface{border-bottom:1px solid currentColor}
.discover-more.bob-ready > .hover-bob-surface{width:100%}
@media(max-width:1100px) and (min-width:761px){.primary-action.bob-ready > .hover-bob-surface{padding-inline:2vw}}
@media(max-width:760px){
  .primary-action.bob-ready > .hover-bob-surface{padding-inline:23px}
  .menu-toggle.bob-ready > .hover-bob-surface{width:100%;flex-direction:column;padding:8px;border:1px solid #77849b}
}
@media(max-width:359px){.primary-action.bob-ready > .hover-bob-surface{padding-inline:20px}}
@media(prefers-reduced-motion:reduce),(any-hover:none){.hover-bob-surface{translate:none!important}}

/* Keep the composition at a reading distance on desktop; mobile stays unchanged. */
@media(min-width:1100px){
  :root{--gutter:var(--magnus-gutter)}
  .hero{height:min(85.6svh,740px)}
  .site-header{padding-top:24px;gap:28px}
  .brand{width:190px}
  .navigation{font-size:14px;gap:36px;margin-left:0}
  .appointment{height:46px;font-size:13px;padding-inline:24px}
  .appointment.bob-ready>.hover-bob-surface{padding-inline:24px}
  .hero-copy{top:20%;width:min(430px,37vw)}
  .eyebrow{font-size:11px;letter-spacing:.3em}
  h1{font-size:clamp(68px,6.4vw,88px);line-height:.96;margin:24px 0 20px -3px}
  .description{font-size:18px;line-height:1.55}
  .hero-actions{gap:28px;margin-top:28px}
  .primary-action{font-size:16px;height:52px;gap:16px;padding-inline:28px}
  .primary-action.bob-ready>.hover-bob-surface{padding-inline:28px}
  .primary-action svg{width:22px}
  .range-link{font-size:15px}
  .product-scene{left:var(--gutter);right:var(--gutter)}
  .product-frame{right:4%;width:min(57%,760px,84svh)}
  .model-backdrop{left:41%;font-size:clamp(260px,24vw,360px)}
  .floor-shadow{right:4%;width:53%}
  .annotation{font-size:12px}
  .annotation-comfort{gap:3px}
  .annotation-comfort svg{width:88px;height:86px}
  .annotation-controls{right:-13%;gap:4px}
  .annotation-controls svg{width:56px;height:40px}
  .detail-rail{height:min(14.4svh,116px)}
  .rail-shape{top:-22px;height:calc(100% + 22px)}
  .model-identification{gap:28px}
  .model-name{font-size:56px}
  .model-category{font-size:10px;letter-spacing:.3em;padding-left:28px}
  .console-detail{gap:20px}
  .console-detail img{width:128px;height:70px}
  .console-detail h2{font-size:17px}
  .console-detail p{font-size:14px}
  .discover-more{font-size:15px;gap:28px;min-height:48px}
  .discover-more svg{width:24px;height:40px}
}
