
  :root{
     --maroon: #a12629;
    --ink:#131C33;
    --ink-soft:#2B3856;
    --paper:#EEF1F1;
    --paper-card:#FFFFFF;
    --gold:#BD8F3C;
    --gold-soft:#E4CFA0;
    --teal:#2E6B69;
    --line:#D8DCDE;
    --text-muted:#5B6472;
    --radius:14px;
     --off-white: #faf8f5;
  }

  *{ scroll-behavior:smooth; }

  body{
    background:var(--paper);
    color:var(--ink);
    /* font-family:'Public Sans', sans-serif;
    line-height:1.6; */
  }

 h1,
h2,
h3,
h4 {
  font-family: var(--font-serif);
  font-weight: 700;
}
h5 {
  font-family: var(--font-sans);
  font-weight: 700;
}

  a{ color:var(--teal); }
  a:hover{ color:var(--ink); }
  .skip-link{
    position:absolute;
    left:-999px;
    top:0;
    background:var(--ink);
    color:#fff;
    padding:.6rem 1rem;
    z-index:2000;
  }
  .skip-link:focus{ left:0; }

  /* ---------- Header ---------- */
  .page-header{
    background:var(--off-white);
    color:var(--maroon);
    padding:4.5rem 0 6rem;
    position:relative;
    overflow:hidden;
  }
  .page-header::after{
    content:"";
    position:absolute;
    right:-10%;
    top:-30%;
    width:520px;
    height:520px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(189,143,60,.18) 0%, rgba(189,143,60,0) 70%);
  }
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.78rem;
    /* color:var(--gold-soft); */
    font-weight:600;
  }
  .page-header h1{
    font-size:clamp(2.2rem, 3vw, 2.4rem);
    font-weight:600;
    max-width:36ch;
    margin-top:.5rem;
  }
  .page-header p.lead{
    color:#242424;
    max-width:52ch;
    font-size:1.05rem;
  }

  /* ---------- Routing rail (signature element) ---------- */
  .routing-rail{
    position:relative;
    padding-left:2.75rem;
  }
  .routing-rail::before{
    content:"";
    position:absolute;
    left:11px;
    top:10px;
    bottom:10px;
    width:2px;
    background:linear-gradient(to bottom, var(--gold), var(--teal));
    opacity:.5;
  }
  .rail-stop{
    position:relative;
    margin-bottom:1.6rem;
  }
  .rail-stop:last-child{ margin-bottom:0; }
  .rail-stop::before{
    content:"";
    position:absolute;
    left:-2.75rem;
    top:.35rem;
    width:14px;
    height:14px;
    border-radius:50%;
    background:var(--paper-card);
    border:2px solid var(--gold);
  }
  .rail-stop h3{
    font-size:1rem;
    margin-bottom:.15rem;
    font-weight:600;
  }
  .rail-stop p{
    font-size:.92rem;
    color:var(--text-muted);
    margin-bottom:0;
  }

  /* ---------- Form card / tab switcher ---------- */
  .contact-shell{
    margin-top:-3.5rem;
    position:relative;
    z-index:2;
  }
  .form-card{
    background:var(--paper-card);
    border-radius:var(--radius);
    box-shadow:0 20px 45px -20px rgba(19,28,51,.25);
    padding:2.25rem;
    border:1px solid var(--line);
  }

  .inquiry-switch{
    display:flex;
    gap:.5rem;
    background:var(--paper);
    border-radius:999px;
    padding:.35rem;
    margin-bottom:2rem;
    flex-wrap:wrap;
  }
  .inquiry-switch .btn{
    flex:1 1 auto;
    border-radius:999px;
    border:none;
    font-weight:600;
    font-size:.88rem;
    padding:.6rem 1rem;
    color:var(--ink-soft);
    background:transparent;
    transition:background .2s ease, color .2s ease, box-shadow .2s ease;
    white-space:nowrap;
  }
  .inquiry-switch .btn.active{
    background:var(--ink);
    color:#fff;
    box-shadow:0 8px 18px -8px rgba(19,28,51,.5);
  }
  .inquiry-switch .btn:focus-visible,
  .form-control:focus, .form-select:focus{
    outline:3px solid var(--gold-soft);
    outline-offset:2px;
    box-shadow:none;
    border-color:var(--gold);
  }

  .form-label{
    font-weight:600;
    font-size:.88rem;
    color:var(--ink-soft);
  }
  .form-control, .form-select{
    border-radius:8px;
    border:1px solid var(--line);
    padding:.62rem .8rem;
  }
  .section-note{
    font-size:.85rem;
    color:var(--text-muted);
    margin-bottom:1.5rem;
  }

  .btn-submit{
    background:var(--maroon);
    color:#fff;
    border:none;
    border-radius:8px;
    padding:.75rem 1.6rem;
    font-weight:600;
    transition:background .2s ease, transform .15s ease;
  }
  .btn-submit:hover{ background:var(--teal); color:#fff; }
  .btn-submit:active{ transform:scale(.98); }

  /* ---------- Sidebar / info cards ---------- */
  .info-card1{
    background:var(--paper-card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.75rem;
  }
  .info-card1 + .info-card1{ margin-top:1.5rem; }
  .info-item1{
    display:flex;
    gap:.85rem;
    margin-bottom:1.1rem;
  }
  .info-item11:last-child{ margin-bottom:0; }
  .info-item1 i{
    color:var(--gold);
    font-size:1.15rem;
    margin-top:.15rem;
  }
  .info-item1 h4{
    font-size:.95rem;
    margin-bottom:.15rem;
    font-family:'Public Sans', sans-serif;
    font-weight:700;
  }
  .info-item1 p, .info-item1 a{
    font-size:.9rem;
    color:var(--text-muted);
    margin-bottom:0;
  }

  .whatsapp-card{
    background:linear-gradient(135deg, #1F3B39, #274F4C);
    color:#fff;
    border-radius:var(--radius);
    padding:1.75rem;
  }
  .whatsapp-card h4{ font-family:'Fraunces', serif; font-weight:600; }
  .whatsapp-card p{ color:#CFE3E1; font-size:.92rem; }
  .btn-whatsapp{
    background:#25D366;
    color:#0B2B22;
    border:none;
    border-radius:999px;
    padding:.6rem 1.3rem;
    font-weight:700;
    font-size:.9rem;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
  }
  .btn-whatsapp:hover{ background:#1FBE59; color:#0B2B22; }

  /* Floating WhatsApp button */
  .wa-float{
    position:fixed;
    bottom:1.5rem;
    right:1.5rem;
    z-index:1050;
    background:#25D366;
    color:#fff;
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    box-shadow:0 10px 25px -6px rgba(0,0,0,.35);
    transition:transform .2s ease;
  }
  .wa-float:hover{ color:#fff; transform:scale(1.07); }

  .map-wrap{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
    line-height:0;
  }
  .map-wrap iframe{ width:100%; height:340px; border:0; }

  section[aria-label="Success"]{ display:none; }

  @media (max-width: 767.98px){
    .contact-shell{ margin-top:-2.5rem; }
    .form-card{ padding:1.4rem; }
    .inquiry-switch .btn{ font-size:.8rem; padding:.55rem .7rem; }
  }

  @media (prefers-reduced-motion: reduce){
    *{ scroll-behavior:auto !important; transition:none !important; }
  }