
    :root{
      --bg:#f5faff;
      --panel:#ffffff;
      --panel-soft:#eef6ff;
      --line:#d9e8f7;
      --text:#11304e;
      --muted:#617a97;
      --primary:#1d6fe8;
      --primary-2:#68b7ff;
      --accent:#0ea5e9;
      --dark:#0f2747;
      --success:#eaf8ef;
      --warning:#fff8e8;
      --shadow:0 20px 50px rgba(13,39,71,.10);
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(104,183,255,.20), transparent 30%),
        linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%);
      line-height:1.7;
    }

    img{
      display:block;
      max-width:100%;
      height:auto;
      border:0;
    }

    a{color:var(--primary);text-decoration:none}
    a:hover{text-decoration:underline}
    .container{width:min(var(--max), calc(100% - 32px));margin:0 auto}

    .topbar{
      position:sticky;
      top:0;
      z-index:20;
      backdrop-filter:blur(12px);
      background:rgba(245,250,255,.82);
      border-bottom:1px solid rgba(217,232,247,.9);
    }
    .topbar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:14px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      color:var(--dark);
    }
    .brand-badge{
      width:40px;
      height:40px;
      border-radius:14px;
      background:linear-gradient(135deg,var(--primary),var(--primary-2));
      box-shadow:0 10px 24px rgba(29,111,232,.25);
      display:grid;
      place-items:center;
      color:#fff;
      font-weight:800;
    }
    .nav{
      display:flex;
      align-items:center;
      gap:18px;
      flex-wrap:wrap;
    }
    .nav a{
      color:var(--muted);
      font-weight:600;
      font-size:14px;
    }
    .nav .cta{
      padding:10px 16px;
      border-radius:999px;
      background:var(--primary);
      color:#fff;
    }

    .hero{
      padding:64px 0 26px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:28px;
      align-items:stretch;
    }
    .hero-copy,.hero-card{
      background:rgba(255,255,255,.86);
      border:1px solid rgba(217,232,247,.9);
      box-shadow:var(--shadow);
      border-radius:var(--radius-xl);
    }
    .hero-copy{padding:34px}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:var(--panel-soft);
      border:1px solid var(--line);
      font-size:12px;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
      color:var(--primary);
    }
    h1{
      margin:16px 0 14px;
      font-family:'Playfair Display', Georgia, serif;
      font-size:clamp(2rem, 4vw, 3.6rem);
      line-height:1.08;
      color:var(--dark);
    }
    .lead{
      font-size:1.05rem;
      color:var(--muted);
      max-width:65ch;
      margin:0 0 22px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:18px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:13px 18px;
      border-radius:999px;
      font-weight:700;
      border:1px solid transparent;
    }
    .btn-primary{background:var(--primary);color:#fff}
    .btn-secondary{background:#fff;color:var(--dark);border-color:var(--line)}

    .micro{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:24px;
    }
    .micro .item{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:16px;
    }
    .micro strong{
      display:block;
      font-size:1.1rem;
      color:var(--dark);
    }
    .micro span{
      font-size:.92rem;
      color:var(--muted);
    }

    .hero-card{padding:18px}
    .hero-image{
      border-radius:22px;
      border:1px solid var(--line);
      background:linear-gradient(180deg,#f8fbff 0%, #edf5ff 100%);
      padding:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      min-height:280px;
    }
    .hero-image img{
      width:100%;
      height:auto;
      max-height:560px;
      object-fit:contain;
      object-position:center;
      border-radius:16px;
    }
    .hero-caption{
      padding:14px 6px 4px;
      color:var(--muted);
      font-size:.93rem;
    }

    section{padding:18px 0}
    .section-title{
      font-size:clamp(1.6rem,2.6vw,2.3rem);
      line-height:1.15;
      color:var(--dark);
      margin:0 0 14px;
    }
    .section-sub{
      color:var(--muted);
      max-width:72ch;
      margin:0 0 20px;
    }

    .quick-answer{
      padding:12px 0 8px;
    }
    .answer-card{
      background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
      border:1px solid var(--line);
      border-radius:var(--radius-xl);
      padding:28px;
      box-shadow:var(--shadow);
    }
    .answer-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:24px;
      align-items:start;
    }
    .pill-list{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:18px;
    }
    .pill{
      padding:10px 14px;
      border-radius:999px;
      background:var(--panel-soft);
      border:1px solid var(--line);
      font-weight:700;
      font-size:.92rem;
    }

    .cards{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .card{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      padding:24px;
      box-shadow:var(--shadow);
    }
    .card h3{
      margin:0 0 10px;
      font-size:1.15rem;
      color:var(--dark);
    }
    .card p{
      margin:0;
      color:var(--muted);
    }

    .timeline-wrap{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    table{
      width:100%;
      border-collapse:collapse;
      background:#fff;
    }
    thead th{
      text-align:left;
      background:#edf5ff;
      color:var(--dark);
      font-size:.92rem;
      letter-spacing:.02em;
    }
    th,td{
      padding:16px 18px;
      border-bottom:1px solid var(--line);
      vertical-align:top;
    }
    tbody tr:last-child td{border-bottom:none}
    td small{
      display:block;
      color:var(--muted);
      margin-top:6px;
    }

    .content-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:22px;
      align-items:start;
    }
    .content-panel{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
      padding:28px;
    }
    .content-panel h3{
      margin:22px 0 10px;
      color:var(--dark);
      font-size:1.18rem;
    }
    .content-panel h3:first-child{margin-top:0}
    .content-panel ul{
      padding-left:20px;
      margin:12px 0 0;
    }
    .content-panel li{margin:8px 0}
    .note{
      padding:16px 18px;
      border-radius:18px;
      border:1px solid var(--line);
      background:var(--panel-soft);
      color:var(--muted);
    }
    .note strong{color:var(--dark)}
    .checklist{
      display:grid;
      gap:14px;
    }
    .check{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:16px;
    }
    .check strong{
      display:block;
      color:var(--dark);
      margin-bottom:6px;
    }
    .check span{color:var(--muted)}

    .cta-band{
      margin:18px 0 8px;
      background:linear-gradient(135deg, #0f2747 0%, #1d6fe8 100%);
      color:#fff;
      border-radius:30px;
      padding:34px;
      box-shadow:0 24px 60px rgba(13,39,71,.18);
    }
    .cta-band h2{
      margin:0 0 10px;
      font-size:clamp(1.6rem,2.6vw,2.2rem);
    }
    .cta-band p{
      margin:0 0 16px;
      color:rgba(255,255,255,.88);
      max-width:70ch;
    }
    .cta-band .btn-secondary{
      background:rgba(255,255,255,.12);
      border-color:rgba(255,255,255,.22);
      color:#fff;
    }

    .faq-list{display:grid;gap:14px}
    .faq-item{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:22px;
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:20px 22px;
      font-weight:700;
      color:var(--dark);
      position:relative;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary::after{
      content:"+";
      position:absolute;
      right:22px;
      top:18px;
      font-size:1.4rem;
      color:var(--primary);
    }
    .faq-item[open] summary::after{content:"−"}
    .faq-item .faq-body{
      padding:0 22px 20px;
      color:var(--muted);
    }

    .author{
      display:flex;
      gap:16px;
      align-items:flex-start;
    }
    .author-badge{
      width:58px;
      height:58px;
      border-radius:18px;
      background:linear-gradient(135deg,var(--primary),var(--primary-2));
      color:#fff;
      display:grid;
      place-items:center;
      font-weight:800;
      font-size:1.1rem;
      flex:0 0 auto;
    }

    .footer{
      padding:38px 0 48px;
      color:var(--muted);
    }
    .footer-box{
      background:rgba(255,255,255,.75);
      border:1px solid var(--line);
      border-radius:24px;
      padding:22px;
    }

    @media (max-width: 980px){
      .hero-grid,
      .answer-grid,
      .content-grid,
      .cards{
        grid-template-columns:1fr;
      }
      .micro{grid-template-columns:1fr}
      .topbar-inner{
        align-items:flex-start;
        flex-direction:column;
      }
      .hero-image{
        min-height:unset;
      }
      .hero-image img{
        max-height:none;
      }
    }

    @media (max-width: 640px){
      .container{width:min(var(--max), calc(100% - 20px))}
      .hero{padding-top:38px}
      .hero-copy,
      .hero-card,
      .answer-card,
      .content-panel,
      .card,
      .cta-band{
        padding:20px;
      }
      th,td{padding:14px}
      .hero-image{
        padding:10px;
      }
    }
  