*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{min-height:100vh;}
img{max-width:100%;display:block;}

    :root{
      --bg:#ffffff;
      --bg-alt:#f6f7f9;
      --ink:#15181d;
      --body:#3c424d;
      --muted:#7a828f;
      --line:#e5e8ec;
      --accent:#1f3a5f;
      --accent-2:#274a78;
      --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      --serif:Georgia,"Times New Roman",serif;
      --max:1080px;
      font-family:var(--sans);
      color:var(--body);
      background:var(--bg);
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    img{max-width:100%;display:block;}
    a{color:var(--accent);text-decoration:none;transition:color .15s ease;}
    a:hover{color:var(--accent-2);}

    .container{max-width:var(--max);margin:0 auto;padding:0 24px;width:100%;}

    /* ---------- NAV ---------- */
    .nav{
      position:sticky;top:0;z-index:100;
      background:rgba(255,255,255,.92);
      backdrop-filter:saturate(180%) blur(10px);
      border-bottom:1px solid var(--line);
    }
    .nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px;}
    .brand{display:flex;flex-direction:column;line-height:1.2;}
    .brand-name{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);letter-spacing:.2px;}
    .brand-tag{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-top:2px;}
    .menu{display:flex;align-items:center;gap:28px;}
    .menu a{font-size:14.5px;font-weight:500;color:var(--body);}
    .menu a:hover,.menu a.active{color:var(--ink);}
    .menu a.active{position:relative;}
    .menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-26px;height:2px;background:var(--accent);}
    .menu-cta{
      background:var(--accent);color:#fff !important;padding:9px 18px;border-radius:6px;
    }
    .menu-cta:hover{background:var(--accent-2);}
    .menu-cta.active::after{display:none;}
    .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
    .burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.2s;}

    /* ---------- HERO ---------- */
    .hero{background:linear-gradient(180deg,#fbfcfd 0%,#ffffff 100%);border-bottom:1px solid var(--line);padding:88px 0 76px;}
    .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);font-weight:600;margin-bottom:20px;}
    .hero-title{font-family:var(--serif);font-size:46px;line-height:1.15;color:var(--ink);font-weight:700;max-width:860px;letter-spacing:-.4px;}
    .hero-sub{font-size:18px;line-height:1.65;color:var(--body);max-width:680px;margin-top:24px;}
    .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

    /* ---------- BUTTONS ---------- */
    .btn{display:inline-block;font-size:15px;font-weight:600;padding:13px 26px;border-radius:7px;cursor:pointer;transition:all .15s ease;border:1px solid transparent;}
    .btn-primary{background:var(--accent);color:#fff !important;}
    .btn-primary:hover{background:var(--accent-2);color:#fff !important;}
    .btn-ghost{background:#fff;color:var(--ink) !important;border-color:var(--line);}
    .btn-ghost:hover{border-color:var(--accent);color:var(--accent) !important;}

    /* ---------- STATS ---------- */
    .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:10px;margin-top:-38px;background:#fff;box-shadow:0 8px 30px rgba(20,24,34,.05);overflow:hidden;position:relative;z-index:2;}
    .stat{padding:26px 22px;text-align:center;border-right:1px solid var(--line);}
    .stat:last-child{border-right:0;}
    .stat-num{display:block;font-family:var(--serif);font-size:26px;font-weight:700;color:var(--ink);}
    .stat-label{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.4;}

    /* ---------- SECTIONS ---------- */
    .section{padding:56px 0;}
    .kicker{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);font-weight:600;margin-bottom:10px;}
    .h2{font-family:var(--serif);font-size:30px;line-height:1.2;color:var(--ink);font-weight:700;margin-bottom:28px;letter-spacing:-.2px;}

    /* ---------- GRIDS / CARDS ---------- */
    .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
    .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
    .card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;transition:border-color .15s ease,box-shadow .15s ease;}
    .card:hover{border-color:#cfd6de;box-shadow:0 6px 22px rgba(20,24,34,.05);}
    .card h3{font-size:17px;color:var(--ink);font-weight:700;margin-bottom:10px;}
    .card p{font-size:14.5px;color:var(--body);}
    .card-meta{color:var(--muted);font-size:13px;margin-bottom:8px !important;}
    .card-list ul{list-style:none;margin-top:6px;}
    .card-list li{position:relative;padding-left:20px;font-size:14.5px;color:var(--body);margin-bottom:9px;}
    .card-list li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--accent);}

    /* ---------- CTA BAND ---------- */
    .cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;padding:34px 38px;flex-wrap:wrap;}

    /* ---------- PAGE HEAD ---------- */
    .pagehead{background:linear-gradient(180deg,#fbfcfd 0%,#ffffff 100%);border-bottom:1px solid var(--line);padding:72px 0 56px;}
    .pagehead-title{font-family:var(--serif);font-size:40px;line-height:1.15;color:var(--ink);font-weight:700;letter-spacing:-.3px;max-width:820px;}
    .pagehead-sub{font-size:18px;color:var(--body);margin-top:16px;max-width:680px;}

    /* ---------- PROSE ---------- */
    .prose-wrap{padding-top:8px;}
    .prose{max-width:760px;padding:44px 0 8px;}
    .prose p{font-size:17px;line-height:1.75;color:#333a45;margin-bottom:22px;}
    .prose em{color:var(--ink);}

    /* ---------- PRINCIPAL PHOTO ---------- */
    .principal-intro{display:flex;gap:36px;align-items:flex-start;padding:44px 0 8px;}
    .principal-intro .prose{padding:0;max-width:none;flex:1 1 auto;}
    .principal-intro .prose p:first-child{margin-top:0;}
    .principal-photo{flex:0 0 300px;margin:0;position:sticky;top:96px;}
    .principal-photo img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(20,24,34,.10);display:block;}
    .principal-photo figcaption{margin-top:12px;font-size:13px;color:var(--muted);text-align:center;letter-spacing:.3px;}
    @media (max-width:760px){
      .principal-intro{flex-direction:column;gap:24px;padding-top:32px;}
      .principal-photo{flex:0 0 auto;width:100%;max-width:300px;position:static;top:auto;}
    }

    /* ---------- TIMELINE ---------- */
    .timeline{max-width:820px;border-left:2px solid var(--line);padding-left:0;}
    .tl-item{position:relative;padding:0 0 30px 28px;border-left:2px solid transparent;margin-left:-2px;}
    .tl-item::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--accent);}
    .tl-item:last-child{padding-bottom:0;}
    .tl-role{font-size:17px;font-weight:700;color:var(--ink);}
    .tl-meta{font-size:13px;color:var(--muted);margin:3px 0 10px;}
    .tl-item p{font-size:15px;color:var(--body);}

    /* ---------- ARTICLES ---------- */
    .article-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px;cursor:pointer;transition:border-color .15s,box-shadow .15s;max-width:820px;}
    .article-card:hover{border-color:#cfd6de;box-shadow:0 8px 26px rgba(20,24,34,.06);}
    .article-date{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;}
    .article-title{font-family:var(--serif);font-size:26px;line-height:1.25;color:var(--ink);font-weight:700;margin-bottom:14px;}
    .article-excerpt{font-size:16px;color:var(--body);margin-bottom:18px;}
    .readmore{font-weight:600;font-size:15px;}
    .back{display:inline-block;font-size:14px;font-weight:600;margin:36px 0 4px;}
    .article-head{max-width:760px;padding-top:14px;}
    .article-fulltitle{font-family:var(--serif);font-size:38px;line-height:1.2;color:var(--ink);font-weight:700;margin-top:10px;letter-spacing:-.3px;}

    /* ---------- CONTACT ---------- */
    .contact-wrap{display:flex;justify-content:flex-start;}
    .contact-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:44px;max-width:640px;width:100%;box-shadow:0 8px 30px rgba(20,24,34,.04);}
    .contact-label{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:600;margin-bottom:8px;}
    .contact-email{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--ink) !important;word-break:break-word;}
    .contact-email:hover{color:var(--accent) !important;}
    .contact-note{font-size:15px;color:var(--body);margin:22px 0 28px;line-height:1.65;}

    /* ---------- FOOTER ---------- */
    .footer{background:#0f141b;color:#c3ccd8;margin-top:72px;padding:52px 0 34px;}
    .footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.09);}
    .foot-name{font-family:var(--serif);font-size:20px;font-weight:700;color:#fff;}
    .foot-tag{font-size:13px;color:#8b95a3;margin-top:6px;max-width:440px;}
    .foot-nav{display:flex;gap:22px;flex-wrap:wrap;}
    .foot-nav a{color:#c3ccd8;font-size:14px;}
    .foot-nav a:hover{color:#fff;}
    .foot-legal{font-size:12.5px;color:#6c7684;margin-top:22px;line-height:1.6;}

    /* ---------- RESPONSIVE ---------- */
    @media (max-width:860px){
      .hero-title{font-size:34px;}
      .pagehead-title{font-size:31px;}
      .article-fulltitle{font-size:29px;}
      .grid-3{grid-template-columns:1fr 1fr;}
      .stats{grid-template-columns:1fr 1fr;}
      .stat:nth-child(2){border-right:0;}
      .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line);}
    }
    @media (max-width:640px){
      .burger{display:flex;}
      .menu{
        position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
        flex-direction:column;align-items:stretch;gap:0;padding:8px 0;display:none;box-shadow:0 12px 24px rgba(20,24,34,.08);
      }
      .menu.open{display:flex;}
      .menu a{padding:14px 24px;border-bottom:1px solid var(--line);}
      .menu a:last-child{border-bottom:0;}
      .menu a.active::after{display:none;}
      .menu-cta{margin:8px 24px;text-align:center;border-radius:6px;}
      .grid-3,.grid-2{grid-template-columns:1fr;}
      .hero{padding:56px 0 60px;}
      .hero-title{font-size:29px;}
      .hero-sub{font-size:16.5px;}
      .cta-band{padding:26px;}
      .prose p{font-size:16px;}
      .contact-card{padding:30px;}
      .contact-email{font-size:22px;}
    }
  
    /* ---------- FAQ ---------- */
    .faq{max-width:840px;}
    .faq-item{border-top:1px solid var(--line);padding:22px 0;}
    .faq-item:last-child{border-bottom:1px solid var(--line);}
    .faq-q{font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:700;margin-bottom:8px;}
    .faq-a{font-size:15.5px;color:var(--body);line-height:1.7;}

    /* ---------- FORM ---------- */
    .form{margin-top:26px;}
    .form-row{margin-bottom:16px;}
    .form label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
    .form input,.form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink);background:#fff;}
    .form input:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(31,58,95,.12);}
    .form textarea{min-height:130px;resize:vertical;}
    .form .btn{margin-top:4px;cursor:pointer;}

    /* ---------- CONTACT EMAIL: no mid-word break ---------- */
    .contact-email{word-break:normal;overflow-wrap:normal;font-size:26px;line-height:1.3;}
    @media (max-width:640px){ .contact-email{font-size:16px;} }

    /* ---------- INSIGHTS LIST + ARTICLE NOTE ---------- */
    .insights-list{display:flex;flex-direction:column;gap:20px;}
    .article-note{font-size:14px;color:var(--muted);line-height:1.7;border-top:1px solid var(--line);padding-top:20px;margin-top:8px;}

    /* ---------- ARTICLE CARD LINK ---------- */
    .article-card-link{display:block;text-decoration:none;}
    .article-card-link .article-title,.article-card-link .article-excerpt{color:var(--ink);}
    .article-card-link:hover .article-card{border-color:#cfd6de;box-shadow:0 8px 26px rgba(20,24,34,.06);}
