/* Unified blue opening, r3.
   One background wraps the real hero AND authorizations. There is no white
   diagonal, no independent section gradient, and no flattened page image. */
.intro-stage {
  --intro-base: #031637;
  --intro-ink: #f5f9ff;
  --intro-muted: #c6d8ec;
  --intro-accent: #61cfff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--intro-ink);
  background:
    radial-gradient(ellipse at 85% 16%, rgba(10,91,167,.53) 0%, transparent 39%),
    radial-gradient(ellipse at 35% 46%, rgba(0,74,151,.36) 0%, transparent 46%),
    radial-gradient(ellipse at 91% 93%, rgba(0,68,131,.19) 0%, transparent 36%),
    linear-gradient(115deg, #041533 0%, #032352 57%, #03142f 100%);
}
.intro-art { position:absolute; inset:0; overflow:hidden; z-index:-1; pointer-events:none; }
.intro-airflow { position:absolute; inset:0; background:url('assets/intro/airflow.svg') center top / max(100%, 1440px) 1000px no-repeat; opacity:1; }
.intro-cooling {
  position:absolute; right:-5px; top:0; width:clamp(280px,28vw,485px); height:420px;
  background:url('assets/intro/cooling-detail.webp') right top / 100% auto no-repeat;
  opacity:.64;
}
.intro-mountain { position:absolute; pointer-events:none; opacity:.56; }
.intro-mountain-left { top:330px; left:0; width:185px; height:275px; background:url('assets/intro/mountains-left.webp') left center / 100% 100% no-repeat; }
.intro-mountain-right { top:378px; right:0; width:390px; height:175px; background:url('assets/intro/mountains-right.webp') right center / 100% 100% no-repeat; }
.intro-stage .hero,
.intro-stage .authorized-section {
  position:relative; z-index:1; background:none !important;
  border:0; box-shadow:none; margin:0;
}
.intro-stage .hero-bg { display:none !important; }
.intro-stage .hero.section-pad {
  min-height:0; padding:58px 0 28px; overflow:visible; display:block;
}
.intro-stage .container { width:min(1160px,calc(100% - 64px)); }
.intro-stage .hero-grid {
  grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);
  gap:76px; align-items:center;
}
.intro-stage .hero-copy { padding:0; text-shadow:none; }
.intro-stage .eyebrow {
  font-family:inherit; font-size:.76rem; font-weight:750;
  letter-spacing:.17em; line-height:1.35; color:var(--intro-accent); margin:0 0 18px;
}
.intro-stage h1 {
  color:var(--intro-ink); font-family:inherit; font-weight:760;
  font-size:clamp(2.75rem,4.22vw,3.8rem); line-height:1.025;
  letter-spacing:-.052em; max-width:none; margin:0 0 22px; white-space:normal;
}
.hero-sentence { display:block; }
.intro-stage .lead {
  color:var(--intro-muted); font-size:1.075rem; line-height:1.62;
  max-width:535px; margin:0 0 23px; font-weight:400;
}
.intro-stage .hero-actions { display:flex; flex-wrap:wrap; gap:16px; }
.intro-stage .hero-actions .btn {
  min-height:52px; padding:12px 18px; gap:12px; font-size:.92rem;
  font-weight:750; border-radius:20px; line-height:1.3;
}
.intro-stage .hero-actions .btn svg { flex:0 0 19px; width:19px; height:19px; }
.intro-stage .hero-actions .btn svg:last-child { width:17px; height:17px; margin-left:2px; }
.intro-stage .hero-actions .btn-primary {
  background:linear-gradient(110deg,#00a6ef,#0671d8);
  border:1px solid rgba(91,213,255,.48);
  box-shadow:0 8px 27px rgba(0,132,239,.27),inset 0 1px rgba(255,255,255,.2);
}
.intro-stage .hero-actions .btn-secondary {
  background:linear-gradient(110deg,#fff,#e8f2fe);color:#05204c;
  border:1px solid #deebfc; box-shadow:0 5px 16px rgba(0,0,0,.08);
}
.intro-stage .hero-coverage {
  display:flex; align-items:flex-start; gap:9px; max-width:535px;
  font-size:.78rem; font-weight:400; line-height:1.65;
  color:#c4d8ee; margin:20px 0 0; letter-spacing:0;
}
.intro-stage .hero-coverage svg { flex:0 0 17px; width:17px; height:19px; color:#83d5ff; }
.intro-stage .hero-identity-card {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  position:relative; justify-self:center; width:100%; max-width:440px; min-height:348px;
  padding:26px 24px 31px; overflow:visible; border-radius:26px;
  background:radial-gradient(ellipse at 48% 87%,rgba(0,75,172,.35),transparent 56%),#020530;
  border:1px solid rgba(96,179,243,.64);
  box-shadow:0 14px 36px rgba(0,0,0,.23),0 0 36px rgba(0,155,255,.11),inset 0 0 28px rgba(0,70,167,.14);
}
.intro-stage .hero-identity-card::after {
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(135deg,rgba(130,218,255,.1),transparent 20%,transparent 72%,rgba(0,104,221,.06));
}
.intro-stage .hero-identity-card img.hero-identity {
  width:235px; height:auto; max-width:80%; object-fit:contain; margin:0;
}
.intro-stage .hero-signature {
  font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400;
  font-size:1.3rem; line-height:1.4; color:#d3eaff; margin:11px 0 0; text-align:center;
  transform:rotate(-4deg);
}
.hero-signature-stroke {
  display:block; width:156px; height:1px; margin:11px 0 0 25px;
  transform:rotate(-8deg); background:linear-gradient(90deg,transparent,#1fb4ff,transparent);
}
/* Compact typography and shared breathing room, with no section boundary. */
.intro-stage .authorized-section { padding:14px 0 34px; overflow:visible; }
.intro-stage .authorized-grid {
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
  align-items:center; gap:72px;
}
.intro-stage .authorized-copy { margin:0; }
.intro-stage .authorized-copy .eyebrow { margin-bottom:12px; }
.intro-stage .authorized-copy h2 {
  font-family:inherit; font-size:clamp(1.8rem,2.85vw,2.45rem); font-weight:750;
  letter-spacing:-.042em; line-height:1.04; color:var(--intro-ink); margin:0 0 13px;
}
.intro-stage .authorized-title-line { display:block; white-space:nowrap; }
.intro-stage .authorized-copy > p:last-child {
  max-width:650px; font-size:.94rem; line-height:1.67; color:var(--intro-muted); margin:0;
}
.intro-stage .authorized-partner-panel {
  padding:21px 24px; width:100%; max-width:365px; justify-self:end;
  background:rgba(18,55,97,.36); border:1px solid rgba(138,190,238,.29);
  border-radius:21px; box-shadow:0 10px 26px rgba(0,0,0,.1);
}
.intro-stage .authorized-brand-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 20px; }
.intro-stage .authorized-brand-list li { font-family:inherit; font-size:.82rem; font-weight:650; line-height:1.3; letter-spacing:0; gap:8px; color:#f4f8ff; }
.intro-stage .authorized-brand-list li::before { color:#64cafd; }
.authorized-carousel-shell { position:relative; margin-top:23px; }
.intro-stage .authorized-marquee {
  width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:none;
  padding:3px 0 8px; margin:0; mask-image:none; -webkit-mask-image:none;
  overscroll-behavior-x:contain; scroll-behavior:auto;
}
.intro-stage .authorized-marquee::-webkit-scrollbar { display:none; }
.intro-stage .authorized-marquee-track { display:flex; width:max-content; gap:14px; animation:none; transform:none; }
.intro-stage .authorized-marquee-group { display:flex; gap:14px; flex:none; }
.intro-stage .authorized-brand-card {
  width:130px; height:60px; min-height:60px; flex:0 0 130px; border-radius:12px;
  padding:13px 14px; border:1px solid #e5efff; background:#fff;
  box-shadow:0 5px 15px rgba(0,0,0,.11);
}
.intro-stage .authorized-brand-card img { width:100%; height:100%; max-width:none; max-height:34px; object-fit:contain; }
.intro-stage .authorized-brand-card .brand-fallback { color:#092751; font-size:1rem; }
.carousel-arrow {
  display:grid; place-items:center; position:absolute; top:14px;
  width:34px; height:34px; padding:0; color:#d4edff; cursor:pointer;
  border-radius:50%; border:1px solid rgba(136,194,241,.17); background:rgba(28,64,111,.5);
}
.carousel-arrow:hover,.carousel-toggle:hover { background:rgba(46,105,169,.6); }
.carousel-previous { left:-48px; }
.carousel-next { right:-48px; }
.carousel-controls { display:flex; justify-content:center; align-items:center; gap:14px; min-height:25px; padding-top:5px; }
.carousel-dots { display:flex; gap:9px; }
.carousel-dot { width:7px; height:7px; padding:0; border-radius:50%; border:0; background:#40658a; cursor:pointer; box-shadow:0 0 0 6px transparent; }
.carousel-dot[aria-current='true'] { background:#0aafff; }
.carousel-toggle { display:flex; align-items:center; justify-content:center; width:23px; height:23px; border:0; background:transparent; color:#84afda; cursor:pointer; padding:3px; border-radius:50%; }
.carousel-toggle svg { width:13px; height:13px; }
/* Never reintroduce a white location band at any viewport. */
body[data-page='home'] .trust-strip { display:none !important; }
@media(min-width:1600px) {
  .intro-stage .container { width:min(1240px,calc(100% - 100px)); }
  .intro-stage .hero-grid { gap:96px; }
  .intro-stage h1 { font-size:4.05rem; }
  .intro-stage .hero-identity-card { max-width:470px; min-height:369px; }
  .intro-stage .hero-identity-card img.hero-identity { width:247px; }
  .intro-stage .authorized-copy h2 { font-size:2.55rem; }
}
@media(max-width:1240px) {
  .intro-stage .container { width:calc(100% - 72px); }
  .intro-stage .hero-grid { gap:45px; }
  .intro-stage .hero-actions { gap:11px; }
  .intro-stage .hero-actions .btn { font-size:.86rem; padding:12px 14px; gap:8px; }
  .intro-stage .authorized-grid { grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:32px; }
  .intro-stage .authorized-copy h2 { font-size:clamp(1.7rem,3.05vw,2.3rem); }
  .carousel-previous { left:-28px; } .carousel-next { right:-28px; }
  .carousel-arrow { width:24px; height:31px; }
  .intro-stage .authorized-partner-panel { padding:20px; }
  .intro-stage .authorized-brand-list li { font-size:.76rem; }
}
@media(max-width:1024px) {
  .intro-stage .hero.section-pad { padding:45px 0 24px; }
  .intro-stage .hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:28px; }
  .intro-stage h1 { font-size:clamp(2.35rem,4.3vw,2.95rem); }
  .intro-stage .lead { font-size:1rem; }
  .intro-stage .hero-identity-card { min-height:290px; padding:25px 16px; }
  .intro-stage .hero-identity-card img.hero-identity { width:194px; }
  .intro-stage .hero-signature { font-size:1.04rem; }
  .intro-stage .hero-actions .btn { flex:1 1 auto; }
  .intro-stage .authorized-copy h2 { font-size:clamp(1.65rem,3vw,2.05rem); }
}
@media(max-width:900px) {
  .intro-stage .hero-grid { grid-template-columns:1fr; }
  .intro-stage .hero-identity-card { display:none; }
  .intro-stage .hero-copy { max-width:620px; }
  .intro-stage h1 { font-size:clamp(2.6rem,6.1vw,3.4rem); }
  .intro-stage .lead { max-width:585px; }
  .intro-stage .hero-actions .btn { flex:0 1 auto; width:auto; }
  .intro-stage .authorized-grid { grid-template-columns:1fr;gap:20px; }
  .intro-stage .authorized-partner-panel { max-width:450px; justify-self:start; }
  .intro-stage .authorized-brand-list li { font-size:.84rem; }
  .intro-stage .authorized-copy h2 { font-size:clamp(1.9rem,4.5vw,2.45rem); }
  .intro-stage .authorized-copy > p:last-child { max-width:620px; }
  .intro-stage .authorized-section { padding-top:15px; padding-bottom:32px; }
  .intro-cooling { opacity:.19; right:-80px; }
  .intro-mountain-right { top:390px; opacity:.27; }
  .intro-mountain-left { top:350px; opacity:.18; }
  .intro-airflow { opacity:.6; background-position:62% top; }
}
@media(max-width:620px) {
  .intro-stage .container { width:calc(100% - 36px); }
  .intro-stage .hero.section-pad { padding:39px 0 26px; }
  .intro-stage h1 { font-size:clamp(2.25rem,8.7vw,3.1rem); line-height:1.035; letter-spacing:-.046em; margin-bottom:20px; }
  .intro-stage .eyebrow { font-size:.67rem; margin-bottom:17px; letter-spacing:.14em; }
  .intro-stage .lead { font-size:.98rem; line-height:1.64; margin-bottom:24px; }
  .intro-stage .hero-actions { flex-direction:column; align-items:stretch;gap:12px; }
  .intro-stage .hero-actions .btn { width:100%; min-height:51px; font-size:.91rem; border-radius:18px; }
  .intro-stage .hero-actions .btn svg:last-child { margin-left:auto; }
  .intro-stage .hero-actions .btn span { margin-right:auto; }
  .intro-stage .hero-coverage { font-size:.71rem;line-height:1.7;gap:7px;margin-top:17px; }
  .intro-stage .hero-coverage svg { width:15px;flex-basis:15px; }
  .intro-stage .authorized-section { padding-top:19px; padding-bottom:27px; }
  .intro-stage .authorized-grid { gap:19px; }
  .intro-stage .authorized-copy h2 { font-size:clamp(1.59rem,6.38vw,2.3rem);letter-spacing:-.04em;line-height:1.08; }
  .intro-stage .authorized-title-line { white-space:normal; }
  .intro-stage .authorized-copy > p:last-child { font-size:.9rem; line-height:1.68; }
  .intro-stage .authorized-partner-panel { padding:20px 18px; border-radius:18px; }
  .intro-stage .authorized-brand-list { gap:8px 17px; }
  .intro-stage .authorized-brand-list li { font-size:.8rem; }
  .authorized-carousel-shell { margin-top:21px; }
  .intro-stage .authorized-marquee { width:calc(100% - 40px); margin:0 auto; }
  .intro-stage .authorized-brand-card { width:122px;flex-basis:122px;height:56px;min-height:56px;padding:12px; }
  .intro-stage .authorized-marquee-track,.intro-stage .authorized-marquee-group { gap:12px; }
  .carousel-previous { left:-4px; } .carousel-next { right:-4px; }
  .carousel-arrow { width:22px; height:28px;top:16px; }
  .intro-cooling { right:-100px;opacity:.12; }
  .intro-mountain-left { top:415px;opacity:.1; }
  .intro-mountain-right { top:435px;opacity:.1; }
  .intro-airflow { opacity:.32; }
}
@media(prefers-reduced-motion:reduce) {
  .intro-stage .authorized-marquee-track { flex-wrap:nowrap;justify-content:flex-start; }
  .intro-stage .authorized-marquee-group[aria-hidden='true'] { display:none; }
}
/* Final optical adjustments checked against the approved composition. */
.hero-keep { white-space:nowrap; }
@media(min-width:1025px) {
  .intro-stage .hero.section-pad { padding-top:43px; padding-bottom:19px; }
  .intro-stage h1 { font-size:clamp(2.65rem,4.1vw,3.55rem); line-height:1.015; margin-bottom:20px; max-width:540px; }
  .intro-stage .lead { font-size:1.03rem; line-height:1.56; margin-bottom:21px; }
  .intro-stage .hero-coverage { margin-top:18px; }
  .intro-stage .hero-identity-card { min-height:335px; max-width:440px; }
  .intro-stage .authorized-partner-panel { padding:19px 24px; }
  .intro-stage .authorized-brand-list { row-gap:5px; }
  .intro-stage .authorized-brand-list li { font-size:.8rem; line-height:1.2; }
  .intro-stage .authorized-section { padding-top:10px; padding-bottom:27px; }
}
@media(min-width:1600px) {
  .intro-stage h1 { font-size:3.85rem; max-width:570px; }
}

@media(prefers-reduced-motion:reduce){.intro-stage .carousel-toggle{display:none;}}
