:root{
    --bg:#FAF6EF;--ink:#1E2129;--ink-soft:#3A3F4B;--muted:#9AA0AC;
    --line:rgba(30,33,41,.08);--line-strong:rgba(30,33,41,.14);
    --agora:#6366F1;--agora-soft:#ECEBFF;--agora-pale:#F4F4FF;--ulyss-soft:#E3F5EE;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Poppins',-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  h1,h2,h3{font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:-0.025em;line-height:1.05}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
  img,svg{display:block;max-width:100%}
  .container{max-width:1240px;margin:0 auto;padding:0 28px}

  nav{position:sticky;top:14px;z-index:50;margin:14px auto 0;max-width:1240px;padding:0 28px}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s}
  .btn-violet{background:#6062E9;color:#fff}
  .btn-violet:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(99,102,241,.4)}
  .btn-lg{padding:15px 24px;font-size:15px}

  /* HERO */
  .hero-ag{padding:80px 0 40px;position:relative}
  .hero-grid{display:grid;grid-template-columns:1.05fr 1.1fr;gap:60px;align-items:center}
  .hero-ag h1{font-size:clamp(36px,4.4vw,60px);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin-bottom:24px}
  .hero-ag p.lead{font-size:18.5px;color:var(--ink-soft);line-height:1.65;max-width:520px;margin-bottom:36px}
  .hero-ag .ctas{display:flex;gap:12px;flex-wrap:wrap}
  @media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px}}

  .couple-mock{position:relative;height:600px}
  .couple-mock .dots-bg{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(30,33,41,.10) 1.5px,transparent 1.5px);background-size:18px 18px;mask-image:radial-gradient(ellipse at 40% 50%,#000,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 40% 50%,#000,transparent 70%);opacity:.5}
  .couple-mock .couple-photo{position:absolute;left:0;top:0;width:68%;height:100%;z-index:2;object-fit:cover;object-position:center;border-radius:0}
  .couple-mock .chat-card{position:absolute;right:0;top:42%;background:#fff;border-radius:14px;width:230px;box-shadow:0 20px 44px rgba(30,33,41,.16);overflow:hidden;z-index:5}
  .couple-mock .chat-card .head-banner{background:#F5D8A8;padding:9px 12px;display:flex;align-items:center;justify-content:space-between}
  .couple-mock .chat-card .head-banner .h-l{display:flex;align-items:center;gap:6px}
  .couple-mock .chat-card .head-banner .av{width:18px;height:18px;border-radius:50%;background-image:url("/img/ext/avatar-53-60.jpg");background-size:cover;background-position:center}
  .couple-mock .chat-card .head-banner b{font-family:'Poppins';font-size:11px;font-weight:700}
  .couple-mock .chat-card .head-banner .check{color:#1F4F2A;font-weight:700;font-size:11px}
  .couple-mock .chat-card .msg{padding:10px 12px}
  .couple-mock .chat-card .msg .row-m{display:flex;align-items:center;gap:6px;margin-bottom:4px}
  .couple-mock .chat-card .msg .av-m{width:18px;height:18px;border-radius:50%;background-image:url("/img/ext/avatar-32-60.jpg");background-size:cover;background-position:center}
  .couple-mock .chat-card .msg b{font-family:'Poppins';font-size:11px;font-weight:700;display:block;line-height:1}
  .couple-mock .chat-card .msg small{color:var(--muted);font-size:9.5px}
  .couple-mock .chat-card .msg p{font-size:11px;line-height:1.45;color:var(--ink);margin-top:6px}
  .couple-mock .chat-card .msg p .tag{color:var(--agora);font-weight:700}
  .couple-mock .chat-card .msg .emoji{font-size:14px;margin-top:6px}
  .couple-mock .chat-card .msg-2{border-top:1px solid var(--line);padding:10px 12px}
  .couple-mock .chat-card .msg-2 .av-m{background-image:url("/img/ext/avatar-53-60.jpg");background-size:cover;background-position:center}
  .couple-mock .chat-card .reactions{display:flex;align-items:center;gap:6px;margin-top:5px}
  .couple-mock .chat-card .reactions .react{background:#F4F4FF;padding:2px 7px;border-radius:999px;font-size:10px;display:inline-flex;align-items:center;gap:3px}
  .couple-mock .name-tags{position:absolute;right:32px;bottom:90px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;z-index:6}
  .couple-mock .ntag{padding:5px 12px;border-radius:8px;font-family:'Poppins';font-size:12px;font-weight:700;color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.15)}
  .couple-mock .ntag.brando{background:#22B07D;align-self:flex-end}
  .couple-mock .ntag.erica{background:#6366F1}
  .couple-mock .ntag.agnes{background:#E8A93B}
  .couple-mock .confetti{position:absolute;right:40px;top:62%;font-size:38px;z-index:3}

  /* WHO CAN JOIN */
  .access{padding:100px 0;text-align:center}
  .access h2{font-size:clamp(40px,4.8vw,64px);font-weight:800;margin-bottom:18px}
  .access .desc{color:var(--ink-soft);font-size:17px;max-width:820px;margin:0 auto 60px;line-height:1.65}
  .access-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1140px;margin:0 auto}
  .ac-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--line);text-align:left;transition:transform .25s ease,box-shadow .25s ease}
  .ac-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(30,33,41,.12)}
  .ac-card .img{aspect-ratio:1.6;background:linear-gradient(160deg,#ECEBFF,#C7C8FA);position:relative;overflow:hidden}
  .ac-card .img.pros{background:linear-gradient(160deg,#E3F5EE,#A6DDF2)}
  .ac-card .body{padding:26px 28px 28px}
  .ac-card h3{font-size:22px;margin-bottom:10px;font-family:'Poppins';font-weight:800}
  .ac-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.6;margin:0 0 18px}
  .ac-badges{display:flex;flex-wrap:wrap;gap:8px}
  .ac-badges span{display:inline-flex;align-items:center;gap:5px;background:var(--agora-pale);color:#5C5EE0;font-family:'Poppins';font-size:12px;font-weight:700;padding:6px 11px;border-radius:999px}
  .ac-badges.pros span{background:var(--ulyss-soft);color:#177A56}
  .ac-badges span::before{content:"✔"}
  .illus{position:absolute;inset:0;display:grid;place-items:center;padding:20px}
  .illus-students{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),transparent 55%)}
  .illus-pros{background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.55),transparent 55%)}
  .illus-card{background:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 18px 40px rgba(30,33,41,.18);width:78%;position:relative}
  .illus-card .top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .illus-card .top .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#F0BE62,#D8966A);flex-shrink:0;overflow:hidden;position:relative}
  .illus-card .top .av img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
  .illus-card .top .av.p{background:linear-gradient(135deg,#8B8DF7,#6366F1)}
  .illus-card .top .who{font-family:'Poppins';font-size:13px;font-weight:800;line-height:1.1;color:var(--ink)}
  .illus-card .top .who small{display:block;font-weight:500;color:var(--ink-soft);font-size:10.5px;margin-top:3px}
  .illus-card .row-l{height:6px;border-radius:3px;background:var(--agora-soft);margin-bottom:6px}
  .illus-card .row-l:nth-of-type(2){width:88%}
  .illus-card .row-l:nth-of-type(3){width:64%}
  .illus-card.pros .row-l{background:var(--ulyss-soft)}
  .illus-card .cert{position:absolute;right:-14px;top:-12px;background:var(--ink);color:#fff;font-family:'Poppins';font-size:10.5px;font-weight:800;padding:6px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}
  .illus-card .cert .s{color:#FFD966}
  .illus-card .avatars{position:absolute;left:-10px;bottom:-12px;display:flex}
  .illus-card .avatars span{width:26px;height:26px;border-radius:50%;border:2px solid #fff;margin-right:-8px;overflow:hidden;display:inline-block;box-shadow:0 2px 4px rgba(30,33,41,.12)}
  .illus-card .avatars span img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
  /* Colored fallbacks if images fail to load */
  .illus-card .avatars .a1{background:linear-gradient(135deg,#F0BE62,#D8966A)}
  .illus-card .avatars .a2{background:linear-gradient(135deg,#8B8DF7,#6366F1)}
  .illus-card .avatars .a3{background:linear-gradient(135deg,#A6DDF2,#0A6E97)}
  .illus-card .avatars .a4{background:linear-gradient(135deg,#FF9EB9,#D35454)}
  .access-cta{margin:64px auto 0;text-align:center;background:var(--ink);color:#fff;padding:52px 40px}
  .access-cta h3{font-family:'Poppins';font-size:clamp(28px,3.2vw,40px);font-weight:800;letter-spacing:-.02em;margin:0 0 24px;color:#fff}
  .access-cta .ctas{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}
  @media (max-width:880px){.access-grid{grid-template-columns:1fr}}
  /* MOBILE universal pack */
  @media (max-width:900px){
    section{padding:60px 0 !important}
    .container{padding:0 22px}
    h1{font-size:clamp(30px,6vw,44px) !important;line-height:1.1}
    h2{font-size:clamp(26px,4.5vw,36px) !important;line-height:1.15}
    h3{font-size:clamp(18px,3vw,22px) !important}
    .hero-grid{grid-template-columns:1fr !important;gap:32px !important}
  }
  @media (max-width:640px){
    section{padding:44px 0 !important}
    .container{padding:0 18px}
    h1{font-size:clamp(26px,7vw,36px) !important}
    h2{font-size:clamp(22px,5vw,28px) !important}
    p,.lead{font-size:14.5px !important}
    .btn,.btn-lg{padding:12px 20px !important;font-size:14px !important;width:auto}
    .ctas{flex-wrap:wrap !important;gap:10px !important}
  }
  @media (max-width:480px){
    section{padding:36px 0 !important}
    .container{padding:0 16px}
    h1{font-size:26px !important;line-height:1.15}
    h2{font-size:22px !important}
  }

  .access-cta{max-width:none;border-radius:32px}

.community-block{padding:60px 0 20px;text-align:center}
      .community-block h2{font-family:'Poppins',sans-serif;font-size:clamp(28px,3.4vw,42px);font-weight:800;letter-spacing:-.02em;color:#1E2129;line-height:1.05;margin:0 auto 12px;max-width:600px}
      .community-block p{font-size:16px;line-height:1.55;color:#666C77;max-width:560px;margin:0 auto}
      .community-avatars{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 4px;max-width:560px;margin:24px auto 20px}
      .community-avatars img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2.5px solid #fff;box-shadow:0 4px 10px rgba(30,33,41,.10);margin-left:-6px}
      .community-avatars img:first-child{margin-left:0}
      .community-tag{display:inline-block;background:#fff;border:1px solid #ECE6DB;border-radius:999px;padding:8px 18px;font-size:13.5px;font-weight:700;color:#1E2129;box-shadow:0 2px 8px rgba(30,33,41,.06)}

.aj-back{position:fixed;inset:0;background:rgba(30,33,41,.55);backdrop-filter:blur(8px);
    display:none;align-items:center;justify-content:center;z-index:2000;padding:20px;opacity:0;transition:opacity .2s}
  .aj-back.on{display:flex;opacity:1}
  .aj-modal{background:#fff;border-radius:24px;max-width:560px;width:100%;max-height:92vh;overflow-y:auto;
    box-shadow:0 40px 80px rgba(30,33,41,.35);position:relative;transform:translateY(12px);transition:transform .25s ease}
  .aj-back.on .aj-modal{transform:translateY(0)}
  .aj-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#F4F4FF;
    border:none;cursor:pointer;display:grid;place-items:center;color:#1E2129;transition:background .15s}
  .aj-close:hover{background:#ECEBFF}
  .aj-body{padding:44px 40px 36px}
  .aj-eyebrow{display:inline-block;font-family:'Poppins',sans-serif;font-weight:800;font-size:11.5px;letter-spacing:.14em;
    text-transform:uppercase;color:#6366F1;margin-bottom:14px}
  .aj-title{font-family:'Poppins',sans-serif;font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1.15;margin:0 0 10px;color:#1E2129}
  .aj-sub{font-size:14.5px;line-height:1.55;color:#3A3F4B;margin:0 0 24px}
  .aj-field{margin-bottom:16px}
  .aj-field label,.aj-field .aj-label{display:block;font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;color:#1E2129;margin-bottom:6px}
  .aj-field input,.aj-field textarea,.aj-field select{width:100%;padding:12px 14px;border:1.5px solid #E4E4E7;border-radius:12px;
    font-family:'Poppins',sans-serif;font-size:14px;color:#1E2129;background:#fff;transition:border-color .15s, box-shadow .15s;box-sizing:border-box}
  .aj-field input:focus,.aj-field textarea:focus,.aj-field select:focus{outline:none;border-color:#6366F1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
  .aj-field textarea{min-height:100px;resize:vertical;font-family:'Poppins',sans-serif}
  .aj-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media(max-width:520px){.aj-row{grid-template-columns:1fr}.aj-body{padding:36px 24px 28px}}
  .aj-interests{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
  .aj-chip{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;border:1.5px solid #E4E4E7;background:#fff;
    font-family:'Poppins',sans-serif;font-weight:700;font-size:12.5px;color:#3A3F4B;cursor:pointer;transition:all .15s;user-select:none}
  .aj-chip:hover{border-color:#B8A5FF;color:#4F52D9}
  .aj-chip.on{background:#ECEBFF;border-color:#6366F1;color:#4F52D9}
  .aj-submit{width:100%;padding:15px 22px;border:none;border-radius:14px;background:#6366F1;color:#fff;
    font-family:'Poppins',sans-serif;font-weight:800;font-size:15px;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    box-shadow:0 12px 28px rgba(99,102,241,.32);transition:transform .15s, box-shadow .15s}
  .aj-submit:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(99,102,241,.42)}
  .aj-note{display:flex;align-items:center;gap:6px;font-size:12px;color:#777E8B;margin-top:14px}
  .aj-success{display:none;text-align:center;padding:12px 8px 4px}
  .aj-success.on{display:block}
  .aj-success .ic{width:64px;height:64px;border-radius:50%;background:#E8F9E9;color:#22A548;display:grid;place-items:center;margin:0 auto 18px}
  .aj-success h3{font-family:'Poppins',sans-serif;font-weight:800;font-size:22px;margin:0 0 8px;color:#1E2129}
  .aj-success p{font-size:14px;line-height:1.55;color:#3A3F4B;margin:0 0 22px}
  .aj-success .aj-submit{max-width:200px;margin:0 auto}

button.aj-chip{font:inherit;cursor:pointer}
.aj-chip[aria-pressed="true"]{outline:none}
.aj-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aj-error{background:#FBE6E6;color:#B34141;font-size:13px;font-weight:600;padding:10px 12px;border-radius:10px;margin:12px 0 0}
