  :root{
    --black:#000000;
    --near-black:#1a1a1a;
    --white:#ffffff;
    --yellow:#f0c419;
    --grey-900:#2e2e38;
    --grey-600:#6c6c76;
    --grey-300:#c4c4cd;
    --grey-100:#f2f2f5;
    --grey-050:#f9f9fb;
    --max:1240px;
    --serif-line:1.15;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',Arial,sans-serif;
    color:var(--near-black);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 28px;font-weight:700;font-size:15px;
    border:2px solid var(--black);border-radius:9px;
    cursor:pointer;transition:color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease;
    white-space:nowrap;position:relative;overflow:hidden;z-index:0;
  }
  .btn::before{
    content:"";position:absolute;inset:0;background:var(--yellow);
    transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:-1;
  }
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.16);}
  .btn:active{transform:translateY(0);box-shadow:0 4px 10px rgba(0,0,0,.14);}
  .btn:hover::before{transform:scaleX(1);}
  .btn-primary{background:var(--black);color:var(--white);border-color:rgba(255,255,255,.22);}
  .btn-primary:hover{color:var(--black);border-color:var(--black);}
  .btn-outline{background:var(--white);color:var(--black);border-color:var(--grey-300);}
  .btn-outline:hover{color:var(--black);border-color:var(--yellow);}
  .btn-ghost-light{background:transparent;border-color:rgba(255,255,255,.5);color:var(--white);}
  .btn-ghost-light:hover{color:var(--black);border-color:var(--yellow);}
  .eyebrow{font-size:13px;font-weight:700;color:var(--grey-600);letter-spacing:.02em;}
  h1,h2,h3,h4{font-weight:800;line-height:1.08;letter-spacing:-0.01em;}
  h2{font-size:clamp(28px,3.4vw,42px);}
  h3{font-size:20px;}
  p{color:var(--grey-900);}
  section{padding:96px 0;}
  .section-head{max-width:680px;margin-bottom:56px;}
  .section-head p{margin-top:16px;font-size:17px;color:var(--grey-600);}

  /* ---------- Scroll reveal ---------- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
  .reveal.visible{opacity:1;transform:translateY(0);}
  .reveal-stagger.visible .reveal-child{opacity:1;transform:translateY(0);}
  .reveal-child{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}

  /* ---------- Accessibility ---------- */
  .skip-link{
    position:absolute;left:-999px;top:0;background:var(--yellow);color:var(--black);
    padding:12px 20px;font-weight:700;z-index:999;
  }
  .skip-link:focus{left:0;}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:3px solid var(--yellow);outline-offset:2px;
  }
  @media (prefers-reduced-motion: reduce){
    .reveal,.reveal-child{transition:none;opacity:1;transform:none;}
  }

  /* ---------- Utility bar ---------- */
  .utility-bar{background:var(--black);color:var(--grey-300);font-size:13px;}
  .utility-bar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;}
  .utility-bar a{color:var(--grey-300);}
  .utility-bar a:hover{color:var(--yellow);}
  .utility-bar .dot{margin:0 8px;color:var(--grey-600);}

  /* ---------- Header ---------- */
  header.main-nav{
    position:sticky;top:0;z-index:200;background:var(--white);
    border-bottom:1px solid var(--grey-100);
  }
  .nav-row{display:flex;align-items:center;justify-content:space-between;height:130px;}
  .logo{display:flex;align-items:center;gap:18px;height:100%;}
  .logo-image{height:92px;width:auto;max-width:280px;object-fit:contain;display:block;}
  .brand-wordmark{display:flex;flex-direction:column;line-height:1.05;}
  .brand-name{font-size:36px;font-weight:800;letter-spacing:-0.01em;color:var(--black);}
  .brand-name .accent-crew{color:var(--black);background:var(--yellow);padding:2px 4px 4px 10px;border-radius:6px 0 0 6px;display:inline-block;}
  .brand-name .accent{color:var(--yellow);background:var(--black);padding:2px 10px 4px 4px;border-radius:0 6px 6px 0;display:inline-block;}
  .brand-tagline{font-size:12.5px;font-weight:800;font-style:normal;letter-spacing:.09em;text-transform:uppercase;color:var(--grey-900);margin-top:7px;margin-left:10px;white-space:nowrap;display:inline-block;border-bottom:2.5px solid var(--yellow);padding-bottom:3px;}
  .nav-links{display:flex;align-items:center;gap:34px;}
  .nav-links > li{position:relative;}
  .nav-links > li > a{font-weight:600;font-size:15px;padding:8px 0;border-bottom:2px solid transparent;}
  .nav-links > li > a:hover{border-bottom:2px solid var(--yellow);}
  .has-dropdown > a::after{content:"";display:inline-block;margin-left:6px;width:7px;height:7px;border-right:2px solid var(--near-black);border-bottom:2px solid var(--near-black);transform:rotate(45deg);position:relative;top:-2px;}
  .mega-panel{
    position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);
    background:var(--white);box-shadow:0 24px 60px rgba(0,0,0,.16);
    width:760px;padding:36px;opacity:0;visibility:hidden;transition:all .18s ease;
    border-top:3px solid var(--yellow);display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  }
  .has-dropdown:hover .mega-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
  .mega-item{display:flex;gap:14px;align-items:flex-start;}
  .mega-item-icon{width:38px;height:38px;border:1.5px solid var(--grey-100);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.18s ease;}
  .mega-item-icon svg{width:18px;height:18px;stroke:var(--black);}
  .mega-item:hover .mega-item-icon{background:var(--yellow);border-color:var(--yellow);}
  .mega-item h4{font-size:14.5px;font-weight:700;margin-bottom:4px;}
  .mega-item p{font-size:13px;color:var(--grey-600);line-height:1.4;}
  .mega-item:hover h4{color:var(--black);}
  .mega-item a.mega-link{display:block;}
  .nav-cta{display:flex;align-items:center;gap:18px;}
  .nav-cta .btn{padding:12px 22px;font-size:14px;}
  .burger{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;}
  .burger span{position:absolute;left:0;right:0;height:2px;background:var(--black);transition:.2s;}
  .burger span:nth-child(1){top:0;}
  .burger span:nth-child(2){top:9px;}
  .burger span:nth-child(3){top:18px;}
  .mobile-panel{display:none;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;background:var(--black);color:var(--white);
    overflow:hidden;padding:120px 0 100px;
  }
  .hero-shape{
    position:absolute;right:-10%;top:-20%;width:70%;height:140%;
    background:conic-gradient(from 200deg, var(--yellow), #000 35%, #000 70%, var(--yellow));
    opacity:.16;filter:blur(0px);
    clip-path:polygon(30% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
  .hero-bar{position:absolute;left:0;bottom:0;width:100%;height:6px;background:var(--yellow);}
  .hero-bridge{position:absolute;right:0;top:0;width:52%;height:100%;opacity:.9;}
  .hero-bridge svg{width:100%;height:100%;}
  .hero-inner{position:relative;z-index:2;max-width:760px;}
  .hero-inner > *{opacity:0;transform:translateY(18px);animation:heroIn .7s ease forwards;}
  .hero-inner > *:nth-child(1){animation-delay:.05s;}
  .hero-inner > *:nth-child(2){animation-delay:.16s;}
  .hero-inner > *:nth-child(3){animation-delay:.27s;}
  .hero-inner > *:nth-child(4){animation-delay:.38s;}
  @keyframes heroIn{to{opacity:1;transform:translateY(0);}}
  .hero .eyebrow{color:var(--yellow);font-size:16px;font-weight:800;letter-spacing:.14em;display:inline-flex;align-items:center;gap:12px;}
  .hero .eyebrow::before{content:"";width:30px;height:3px;background:var(--yellow);display:inline-block;flex-shrink:0;}
  .hero h1{font-size:clamp(38px,5.6vw,64px);margin:18px 0 26px;}
  .hero p.lead{font-size:19px;color:var(--grey-300);max-width:560px;margin-bottom:40px;}
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}

  /* ---------- Purpose band ---------- */
  .purpose-band{background:var(--grey-050);border-bottom:1px solid var(--grey-100);}
  .purpose-band .wrap{padding-top:64px;padding-bottom:64px;}
  .purpose-band p.purpose-line{
    font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.35;
    max-width:900px;color:var(--near-black);
  }
  .purpose-band p.purpose-line .hl{background:linear-gradient(180deg,transparent 62%,var(--yellow) 62%);}

  /* ---------- Stat / model band ---------- */
  .model-band{padding:88px 0;border-bottom:1px solid var(--grey-100);}
  .model-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
  .model-grid h2{margin-bottom:4px;}
  .chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
  .chip{border:1.5px solid var(--black);padding:10px 18px;font-size:14px;font-weight:600;}
  .model-list{display:flex;flex-direction:column;gap:0;}
  .model-list li{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--grey-100);align-items:baseline;}
  .model-list li:first-child{padding-top:0;}
  .model-list .num{font-size:14px;font-weight:800;color:var(--grey-600);min-width:26px;}
  .model-list .txt{font-weight:700;font-size:17px;}

  /* ---------- Services grid ---------- */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--grey-100);}
  .service-card{
    background:var(--white);padding:40px 34px;position:relative;
    transition:background .2s ease;min-height:270px;
    display:flex;flex-direction:column;justify-content:space-between;
  }
  .service-card:hover{background:var(--near-black);color:var(--white);}
  .service-card:hover p{color:var(--grey-300);}
  .service-card:hover .service-link{color:var(--yellow);}
  .service-icon{width:44px;height:44px;border:1.5px solid var(--black);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:all .2s ease;}
  .service-icon svg{width:22px;height:22px;stroke:var(--black);transition:stroke .2s ease;}
  .service-card:hover .service-icon{border-color:var(--yellow);background:var(--yellow);}
  .service-card:hover .service-icon svg{stroke:var(--black);}
  .service-tag{font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--grey-600);}
  .service-card:hover .service-tag{color:var(--yellow);}
  .service-card h3{margin:14px 0 12px;font-size:22px;}
  .service-card p{font-size:15px;color:var(--grey-600);}
  .service-link{margin-top:22px;font-weight:700;font-size:14.5px;display:inline-block;}

  /* ---------- Why us ---------- */
  .why-section{background:var(--grey-050);}
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:8px;}
  .why-card{background:var(--white);padding:36px 30px;border-top:4px solid var(--yellow);}
  .why-card h3{margin-bottom:12px;font-size:19px;}
  .why-card p{font-size:15px;color:var(--grey-600);}

  /* ---------- Process ---------- */
  .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--grey-100);}
  .process-card{padding:44px 36px;border-right:1px solid var(--grey-100);}
  .process-card:last-child{border-right:none;}
  .process-num{font-size:15px;font-weight:800;color:var(--yellow);background:var(--black);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:22px;}
  .process-card h3{margin-bottom:12px;}
  .process-card p{font-size:15px;color:var(--grey-600);}

  /* ---------- Security band ---------- */
  .security-band{background:var(--black);color:var(--white);position:relative;overflow:hidden;}
  .security-band::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,230,0,.35) 1px,transparent 1.5px);background-size:26px 26px;opacity:.25;pointer-events:none;}
  .security-band .wrap{position:relative;z-index:1;}
  .security-band .section-head p{color:var(--grey-300);}
  .security-band .eyebrow{color:var(--yellow);}
  .security-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
  .security-card{border-top:2px solid var(--yellow);padding-top:20px;}
  .security-card h3{font-size:17px;margin-bottom:10px;color:var(--white);}
  .security-card p{font-size:14.5px;color:var(--grey-300);}

  /* ---------- Insights ---------- */
  .insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
  .insight-card{border-bottom:1px solid var(--grey-100);padding-bottom:28px;}
  .insight-media{height:170px;background:linear-gradient(135deg,var(--near-black),var(--grey-900));position:relative;margin-bottom:22px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
  .insight-media::after{content:"";position:absolute;right:-30px;bottom:-30px;width:130px;height:130px;background:var(--yellow);opacity:.9;border-radius:50%;}
  .insight-media svg{width:46px;height:46px;stroke:var(--white);position:relative;z-index:2;}
  .insight-tag{font-size:12.5px;font-weight:800;color:var(--grey-600);letter-spacing:.04em;}
  .insight-card h3{margin:12px 0 10px;font-size:19px;}
  .insight-card p{font-size:14.5px;color:var(--grey-600);margin-bottom:14px;}
  .insight-link{font-weight:700;font-size:14px;}

  /* ---------- Contact ---------- */
  .contact-section{background:var(--grey-050);}
  .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;}
  .contact-info h2{margin-bottom:18px;}
  .contact-info > p{color:var(--grey-600);margin-bottom:36px;max-width:420px;}
  .info-block{margin-bottom:26px;}
  .info-block .label{font-size:12.5px;font-weight:800;letter-spacing:.03em;color:var(--grey-600);margin-bottom:6px;}
  .info-block a, .info-block span{font-size:16px;font-weight:600;}
  .contact-form{background:var(--white);padding:44px;box-shadow:0 20px 60px rgba(0,0,0,.06);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
  .form-group{margin-bottom:18px;display:flex;flex-direction:column;gap:8px;}
  label{font-size:13px;font-weight:700;}
  input,select,textarea{
    border:1.5px solid var(--grey-300);padding:13px 14px;font-family:inherit;font-size:15px;
    background:var(--white);
  }
  input:focus,select:focus,textarea:focus{outline:2px solid var(--black);outline-offset:1px;border-color:var(--black);}
  textarea{resize:vertical;min-height:110px;}
  .form-note{font-size:13px;color:var(--grey-600);margin-top:14px;}
  #form-success{display:none;background:var(--black);color:var(--white);padding:18px 20px;font-weight:600;margin-top:18px;border-left:4px solid var(--yellow);}

  /* ---------- Footer ---------- */
  footer{background:var(--black);color:var(--grey-300);padding:80px 0 0;}
  .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;padding-bottom:56px;border-bottom:1px solid #333;align-items:start;}
  .footer-brand .logo{margin-bottom:20px;height:auto;align-items:flex-start;}
  .footer-brand .logo-image{height:76px;}
  .footer-brand p{color:var(--grey-300);font-size:14.5px;max-width:340px;}
  .footer-col h4{color:var(--white);font-size:14px;letter-spacing:.03em;margin-bottom:18px;}
  .footer-col ul li{margin-bottom:12px;}
  .footer-col a{font-size:14.5px;color:var(--grey-300);}
  .footer-col a:hover{color:var(--yellow);}
  .footer-social{display:flex;gap:14px;margin-top:20px;}
  .footer-social a{width:36px;height:36px;border:1px solid #444;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
  .footer-social a:hover{background:var(--yellow);color:var(--black);border-color:var(--yellow);}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:13px;color:var(--grey-600);flex-wrap:wrap;gap:12px;}
  .footer-bottom a{color:var(--grey-600);}
  .footer-bottom a:hover{color:var(--yellow);}

  /* ---------- Responsive ---------- */
  @media (max-width:980px){
    .nav-links,.nav-cta .btn-outline{display:none;}
    .burger{display:block;}
    .mobile-panel.open{
      display:block;position:fixed;inset:130px 0 0 0;background:var(--white);z-index:190;
      padding:20px 32px;overflow-y:auto;
    }
    .mobile-panel a{display:block;padding:16px 0;font-weight:600;font-size:17px;border-bottom:1px solid var(--grey-100);}
    .model-grid,.contact-grid{grid-template-columns:1fr;gap:40px;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .why-grid{grid-template-columns:1fr;}
    .process-grid{grid-template-columns:1fr;}
    .process-card{border-right:none;border-bottom:1px solid var(--grey-100);}
    .security-grid{grid-template-columns:repeat(2,1fr);}
    .insights-grid{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr;gap:36px;}
    .form-row{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .services-grid{grid-template-columns:1fr;}
    .security-grid{grid-template-columns:1fr;}
    section{padding:64px 0;}
    .contact-form{padding:28px;}
    .wrap{padding:0 20px;}
    .nav-row{height:92px;}
    .logo-image{height:58px;}
    .brand-name{font-size:24px;}
    .brand-tagline{font-size:11px;letter-spacing:.04em;margin-left:6px;border-bottom-width:2px;padding-bottom:2px;}
    .mobile-panel.open{inset:92px 0 0 0 !important;}
  }
  @media (max-width:760px){
    .utility-bar .wrap{justify-content:center;height:auto;padding:8px 20px;}
    .utility-bar .wrap > div:last-child{display:none;}
    .utility-bar .wrap > div:first-child{white-space:nowrap;font-size:12px;}
    .hero-bridge{display:none;}
  }

  /* ---------- Blog listing & single post ---------- */
  .blog-hero{background:var(--black);color:var(--white);padding:70px 0 50px;}
  .blog-hero h1{font-size:clamp(32px,4.4vw,50px);margin-top:14px;}
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:70px 0;}
  .blog-empty{padding:70px 0;text-align:center;color:var(--grey-600);}
  .post-page{max-width:760px;margin:0 auto;padding:70px 32px 100px;}
  .post-page .post-tag{font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--grey-600);}
  .post-page h1{font-size:clamp(30px,4vw,44px);margin:14px 0 10px;}
  .post-page .post-date{color:var(--grey-600);font-size:14px;margin-bottom:36px;}
  .post-body{font-size:17px;line-height:1.8;color:var(--grey-900);}
  .post-body p{margin-bottom:20px;}
  .post-body h2{font-size:26px;margin:36px 0 14px;}
  .post-body h3{font-size:20px;margin:28px 0 12px;}
  .post-body a{color:var(--near-black);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;}
  .post-body ul,.post-body ol{margin:0 0 20px 22px;}
  .post-body img{max-width:100%;height:auto;margin:24px 0;}
  .back-link{display:inline-block;margin-bottom:30px;font-weight:700;font-size:14.5px;}
  @media (max-width:760px){
    .blog-grid{grid-template-columns:1fr;padding:44px 0;}
    .post-page{padding:44px 20px 70px;}
  }
