/* Reference composition: one continuous scene, original ATLAS content and controls. */
.atlas-reference-home {
  --reference-white:var(--atlas-page-bg); --reference-black:var(--atlas-ink); --reference-grey:var(--atlas-line);
  --reference-service-band:34%; --story-top:80px;
  position:relative; color:var(--atlas-ink); background:var(--atlas-page-bg);
}
.atlas-reference-home .atlas-reference-journey { position:relative; }
.atlas-reference-home .container { width:min(1120px,calc(100% - 64px)); }
.atlas-reference-home [data-reference-scene] { scroll-margin-top:var(--story-top); }
.atlas-reference-home .atlas-reference-visual { display:none; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-visual {
  position:fixed; inset:var(--story-top) 0 0; z-index:1; display:block;
  height:auto; padding:0; border:0; overflow:hidden; pointer-events:none;
  opacity:var(--reference-visual-opacity,1);
}
.atlas-reference-home .atlas-reference-visual .atlas-story-stage { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; }
.atlas-reference-home .atlas-reference-visual canvas { position:absolute; inset:0; width:100%; height:100%; display:block; pointer-events:none; }
.atlas-reference-home .atlas-reference-visual .atlas-story-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.atlas-reference-home [data-model-ready="true"] .atlas-story-poster { opacity:0; }
.atlas-reference-home .atlas-reference-scene-index { position:relative; z-index:2; display:block; font-size:9px; font-weight:500; line-height:1.4; letter-spacing:.045em; text-transform:uppercase; }
.atlas-reference-home .btn { min-height:40px; padding:10px 20px; border-radius:999px; font-size:11px; font-weight:500; }

/* The car stays in the white band as the black service text travels beneath. */
.atlas-reference-home .atlas-reference-services { position:relative; }
.atlas-reference-home .atlas-reference-services-band { position:relative; min-height:200px; padding:28px 3vw 0; overflow:hidden; }
.atlas-reference-home .atlas-reference-marquee { color:var(--reference-grey); font-size:clamp(80px,18vw,300px); font-weight:700; line-height:.85; letter-spacing:-.065em; white-space:nowrap; transform:translateX(var(--reference-marquee-x,0px)); user-select:none; pointer-events:none; }
.atlas-reference-home .atlas-reference-services-body { position:relative; min-height:430px; padding:56px 7vw 76px; color:#fff; }
.atlas-reference-home .atlas-reference-services-body::before { content:''; position:absolute; inset:0; z-index:0; background:#111216; }
.atlas-reference-home .atlas-reference-services-track { position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:start; gap:72px; }
.atlas-reference-home .atlas-reference-services-intro { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); column-gap:48px; width:min(750px,80vw); flex:none; }
.atlas-reference-home .atlas-reference-services-intro .eyebrow { grid-column:1 / -1; margin-bottom:15px; font-size:9px; color:#858587; }
.atlas-reference-home .atlas-reference-services-intro h2 { margin:0; font-size:clamp(30px,3.5vw,52px); line-height:.98; font-weight:650; text-transform:uppercase; letter-spacing:-.045em; }
.atlas-reference-home .atlas-reference-services-intro p { margin:2px 0 0; font-size:12px; line-height:1.55; color:#a4a4a7; }
.atlas-reference-home .atlas-reference-services .feature-card { flex:none; width:220px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.atlas-reference-home .atlas-reference-services .feature-card .kicker { margin-bottom:18px; color:#767679; font-size:9px; letter-spacing:.045em; text-transform:uppercase; }
.atlas-reference-home .atlas-reference-services .feature-card h3 { max-width:210px; margin-bottom:16px; color:#fff; font-size:20px; font-weight:600; line-height:1; text-transform:uppercase; }
.atlas-reference-home .atlas-reference-services .feature-card p { color:#939397; font-size:11px; line-height:1.5; }
.atlas-reference-home .atlas-reference-small-link { position:relative; z-index:2; display:table; margin:46px auto 0; padding:8px 15px; border:1px solid #ffffff2a; border-radius:999px; color:#ddd; font-size:9px; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-services { height:1100vh; height:1100svh; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-services-pin { position:sticky; top:var(--story-top); height:calc(100svh - var(--story-top)); overflow:hidden; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-services-band { height:var(--reference-service-band); min-height:0; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-services-band .atlas-reference-marquee { position:absolute; left:0; bottom:-.035em; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-services-body { height:calc(100% - var(--reference-service-band)); min-height:0; padding-top:8svh; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-services-track { width:max-content; flex-wrap:nowrap; gap:10vw; transform:translateX(var(--reference-services-x,0px)); }
.atlas-reference-home.is-reference-enhanced .atlas-reference-small-link { position:absolute; left:50%; bottom:32px; margin:0; transform:translateX(-50%); }

/* The real process content frames the vertical road, as in the reference. */
.atlas-reference-home .atlas-reference-process { position:relative; }
.atlas-reference-home .atlas-reference-process-pin { position:relative; min-height:680px; padding:28px 3vw; }
.atlas-reference-home .atlas-reference-process-intro { position:relative; z-index:2; width:31%; padding-top:9svh; }
.atlas-reference-home .atlas-reference-process-intro h2 { max-width:420px; margin:0; font-size:clamp(30px,3.8vw,58px); line-height:.97; font-weight:650; letter-spacing:-.045em; text-transform:uppercase; }
.atlas-reference-home .atlas-reference-process-intro h2::first-line { color:#9c9c9e; }
.atlas-reference-home .atlas-reference-process-intro p { max-width:300px; margin:28svh 0 0; font-size:12px; line-height:1.55; }
.atlas-reference-home .atlas-reference-road-corridor { position:absolute; left:43%; top:0; bottom:0; width:14%; pointer-events:none; }
.atlas-reference-home .atlas-reference-milestones { position:absolute; z-index:2; left:70%; top:17%; width:25%; }
.atlas-reference-home .atlas-reference-milestones .step-card { min-height:210px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.atlas-reference-home .atlas-reference-milestones .kicker { margin-bottom:18px; font-size:10px; color:#808085; }
.atlas-reference-home .atlas-reference-milestones h3 { max-width:280px; margin-bottom:14px; font-size:22px; line-height:1; font-weight:600; text-transform:uppercase; }
.atlas-reference-home .atlas-reference-milestones p { max-width:280px; font-size:12px; line-height:1.55; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-process { height:500vh; height:500svh; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-process-pin { position:sticky; top:var(--story-top); height:calc(100svh - var(--story-top)); min-height:0; overflow:hidden; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-milestones { height:68%; overflow:hidden; }
.atlas-reference-home.is-reference-enhanced .atlas-reference-milestones-track { transform:translateY(var(--reference-process-y,0px)); }
.atlas-reference-home.is-reference-enhanced .atlas-reference-milestones .step-card { min-height:43svh; }

/* Actual inventory, forms and FAQ use the reference's white editorial rows. */
.atlas-reference-home .atlas-reference-editorial { position:relative; padding:100px 0; }
.atlas-reference-home .atlas-reference-editorial>.container,.atlas-reference-home .atlas-contact-wrap { position:relative; z-index:2; }
.atlas-reference-home .atlas-reference-editorial .center-intro { margin:0 0 56px; max-width:620px; text-align:left; }
.atlas-reference-home .atlas-reference-editorial .eyebrow { color:#88888c; font-size:10px; letter-spacing:.04em; }
.atlas-reference-home .atlas-reference-editorial .headline { font-size:clamp(34px,4.2vw,60px); line-height:1; letter-spacing:-.045em; font-weight:650; text-transform:uppercase; }
.atlas-reference-home .atlas-reference-editorial .subhead { max-width:540px; margin:18px 0 0; font-size:14px; line-height:1.6; }
.atlas-reference-home #homeInventoryGrid { grid-template-columns:1fr; gap:0; padding:0; background:transparent; }
.atlas-reference-home #homeInventoryGrid .av-card { padding:32px 0; border-bottom:1px solid #ededee; }
.atlas-reference-home #homeInventoryGrid .av-link { display:grid; grid-template-columns:270px minmax(0,1fr); gap:70px; background:transparent; }
.atlas-reference-home #homeInventoryGrid .av-visual { width:270px; aspect-ratio:4/3; background:var(--atlas-surface); }
.atlas-reference-home #homeInventoryGrid .av-content { padding:0; }
.atlas-reference-home #homeInventoryGrid .av-title { font-size:26px; font-weight:600; line-height:1.1; text-transform:uppercase; }
.atlas-reference-home #homeInventoryGrid .av-subtitle { margin:10px 0 24px; font-size:12px; }
.atlas-reference-home #homeInventoryGrid .av-specs { display:flex; flex-wrap:wrap; gap:30px; margin:0; }
.atlas-reference-home #homeInventoryGrid .av-specs>div { display:block; padding:0; border:0; }
.atlas-reference-home #homeInventoryGrid .av-specs dd { margin-top:5px; text-align:left; }
.atlas-reference-home #homeInventoryGrid .av-bottom { margin-top:24px; }
.atlas-reference-home #homeInventoryGrid .av-price { font-size:26px; }
.atlas-reference-home .atlas-reference-request .split-band { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:80px; min-height:0; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.atlas-reference-home .atlas-reference-request .split-copy { justify-content:start; padding:0; background:transparent; }
.atlas-reference-home .atlas-reference-request .split-copy .body { margin-top:20px; font-size:14px; line-height:1.6; }
.atlas-reference-home .atlas-reference-request .form-side { padding:0; background:transparent; }
.atlas-reference-home .atlas-reference-request .form-shell { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.atlas-reference-home .atlas-reference-request .form-shell h3 { font-size:28px; font-weight:600; }
.atlas-reference-home .atlas-reference-request .form-shell>p { font-size:13px; }
.atlas-reference-home .atlas-reference-request input,.atlas-reference-home .atlas-reference-request select,.atlas-reference-home .atlas-reference-request textarea { min-height:48px; padding:12px 0; border:0; border-bottom:1px solid #d4d4d6; border-radius:0; background:transparent; font-size:14px; }
.atlas-reference-home .atlas-reference-request textarea { min-height:90px; }
.atlas-reference-home .atlas-reference-request input:focus-visible,.atlas-reference-home .atlas-reference-request select:focus-visible,.atlas-reference-home .atlas-reference-request textarea:focus-visible { outline:2px solid var(--atlas-accent); outline-offset:3px; }
.atlas-reference-home .atlas-reference-request form { gap:18px; }
.atlas-reference-home .atlas-reference-reassurance { padding:40px 0; }
.atlas-reference-home .atlas-reference-reassurance .cta-panel { padding:24px 0; border:0; border-radius:0; color:#0c0c0d; background:transparent; text-align:left; }
.atlas-reference-home .atlas-reference-reassurance .cta-panel .eyebrow { color:#888!important; }
.atlas-reference-home .atlas-reference-reassurance .headline { max-width:650px; font-size:34px; }
.atlas-reference-home .atlas-reference-reassurance .btn-row { justify-content:flex-start; }
.atlas-reference-home .atlas-reference-reassurance .btn-primary { background:#0c0c0d!important; color:#fff!important; }
.atlas-reference-home .atlas-reference-faq .faq-dropdown { max-width:none; margin:0; }
.atlas-reference-home .atlas-reference-faq .faq-item { border:0; border-bottom:1px solid #e4e4e5; border-radius:0; background:transparent; box-shadow:none; }
.atlas-reference-home .atlas-reference-faq .faq-question { padding:24px 0; font-size:19px; text-align:left; }
.atlas-reference-home .atlas-reference-faq .faq-answer { padding-inline:0; }
.atlas-reference-home .atlas-reference-faq .faq-answer p { max-width:640px; font-size:14px; line-height:1.6; }
.atlas-reference-home .atlas-reference-contact .atlas-contact-wrap { width:min(1120px,calc(100% - 64px)); }
.atlas-reference-home .atlas-reference-contact .atlas-contact-heading h2 { font-size:clamp(34px,4.2vw,60px); font-weight:650; text-transform:uppercase; line-height:1; }
.atlas-reference-home .atlas-reference-contact .atlas-space-map[data-atlas-space] { border:0; border-radius:0; background:transparent; color:#202025; }
.atlas-reference-home .atlas-reference-contact .atlas-space-map[data-atlas-space]::before { display:none; }
.atlas-reference-home .atlas-reference-contact .atlas-space-blueprint [data-space-line] { stroke:#77777d; }
.atlas-reference-home .atlas-reference-contact .atlas-space-map[data-atlas-space] .atlas-space-label { color:#6d6d70; }
.atlas-reference-home .atlas-reference-contact .atlas-space-replay { color:#777; border-color:#d5d5d7; }
.atlas-reference-home .atlas-reference-contact .atlas-space-blueprint .atlas-space-sign { fill:#222; }

/* Keep a usable document when motion is reduced or WebGL is unavailable. */
.atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-process-pin { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; min-height:0; padding:70px 4vw; }
.atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-process-pin>.atlas-reference-scene-index { grid-column:1 / -1; }
.atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-process-intro { width:auto; padding:0; }
.atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-process-intro p { margin-top:26px; }
.atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-milestones { position:relative; left:auto; top:auto; width:auto; }
.atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-milestones .step-card { min-height:0; margin-bottom:42px; }
.atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-road-corridor { display:none; }
@media (max-width:850px) {
  .atlas-reference-home .container,.atlas-reference-home .atlas-reference-contact .atlas-contact-wrap { width:calc(100% - 40px); }
  .atlas-reference-home .atlas-reference-services-intro { width:82vw; column-gap:30px; }
  .atlas-reference-home .atlas-reference-process-intro h2 { font-size:34px; }
  .atlas-reference-home .atlas-reference-milestones h3 { font-size:19px; }
  .atlas-reference-home .atlas-reference-request .split-band { gap:40px; }
  .atlas-reference-home #homeInventoryGrid .av-link { grid-template-columns:230px minmax(0,1fr); gap:40px; }
  .atlas-reference-home #homeInventoryGrid .av-visual { width:230px; }
}
@media (max-width:650px) {
  .atlas-reference-home { --reference-service-band:32%; }
  .atlas-reference-home .atlas-reference-services-band { padding:18px 20px 0; }
  .atlas-reference-home .atlas-reference-marquee { font-size:27vw; }
  .atlas-reference-home .atlas-reference-services-body { padding:36px 20px 64px; }
  .atlas-reference-home .atlas-reference-services-intro { width:88vw; grid-template-columns:1fr; gap:16px; }
  .atlas-reference-home .atlas-reference-services-intro .eyebrow { margin:0; }
  .atlas-reference-home .atlas-reference-services-intro h2 { font-size:32px; max-width:330px; }
  .atlas-reference-home .atlas-reference-services-intro p { max-width:310px; font-size:12px; }
  .atlas-reference-home.is-reference-enhanced .atlas-reference-services-track { gap:14vw; }
  .atlas-reference-home .atlas-reference-services .feature-card { width:63vw; max-width:290px; }
  .atlas-reference-home .atlas-reference-process-pin { padding:20px 16px; }
  .atlas-reference-home .atlas-reference-process-intro { width:35%; padding-top:10svh; }
  .atlas-reference-home .atlas-reference-process-intro h2 { font-size:23px; }
  .atlas-reference-home .atlas-reference-process-intro p { margin-top:20svh; font-size:10px; }
  .atlas-reference-home .atlas-reference-road-corridor { left:43%; width:15%; }
  .atlas-reference-home .atlas-reference-milestones { left:65%; width:31%; top:24%; }
  .atlas-reference-home .atlas-reference-milestones h3 { font-size:16px; }
  .atlas-reference-home .atlas-reference-milestones p { font-size:10px; line-height:1.45; }
  .atlas-reference-home .atlas-reference-milestones .kicker { margin-bottom:12px; font-size:9px; }
  .atlas-reference-home .atlas-reference-editorial { padding:64px 0; }
  .atlas-reference-home #homeInventoryGrid .av-link { grid-template-columns:116px minmax(0,1fr); gap:22px; }
  .atlas-reference-home #homeInventoryGrid .av-visual { width:116px; aspect-ratio:1; }
  .atlas-reference-home #homeInventoryGrid .av-status { top:5px; right:5px; padding:3px 4px; font-size:6px; max-width:calc(100% - 10px); }
  .atlas-reference-home #homeInventoryGrid .av-title { font-size:19px; }
  .atlas-reference-home #homeInventoryGrid .av-specs { gap:10px 16px; }
  .atlas-reference-home #homeInventoryGrid .av-subtitle { font-size:10px; margin:8px 0 15px; }
  .atlas-reference-home #homeInventoryGrid .av-price { font-size:22px; }
  .atlas-reference-home #homeInventoryGrid .av-bottom { gap:10px; margin-top:18px; }
  .atlas-reference-home .atlas-reference-request .split-band { grid-template-columns:1fr; gap:44px; }
  .atlas-reference-home .atlas-reference-faq .faq-question { font-size:17px; }
  .atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-process-pin { grid-template-columns:1fr; gap:30px; }
  .atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-process-intro h2 { font-size:34px; }
  .atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-milestones h3 { font-size:21px; }
  .atlas-reference-home:not(.is-reference-enhanced) .atlas-reference-milestones p { font-size:13px; }
}
@media (max-height:550px) and (min-width:651px) {
  .atlas-reference-home .atlas-reference-services-intro h2 { font-size:32px; }
  .atlas-reference-home.is-reference-enhanced .atlas-reference-services-body { padding-top:28px; }
  .atlas-reference-home .atlas-reference-services .feature-card h3 { font-size:18px; }
  .atlas-reference-home .atlas-reference-process-intro { padding-top:5svh; }
  .atlas-reference-home .atlas-reference-process-intro h2 { font-size:30px; }
  .atlas-reference-home .atlas-reference-process-intro p { margin-top:12svh; font-size:10px; }
  .atlas-reference-home .atlas-reference-milestones h3 { font-size:18px; }
  .atlas-reference-home .atlas-reference-milestones p { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .atlas-reference-home .atlas-reference-marquee,.atlas-reference-home .atlas-reference-services-track,.atlas-reference-home .atlas-reference-milestones-track { transform:none!important; }
}
