:root{--shell-ink:#0e0f11;--shell-cream:#f7f5f0;--shell-muted:#65625c;--shell-line:#d7d2c7;--shell-yellow:#ffc72c;--shell-nav-height:72px}
.ogi-nav{position:sticky!important;top:0;z-index:100!important;height:var(--shell-nav-height)!important;background:var(--shell-cream)!important;color:var(--shell-ink)!important;border:0!important;border-bottom:1px solid var(--shell-line)!important;backdrop-filter:none!important;box-shadow:0 9px 28px rgba(14,15,17,.045)}
.ogi-nav::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--shell-ink)}
.ogi-nav>div:first-child{width:min(1440px,calc(100% - 64px))!important;max-width:none!important;height:var(--shell-nav-height)!important;margin:0 auto!important;padding:3px 0 0!important;display:grid!important;grid-template-columns:minmax(286px,1fr) auto minmax(350px,1fr);align-items:center;gap:32px}.ogi-nav>div:first-child>a{justify-self:start}.ogi-nav>div:first-child>ul{justify-self:center;gap:30px!important;height:100%;align-items:center}.ogi-nav>div:first-child>div{justify-self:end}.ogi-nav a{color:var(--shell-muted)!important}.ogi-nav a:hover{color:var(--shell-ink)!important}.ogi-nav .nav-logo{font-family:Archivo,sans-serif;font-size:28px!important;line-height:1;font-weight:800;color:var(--shell-ink)!important;letter-spacing:-.06em}.ogi-nav .nav-logo b{color:var(--shell-yellow)!important}.ogi-nav .bg-surface{background:var(--shell-cream)!important}.ogi-nav .border-line-lt{border-color:var(--shell-line)!important}.ogi-nav .text-ink,.ogi-nav .text-ink\/70,.ogi-nav .text-ink\/75{color:var(--shell-muted)!important}.ogi-nav .font-semibold{color:var(--shell-ink)!important}.ogi-nav .hover\:bg-cream:hover{background:#ece9e2!important}.ogi-nav>div:first-child>div>a.bg-ink,.ogi-nav .cta-primary{min-height:44px!important;padding:0 20px!important;display:inline-flex;align-items:center;font:700 11px Archivo,sans-serif!important;letter-spacing:.11em!important;text-transform:uppercase}.ogi-nav>div:first-child>div>a.bg-ink{background:var(--shell-ink)!important;color:var(--shell-cream)!important}.ogi-nav .cta-primary{background:var(--shell-yellow)!important;color:var(--shell-ink)!important}.ogi-nav button span{background:var(--shell-ink)!important}.ogi-nav>div:first-child>ul>li>button{appearance:none;background:none;border:0;cursor:pointer;font-family:inherit;color:var(--shell-muted)!important}.ogi-nav>div:first-child>ul>li>a,.ogi-nav>div:first-child>ul>li>button{font-size:14px!important;padding:25px 0 24px!important}.ogi-nav>div:first-child>ul>li>ul{top:calc(100% - 1px)!important;min-width:250px!important;padding:10px!important;border-top:3px solid var(--shell-yellow)!important;box-shadow:0 24px 54px rgba(14,15,17,.16)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(7px);transition:opacity .16s ease,transform .16s ease,visibility .16s!important}.ogi-nav>div:first-child>ul>li.is-open>ul{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)}.ogi-nav>div:first-child>ul>li>ul a{padding:12px 14px!important;border-left:2px solid transparent}.ogi-nav>div:first-child>ul>li>ul a:hover,.ogi-nav>div:first-child>ul>li>ul a:focus-visible{border-left-color:var(--shell-yellow);outline:0}.ogi-nav [id$="-mobile-nav"]{background:var(--shell-cream)!important;box-shadow:0 22px 42px rgba(14,15,17,.12)}
/* The approved homepage uses its original semantic nav classes. Match the same locked white shell. */
.nav{position:sticky!important;top:0;z-index:100!important;height:var(--shell-nav-height)!important;background:var(--shell-cream)!important;color:var(--shell-ink)!important;border:0!important;border-bottom:1px solid var(--shell-line)!important;backdrop-filter:none!important;box-shadow:0 9px 28px rgba(14,15,17,.045)}
.nav::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--shell-ink)}
.nav .nav-in{width:min(1440px,calc(100% - 64px))!important;max-width:none!important;height:var(--shell-nav-height)!important;margin:0 auto!important;padding:3px 0 0!important;display:grid!important;grid-template-columns:minmax(286px,1fr) auto minmax(350px,1fr);align-items:center;gap:32px}
.nav .brand{display:flex;align-items:center;justify-self:start;margin:0!important;color:var(--shell-ink)!important;font-size:28px!important;line-height:1;letter-spacing:-.06em!important}.nav .brand span{color:var(--shell-yellow)!important}.nav .brand small{padding-left:14px;border-left:1px solid var(--shell-line);font:500 10px/1 'IBM Plex Mono','JetBrains Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--shell-muted);white-space:nowrap}.nav .nav-links{justify-self:center;display:flex;align-items:stretch;height:100%;gap:30px}.nav .nav-item{position:relative;display:flex;align-items:center}.nav-item>a,.nav-item>button{position:relative;color:var(--shell-muted)!important;font-size:14px!important;line-height:1;font-weight:500!important;padding:26px 0 24px!important;transition:color .18s ease!important}.nav-item>a::after,.nav-item>button::after{content:"";position:absolute;right:0;bottom:17px;left:0;height:2px;background:var(--shell-yellow);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.nav-item:hover>a,.nav-item:hover>button,.nav-item:focus-within>a,.nav-item:focus-within>button{color:var(--shell-ink)!important}.nav-item:hover>a::after,.nav-item:hover>button::after,.nav-item:focus-within>a::after,.nav-item:focus-within>button::after{transform:scaleX(1)}
.nav .menu{display:block!important;top:calc(100% - 1px)!important;left:-20px!important;min-width:250px!important;padding:10px!important;background:var(--shell-cream)!important;border:1px solid var(--shell-line)!important;border-top:3px solid var(--shell-yellow)!important;border-radius:0!important;box-shadow:0 24px 54px rgba(14,15,17,.16)!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px)!important;transition:opacity .16s ease,transform .16s ease,visibility .16s!important}.nav-item.is-open .menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)!important}.nav .menu a{padding:12px 14px!important;color:var(--shell-muted)!important;font-size:14px!important;border-left:2px solid transparent!important;transition:background .15s,color .15s,border-color .15s!important}.nav .menu a:hover,.nav .menu a:focus-visible{background:#ece9e2!important;color:var(--shell-ink)!important;border-left-color:var(--shell-yellow)!important;outline:0}
.nav .nav-cta{justify-self:end;display:flex;align-items:center;gap:10px}.nav .nav-cta .btn{min-height:44px;border-radius:0!important;padding:0 20px!important;font-size:11px!important;letter-spacing:.11em;text-transform:uppercase;transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important}.nav .btn-s{background:var(--shell-ink)!important;color:var(--shell-cream)!important;border-color:var(--shell-ink)!important}.nav .btn-p{background:var(--shell-yellow)!important;color:var(--shell-ink)!important}.nav .nav-cta .btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(14,15,17,.14)}.nav .nav-cta .btn:focus-visible,.nav .burger:focus-visible{outline:2px solid var(--shell-yellow)!important;outline-offset:3px}
.nav .nav-cta .btn-p,.ogi-nav .cta-primary{width:176px!important;min-width:176px!important;justify-content:center;white-space:nowrap}
.nav .burger{justify-self:end;color:var(--shell-ink)!important;border-color:var(--shell-line)!important}.nav [id$="-mobile-nav"]{top:var(--shell-nav-height)!important;background:var(--shell-cream)!important;border-color:var(--shell-line)!important;box-shadow:0 22px 42px rgba(14,15,17,.12)}.nav [id$="-mobile-nav"] a{color:var(--shell-muted)!important;border-color:var(--shell-line)!important}.nav [id$="-mobile-nav"] .grp{color:var(--shell-ink)!important}
.footer-logo span{color:var(--shell-yellow)!important}
.f-g a{overflow-wrap:anywhere}
.nav .brand{gap:0}
.nav .brand small{margin-left:12px}
@media(max-width:520px){.ogi-nav .nav-logo,.nav .brand{font-size:23px!important}.ogi-nav .cta-primary,.nav-cta .btn-p{width:164px!important;min-width:164px!important;min-height:40px!important;padding:0 12px!important;justify-content:center;font-size:9px!important}}
@media(max-width:420px){.nav .nav-in,.ogi-nav>div:first-child{width:calc(100% - 28px)!important}}
.nav .burger span{background:var(--shell-ink)!important}
.nav .burger{display:none;width:42px;height:42px;padding:0;border:1px solid var(--shell-line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav .burger span{display:block;width:17px;height:1px}.nav [id$="-mobile-nav"]{position:absolute;right:0;left:0;padding:10px max(24px,calc((100% - 1440px)/2 + 32px)) 18px;border-bottom:1px solid var(--shell-line)}.nav [id$="-mobile-nav"][hidden],.ogi-nav [id$="-mobile-nav"][hidden]{display:none!important}.nav [id$="-mobile-nav"] a{display:block;padding:13px 0;border-bottom:1px solid var(--shell-line);font-size:14px}
@media(max-width:1180px){.nav .brand small{display:none}.nav .nav-in{width:calc(100% - 40px)!important;grid-template-columns:1fr auto auto;gap:12px}.nav .nav-links{display:none}.nav .nav-cta .btn-s{display:none}.nav .burger{display:flex}.ogi-nav>div:first-child{width:calc(100% - 40px)!important;grid-template-columns:1fr auto;gap:12px}.ogi-nav>div:first-child>a>span:last-child{display:none!important}.ogi-nav>div:first-child>ul{display:none!important}.ogi-nav>div:first-child>div>a.bg-ink{display:none!important}.ogi-nav #menu-btn{display:flex!important}.ogi-nav [id$="-mobile-nav"]:not([hidden]){display:block!important}}
@media(min-width:1181px){.ogi-nav #menu-btn{display:none!important}}
/* Desktop navigation is intentionally click-only. Page-level legacy hover rules
   cannot reveal a menu until the shared controller adds .is-open. */
.nav .nav-item:not(.is-open) .menu,.ogi-nav>div:first-child>ul>li:not(.is-open)>ul{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(7px)!important}
/* The homepage is the overview. Keep one decisive header action and give the
   navigation sequence the same 30px rhythm through Rent Direct and the CTA. */
.nav .nav-cta .btn-s,.ogi-nav>div:first-child>div>a.bg-ink{display:none!important}
@media(min-width:1181px){.nav .nav-in,.ogi-nav>div:first-child{grid-template-columns:minmax(286px,1fr) auto auto;gap:30px}.nav .nav-links,.ogi-nav>div:first-child>ul{gap:30px!important}}
@media(prefers-reduced-motion:reduce){.nav *{transition:none!important}}
.pin{top:var(--shell-nav-height)!important;height:calc(100vh - var(--shell-nav-height))!important}

/* Sitewide accessibility primitives preserve the approved geometry until used. */
:root{--focus-yellow:#ffc72c}
.skip-link{position:fixed;z-index:10000;top:10px;left:10px;padding:11px 15px;background:#08090a;color:#fff!important;border:2px solid var(--focus-yellow);font:700 14px/1.2 Inter,sans-serif;transform:translateY(-160%);transition:transform .12s ease}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a[href],button,input,select,textarea,video,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--focus-yellow)!important;outline-offset:3px!important;box-shadow:0 0 0 2px #08090a!important}
/* Standalone links meet WCAG's 24px target minimum; min-height does not alter inline text links. */
a[href]:not(.skip-link){min-height:24px}
.a11y-essential-type-floor,
.nav .nav-cta .btn,.ogi-nav>div:first-child>div>a.bg-ink,.ogi-nav .cta-primary,
.gps-hero .hero-actions a,.auto-hero .hero-actions a,.ls-hero .hero-cta,
.cta a,.cta-band a:not(.btn-primary),.kvp-actions a,.kv6-actions a,
form label,.control label,.price-block-note,
.leaflet-control-attribution{font-size:12px!important}

/* Small text that carries specifications, state, or attribution remains readable. */
.hmi-pill,.ctrl-label,.seg span,.range-marks,.fixed-spec>div,
.readout-label,.cell-label,.net-label,.runtime-label,.readout-sub,.net-status,.runtime-sub,.hmi-footbar,
.kvt-spec-card>span,.kvt-footage-facts span,.kvt-video-label,
.kv6-machine-kicker,.kv6-height-rule span,.kv6-machine-specs span,.kv6-machine-specs b,
.spec-label,
.coverage-spacing-label,.coverage-metrics span,.pv-caption-label,.pv-video-bar,.pv-footer,
.price-block-rental-label,.price-block-lead-label,
.kvp-eyebrow,.kvp-reveal-top,.kvp-reveal-foot,.kvp-reveal-tag span,.target-grid span,
.thesis-label,.compare-head span,.compare-status,thead th,thead small,tbody th small,.ogi-col small,
.hero-stats span,.console-bar,.map-bar,.console-bottom,.console-overlay span,.trip-popup-type,
.map-legend,.metric-row span,.metric-row p,.cap-grid article>b,
.panel-top,.status-main span,.status-grid span,.night-cycle,.system-grid article>b,.system-grid article>span,
.proof-metrics span,.value-grid small,.outcome-strip span,
.temp-stats span,.temp-stats small,.tool-top,.range-head,.track span,.range-row>strong small,
.perf-slider-scale,.perf-verdict-badge,.perf-metric>span,
.perf-caveat a,.logic b,
.index,.machine em,.role-grid small,.role-grid b,
.trusted .lbl,.card-b .lab,.chip,.pmeta,.where b,.fut-b .lab,.conclusion .cl,.z .l,
.ls-facts .k,.ls-facts .u,.q-stats .l,.q-contact .k{font-size:12px!important}

@media(max-width:520px){.ogi-nav .cta-primary,.nav-cta .btn-p{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* Utility-nav arrows are text glyphs, not hamburger strokes. */
.ogi-nav [data-nav-menu]>span{background:transparent!important}
.ogi-nav #menu-btn span{background:var(--shell-ink)!important}

/* Card headings begin the content when a card has no meaningful sequence label. */
.why-grid article>h3,.value-grid article>h3,.cap-grid article>h3{margin-top:0}
/* The supplied compact wordmark is white on transparency. Keep it legible in the cream header. */
.site-logo-lockup{display:inline-flex;align-items:center;justify-content:center;width:136px;height:44px;flex:none;background:var(--shell-ink)}
.site-logo-lockup .site-logo{display:block;width:128px;height:auto;max-width:none}
.footer-logo .site-footer-logo{display:block;width:230px;max-width:100%;height:auto}
@media(max-width:520px){.site-logo-lockup{width:92px;height:40px}.site-logo-lockup .site-logo{width:86px}}
@media(max-width:360px){.site-logo-lockup{width:60px;height:38px}.site-logo-lockup .site-logo{width:56px}}

/* A compact, shared mobile navigation for the semantic and utility headers. */
.nav .ogi-mobile-panel,.ogi-nav .ogi-mobile-panel{
  position:absolute;top:var(--shell-nav-height);left:0;right:0;
  max-height:calc(100vh - var(--shell-nav-height));
  max-height:calc(100dvh - var(--shell-nav-height));
  overflow-y:auto;overscroll-behavior:contain;
  padding:0!important;border-top:1px solid var(--shell-line)!important;
  border-bottom:1px solid var(--shell-line)!important;
  background:var(--shell-cream)!important;
  box-shadow:0 22px 42px rgba(14,15,17,.18)!important;
}
.nav .ogi-mobile-panel:not([hidden]),.ogi-nav .ogi-mobile-panel:not([hidden]){
  animation:ogi-mobile-panel-in .22s cubic-bezier(.2,.8,.2,1) both;
}
.ogi-mobile-panel-inner{width:min(480px,100%);margin:auto;padding:12px 20px 22px}
.ogi-mobile-group{border-bottom:1px solid var(--shell-line)}
.ogi-mobile-group:last-child{border-bottom:0}
.ogi-mobile-group summary{
  display:flex;align-items:center;gap:12px;min-height:62px;
  cursor:pointer;list-style:none;color:var(--shell-ink);
  font:700 17px/1.2 Archivo,Inter,sans-serif;letter-spacing:-.015em;
}
.ogi-mobile-group summary::-webkit-details-marker{display:none}
.ogi-mobile-group summary::before{content:"";display:block;width:3px;height:20px;background:var(--shell-yellow)}
.ogi-mobile-group summary::after{
  content:"";width:8px;height:8px;margin-left:auto;margin-right:4px;
  border-right:2px solid var(--shell-ink);border-bottom:2px solid var(--shell-ink);
  transform:rotate(45deg);transition:transform .2s ease;
}
.ogi-mobile-group[open] summary::after{transform:rotate(225deg)}
.ogi-mobile-group summary:focus-visible{outline:3px solid var(--shell-yellow);outline-offset:-3px}
.ogi-mobile-links{
  margin:0 0 12px 15px;padding:5px 14px 8px;
  border-left:3px solid var(--shell-yellow);background:#ece9e2;
  animation:ogi-mobile-links-in .18s ease-out both;
}
.nav .ogi-mobile-panel .ogi-mobile-links a,.ogi-nav .ogi-mobile-panel .ogi-mobile-links a{
  display:flex!important;align-items:center;min-height:46px!important;
  padding:10px 4px!important;margin:0!important;
  border:0!important;border-bottom:1px solid rgba(14,15,17,.1)!important;
  color:var(--shell-ink)!important;text-decoration:none!important;
  font:500 15px/1.35 Inter,sans-serif!important;
}
.nav .ogi-mobile-panel .ogi-mobile-links a:last-child,.ogi-nav .ogi-mobile-panel .ogi-mobile-links a:last-child{border-bottom:0!important}
.nav .ogi-mobile-panel .ogi-mobile-links a:hover,.ogi-nav .ogi-mobile-panel .ogi-mobile-links a:hover{color:#735600!important}
@keyframes ogi-mobile-panel-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes ogi-mobile-links-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1181px){.nav .ogi-mobile-panel,.ogi-nav .ogi-mobile-panel{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .nav .ogi-mobile-panel:not([hidden]),.ogi-nav .ogi-mobile-panel:not([hidden]),.ogi-mobile-links{animation:none!important}
  .ogi-mobile-group summary::after{transition:none!important}
}

/* Muted text on the dark page surfaces meets 4.5:1 (WCAG 1.4.3) on every
   measured panel, including the yellow-tinted ones, and stays below the
   secondary cream so the hierarchy holds. These tokens only colour text on
   dark surfaces; the cream header uses its own --shell-* values. */
:root:root{--cream-3:#8f8980;--ogi-dim:#8f8980;--dim:#8f8980}

/* At 320px the semantic header's 176px action plus the logo and menu button
   ran 2px past the viewport. Use the 164px action and side margin the compact
   header already uses at this width. */
@media(max-width:360px){
  .nav .nav-in{width:calc(100% - 28px)!important}
  .nav .nav-cta .btn-p{width:164px!important;min-width:164px!important;padding:0 12px!important}
}

/* Legal links: one compact wrapping row beside the copyright line. */
footer .copy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px}
footer .legal-links{display:flex;flex-wrap:wrap;gap:0 20px}
footer .legal-links a{display:inline-flex;align-items:center;min-height:24px;margin:0;font-size:12px;color:var(--cream-2,#a8a39a);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(168,163,154,.45)}
footer .legal-links a:hover{color:var(--shell-yellow)}
footer .legal-links a[aria-current="page"]{color:var(--cream,#edeae3)}
