:root {
      --navy:#071C2C;
      --charcoal:#1D232A;
      --ink:#15202A;
      --cream:#F3F1EC;
      --white:#FFFFFF;
      --taupe:#B7A89A;
      --mist:#AFC3CF;
      --line:rgba(7,28,44,.12);
      --muted:#68737C;
      --success:#1F6E55;
      --shadow:0 22px 70px rgba(6,20,31,.12);
      --radius:28px;
      --radius-sm:18px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      color:var(--ink);
      background:var(--cream);
      line-height:1.55;
      -webkit-font-smoothing:antialiased;
    }
    img{max-width:100%;display:block}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .wrap{width:min(calc(100% - 36px),var(--max));margin-inline:auto}
    .eyebrow{
      text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;
      color:var(--taupe);margin-bottom:12px;
    }
    .nav{
      position:sticky;top:0;z-index:50;background:rgba(243,241,236,.88);
      backdrop-filter:blur(18px);border-bottom:1px solid rgba(7,28,44,.08);
    }
    .nav-inner{
      min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;
    }
    .brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--navy)}
    .brand-mark{
      width:38px;height:38px;border-radius:12px;background:var(--navy);color:white;
      display:grid;place-items:center;font-size:.92rem;letter-spacing:-.03em;
    }
    .brand small{display:block;color:var(--muted);font-size:.72rem;font-weight:650;margin-top:1px}
    .nav-links{display:flex;gap:24px;align-items:center;font-size:.9rem;font-weight:700;color:#45515A}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;
      padding:15px 22px;font-weight:800;transition:.2s transform,.2s box-shadow,.2s background;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{background:var(--navy);color:white;box-shadow:0 10px 28px rgba(7,28,44,.18)}
    .btn-secondary{background:white;color:var(--navy);border:1px solid var(--line)}
    .btn-light{background:var(--cream);color:var(--navy)}
    .btn-full{width:100%}
    .hero{
      background:
        radial-gradient(circle at 88% 18%,rgba(175,195,207,.20),transparent 32%),
        radial-gradient(circle at 68% 90%,rgba(183,168,154,.14),transparent 27%),
        var(--navy);
      color:white;padding:70px 0 52px;overflow:hidden;
    }
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
    .hero h1{
      margin:0 0 22px;font-size:clamp(2.55rem,5.25vw,5.3rem);line-height:.98;letter-spacing:-.055em;
      max-width:820px;
    }
    .hero h1 span{color:var(--mist)}
    .hero-copy{font-size:1.12rem;color:rgba(255,255,255,.78);max-width:690px;margin:0 0 28px}
    .chips{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 30px}
    .chip{
      padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.17);
      background:rgba(255,255,255,.06);color:rgba(255,255,255,.88);font-size:.86rem;font-weight:700;
    }
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .hero-note{margin-top:18px;color:rgba(255,255,255,.55);font-size:.83rem}
    .hero-photo{
      position:relative;border-radius:34px;overflow:hidden;box-shadow:0 32px 90px rgba(0,0,0,.38);
      min-height:540px;background:#10161b;
    }
    .hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
    .hero-photo:after{
      content:"";position:absolute;inset:auto 0 0;height:36%;
      background:linear-gradient(transparent,rgba(7,28,44,.88));
    }
    .photo-label{
      position:absolute;z-index:2;left:24px;right:24px;bottom:22px;
      display:flex;align-items:end;justify-content:space-between;gap:15px;
    }
    .photo-label strong{font-size:1.15rem}
    .photo-label span{display:block;color:rgba(255,255,255,.68);font-size:.84rem;margin-top:2px}
    .verified{
      border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);
      padding:8px 11px;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap;
    }
    section{padding:92px 0}
    .section-head{max-width:760px;margin-bottom:42px}
    .section-head h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.04;letter-spacing:-.045em;margin:0 0 16px;color:var(--navy)}
    .section-head p{font-size:1.06rem;color:var(--muted);margin:0}
    .search-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
    .search-card{
      grid-column:span 2;background:white;border:1px solid var(--line);border-radius:22px;padding:24px;
      min-height:150px;box-shadow:0 9px 30px rgba(10,28,40,.04);
    }
    .search-card.wide{grid-column:span 3}
    .search-card .icon{
      width:40px;height:40px;border-radius:13px;background:#eef2f2;color:var(--navy);
      display:grid;place-items:center;font-weight:900;margin-bottom:20px;
    }
    .search-card strong{display:block;font-size:1.28rem;color:var(--navy);letter-spacing:-.025em}
    .search-card span{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}
    .about{background:white}
    .about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center}
    .media-card{
      position:relative;border-radius:30px;overflow:hidden;background:#111;box-shadow:var(--shadow);
    }
    .media-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
    .about-copy h2,.father-copy h2{font-size:clamp(2.15rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;color:var(--navy)}
    .about-copy p,.father-copy p{color:#44515B;font-size:1.04rem;margin:0 0 16px}
    .profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}
    .stat{background:var(--cream);border-radius:18px;padding:17px}
    .stat strong{display:block;color:var(--navy);font-size:1.08rem}
    .stat span{color:var(--muted);font-size:.84rem}
    .links{display:flex;gap:10px;flex-wrap:wrap}
    .trust-strip{background:var(--charcoal);color:white;padding:34px 0}
    .trust-inner{display:grid;grid-template-columns:1.1fr repeat(3,.63fr);gap:20px;align-items:center}
    .trust-inner strong.big{font-size:1.4rem;line-height:1.15;letter-spacing:-.025em}
    .trust-item{border-left:1px solid rgba(255,255,255,.15);padding-left:20px;color:rgba(255,255,255,.72);font-size:.9rem}
    .trust-item strong{display:block;color:white;font-size:1rem;margin-bottom:3px}
    .father{background:#E9E6DE}
    .father-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
    .father-portrait{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}
    .father-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}
    .quote{
      margin:28px 0 0;border-left:3px solid var(--taupe);padding:4px 0 4px 20px;
      color:var(--navy);font-size:1.2rem;font-weight:750;letter-spacing:-.01em;
    }
    .gallery-wrap{margin-top:54px}
    .gallery-split{
      display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:center;
    }
    .gallery-copy{
      background:var(--navy);color:white;border-radius:28px;padding:34px;
      box-shadow:var(--shadow);
    }
    .gallery-copy .eyebrow{color:var(--taupe)}
    .gallery-copy h3{
      margin:0 0 14px;font-size:clamp(1.8rem,3vw,2.8rem);
      line-height:1.05;letter-spacing:-.035em;
    }
    .gallery-copy p{margin:0 0 14px;color:rgba(255,255,255,.70)}
    .gallery-copy strong{color:white}
    .gif-gallery{
      background:#071C2C;border-radius:30px;padding:20px;box-shadow:var(--shadow);
      min-height:760px;display:grid;place-items:center;
    }
    .gif-stage{
      position:relative;width:min(100%,430px);height:min(76vh,720px);min-height:560px;
      border-radius:24px;overflow:hidden;background:#04101a;
    }
    .gif-slide{
      position:absolute;inset:0;opacity:0;transition:opacity .75s ease;
      display:flex;align-items:center;justify-content:center;
    }
    .gif-slide.active{opacity:1}
    .gif-slide img{
      width:100%;height:100%;object-fit:contain;background:#04101a;
    }
    .gif-slide figcaption{
      position:absolute;left:18px;right:18px;bottom:18px;z-index:2;
      color:white;text-align:center;font-size:.92rem;font-weight:700;
      text-wrap:balance;
      text-shadow:0 2px 10px rgba(0,0,0,.35);
    }
    .gif-progress{
      display:flex;gap:7px;justify-content:center;margin-top:16px;
    }
    .gif-dot{
      width:8px;height:8px;border-radius:50%;background:rgba(7,28,44,.18);
      transition:transform .2s ease, background .2s ease;
    }
    .gif-dot.active{background:var(--navy);transform:scale(1.35)}

    .circle-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(8,18,25,.55);color:white;display:grid;place-items:center}
    .dots{display:flex;gap:7px;justify-content:center;margin-top:16px}
    .dot{width:8px;height:8px;border-radius:50%;border:0;background:rgba(7,28,44,.18);padding:0}
    .dot.active{background:var(--navy);transform:scale(1.35)}
    .direct{background:var(--navy);color:white}
    .direct .section-head h2{color:white}
    .direct .section-head p{color:rgba(255,255,255,.66)}
    .direct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .direct-card{
      background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
      border-radius:22px;padding:26px;
    }
    .direct-card .num{font-size:.78rem;color:var(--taupe);font-weight:900;letter-spacing:.12em}
    .direct-card h3{font-size:1.18rem;margin:16px 0 7px}
    .direct-card p{margin:0;color:rgba(255,255,255,.65);font-size:.92rem}
    .demo-note{
      margin-top:30px;padding:24px;border-radius:22px;background:linear-gradient(135deg,rgba(175,195,207,.14),rgba(183,168,154,.08));
      border:1px solid rgba(255,255,255,.10);font-size:1.03rem;color:rgba(255,255,255,.82)
    }
    .demo-note strong{color:white}
    .form-section{background:white}
    .form-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;align-items:start}
    .form-aside{position:sticky;top:104px}
    .form-aside h2{font-size:clamp(2.1rem,3.8vw,3.7rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 16px;color:var(--navy)}
    .form-aside p{color:var(--muted);margin:0 0 22px}
    .mini-card{display:flex;gap:13px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--cream);margin-top:10px}
    .mini-card b{color:var(--navy);display:block}
    .mini-card span{font-size:.82rem;color:var(--muted)}
    .form-card{border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 18px 60px rgba(7,28,44,.07)}
    .stepbar{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:30px}
    .stepbar div{height:5px;border-radius:99px;background:#e7e9e7;transition:.25s}
    .stepbar div.active{background:var(--navy)}
    .form-step{display:none}
    .form-step.active{display:block;animation:fade .28s ease}
    @keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
    .step-title{font-size:1.48rem;letter-spacing:-.025em;color:var(--navy);margin:0 0 6px}
    .step-copy{font-size:.92rem;color:var(--muted);margin:0 0 24px}
    .field{margin-bottom:23px}
    .field label.legend,.field>label{display:block;font-size:.88rem;font-weight:800;color:#34414A;margin-bottom:9px}
    .required::after{content:" *";color:#8d4f4f}
    .input,textarea{
      width:100%;border:1px solid #d9dddf;background:#fff;border-radius:14px;padding:14px 15px;outline:none;
      transition:.2s border,.2s box-shadow;color:var(--ink)
    }
    .input:focus,textarea:focus{border-color:var(--mist);box-shadow:0 0 0 4px rgba(175,195,207,.18)}
    textarea{min-height:110px;resize:vertical}
    .choices{display:flex;flex-wrap:wrap;gap:9px}
    .choice input{position:absolute;opacity:0;pointer-events:none}
    .choice span{
      display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 15px;
      border-radius:13px;border:1px solid #d9dddf;background:white;color:#3c4851;font-size:.9rem;font-weight:750;
      transition:.18s;
    }
    .choice input:checked + span{background:var(--navy);border-color:var(--navy);color:white;box-shadow:0 8px 20px rgba(7,28,44,.12)}
    .checks{display:grid;grid-template-columns:1fr 1fr;gap:9px}
    .check{
      display:flex;gap:10px;align-items:center;border:1px solid #d9dddf;padding:12px;border-radius:13px;font-size:.88rem;font-weight:700
    }
    .check input{width:18px;height:18px;accent-color:var(--navy)}
    .conditional{display:none;margin-top:10px}
    .conditional.show{display:block}
    .form-nav{display:flex;gap:10px;justify-content:space-between;margin-top:28px}
    .form-nav .btn{min-width:126px}
    .error{color:#a23f3f;font-size:.82rem;margin-top:8px;display:none}
    .error.show{display:block}
    .success-panel{display:none;text-align:left}
    .success-panel.show{display:block;animation:fade .3s ease}
    .success-icon{width:62px;height:62px;border-radius:20px;background:#e8f3ef;color:var(--success);display:grid;place-items:center;font-size:1.6rem;font-weight:900;margin-bottom:20px}
    .summary{
      margin:22px 0;padding:18px;background:var(--cream);border-radius:17px;font-size:.9rem;color:#43505a;
      white-space:pre-line;
    }
    .cta-final{background:#E9E6DE;padding:0 0 90px}
    .cta-card{
      display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:32px;background:var(--navy);color:white;
      box-shadow:var(--shadow)
    }
    .cta-copy{padding:54px}
    .cta-copy h2{font-size:clamp(2.1rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 16px}
    .cta-copy p{color:rgba(255,255,255,.67);max-width:600px}
    .cta-photo{min-height:420px;position:relative}
    .cta-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    footer{background:#08151f;color:rgba(255,255,255,.66);padding:34px 0;font-size:.83rem}
    .footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}
    .footer-inner strong{color:white}
    .legal{max-width:770px}
    @media (max-width:920px){
      .nav-links a:not(.btn){display:none}
      .hero-grid,.about-grid,.father-grid,.form-shell,.cta-card{grid-template-columns:1fr}
      .hero{padding-top:48px}
      .hero-photo{min-height:500px}
      .search-card{grid-column:span 3}
      .search-card.wide{grid-column:span 3}
      .trust-inner{grid-template-columns:1fr 1fr}
      .trust-inner strong.big{grid-column:1/-1}
      .trust-item{border-left:0;padding-left:0}
      .direct-grid{grid-template-columns:1fr}
      .gallery-split{grid-template-columns:1fr}
      .gallery-copy{max-width:760px}
      .form-aside{position:static}
      .cta-photo{min-height:360px;order:-1}
    }
    @media (max-width:620px){
      .wrap{width:min(calc(100% - 24px),var(--max))}
      .nav-inner{min-height:64px}
      .brand small{display:none}
      .nav-links .btn{padding:11px 14px;font-size:.82rem}
      .hero{padding:38px 0 38px}
      .hero-grid{gap:34px}
      .hero h1{font-size:2.6rem}
      .hero-copy{font-size:1rem}
      .hero-photo{min-height:430px;border-radius:24px}
      .photo-label{left:18px;right:18px;bottom:17px}
      .verified{display:none}
      section{padding:68px 0}
      .section-head{margin-bottom:28px}
      .search-grid{grid-template-columns:1fr 1fr}
      .search-card,.search-card.wide{grid-column:span 1;min-height:130px;padding:18px}
      .search-card strong{font-size:1.1rem}
      .about-grid,.father-grid{gap:34px}
      .profile-stats{grid-template-columns:1fr 1fr}
      .trust-inner{grid-template-columns:1fr}
      .trust-inner strong.big{grid-column:auto}
      .gallery-copy{padding:26px}
      .gif-gallery{padding:12px;border-radius:24px;min-height:auto}
      .gif-stage{height:70vh;min-height:500px}
      .form-card{padding:20px;border-radius:22px}
      .checks{grid-template-columns:1fr}
      .form-nav{flex-direction:column-reverse}
      .form-nav .btn{width:100%}
      .cta-copy{padding:34px 24px 40px}
      .footer-inner{flex-direction:column;align-items:flex-start}
    }
    @media (prefers-reduced-motion:reduce){
      *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
    }
