:root{
    --ink:#101826;
    --parchment:#f2f5fa;
    --panel:#002147;
    --panel-text:#eef2f8;
    --gold:#fff;
    --gold-deep:#1b3068;
    --teal:#25408d;
    --line:#d7deea;
    --error:#b3261e;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--parchment);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    line-height:1.5;
  }
  h1,h2,h3{font-family:'Fraunces',serif;margin:0;}
  .tamil{font-family:'Noto Serif Tamil',serif;}

  a{color:var(--gold-deep);}

  /* ---------- Layout shell ---------- */
  .shell{
    display:grid;
    grid-template-columns:34% 66%;
    min-height:100vh;
  }
  @media (max-width:920px){
    .shell{grid-template-columns:1fr;}
  }

  /* ---------- Left panel ---------- */
  .panel{
    background:var(--panel);
    color:var(--panel-text);
    padding:56px 44px;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
  @media (max-width:920px){
    .panel{padding:36px 28px;}
  }
  .panel-top{
    opacity:0;
    transform:translateY(10px);
    animation:reveal .7s ease forwards .1s;
  }
  @keyframes reveal{
    to{opacity:1;transform:translateY(0);}
  }
  .site-header{
    width:100%;
    display:block;
    line-height:0;
  }
  .site-header img{
    width:100%;
    height:150px;
    display:block;
  }
  .panel-title-en{
    font-size:1.05rem;
    letter-spacing:.02em;
    color:var(--gold);
    margin-bottom:6px;
  }
  .panel-title-ta{
    font-size:2.4rem;
    line-height:1.15;
    margin-bottom:18px;
  }
  .panel-desc{
    font-size:.95rem;
    max-width:34ch;
    color:#cdd6e8;
  }

  .panel-rule{
    border:none;
    border-top:1px solid rgba(243,234,212,.28);
    margin:28px 0;
  }

  .panel-facts{list-style:none;margin:0;padding:0;}
  .panel-facts li{
    display:flex;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid rgba(243,234,212,.15);
    font-size:.92rem;
  }
  .panel-facts li:last-child{border-bottom:none;}
  .panel-facts .fact-label{
    color:var(--gold);
    min-width:84px;
    flex-shrink:0;
  }

  .panel-bottom{
    margin-top:40px;
    font-size:.82rem;
    color:#a9b7d1;
  }

  /* decorative border motif */
  .motif{
    position:absolute;
    top:0; bottom:0; right:0;
    width:6px;
    background:repeating-linear-gradient(
      to bottom,
      var(--gold) 0 14px,
      transparent 14px 28px
    );
    opacity:.55;
  }

  /* ---------- Right panel / form ---------- */
  .form-side{
    padding:56px 64px;
    max-width:960px;
  }
  @media (max-width:920px){
    .form-side{padding:36px 26px;}
  }

  .form-side h2{
    font-size:1.5rem;
    margin-bottom:6px;
  }
  .form-side > p.lede{
    color:#46536b;
    margin:0 0 34px;
    font-size:.95rem;
  }

  .section-heading{
    font-size:1.05rem;
    font-family:'Fraunces',serif;
    margin:0 0 16px;
    padding-bottom:8px;
    border-bottom:1px solid var(--line);
  }
  .section-heading.mt{margin-top:40px;}

  .field-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px 24px;
  }
  @media (max-width:640px){
    .field-grid{grid-template-columns:1fr;}
  }
  .field{display:flex;flex-direction:column;}
  .field.full{grid-column:1 / -1;}

  label{
    font-size:.86rem;
    color:#33415c;
    margin-bottom:6px;
  }
  label .req{color:var(--error);margin-left:3px;}

  input[type="text"],
  input[type="email"],
  textarea,
  select{
    font-family:'Inter',sans-serif;
    font-size:.95rem;
    padding:10px 4px;
    border:none;
    border-bottom:1.5px solid var(--line);
    background:transparent;
    color:var(--ink);
    border-radius:0;
    transition:border-color .15s ease;
  }
  select{
    padding:10px 2px;
    appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%23002147' stroke-width='1.6' fill='none' fill-rule='evenodd'/></svg>");
    background-repeat:no-repeat;
    background-position:right 2px center;
  }
  input:focus, textarea:focus, select:focus{
    outline:none;
    border-bottom-color:var(--panel);
  }
  textarea{resize:vertical;min-height:64px;}

  .conditional{
    grid-column:1 / -1;
    border-left:2px solid var(--gold);
    padding:4px 0 4px 18px;
    margin-top:4px;
  }

  .boarding-list{list-style:none;margin:6px 0 0;padding:0;}
  .boarding-list li{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 0;
    border-bottom:1px solid var(--line);
    font-size:.92rem;
  }
  .boarding-list li:last-child{border-bottom:none;}
  .boarding-list input{accent-color:var(--panel);width:16px;height:16px;}

  .error{
    color:var(--error);
    font-size:.78rem;
    margin-top:5px;
    display:block;
  }

  .submit-row{
    margin-top:44px;
    display:flex;
    align-items:center;
    gap:18px;
  }
  button.submit-btn{
    font-family:'Fraunces',serif;
    font-size:1rem;
    background:var(--panel);
    color:var(--panel-text);
    border:none;
    padding:14px 34px;
    cursor:pointer;
    transition:background .15s ease;
  }
  button.submit-btn:hover{background:var(--gold-deep);}
  button.submit-btn:disabled{background:#8a97b3;cursor:default;}

  .submit-note{font-size:.82rem;color:#5b6b87;}

  /* ---------- Success overlay ---------- */
  .overlay{
    position:fixed;inset:0;
    background:rgba(43,27,18,.55);
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:50;
  }
  .overlay.show{display:flex;}
  .overlay-card{
    background:var(--parchment);
    max-width:440px;
    width:100%;
    border-top:5px solid var(--panel);
    padding:34px 32px;
  }
  .overlay-card h3{font-size:1.3rem;margin-bottom:14px;}
  .overlay-card p{font-size:.93rem;color:#33415c;margin:0 0 10px;}
  .overlay-actions{margin-top:22px;text-align:right;}
  .overlay-actions a{
    font-family:'Fraunces',serif;
    background:var(--panel);
    color:var(--panel-text);
    padding:10px 26px;
    text-decoration:none;
    display:inline-block;
  }