/* V9 — unified cinematic hero + embedded product demo */

/* One photographic environment. No CSS-built garage geometry. */
.hero.hero-cinematic.hero-unified{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  min-height:1500px;
  margin:0;
  padding:138px max(28px,calc((100vw - 1480px)/2 + 28px)) 120px;
  overflow:hidden;
  isolation:isolate;
  color:#f7f9fc;
  background:#030609;
}
.hero-unified .hero-scene{
  position:absolute;
  inset:0;
  z-index:-3;
  overflow:hidden;
  background:
    url("assets/garage-candidate2.jpg") center 48% / cover no-repeat;
}
.hero-unified .hero-scene:before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(6,20,34,.50);
  mix-blend-mode:color;
  pointer-events:none;
}
.hero-unified .hero-scene:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(2,4,7,.98) 0%,rgba(2,4,7,.92) 24%,rgba(2,4,7,.67) 37%,rgba(2,4,7,.24) 50%,rgba(2,4,7,.12) 100%),
    linear-gradient(180deg,rgba(2,4,7,.24) 0%,rgba(2,4,7,.02) 34%,rgba(2,4,7,.12) 58%,rgba(2,4,7,.76) 100%);
  pointer-events:none;
}
.hero-unified .hero-vignette{
  display:none;
}

.hero-top{
  position:relative;
  z-index:8;
  min-height:555px;
}
.hero-unified .hero-copy{
  width:min(620px,43vw);
  max-width:620px;
}
.hero-unified .hero-copy h1{
  margin:17px 0 24px;
  max-width:620px;
  font-size:clamp(58px,5.2vw,88px);
  line-height:.94;
  letter-spacing:-.058em;
}
.hero-unified .hero-copy h1 span{
  display:inline-block;
  font-size:.84em;
  color:transparent;
  background:linear-gradient(90deg,#a9cdff 0%,#6ca3ff 42%,#3477ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  white-space:nowrap;
}
.hero-unified .hero-copy>p{
  max-width:590px;
  color:#c3ccd7;
  font-size:clamp(15px,1.02vw,18px);
  line-height:1.64;
}
.hero-unified .hero-footnote{color:#7f8b98}
.hero-unified .platforms{color:#8492a0}
.hero-unified .hero-actions{margin-bottom:19px}

.hero-unified .hero-g30{
  position:absolute;
  z-index:3;
  width:min(55vw,1060px);
  max-width:none;
  right:1.8vw;
  top:230px;
  bottom:auto;
  mix-blend-mode:normal;
  filter:brightness(.97) contrast(1.04) saturate(.84) drop-shadow(0 34px 54px rgba(0,0,0,.62));
  transform:translate3d(calc(var(--hero-scroll)*6px),calc(var(--hero-scroll)*11px),0) scale(calc(1 + var(--hero-scroll)*.008));
  transform-origin:70% 70%;
}

/* Product is part of the first cinematic section. */
.hero-product-showcase{
  position:relative;
  z-index:20;
  width:min(1220px,calc(100vw - 72px));
  margin:34px auto 0;
  scroll-margin-top:92px;
}
.showcase-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin:0 12px 18px;
}
.showcase-heading>div{
  display:flex;
  align-items:baseline;
  gap:18px;
}
.showcase-heading .eyebrow{
  color:#8c9aab;
  white-space:nowrap;
}
.showcase-heading strong{
  color:#edf3f9;
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.025em;
}
.showcase-heading>small{
  color:#718093;
  font-family:Manrope,Arial,sans-serif;
  font-size:8px;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.hero-product-showcase .demo-stage{
  position:relative;
  max-width:none;
  margin:0;
  padding:14px;
}
.hero-product-showcase .demo-aura{
  position:absolute;
  inset:-6% -4% -8%;
  border-radius:50px;
  background:radial-gradient(ellipse at 50% 48%,rgba(62,117,255,.30),rgba(40,87,176,.12) 40%,transparent 70%);
  filter:blur(26px);
}
.hero-product-showcase .demo-window{
  border:1px solid rgba(147,190,255,.34);
  border-radius:24px;
  background:#080c12;
  box-shadow:
    0 0 0 1px rgba(132,173,255,.08),
    0 0 70px rgba(54,117,255,.18),
    0 42px 115px rgba(0,0,0,.62);
  overflow:hidden;
}
.hero-product-showcase .demo-window .screen-chrome{
  height:39px;
  background:rgba(11,16,24,.98);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.hero-product-showcase .demo-window .screen-chrome em{
  margin-left:auto;
  color:#6d7888;
  font-family:Manrope,Arial,sans-serif;
  font-size:7px;
  font-style:normal;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-product-showcase .demo-screens{
  aspect-ratio:1.6/1;
}
.hero-product-showcase .demo-screen{
  object-fit:cover;
  opacity:0;
  transform:translateY(18px) scale(.986);
  filter:blur(2px);
  transition:opacity .24s ease,transform .34s cubic-bezier(.18,.75,.2,1),filter .24s ease;
}
.hero-product-showcase .demo-screen.active{
  opacity:1;
  transform:none;
  filter:none;
}

/* GitHub-like mode switcher, attached visually to the software window. */
.hero-demo-tabs{
  width:min(1000px,calc(100% - 48px));
  max-width:none;
  margin:-22px auto 0;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
  padding:5px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:18px;
  background:rgba(5,9,14,.94);
  box-shadow:0 20px 52px rgba(0,0,0,.42);
  backdrop-filter:blur(18px);
}
.hero-demo-tabs button{
  position:relative;
  min-width:0;
  min-height:49px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 11px;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:#b8c1cc;
  font-size:11px;
  font-weight:700;
  transition:.18s ease;
}
.hero-demo-tabs button:hover:not(:disabled){
  color:#fff;
  background:rgba(255,255,255,.055);
}
.hero-demo-tabs button.active{
  color:#fff;
  border-color:rgba(93,146,255,.44);
  background:linear-gradient(180deg,rgba(49,107,238,.31),rgba(31,74,167,.18));
  box-shadow:inset 0 0 0 1px rgba(119,165,255,.06);
}
.hero-demo-tabs button span{
  color:#718096;
  font-family:Manrope,Arial,sans-serif;
  font-size:7px;
}
.hero-demo-tabs button.active span{color:#80a8ff}
.hero-demo-tabs button.future{
  color:#6a7481;
  cursor:default;
  opacity:.74;
}
.hero-demo-tabs button.future small{
  position:absolute;
  top:5px;
  right:7px;
  color:#6f8fc8;
  font-family:Manrope,Arial,sans-serif;
  font-size:6px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.hero-demo-copy{
  min-height:150px;
  max-width:820px;
  margin:33px auto 0;
  text-align:center;
}
.hero-demo-copy .demo-copy-item h3{
  margin:0 0 10px;
  color:#f1f5fa;
  font-size:clamp(24px,2vw,34px);
  line-height:1.12;
  letter-spacing:-.04em;
}
.hero-demo-copy .demo-copy-item p{
  max-width:720px;
  margin:0 auto;
  color:#8e99a7;
  font-size:12px;
  line-height:1.7;
}

/* The next light section starts only after the complete product showcase. */
.hero-unified + .positioning{
  border-top:0;
  padding-top:120px;
}

/* Wide desktops / iMac */
@media(min-width:1900px){
  .hero.hero-cinematic.hero-unified{
    min-height:1640px;
    padding-left:max(36px,calc((100vw - 1740px)/2 + 36px));
    padding-right:max(36px,calc((100vw - 1740px)/2 + 36px));
  }
  .hero-top{min-height:605px}
  .hero-unified .hero-copy{width:660px;max-width:660px}
  .hero-unified .hero-copy h1{font-size:96px;max-width:660px}
  .hero-unified .hero-g30{width:min(54vw,1280px);right:3vw;top:230px}
  .hero-product-showcase{width:min(1360px,calc(100vw - 92px))}
}

/* Standard laptop */
@media(max-width:1180px){
  .hero.hero-cinematic.hero-unified{
    min-height:1420px;
    padding-left:28px;
    padding-right:28px;
  }
  .hero-unified .hero-copy{width:min(560px,50vw);max-width:560px}
  .hero-unified .hero-copy h1{font-size:clamp(52px,6vw,72px)}
  .hero-unified .hero-g30{width:66vw;right:-10vw;top:285px}
  .hero-product-showcase{width:calc(100vw - 48px)}
}

/* Portrait tablet */
@media(max-width:900px){
  .hero.hero-cinematic.hero-unified{
    min-height:1460px;
    padding:112px 22px 92px;
  }
  .hero-top{min-height:650px}
  .hero-unified .hero-copy{width:min(650px,88vw);max-width:650px}
  .hero-unified .hero-copy h1{font-size:clamp(48px,8.2vw,70px)}
  .hero-unified .hero-g30{width:114vw;right:-42vw;top:440px}
  .hero-unified .hero-scene:after{
    background:
      linear-gradient(180deg,rgba(2,4,7,.96) 0%,rgba(2,4,7,.78) 37%,rgba(2,4,7,.23) 58%,rgba(2,4,7,.55) 76%,rgba(2,4,7,.78) 100%),
      linear-gradient(90deg,rgba(2,4,7,.58),transparent 86%);
  }
  .hero-product-showcase{width:100%;margin-top:20px}
  .showcase-heading{margin:0 4px 14px}
  .showcase-heading>div{display:block}
  .showcase-heading strong{display:block;margin-top:8px}
  .showcase-heading>small{display:none}
  .hero-product-showcase .demo-stage{padding:7px}
  .hero-product-showcase .demo-window{border-radius:18px}
  .hero-demo-tabs{width:calc(100% - 18px)}
  .hero-demo-tabs button{font-size:10px}
}

/* Phones */
@media(max-width:600px){
  .hero.hero-cinematic.hero-unified{
    min-height:1210px;
    padding:100px 14px 72px;
  }
  .hero-top{min-height:580px}
  .hero-unified .hero-copy{
    width:calc(100vw - 30px)!important;
    max-width:calc(100vw - 30px)!important;
  }
  .hero-unified .hero-copy h1{
    width:100%!important;
    max-width:100%!important;
    font-size:34px;
    line-height:1.01;
    letter-spacing:-.045em;
  }
  .hero-unified .hero-copy h1 span{font-size:.86em;white-space:normal}
  .hero-unified .hero-copy>p{width:100%!important;max-width:100%!important;font-size:12.5px}
  .hero-unified .hero-g30{width:150vw;right:-73vw;top:435px}
  .hero-unified .hero-scene{
    background-position:48% center;
  }
  .hero-unified .hero-scene:after{
    background:
      linear-gradient(180deg,rgba(2,4,7,.985) 0%,rgba(2,4,7,.90) 46%,rgba(2,4,7,.35) 66%,rgba(2,4,7,.62) 81%,rgba(2,4,7,.82) 100%);
  }
  .hero-product-showcase{margin-top:0}
  .showcase-heading{display:none}
  .hero-product-showcase .demo-stage{padding:0}
  .hero-product-showcase .demo-window{border-radius:14px}
  .hero-product-showcase .demo-window .screen-chrome{height:28px}
  .hero-product-showcase .demo-screens{aspect-ratio:1.52/1}
  .hero-demo-tabs{
    width:calc(100% - 10px);
    margin-top:-9px;
    grid-template-columns:repeat(3,1fr);
    border-radius:13px;
  }
  .hero-demo-tabs button{min-height:40px;padding:8px 4px;font-size:9px}
  .hero-demo-tabs button span{display:none}
  .hero-demo-tabs button.future{display:none}
  .hero-demo-copy{min-height:160px;margin-top:28px;padding:0 10px}
  .hero-demo-copy .demo-copy-item h3{font-size:24px}
  .hero-demo-copy .demo-copy-item p{font-size:11.5px}
}

/* V9.1 — tighter first fold and cleaner photographic grade */
.hero-unified .hero-scene{
  background:#030609;
}
.hero-unified .hero-scene:before{
  content:"";
  position:absolute;
  inset:-2%;
  background:url("assets/garage-candidate2.jpg") 35% 46% / cover no-repeat;
  filter:grayscale(.22) saturate(.72) brightness(.68) contrast(1.08);
  transform:scale(1.025);
  mix-blend-mode:normal;
}
.hero-unified .hero-scene:after{
  background:
    linear-gradient(90deg,rgba(2,4,7,.98) 0%,rgba(2,4,7,.92) 24%,rgba(2,4,7,.68) 37%,rgba(2,4,7,.24) 51%,rgba(2,4,7,.10) 100%),
    linear-gradient(180deg,rgba(2,4,7,.20) 0%,rgba(2,4,7,.02) 34%,rgba(2,4,7,.08) 55%,rgba(2,4,7,.72) 100%);
}
.hero-top{min-height:470px}
.hero-unified .hero-g30{
  width:min(53vw,1010px);
  right:2.6vw;
  top:215px;
}
.hero-product-showcase{
  width:min(1160px,calc(100vw - 72px));
  margin:0 auto;
}
.hero-product-showcase .demo-stage{padding:11px}
.showcase-heading{margin-bottom:13px}
.hero-demo-tabs{width:min(940px,calc(100% - 42px));margin-top:-20px}
.hero-demo-copy{min-height:138px;margin-top:28px}

@media(min-width:1900px){
  .hero-top{min-height:510px}
  .hero-unified .hero-g30{width:min(52vw,1200px);right:3vw;top:220px}
  .hero-product-showcase{width:min(1280px,calc(100vw - 92px))}
}
@media(max-width:1180px){
  .hero-top{min-height:520px}
  .hero-unified .hero-g30{width:64vw;right:-9vw;top:270px}
}
@media(max-width:900px){
  .hero-top{min-height:620px}
  .hero-unified .hero-g30{width:112vw;right:-40vw;top:415px}
  .hero-product-showcase{width:100%}
}
@media(max-width:600px){
  .hero-top{min-height:560px}
  .hero-unified .hero-g30{width:146vw;right:-70vw;top:420px}
}

/* V9.2 — match the intended three-line hero and lift product into the first fold */
.hero-unified .hero-scene:before{
  background-position:20% 46%;
}
.hero-unified .hero-copy{
  width:min(760px,48vw);
  max-width:760px;
}
.hero-unified .hero-copy h1{
  max-width:760px;
  font-size:clamp(58px,4.55vw,78px);
  line-height:.94;
}
.hero-unified .hero-copy>p{max-width:620px}
.hero-unified .hero-g30{
  width:min(51vw,980px);
  right:2.8vw;
  top:220px;
}
.showcase-heading{
  display:none;
}
.hero-product-showcase{
  margin:-28px auto 0;
}
.hero-product-showcase .demo-stage{padding-top:0}

@media(min-width:1900px){
  .hero-unified .hero-copy{width:820px;max-width:820px}
  .hero-unified .hero-copy h1{max-width:820px;font-size:84px}
  .hero-unified .hero-g30{width:min(50vw,1160px);right:3vw}
}
@media(max-width:1180px){
  .hero-unified .hero-copy{width:min(620px,52vw);max-width:620px}
  .hero-unified .hero-copy h1{font-size:clamp(50px,5.7vw,68px)}
  .hero-unified .hero-g30{width:62vw;right:-7vw}
  .hero-product-showcase{margin-top:-10px}
}
@media(max-width:900px){
  .hero-unified .hero-copy{width:min(650px,88vw);max-width:650px}
  .hero-unified .hero-copy h1{font-size:clamp(47px,8vw,68px)}
  .hero-product-showcase{margin-top:0}
}
@media(max-width:600px){
  .hero-unified .hero-copy{width:calc(100vw - 30px)!important;max-width:calc(100vw - 30px)!important}
  .hero-unified .hero-copy h1{font-size:34px}
}

/* V9.3 — exact three-line desktop headline */
.hero-unified .hero-copy h1{
  font-size:clamp(54px,4vw,70px);
  max-width:820px;
  white-space:nowrap;
}
.hero-unified .hero-copy{
  width:min(820px,49vw);
  max-width:820px;
}
.hero-unified .hero-copy h1 span{font-size:.96em}
@media(min-width:1900px){
  .hero-unified .hero-copy{width:880px;max-width:880px}
  .hero-unified .hero-copy h1{font-size:76px;max-width:880px}
}
@media(max-width:1180px){
  .hero-unified .hero-copy{width:min(650px,54vw);max-width:650px}
  .hero-unified .hero-copy h1{font-size:clamp(48px,5.4vw,64px)}
}
@media(max-width:900px){
  .hero-unified .hero-copy h1{white-space:normal}
}

/* V9.4 — phone safe zone */
@media(max-width:600px){
  .hero-top{min-height:610px}
  .hero-unified .hero-copy{
    width:calc(100vw - 38px)!important;
    max-width:calc(100vw - 38px)!important;
  }
  .hero-unified .hero-copy h1{
    font-size:32px;
    line-height:1.02;
  }
  .hero-unified .hero-copy>p{
    width:calc(100vw - 46px)!important;
    max-width:calc(100vw - 46px)!important;
    font-size:11.8px;
    line-height:1.58;
    overflow-wrap:break-word;
  }
  .hero-unified .hero-g30{
    width:138vw;
    right:-65vw;
    top:505px;
  }
  .hero-unified .hero-actions{
    gap:14px;
    margin-top:20px;
  }
  .hero-unified .button.blue{
    padding:13px 17px;
    font-size:12px;
  }
}
