:root{
      --pink:#f2849e;
      --blue:#7ecaf6;
      --mint:#7bd0c1;
      --purple:#c75b9b;
      --ink:#585858;
      --muted:#85858d;
      --line:#e9e9ee;
      --soft:#fafafd;
      --white:#fff;
      --shadow:0 18px 60px rgba(40,45,70,.08);
      --radius:22px;
      --max:1120px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Arial, Helvetica, sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 88% 7%, rgba(126,202,246,.18), transparent 18%),
        radial-gradient(circle at 8% 40%, rgba(242,132,158,.11), transparent 20%),
        #fff;
      line-height:1.6;
    }

    a{color:inherit}
    button,input,select,textarea{font:inherit}

    .wrap{
      width:min(var(--max), calc(100% - 40px));
      margin:0 auto;
    }

    header{
      padding:30px 0 10px;
    }

    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:11px;
      text-decoration:none;
      font-size:.78rem;
      font-weight:800;
      letter-spacing:.34em;
      text-transform:uppercase;
    }

    .brand-mark{
      width:24px;
      height:24px;
      border:1.5px solid #555;
      border-radius:50%;
      display:grid;
      place-items:center;
      font-size:.68rem;
    }


    .brand-logo{
      width:24px;
      height:24px;
      display:block;
      object-fit:contain;
      flex:0 0 24px;
    }

    @media (min-width:1100px){
      .hero .wrap{max-width:1240px;}
    }

    .back-link{
      font-size:.88rem;
      color:#777;
      text-decoration:none;
    }

    .back-link:hover{color:var(--pink)}

    .hero{
      padding:70px 0 38px;
      text-align:center;
    }

    .eyebrow,
    .section-label{
      font-size:.72rem;
      letter-spacing:.32em;
      text-transform:uppercase;
      font-weight:800;
    }

    .eyebrow{color:#666}

    h1{
      margin:18px auto 20px;
      max-width:1080px;
      font-size:clamp(2.7rem, 6.4vw, 5.6rem);
      line-height:.95;
      letter-spacing:-.055em;
      font-weight:800;
    }

    .gradient-text{
      background:linear-gradient(105deg,var(--pink) 8%, var(--purple) 34%, var(--blue) 68%, var(--mint));
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }

    .hero p{
      max-width:720px;
      margin:0 auto;
      color:var(--muted);
      font-size:1.08rem;
    }

    .trust-row{
      margin:28px auto 0;
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:12px 22px;
      color:#777;
      font-size:.9rem;
    }

    .trust-row span::before{
      content:"✓";
      color:var(--mint);
      font-weight:800;
      margin-right:7px;
    }

    .form-shell{
      margin:38px auto 90px;
      max-width:930px;
      background:rgba(255,255,255,.93);
      border:1px solid var(--line);
      border-radius:28px;
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .form-top{
      padding:28px 30px 22px;
      border-bottom:1px solid var(--line);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      background:linear-gradient(90deg,rgba(242,132,158,.08),rgba(126,202,246,.08));
    }

    .form-top h2{
      margin:0 0 3px;
      font-size:1.25rem;
    }

    .form-top p{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
    }

    .progress-wrap{
      min-width:220px;
      text-align:right;
    }

    .progress-text{
      font-size:.75rem;
      color:#777;
      margin-bottom:7px;
    }

    .progress{
      height:7px;
      border-radius:999px;
      background:#ededf2;
      overflow:hidden;
    }

    .progress > div{
      height:100%;
      width:25%;
      background:linear-gradient(90deg,var(--pink),var(--blue));
      transition:width .25s ease;
    }

    form{padding:32px}

    .step{display:none}
    .step.active{display:block; animation:fade .24s ease}
    @keyframes fade{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}

    .step-head{
      margin-bottom:26px;
    }

    .step-head h3{
      margin:6px 0;
      font-size:1.8rem;
      letter-spacing:-.025em;
    }

    .step-head p{
      margin:0;
      color:var(--muted);
    }

    .grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }

    .field{margin-bottom:18px}
    .field.full{grid-column:1/-1}

    label{
      display:block;
      font-size:.83rem;
      font-weight:700;
      margin:0 0 8px;
    }

    .optional{
      color:#aaa;
      font-weight:500;
    }

    input,
    select,
    textarea{
      width:100%;
      border:1px solid #dcdce3;
      border-radius:12px;
      background:#fff;
      color:var(--ink);
      padding:14px 15px;
      outline:none;
      transition:.2s ease;
    }

    textarea{min-height:118px;resize:vertical}

    input:focus,
    select:focus,
    textarea:focus{
      border-color:var(--blue);
      box-shadow:0 0 0 4px rgba(126,202,246,.15);
    }

    .help{
      display:block;
      color:#a0a0a7;
      font-size:.75rem;
      margin-top:6px;
    }

    .choice-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin:8px 0 22px;
    }

    .choice input{position:absolute;opacity:0;pointer-events:none}

    .choice label{
      border:1px solid #dddde4;
      border-radius:14px;
      padding:16px 13px;
      text-align:center;
      cursor:pointer;
      transition:.2s ease;
      margin:0;
      min-height:100%;
      background:#fff;
    }

    .choice label strong{display:block;margin-bottom:3px}
    .choice label small{color:#9898a0;font-weight:400}

    .choice input:checked + label{
      border-color:var(--pink);
      background:rgba(242,132,158,.06);
      box-shadow:0 0 0 3px rgba(242,132,158,.1);
    }

    .swatches{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-bottom:18px;
    }

    .swatch{
      border-radius:14px;
      min-height:92px;
      padding:12px;
      color:#fff;
      display:flex;
      align-items:flex-end;
      font-size:.73rem;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .swatch:nth-child(1){background:var(--pink)}
    .swatch:nth-child(2){background:var(--blue)}
    .swatch:nth-child(3){background:var(--mint)}
    .swatch:nth-child(4){background:var(--purple)}

    .upload-box{
      border:1.5px dashed #d8d8e0;
      border-radius:16px;
      padding:20px;
      background:#fbfbfd;
    }

    .upload-box input{
      border:0;
      padding:0;
      background:transparent;
    }

    .summary-card{
      border:1px solid var(--line);
      border-radius:18px;
      padding:20px;
      background:linear-gradient(135deg,rgba(242,132,158,.05),rgba(126,202,246,.06));
      margin-bottom:20px;
    }

    .summary-card h4{margin:0 0 7px}
    .summary-card p{margin:0;color:#777;font-size:.9rem}

    .actions{
      margin-top:28px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }

    .btn{
      border:0;
      border-radius:10px;
      padding:14px 22px;
      cursor:pointer;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.16em;
      font-size:.72rem;
      transition:.2s ease;
    }

    .btn-secondary{
      background:#f3f3f6;
      color:#666;
    }

    .btn-primary{
      color:#fff;
      background:linear-gradient(90deg,var(--pink),var(--blue));
      box-shadow:0 10px 24px rgba(126,202,246,.18);
    }

    .btn:hover{transform:translateY(-1px)}

    .mini-note{
      font-size:.78rem;
      color:#999;
      max-width:500px;
      margin:16px 0 0;
    }

    .why{
      padding:10px 0 80px;
    }

    .why-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:28px;
      align-items:start;
    }

    .why-card{
      border:1px solid var(--line);
      border-radius:20px;
      padding:28px;
      background:#fff;
    }

    .why-card h3{
      margin:8px 0 10px;
      font-size:1.55rem;
    }

    .why-card p{color:var(--muted);margin:0}

    .mini-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }

    .mini{
      border:1px solid var(--line);
      border-radius:16px;
      padding:18px;
      background:#fff;
      min-height:145px;
    }

    .mini b{
      display:block;
      margin-bottom:6px;
    }

    .mini span{
      color:var(--muted);
      font-size:.88rem;
    }

    footer{
      border-top:1px solid var(--line);
      padding:35px 0 45px;
      color:#aaa;
      font-size:.8rem;
    }

    .footer-row{
      display:flex;
      justify-content:space-between;
      gap:20px;
    }

    @media (max-width:760px){
      .wrap{width:min(100% - 26px, var(--max))}
      header{padding-top:20px}
      .hero{padding-top:48px}
      .form-top{display:block}
      .progress-wrap{min-width:0;text-align:left;margin-top:18px}
      form{padding:24px 18px}
      .grid,
      .why-grid{grid-template-columns:1fr}
      .choice-grid{grid-template-columns:1fr}
      .swatches{grid-template-columns:1fr 1fr}
      .actions{align-items:stretch}
      .actions .btn{flex:1}
      .footer-row{display:block}
    }