:root{
      --navy:#081b36;
      --navy2:#123968;
      --navy3:#0e2b50;
      --sky:#dceffd;
      --sky2:#9bd2fb;
      --bg:#f4f8fc;
      --white:#ffffff;
      --text:#22384d;
      --muted:#65798d;
      --border:rgba(8,27,54,.11);
      --shadow:0 18px 36px rgba(8,27,54,.08);
      --radius:22px;
      --max:1240px;
      --transition:.28s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
      background:var(--bg);
      color:var(--text);
      font-size:16px;
      line-height:1.5;
    }

main{
    margin-top: 70px;
}

    img,iframe{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    .container{width:min(var(--max),calc(100% - 2rem));margin:0 auto}
    section{padding:1.3rem 0 3.2rem}
    h1,h2,h3,h4{margin:0 0 1rem;line-height:1.12;color:var(--navy);font-weight:700}
    h1{font-size:clamp(2.8rem,5vw,5.2rem);max-width:8.5ch}
    h2{font-size:clamp(1.8rem,3vw,2.9rem)}
    h3{font-size:1.08rem}
    h4{font-size:1rem;margin-bottom:.45rem}
    p{margin:0 0 1rem}
    .lead{color:var(--muted);font-size:1.05rem}
    .eyebrow{
      display:inline-block;
      padding:.42rem .8rem;
      border-radius:999px;
      background:rgba(155,210,251,.22);
      border:1px solid rgba(18,57,104,.09);
      color:var(--navy);
      font-size:.76rem;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.06em;
      margin-bottom:1rem;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:1rem;
      align-items:stretch;
    }

    .hero-copy,.band,.card,.tall-media,.small-media,.quote-panel,.solution-card,details{
      border-radius:var(--radius);
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      overflow:hidden;
      transition:var(--transition);
    }

    .hero-copy{
      background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(220,239,253,.45));
      padding:2rem;
    }

    .hero-media{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:1rem;
    }

    .tall-media{
      min-height:100%;
      background:
        linear-gradient(150deg,rgba(6,20,40,.18),rgba(6,20,40,.55)),
        url("https://drive.google.com/uc?export=view&id=1nvK755AwAYoVc6K42R9e4dTACQrri5-L") center/cover no-repeat;
      position:relative;
      background-color:var(--navy);
    }

    .tall-media .caption-float{
      position:absolute;
      left:1rem; right:1rem; bottom:1rem;
      background:rgba(255,255,255,.92);
      color:var(--text);
      border-radius:16px;
      padding:.9rem 1rem;
      font-size:.92rem;
      line-height:1.38;
    }

    .hero-stack{
      display:grid;
      grid-template-rows:1fr 1fr;
      gap:1rem;
    }

    .dark-tile{
      background:linear-gradient(145deg,var(--navy),var(--navy2));
      color:var(--white);
      padding:1.2rem;
      display:flex;
      align-items:flex-end;
      min-height:180px;
    }
    .dark-tile p{margin:0;color:rgba(255,255,255,.86)}

    .video-tile iframe{
      width:100%;
      height:100%;
      min-height:180px;
      border:0;
      aspect-ratio:16/9;
    }

    .band{
      background:linear-gradient(135deg,var(--navy),var(--navy2));
      color:var(--white);
      padding:1.35rem 1.45rem;
      margin-bottom:1rem;
    }
    .band h2,.band .eyebrow{color:var(--white)}
    .band .eyebrow{
      background:rgba(255,255,255,.1);
      border-color:rgba(255,255,255,.14)
    }
    .band p{margin:0;color:rgba(255,255,255,.86);max-width:74ch}

    .mosaic{
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:1rem;
      margin-bottom:1rem;
    }
    .mosaic-left{
      display:grid;
      grid-template-rows:1fr auto;
      gap:1rem;
    }
    .mosaic-right{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:1rem;
    }

    .small-media,.tall-media,.video-box{
      background:var(--navy);
      position:relative;
      min-height:220px;
    }
    .big-media{min-height:380px}
    .small-media img,.big-media img,.video-box iframe{
      width:100%;
      height:100%;
      object-fit:cover;
      min-height:inherit;
      border:0;
    }

    .media-caption{
      position:absolute;
      left:.9rem; right:.9rem; bottom:.9rem;
      background:rgba(255,255,255,.92);
      color:var(--text);
      border-radius:16px;
      padding:.78rem .92rem;
      font-size:.9rem;
      line-height:1.38;
    }

    .quote-panel{
      background:linear-gradient(150deg,var(--navy),var(--navy2));
      color:var(--white);
      padding:1.15rem 1.2rem;
    }
    .quote-panel h3{color:var(--white);margin-bottom:.55rem}
    .quote-panel p{color:rgba(255,255,255,.86);margin:0}

    .info-card{
      background:var(--white);
      border-radius:var(--radius);
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      padding:1.15rem;
      min-height:220px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }

    .placeholder{
      background:
        radial-gradient(circle at top left, rgba(155,210,251,.18), transparent 28%),
        linear-gradient(145deg,var(--navy),var(--navy2));
      color:var(--white);
      min-height:220px;
      display:grid;
      place-items:center;
      text-align:center;
      padding:1.4rem;
    }
    .placeholder .icon{
      width:68px;height:68px;border-radius:50%;
      background:rgba(255,255,255,.12);
      display:grid;place-items:center;
      margin:0 auto .9rem;
      font-size:1.55rem;font-weight:700;
    }
    .placeholder p{margin:0;color:rgba(255,255,255,.82)}

    .solutions-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:1rem;
    }

    .solution-card{
      background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(220,239,253,.18));
      padding:1.15rem 1.15rem 1rem;
    }

    .solution-head{
      display:flex;
      gap:.8rem;
      align-items:flex-start;
      margin-bottom:.65rem;
    }
    .icon-badge{
      width:44px;height:44px;min-width:44px;
      border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(135deg,var(--navy),var(--navy2));
      color:var(--white);
      font-size:1.15rem;
      box-shadow:0 10px 22px rgba(8,27,54,.14);
    }
    .solution-head h3{margin:.12rem 0 0}

    details{background:var(--white);margin-top:.75rem}
    summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:.95rem 1rem;
      color:var(--navy);
      font-weight:700;
    }
    summary::-webkit-details-marker{display:none}
    summary::after{
      content:"+";
      color:var(--navy2);
      font-size:1.1rem;
    }
    details[open] summary::after{content:"–"}
    .details-body{
      border-top:1px solid rgba(8,27,54,.08);
      padding:1rem;
    }
    .detail-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:1rem;
    }
    .impact-box{
      background:linear-gradient(180deg,rgba(220,239,253,.28),rgba(255,255,255,.96));
      border-radius:18px;
      padding:1rem;
    }

    .bullet-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:.66rem;
    }
    .bullet-list li{
      position:relative;
      padding-left:1.15rem;
    }
    .bullet-list li::before{
      content:"";
      position:absolute;
      left:0; top:.66rem;
      width:8px;height:8px;border-radius:50%;
      background:var(--sky2);
      box-shadow:0 0 0 4px rgba(155,210,251,.15);
    }

    .resource-link{
      display:inline-flex;
      gap:.6rem;
      align-items:center;
      margin-top:.9rem;
      padding:.7rem .95rem;
      border-radius:999px;
      background:var(--white);
      border:1px solid var(--border);
      font-weight:600;
      color:var(--navy);
    }
    .resource-link span{
      width:26px;height:26px;border-radius:50%;
      display:grid;place-items:center;
      background:rgba(155,210,251,.22);
    }

    .reveal{
      opacity:0;
      transform:translateY(24px);
      transition:.75s ease;
    }
    .reveal.visible{
      opacity:1;
      transform:translateY(0);
    }

    footer{
      padding:1.45rem 0 2rem;
      border-top:1px solid rgba(8,27,54,.08);
      color:var(--muted);
      font-size:.94rem;
    }

    @media (max-width:1100px){
      .hero-grid,.hero-media,.mosaic,.solutions-grid,.detail-grid{
        grid-template-columns:1fr;
      }
      .mosaic-right{grid-template-columns:1fr 1fr}
    }
    @media (max-width:780px){
      body{font-size:14px;line-height:1.45}
      .hero-copy,.band,.quote-panel,.solution-card,.info-card{padding-left:1.1rem;padding-right:1.1rem}
      .mosaic-right{grid-template-columns:1fr}
      .big-media,.small-media,.video-box,.tall-media,.video-tile iframe{min-height:250px}
      section{padding-bottom:2.5rem}
    }