:root { --blue:#4b45ff; --orange:#f68933; --navy:#3b4460; --ink:#161822; --paper:#fcfcfc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { margin:0; color:#111; background:var(--paper); font-family:Inter, Arial, sans-serif; overflow-x:clip; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.shell { width:min(1358px, calc(100% - 48px)); margin-inline:auto; }
.hero { min-height:700px; position:relative; display:flex; align-items:center; color:#fff; background:#141824 url("assets/hero.png") center/cover no-repeat; overflow:hidden; }
.hero__shade { position:absolute; inset:0 30% 0 0; background:linear-gradient(90deg, rgba(14,17,28,.96), rgba(14,17,28,.72), transparent); box-shadow:18px 0 28px rgba(0,0,0,.22); }
.hero__content { position:relative; padding:70px 0 60px 80px; }
.hero__logo { width:442px; height:auto; margin-bottom:28px; }
.hero h1,.section-heading h2,.cta h2 { margin:0; font-family:Impact, Anton, sans-serif; text-transform:uppercase; letter-spacing:.01em; font-weight:400; }
.hero h1 { color:var(--blue); font-size:clamp(62px,8.5vw,128px); line-height:.93; text-transform:none; }
.hero h2 { margin:8px 0 24px; font-size:36px; line-height:1.2; }
.hero p { width:min(734px,100%); font-size:20px; line-height:1.48; margin:0 0 46px; }
.button-row { display:flex; gap:56px; flex-wrap:wrap; }
.button { min-height:62px; padding:16px 31px; border-radius:76px; display:inline-flex; justify-content:center; align-items:center; gap:10px; font-size:20px; font-weight:800; transition:transform .25s ease, filter .25s ease, box-shadow .25s ease; }
.button span { display:inline-block; transition:transform .25s ease; }
.button:hover { transform:translateY(-3px); filter:brightness(1.08); box-shadow:0 12px 24px rgba(0,0,0,.18); }
.button:hover span { transform:translateX(5px); }
.button--primary { background:var(--blue); color:#fff; }
.button--outline { border:3px solid #fff; color:#fff; }
.centered { display:flex; width:max-content; margin-inline:auto; }
.section { padding:66px 0; }
.section-heading { text-align:center; margin-bottom:46px; }
.section-heading h2 { font-size:40px; }
.section-heading p { margin:7px 0 0; font-size:16px; }
.section-heading--light { color:#fff; }
.accent { display:block; width:192px; height:4px; background:var(--orange); margin:14px auto 0; }
.trusted-organizations { background:#fcfeff; padding:52px 0 34px; }
.trusted-organizations__heading { margin-bottom:16px; }
.trusted-organizations__logos { position:relative; width:min(1228px,100%); aspect-ratio:1228 / 500; margin:0 auto; overflow:hidden; }
.trusted-organizations__logos img { position:absolute; top:-30%; left:0; width:100%; max-width:none; height:auto; }
.benefits { background:#fff; }
.benefits__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:48px; }
.benefit { position:relative; text-align:center; padding:0 16px; transition:transform .3s ease; }
.benefit:hover { transform:translateY(-8px); }
.benefit img { transition:transform .35s ease, filter .35s ease; }
.benefit:hover img { transform:scale(1.05); filter:drop-shadow(0 12px 12px rgba(75,69,255,.16)); }
.benefit:not(:last-child)::after { content:""; position:absolute; right:-24px; top:18px; width:2px; height:84%; background:#eaeaea; }
.benefit img { height:164px; width:100%; object-fit:contain; border-radius:16px; }
.benefit h3 { min-height:48px; font-size:20px; margin:18px 0 10px; }
.benefit p { margin:0; font-size:16px; line-height:1.15; }
.featured { background:var(--navy); padding-top:78px; }
.partner-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:60px; align-items:stretch; }
.partner-card { background:#fff; border-radius:16px; overflow:hidden; box-shadow:5px 7px 9px rgba(0,0,0,.27); padding-bottom:14px; display:flex; flex-direction:column; transition:transform .32s ease, box-shadow .32s ease; }
.partner-card:hover { transform:translateY(-10px); box-shadow:8px 18px 28px rgba(0,0,0,.3); }
.partner-card__cover { width:100%; height:199px; object-fit:cover; }
.partner-card__cover { transition:transform .45s ease; }
.partner-card:hover .partner-card__cover { transform:scale(1.035); }
.partner-card__logo { width:200px; height:68px; object-fit:contain; margin:16px auto 0; }
.partner-card__copy { padding:5px 22px 0; font-size:16px; line-height:1.25; flex:1; }
.partner-card__copy p { margin:10px 0; }
.tags { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; padding:2px 14px 12px; }
.tags span { border:1px solid #ddd; color:#555; border-radius:99px; padding:5px 10px; font-size:12px; }
.card-links { display:flex; justify-content:space-between; padding:8px 22px; color:var(--orange); font-size:13px; font-weight:800; }
.featured > .button { margin-top:58px; }
.collaborators { background:#fff; padding-bottom:0; }
.feedback-carousel { position:relative; padding:24px 58px 40px; }
.feedback-stage { position:relative; height:474px; overflow:hidden; }
.feedback-card { --slot-x:0%; position:absolute; left:50%; top:25px; width:31%; height:426px; background:#fff; border-radius:16px; overflow:hidden; box-shadow:5px 7px 9px rgba(0,0,0,.25); display:flex; flex-direction:column; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(calc(-50% + var(--slot-x))) scale(.9); transition:transform .5s cubic-bezier(.2,.75,.25,1), opacity .35s ease, box-shadow .35s ease; }
.feedback-card.is-left { --slot-x:-105%; opacity:.82; visibility:visible; pointer-events:auto; }
.feedback-card.is-center { --slot-x:0%; opacity:1; visibility:visible; pointer-events:auto; z-index:2; transform:translateX(-50%) scale(1.075); box-shadow:0 7px 15px rgba(22,24,34,.16); }
.feedback-card.is-right { --slot-x:105%; opacity:.82; visibility:visible; pointer-events:auto; }
.feedback-card__brand { height:112px; flex:none; display:grid; place-items:center; background:linear-gradient(180deg,var(--card-accent),rgba(255,255,255,.06)); }
.feedback-card__brand img { width:72%; height:82px; object-fit:contain; transition:transform .35s ease; }
.feedback-card:hover .feedback-card__brand img { transform:scale(1.045); }
.feedback-card__body { flex:1; min-height:0; padding:13px 22px 8px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.feedback-card__body h3 { margin:0 0 12px; font-family:Inter,Arial,sans-serif; text-transform:uppercase; font-size:16px; font-weight:600; letter-spacing:.04em; color:#333; }
.feedback-card__body blockquote { margin:0; font-size:14px; line-height:1.4; font-style:italic; text-align:left; }
.feedback-card__body cite { margin-top:12px; padding-top:0; font-size:12px; line-height:1.35; font-weight:700; font-style:italic; }
.feedback-card__links { min-height:48px; padding:8px 18px 11px; display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:12px; font-weight:800; }
.feedback-card__links a { transition:color .2s ease, transform .2s ease; }
.feedback-card__links a:hover { color:var(--orange); transform:translateY(-1px); }
.carousel-controls { position:absolute; z-index:5; left:0; right:0; top:24px; height:474px; pointer-events:none; }
.carousel-arrow { position:absolute; top:50%; width:44px; height:64px; padding:0; border:0; border-radius:0; background:transparent; color:#222; font-size:0; display:grid; place-items:center; cursor:pointer; pointer-events:auto; transform:translateY(-50%); transition:opacity .2s ease, transform .2s ease; }
.carousel-arrow span { display:none; }
.carousel-arrow::before { content:""; display:block; width:16px; height:16px; border:solid currentColor; border-width:0 2.5px 2.5px 0; }
.carousel-arrow:hover { opacity:.55; transform:translateY(-50%) scale(1.1); }
.carousel-arrow:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.carousel-arrow--prev { left:0; }
.carousel-arrow--prev::before { transform:rotate(135deg); }
.carousel-arrow--next { right:0; }
.carousel-arrow--next::before { transform:rotate(-45deg); }
.carousel-meta { position:absolute; left:50%; bottom:-21px; display:flex; align-items:center; gap:9px; transform:translateX(-50%); pointer-events:none; }
.carousel-counter { min-width:56px; min-height:38px; padding:8px 12px; border:1px solid #d9dbe5; border-radius:999px; background:#fff; color:#4d5060; display:flex; align-items:center; justify-content:center; font:700 12px/1 Inter,Arial,sans-serif; box-shadow:0 5px 14px rgba(22,24,34,.09); }
.carousel-autoplay-toggle { min-width:104px; min-height:38px; padding:8px 14px; border:1px solid #d9dbe5; border-radius:999px; background:#fff; color:#292b33; display:flex; align-items:center; justify-content:center; gap:7px; font:700 12px/1 Inter,Arial,sans-serif; cursor:pointer; pointer-events:auto; box-shadow:0 5px 14px rgba(22,24,34,.12); transition:color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.carousel-autoplay-toggle:hover { color:var(--blue); border-color:var(--blue); box-shadow:0 7px 16px rgba(75,69,255,.15); transform:translateY(-1px); }
.carousel-autoplay-toggle:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.carousel-autoplay-toggle__icon { width:12px; font-size:13px; line-height:1; }
.carousel-status { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.stories { background:#fff; padding-top:52px; padding-bottom:38px; }
.story-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.story { display:flex; flex-direction:column; min-height:520px; overflow:hidden; background:#fff; border-radius:16px; box-shadow:9px 8px 9px rgba(0,0,0,.25); transition:transform .32s ease, box-shadow .32s ease; }
.story:hover { transform:translateY(-8px); box-shadow:12px 18px 26px rgba(0,0,0,.24); }
.story--dark { background:var(--navy); color:#fff; }
.story img.story__application { width:100%; height:auto; aspect-ratio:2 / 1; object-fit:cover; flex:none; }
.story > div { padding:30px 34px 32px; display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.story h3 { font-size:22px; line-height:1.12; margin:0 0 16px; }
.story p { font-size:15px; line-height:1.4; margin:0 0 24px; }
.story a { margin-top:auto; }
.story a,.all-stories,.cta__actions > a:last-child { color:var(--orange); font-weight:800; text-decoration:underline; }
.all-stories { display:block; color:#242426; font-family:Impact, Anton, sans-serif; text-transform:uppercase; width:max-content; margin:54px auto 0; font-size:24px; }
.cta { background:var(--navy); color:#fff; }
.cta__inner { min-height:489px; display:grid; grid-template-columns:260px 1fr 390px; gap:36px; align-items:center; }
.cta__inner > img { width:248px; height:326px; border-radius:32px; object-fit:cover; }
.cta h2 { font-size:40px; line-height:1; }
.cta__copy span { display:block; height:3px; background:#fff; margin:22px 0; }
.cta__copy p { font-size:20px; line-height:1.15; margin:0; }
.cta__actions { display:flex; flex-direction:column; gap:28px; align-items:center; text-align:center; }
.cta__actions .button { width:100%; font-size:18px; }

/* Progressive entrance motion. Content stays visible when JavaScript is unavailable. */
.motion-ready .hero__logo,
.motion-ready .hero h1,
.motion-ready .hero h2,
.motion-ready .hero p,
.motion-ready .hero .button-row { opacity:0; transform:translateY(24px); animation:heroReveal .75s cubic-bezier(.2,.75,.25,1) forwards; }
.motion-ready .hero h1 { animation-delay:.1s; }
.motion-ready .hero h2 { animation-delay:.2s; }
.motion-ready .hero p { animation-delay:.3s; }
.motion-ready .hero .button-row { animation-delay:.42s; }
.motion-ready .hero__shade { animation:shadeReveal 1.1s ease both; }
.motion-ready .reveal { opacity:0; transform:translateY(34px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.75,.25,1); transition-delay:var(--reveal-delay, 0ms); }
.motion-ready .reveal.reveal--left { transform:translateX(-42px); }
.motion-ready .reveal.reveal--right { transform:translateX(42px); }
.motion-ready .reveal.is-visible { opacity:1; transform:translate(0,0); }
.accent { transform-origin:center; }
.motion-ready .section-heading.is-visible .accent { animation:accentGrow .7s .2s cubic-bezier(.2,.75,.25,1) both; }

@keyframes heroReveal { to { opacity:1; transform:translateY(0); } }
@keyframes shadeReveal { from { opacity:0; transform:translateX(-7%); } to { opacity:1; transform:translateX(0); } }
@keyframes accentGrow { from { transform:scaleX(0); } to { transform:scaleX(1); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-delay:0ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .motion-ready .reveal,
  .motion-ready .hero__logo,
  .motion-ready .hero h1,
  .motion-ready .hero h2,
  .motion-ready .hero p,
  .motion-ready .hero .button-row { opacity:1; transform:none; }
}

@media (max-width:1050px) {
  .hero__content { padding-left:20px; }
  .hero__shade { right:0; }
  .benefits__grid { grid-template-columns:repeat(2,1fr); }
  .benefit:nth-child(2)::after { display:none; }
  .partner-grid { gap:24px; }
  .cta__inner { grid-template-columns:220px 1fr; padding:50px 0; }
  .cta__actions { grid-column:1/-1; flex-direction:row; }
}
@media (max-width:760px) {
  .shell { width:min(100% - 32px, 680px); }
  .hero { min-height:680px; background-position:65% center; }
  .hero__content { padding:54px 0; }
  .hero__logo { width:230px; }
  .hero h1 { font-size:64px; }
  .hero h2 { font-size:24px; }
  .hero p { font-size:16px; }
  .button-row { gap:14px; }
  .button { width:100%; font-size:16px; min-height:56px; }
  .section { padding:52px 0; }
  .section-heading h2 { font-size:34px; }
  .trusted-organizations { padding:42px 0 28px; }
  .trusted-organizations__heading { margin-bottom:12px; }
  .trusted-organizations__heading br { display:none; }
  .benefits__grid,.partner-grid,.story-grid { grid-template-columns:1fr; }
  .benefit::after { display:none; }
  .benefit { border-bottom:2px solid #eee; padding-bottom:28px; }
  .partner-grid { gap:28px; }
  .collaborators { padding-bottom:0; }
  .feedback-carousel { width:100%; padding:24px 38px 40px; }
  .feedback-stage { height:485px; }
  .feedback-card { width:min(82%,360px); }
  .feedback-card.is-left { --slot-x:-104%; opacity:.42; }
  .feedback-card.is-right { --slot-x:104%; opacity:.42; }
  .feedback-card.is-center { transform:translateX(-50%) scale(1.03); }
  .carousel-arrow { width:36px; height:52px; }
  .carousel-arrow::before { width:13px; height:13px; }
  .carousel-meta { bottom:-18px; }
  .story { min-height:0; }
  .story > div { padding:26px 24px 28px; }
  .cta__inner { grid-template-columns:1fr; text-align:center; }
  .cta__inner > img { margin:auto; }
  .cta__actions { grid-column:auto; flex-direction:column; width:100%; }
}

/* ICY DOCK global header and footer, adapted from the main website. */
:root { --site-orange:#f0832b; --site-header-height:76px; }

[hidden] { display:none !important; }
.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; }
.skip-link { position:fixed; z-index:1200; top:10px; left:10px; padding:10px 14px; color:#111; background:#fff; border:2px solid var(--site-orange); border-radius:4px; transform:translateY(-160%); transition:transform .2s ease; }
.skip-link:focus { transform:translateY(0); }

.site-header { position:fixed; z-index:1000; inset:0 0 auto; height:var(--site-header-height); color:#fff; background:rgba(16,18,21,.96); border-bottom:1px solid rgba(255,255,255,.25); box-shadow:0 5px 18px rgba(0,0,0,.18); backdrop-filter:blur(12px); }
.site-header a { color:inherit; }
.site-header__inner { width:min(1400px,calc(100% - 32px)); height:100%; margin:auto; display:grid; grid-template-columns:160px minmax(0,1fr) auto; align-items:center; gap:18px; }
.site-header__logo { display:block; width:150px; }
.site-header__logo img { width:150px; height:auto; }
.site-nav { align-self:stretch; display:flex; align-items:stretch; justify-content:center; min-width:0; }
.site-nav__item { position:relative; display:flex; align-items:stretch; }
.site-nav__link { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; padding:0 12px; color:#fff; border:0; background:transparent; font:700 12px/1.15 Arial,sans-serif; letter-spacing:.025em; text-transform:uppercase; white-space:nowrap; cursor:pointer; transition:color .2s ease; }
.site-nav__link:hover,.site-nav__link:focus-visible,.site-nav__link--active { color:var(--site-orange); }
.site-nav__item > .site-nav__link::after { content:""; position:absolute; right:0; top:27px; width:1px; height:22px; background:rgba(255,255,255,.25); }
.site-dropdown { position:absolute; z-index:1010; top:100%; left:50%; min-width:240px; padding:9px 0; color:#fff; background:#454545; box-shadow:0 14px 24px rgba(0,0,0,.25); opacity:0; visibility:hidden; transform:translate(-50%,10px); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.site-dropdown a { display:block; padding:11px 18px; font:600 13px/1.3 Arial,sans-serif; border-left:3px solid transparent; transition:color .18s ease,background .18s ease,border-color .18s ease; }
.site-dropdown a:hover,.site-dropdown a:focus-visible,.site-dropdown a[aria-current="page"] { color:#fff; background:#2f2f2f; border-left-color:var(--site-orange); }
.site-nav__item:hover > .site-dropdown,.site-nav__item:focus-within > .site-dropdown,.site-nav__item.is-open > .site-dropdown { opacity:1; visibility:visible; transform:translate(-50%,0); }
.site-dropdown--mega { position:fixed; inset:var(--site-header-height) 0 auto; width:100%; padding:26px 0 30px; transform:translateY(10px); }
.site-nav__item:hover > .site-dropdown--mega,.site-nav__item:focus-within > .site-dropdown--mega,.site-nav__item.is-open > .site-dropdown--mega { transform:translateY(0); }
.site-dropdown__grid { width:min(1320px,calc(100% - 48px)); margin:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 24px; }
.site-dropdown__grid a { min-height:70px; padding:11px 15px; }
.site-dropdown__grid strong,.site-dropdown__grid span { display:block; }
.site-dropdown__grid strong { margin-bottom:4px; color:#fff; font-size:14px; }
.site-dropdown__grid span { color:#cfcfcf; font-size:12px; font-weight:400; }

.site-header__tools { display:flex; align-items:center; justify-content:flex-end; gap:15px; }
.site-search { width:134px; display:flex; align-items:center; border-bottom:1px solid var(--site-orange); }
.site-search input { width:100%; min-width:0; padding:8px 2px; color:#fff; background:transparent; border:0; outline:0; font:600 11px/1 Arial,sans-serif; }
.site-search input::placeholder { color:#d5d5d5; opacity:1; }
.site-search button { position:relative; width:30px; height:30px; flex:none; padding:0; border:0; background:transparent; cursor:pointer; }
.site-search button span { position:absolute; left:7px; top:6px; width:11px; height:11px; border:2px solid #fff; border-radius:50%; }
.site-search button span::after { content:""; position:absolute; width:7px; height:2px; right:-6px; bottom:-4px; background:#fff; transform:rotate(45deg); transform-origin:left center; }
.site-language { position:relative; }
.site-language > button { height:38px; padding:0 18px 0 26px; color:#fff; background:transparent; border:0; font:700 11px/1 Arial,sans-serif; text-transform:uppercase; cursor:pointer; }
.site-language > button::before { content:""; position:absolute; left:4px; top:11px; width:14px; height:14px; border:1.5px solid currentColor; border-radius:50%; }
.site-language > button::after { content:""; position:absolute; right:4px; top:16px; width:5px; height:5px; border:solid currentColor; border-width:0 1px 1px 0; transform:rotate(45deg); }
.site-language__menu { position:absolute; top:calc(100% + 19px); right:0; width:205px; padding:8px 0; color:#fff; background:#454545; box-shadow:0 14px 24px rgba(0,0,0,.25); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.site-language__menu a { display:block; padding:9px 16px; font:600 12px/1.25 Arial,sans-serif; }
.site-language__menu a:hover,.site-language__menu a:focus-visible { color:var(--site-orange); background:#303030; }
.site-language:hover .site-language__menu,.site-language:focus-within .site-language__menu,.site-language.is-open .site-language__menu { opacity:1; visibility:visible; transform:translateY(0); }
.site-menu-toggle,.mobile-site-nav { display:none; }
.site-nav-backdrop { position:fixed; z-index:990; inset:var(--site-header-height) 0 0; background:rgba(0,0,0,.55); backdrop-filter:blur(2px); }

.site-footer { padding:44px 0 24px; color:#eee; background:#212121; font-family:Arial,sans-serif; }
.site-footer__inner { width:min(1350px,calc(100% - 48px)); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:38px 54px; }
.site-footer__links { display:grid; grid-template-columns:repeat(5,minmax(105px,1fr)); gap:26px; }
.site-footer h2 { margin:0 0 14px; padding:0 0 10px; color:#fff; border-bottom:1px solid #717171; font:700 15px/1.25 Arial,sans-serif; text-transform:none; letter-spacing:0; }
.site-footer section a { display:block; width:max-content; max-width:100%; margin:8px 0; color:#cfcfcf; font:400 13px/1.45 Arial,sans-serif; transition:color .18s ease; }
.site-footer a:hover,.site-footer a:focus-visible { color:var(--site-orange); }
.site-footer__newsletter p { margin:0 0 18px; color:#cfcfcf; font-size:13px; line-height:1.5; }
.site-footer__newsletter > a { display:inline-flex; min-width:120px; min-height:40px; padding:9px 18px; align-items:center; justify-content:center; color:#222; background:#fff; border-radius:2px; font-size:13px; font-weight:700; transition:color .18s ease,background .18s ease; }
.site-footer__newsletter > a:hover,.site-footer__newsletter > a:focus-visible { color:#fff; background:var(--site-orange); }
.site-footer__copyright { grid-column:1/-1; margin:0; padding-top:22px; text-align:center; border-top:1px solid #4b4b4b; color:#aaa; font-size:12px; }

@media (max-width:1180px) {
  .site-header__inner { grid-template-columns:160px 1fr auto; }
  .site-nav,.site-search,.site-language { display:none; }
  .site-menu-toggle { width:44px; height:44px; padding:10px; display:flex; flex-direction:column; justify-content:center; gap:5px; color:#fff; background:transparent; border:0; cursor:pointer; }
  .site-menu-toggle span { display:block; width:24px; height:2px; margin:auto; background:currentColor; transition:transform .2s ease,opacity .2s ease; }
  .site-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .site-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .site-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .mobile-site-nav { position:fixed; z-index:1001; top:var(--site-header-height); right:0; width:min(440px,100%); max-height:calc(100vh - var(--site-header-height)); padding:20px 24px 30px; display:block; overflow:auto; color:#222; background:#fff; box-shadow:-12px 16px 30px rgba(0,0,0,.25); }
  .mobile-site-nav > a,.mobile-site-nav summary { display:block; padding:15px 2px; border-bottom:1px solid #dedede; color:#222; font:700 14px/1.25 Arial,sans-serif; text-transform:uppercase; cursor:pointer; list-style:none; }
  .mobile-site-nav summary::-webkit-details-marker { display:none; }
  .mobile-site-nav summary::after { content:"+"; float:right; color:var(--site-orange); font-size:20px; line-height:14px; }
  .mobile-site-nav details[open] summary::after { content:"−"; }
  .mobile-site-nav__links { padding:5px 0 10px 14px; background:#f6f6f6; }
  .mobile-site-nav__links a { display:block; padding:9px 12px; color:#333; font-size:13px; line-height:1.25; }
  .mobile-site-nav a[aria-current="page"] { color:var(--site-orange); }
  .mobile-site-search { margin-bottom:10px; display:flex; border:1px solid #bbb; }
  .mobile-site-search input { min-width:0; flex:1; padding:12px; border:0; font-size:14px; }
  .mobile-site-search button { padding:0 16px; color:#fff; background:#333; border:0; font-weight:700; cursor:pointer; }
  body.is-menu-open { overflow:hidden; }
  .hero__content { padding-top:125px; }
  .site-footer__inner { grid-template-columns:1fr; }
  .site-footer__newsletter { max-width:420px; }
}

@media (max-width:760px) {
  :root { --site-header-height:68px; }
  .site-header__inner { width:calc(100% - 24px); grid-template-columns:145px 1fr auto; }
  .site-header__logo,.site-header__logo img { width:140px; }
  .mobile-site-nav { top:var(--site-header-height); max-height:calc(100vh - var(--site-header-height)); }
  .hero__content { padding-top:112px; }
  .site-footer__inner { width:min(100% - 32px,680px); gap:34px; }
  .site-footer__links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 30px; }
}

@media (max-width:430px) {
  .site-footer__links { grid-template-columns:1fr 1fr; gap:24px 18px; }
  .site-footer section a { font-size:12px; }
}
