:root{
    --navy:#10243F;
    --navy-deep:#0A1826;
    --gold:#C9972E;
    --gold-light:#E4B65A;
    --cream:#F6F3EC;
    --paper:#FFFFFF;
    --ink:#1B1F24;
    --slate:#5C6773;
    --red:#9A2B2B;
    --line:#D8D2C4;
    --line-dark: rgba(246,243,236,0.22);
    --radius: 3px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'IBM Plex Sans', 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;}
  h1,h2,h3,h4{
    font-family:'Source Serif 4', serif;
    font-weight:600;
    letter-spacing:-0.01em;
    color:var(--navy);
  }
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
  ul{list-style:none;}

  /* ---------- perforated / ticket divider ---------- */
  .perf{
    position:relative;
    height:1px;
    background:repeating-linear-gradient(90deg, var(--line) 0 10px, transparent 10px 20px);
    margin:0;
  }
  .perf::before,.perf::after{
    content:"";
    position:absolute; top:50%; transform:translateY(-50%);
    width:22px; height:22px; border-radius:50%;
    background:var(--cream);
  }
  .perf::before{left:-11px;}
  .perf::after{right:-11px;}








  /* ---------- header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:var(--navy);
    border-bottom:3px solid var(--gold);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 0;
  }
  .brand{
    display:none; align-items:center; gap:11px;
    color:var(--cream);

  }
  .brand-mark{
    width:38px; height:38px; border-radius:50%;
    border:1.5px solid var(--gold);
    display:flex; align-items:center; justify-content:center;
    font-family:'Source Serif 4',serif; font-weight:700; font-size:15px;
    color:var(--gold);
    flex-shrink:0;
  }
  .brand-text{
    font-family:'Source Serif 4', serif;
    font-size:19px; font-weight:600; letter-spacing:0.01em;
    line-height:1.1;
  }
  .brand-text span{display:block; font-family:'IBM Plex Sans',sans-serif; font-size:10.5px; font-weight:500; letter-spacing:0.14em; color:var(--gold-light); margin-top:3px;}
  nav ul{display:flex; gap:30px;}
  nav a{
    color:var(--cream); font-size:14.5px; font-weight:500;
    padding-bottom:3px; border-bottom:1.5px solid transparent;
    transition:border-color .18s ease, color .18s ease;
  }
  nav a:hover{border-color:var(--gold); color:var(--gold-light);}
  .nav-cta{
    background:var(--gold); color:var(--navy-deep) !important;
    padding:9px 18px; font-weight:600; border-radius:2px;
    border-bottom:none !important;
  }
  .menu-btn{display:none; background:none; border:none; color:var(--cream); font-size:24px; cursor:pointer;}

  @media (max-width:880px){
    nav{position:fixed; inset:0 0 0 auto; width:78%; max-width:320px;
      background:var(--navy-deep); padding:90px 30px 30px; transform:translateX(100%);
      transition:transform .25s ease; z-index:60;}
    nav.open{transform:translateX(0);}
    nav ul{flex-direction:column; gap:22px;}
    .menu-btn{display:block;}
  }

  /* ---------- hero ---------- */
  .hero{
    background:var(--navy);
    color:var(--cream);
    position:relative;
    overflow:hidden;
    padding:76px 0 0;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 85% 20%, rgba(201,151,46,0.14), transparent 45%),
      repeating-linear-gradient(115deg, rgba(246,243,236,0.025) 0 2px, transparent 2px 34px);
    pointer-events:none;
  }
  .hero-grid{
    position:relative; z-index:1;
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; align-items:center;
    padding-bottom:60px;
  }
  .eyebrow-stamp{
    display:inline-flex; align-items:center; gap:9px;
    border:1px solid var(--gold); color:var(--gold-light);
    padding:6px 13px; border-radius:2px; font-size:12.5px; font-weight:500;
    margin-bottom:22px;
  }
  .eyebrow-stamp .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);}
  .hero h1{
    color:var(--cream);
    font-size:clamp(34px,4.6vw,54px);
    line-height:1.08;
    max-width:15ch;
  }
  .hero h1 em{font-style:italic; color:var(--gold-light);}
  .hero p.lede{
    margin-top:20px; max-width:46ch;
    color:#C9D2DC; font-size:16.5px;
  }
  .hero-actions{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
  .btn{
    display:inline-block; padding:13px 24px; font-weight:600; font-size:14.5px;
    border-radius:2px; cursor:pointer; border:1.5px solid transparent;
  }
  .btn-gold{background:var(--gold); color:var(--navy-deep);}
  .btn-gold:hover{background:var(--gold-light);}
  .btn-outline{border-color:rgba(246,243,236,0.45); color:var(--cream);}
  .btn-outline:hover{border-color:var(--gold); color:var(--gold-light);}

  /* the "boarding pass" hero card */
  .pass{
    position:relative; z-index:1;
    background:var(--cream); color:var(--ink);
    border-radius:4px;
    box-shadow:0 22px 50px rgba(0,0,0,0.28);
    overflow:hidden;
  }
  .pass-top{
    padding:22px 24px 18px;
    display:flex; justify-content:space-between; align-items:flex-start;
    border-bottom:1px dashed var(--line);
  }
  .pass-top .from-to{font-family:'Source Serif 4',serif; font-size:22px; font-weight:600; color:var(--navy);}
  .pass-top .from-to small{display:block; font-family:'IBM Plex Sans'; font-size:11px; font-weight:500; letter-spacing:.08em; color:var(--slate); margin-top:3px;}
  .pass-seal{
    width:52px; height:52px; border-radius:50%; border:2px solid var(--red);
    color:var(--red); display:flex; align-items:center; justify-content:center;
    font-size:9px; font-weight:700; text-align:center; letter-spacing:.04em;
    transform:rotate(-9deg); flex-shrink:0;
  }
  .pass-body{padding:20px 24px;}
  .pass-row{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
  .pass-row:last-child{border-bottom:none;}
  .pass-row .k{color:var(--slate);}
  .pass-row .v{font-weight:600; color:var(--navy);}
  .pass-strip{
    background:var(--navy); color:var(--cream); padding:13px 24px;
    display:flex; justify-content:space-between; align-items:center; font-size:12.5px;
    letter-spacing:.03em;
  }
  .pass-strip .gold{color:var(--gold-light); font-weight:600;}

  .stats-bar{
    position:relative; z-index:1;
    border-top:1px solid var(--line-dark);
    display:grid; grid-template-columns:repeat(4,1fr);
  }
  .stats-bar div{
    padding:26px 10px; text-align:center; border-right:1px solid var(--line-dark);
  }
  .stats-bar div:last-child{border-right:none;}
  .stats-bar .num{font-family:'Source Serif 4',serif; font-size:29px; color:var(--gold-light); font-weight:600;}
  .stats-bar .lbl{font-size:12px; color:#AEB9C3; margin-top:4px;}

  @media (max-width:880px){
    .hero-grid{grid-template-columns:1fr;}
    .stats-bar{grid-template-columns:repeat(2,1fr);}
    .stats-bar div:nth-child(2){border-right:none;}
  }

  /* ---------- section shell ---------- */
  section{padding:78px 0;}
  .sec-head{max-width:640px; margin-bottom:44px;}
  .sec-head .kicker{
    color:var(--red); font-weight:600; font-size:13px; letter-spacing:.02em;
    display:flex; align-items:center; gap:9px; margin-bottom:10px;
  }
  .sec-head .kicker::before{content:""; width:26px; height:1.5px; background:var(--red);}
  .sec-head h2{font-size:clamp(26px,3vw,36px); line-height:1.15;}
  .sec-head p{color:var(--slate); margin-top:12px; font-size:15.5px; max-width:56ch;}

  /* ---------- track toggle (two tracks: travel / careers) ---------- */
  .tracks{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:10px;}
  .track-card{
    background:var(--paper); border:1px solid var(--line); padding:30px 28px;
    position:relative;
  }
  .track-card .tag{
    position:absolute; top:-1px; right:-1px;
    background:var(--navy); color:var(--gold-light);
    font-size:11px; font-weight:600; letter-spacing:.06em;
    padding:6px 12px;
  }
  .track-card h3{font-size:21px; margin-bottom:10px;}
  .track-card p{color:var(--slate); font-size:14.5px; margin-bottom:16px;}
  .track-card a.link{font-weight:600; color:var(--red); font-size:14px;}
  @media (max-width:760px){.tracks{grid-template-columns:1fr;}}

  /* ---------- service / career cards ---------- */
  .card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:920px){.card-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.card-grid{grid-template-columns:1fr;}}

  .card{
    background:var(--paper);
    border:1px solid var(--line);
    padding:26px 24px;
    position:relative;
  }
  .card::before, .card::after{ /* passport corner brackets */
    content:""; position:absolute; width:14px; height:14px; border:2px solid var(--gold);
  }
  .card::before{top:8px; left:8px; border-right:none; border-bottom:none;}
  .card::after{bottom:8px; right:8px; border-left:none; border-top:none;}
  .card .icon{
    width:44px; height:44px; border-radius:50%;
    background:var(--navy); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
    font-size:19px; margin-bottom:16px;
  }
  .card h4{font-size:17.5px; margin-bottom:8px;}
  .card p{color:var(--slate); font-size:14px; margin-bottom:14px;}
  .card ul{font-size:13px; color:var(--navy);}
  .card ul li{padding-left:14px; position:relative; margin-bottom:5px;}
  .card ul li::before{content:"—"; position:absolute; left:0; color:var(--gold);}
  .card .apply{
    display:inline-block; margin-top:6px; font-size:13.5px; font-weight:600;
    color:var(--red); border-bottom:1px solid var(--red); padding-bottom:1px;
  }

  .section-alt{background:var(--navy); color:var(--cream);}
  .section-alt .sec-head h2{color:var(--cream);}
  .section-alt .sec-head p{color:#B9C3CD;}
  .section-alt .card{background:rgba(246,243,236,0.04); border-color:var(--line-dark);}
  .section-alt .card h4{color:var(--cream);}
  .section-alt .card p{color:#AEB9C3;}
  .section-alt .card .icon{background:var(--gold); color:var(--navy-deep);}

  /* ---------- steps (real sequence) ---------- */
  .steps{display:grid; grid-template-columns:repeat(5,1fr); gap:0; counter-reset:step; position:relative;}
  .steps::before{
    content:""; position:absolute; top:22px; left:6%; right:6%; height:1px;
    background:repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 16px);
  }
  .step{position:relative; text-align:left; padding-right:14px;}
  .step .n{
    counter-increment:step;
    width:44px; height:44px; border-radius:50%;
    background:var(--cream); border:1.5px solid var(--navy);
    display:flex; align-items:center; justify-content:center;
    font-family:'Source Serif 4',serif; font-weight:600; color:var(--navy);
    position:relative; z-index:1; margin-bottom:16px;
  }
  .step .n::before{content:counter(step);}
  .step h4{font-size:15px; margin-bottom:6px;}
  .step p{font-size:13px; color:var(--slate);}
  @media (max-width:880px){
    .steps{grid-template-columns:1fr; gap:26px;}
    .steps::before{display:none;}
  }

  /* ---------- destinations / hot placements ---------- */
  .dest-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:920px){.dest-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.dest-grid{grid-template-columns:1fr;}}
  .dest-card{background:var(--paper); border:1px solid var(--line);}
  .dest-photo{
    height:130px; background:linear-gradient(135deg, var(--navy), var(--navy-deep));
    position:relative; display:flex; align-items:flex-end; padding:12px 16px;
  }
  .dest-photo .badge{
    position:absolute; top:12px; left:12px; background:var(--red); color:var(--cream);
    font-size:10.5px; font-weight:600; padding:4px 9px; letter-spacing:.03em;
  }
  .dest-photo h4{color:var(--cream); font-size:18px;}
  .dest-info{padding:14px 16px 18px;}
  .dest-info .rate{font-weight:600; color:var(--navy); font-size:14px; margin-bottom:4px;}
  .dest-info .role{color:var(--slate); font-size:12.5px;}

  /* ---------- testimonials ---------- */
  .quote-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media (max-width:880px){.quote-grid{grid-template-columns:1fr;}}
  .quote-card{background:var(--paper); border:1px solid var(--line); padding:26px 24px;}
  .quote-mark{font-family:'Source Serif 4',serif; font-size:38px; color:var(--gold); line-height:1; margin-bottom:6px;}
  .quote-card p.text{font-size:14.5px; color:var(--ink); margin-bottom:16px;}
  .quote-who{display:flex; align-items:center; gap:11px;}
  .quote-who .av{width:36px; height:36px; border-radius:50%; background:var(--navy); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font-family:'Source Serif 4',serif; font-weight:600; font-size:14px;}
  .quote-who .name{font-weight:600; font-size:13.5px; color:var(--navy);}
  .quote-who .role{font-size:12px; color:var(--slate);}

  /* ---------- about ---------- */
  .about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start;}
  @media (max-width:880px){.about-grid{grid-template-columns:1fr; gap:32px;}}
  .about-grid p{color:var(--slate); font-size:15.5px; margin-bottom:16px;}
  .pillars{display:grid; gap:22px;}
  .pillar{display:flex; gap:16px;}
  .pillar .mk{
    width:38px; height:38px; border-radius:50%; border:1.5px solid var(--gold);
    color:var(--gold); flex-shrink:0; display:flex; align-items:center; justify-content:center;
    font-family:'Source Serif 4',serif; font-weight:600;
  }
  .pillar h4{font-size:16px; margin-bottom:4px;}
  .pillar p{font-size:13.5px; color:var(--slate); margin-bottom:0;}

  /* ---------- application / quote form ---------- */
  .form-section{background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .form-shell{
    background:var(--navy); color:var(--cream);
    border-radius:4px; overflow:hidden;
    display:grid; grid-template-columns:0.9fr 1.1fr;
  }
  @media (max-width:880px){.form-shell{grid-template-columns:1fr;}}
  .form-side{padding:44px 40px;}
  .form-side h2{color:var(--cream); font-size:27px; margin-bottom:14px;}
  .form-side p{color:#B9C3CD; font-size:14.5px; margin-bottom:26px;}
  .form-side .wa{
    display:inline-flex; align-items:center; gap:10px; border:1px solid var(--gold);
    padding:11px 18px; color:var(--gold-light); font-weight:600; font-size:14px;
  }
  .form-fields{background:var(--cream); padding:40px; color:var(--ink);}
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;}
  @media (max-width:520px){.field-row{grid-template-columns:1fr;}}
  .field{display:flex; flex-direction:column; gap:6px;}
  .field label{font-size:12px; font-weight:600; color:var(--navy); letter-spacing:.02em;}
  .field input, .field select, .field textarea{
    border:1px solid var(--line); background:var(--paper); padding:10px 12px;
    font-family:inherit; font-size:14px; border-radius:2px; color:var(--ink);
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold);
  }
  .submit-btn{
    width:100%; margin-top:6px; background:var(--red); color:var(--cream);
    border:none; padding:13px; font-weight:600; font-size:14.5px; cursor:pointer; border-radius:2px;
  }
  .submit-btn:hover{background:#7f2323;}

  /* ---------- footer ---------- */
  footer{background:var(--navy-deep); color:#AEB9C3; padding:56px 0 26px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; margin-bottom:40px;}
  @media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr; row-gap:30px;}}
  footer h5{color:var(--cream); font-family:'IBM Plex Sans'; font-size:13px; font-weight:600; letter-spacing:.05em; margin-bottom:14px;}
  footer ul li{margin-bottom:9px; font-size:13.5px;}
  footer ul li a:hover{color:var(--gold-light);}
  footer .brand-text{color:var(--cream);}
  footer p.desc{font-size:13.5px; margin:12px 0 0; max-width:34ch;}
  .foot-bottom{
    border-top:1px solid var(--line-dark); padding-top:22px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px;
  }

  /* focus visibility */
  a:focus-visible, button:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;} *{transition:none !important;}}

/* ================= Application Wizard (apply.php) ================= */
.apply-hero{
  background:var(--navy); color:var(--cream); padding:56px 0 40px; border-bottom:3px solid var(--gold);
}
.apply-hero .kicker{color:var(--gold-light);}
.apply-hero .kicker::before{background:var(--gold-light);}
.apply-hero h1{color:var(--cream); font-size:clamp(28px,4vw,40px); max-width:20ch;}
.apply-hero p{color:#C9D2DC; margin-top:12px; max-width:56ch; font-size:15.5px;}

.wizard-shell{
  max-width:760px; margin:-30px auto 0; position:relative; z-index:2;
  background:var(--paper); border:1px solid var(--line); border-radius:4px;
  box-shadow:0 18px 44px rgba(16,36,63,0.14);
}
.wizard-progress{
  display:flex; border-bottom:1px solid var(--line);
}
.wizard-progress .wp-step{
  flex:1; text-align:center; padding:16px 8px; font-size:12.5px; font-weight:600;
  color:var(--slate); border-bottom:3px solid var(--line); position:relative;
}
.wizard-progress .wp-step.active{color:var(--navy); border-bottom-color:var(--gold);}
.wizard-progress .wp-step.done{color:var(--red);}
.wizard-progress .wp-step .wp-num{
  display:inline-flex; width:20px; height:20px; border-radius:50%; margin-right:6px;
  align-items:center; justify-content:center; font-size:11px; border:1.5px solid currentColor;
}

.wizard-body{padding:34px 34px 30px;}
@media (max-width:600px){.wizard-body{padding:26px 20px 24px;}}

.wz-step{display:none;}
.wz-step.active{display:block;}
.wz-step h2{font-size:21px; margin-bottom:6px;}
.wz-step > p.hint{color:var(--slate); font-size:14px; margin-bottom:22px;}

.field-full{margin-bottom:14px;}
.field-full label{display:block; font-size:12px; font-weight:600; color:var(--navy); margin-bottom:6px; letter-spacing:.02em;}
.field-full input, .field-full select, .field-full textarea{
  width:100%; border:1px solid var(--line); background:var(--paper); padding:11px 13px;
  font-family:inherit; font-size:14.5px; border-radius:2px; color:var(--ink);
}
.field-full input:focus, .field-full select:focus, .field-full textarea:focus{
  outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold);
}
.field-full .err{color:var(--red); font-size:12px; margin-top:5px; display:none;}
.field-full.invalid input, .field-full.invalid select{border-color:var(--red);}
.field-full.invalid .err{display:block;}

.track-pick{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:6px;}
@media (max-width:560px){.track-pick{grid-template-columns:repeat(2,1fr);}}
.track-pick label{
  border:1.5px solid var(--line); border-radius:2px; padding:14px 10px; text-align:center;
  cursor:pointer; font-size:13px; font-weight:600; color:var(--navy); position:relative;
}
.track-pick input{position:absolute; opacity:0; inset:0; cursor:pointer;}
.track-pick label .ic{display:block; font-size:20px; margin-bottom:6px;}
.track-pick input:checked + .track-label,
.track-pick label:has(input:checked){
  border-color:var(--gold); background:#FCF6E8;
}

.review-box{background:var(--cream); border:1px solid var(--line); padding:18px 20px; margin-bottom:22px;}
.review-row{display:flex; justify-content:space-between; font-size:13.5px; padding:7px 0; border-bottom:1px dashed var(--line);}
.review-row:last-child{border-bottom:none;}
.review-row .k{color:var(--slate);}
.review-row .v{font-weight:600; color:var(--navy); text-align:right;}

.fee-banner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:var(--navy); color:var(--cream); padding:18px 20px; border-radius:2px; margin-bottom:22px;
}
.fee-banner .amt{font-family:'Source Serif 4',serif; font-size:26px; color:var(--gold-light);}
.fee-banner .lbl{font-size:12px; color:#B9C3CD; margin-top:2px;}
.fee-note{
  font-size:12.5px; color:var(--red); border:1px dashed var(--red); padding:10px 13px; margin-bottom:22px; background:#FBEEEE;
}

.pay-box{border:1.5px solid var(--gold); background:#FCF6E8; padding:20px 22px; margin-bottom:24px;}
.pay-box h3{font-size:15.5px; color:var(--navy); margin-bottom:10px;}
.pay-box ol{padding-left:18px; font-size:13.5px; color:var(--ink);}
.pay-box ol li{margin-bottom:6px;}
.pay-box .till{
  display:inline-block; background:var(--navy); color:var(--gold-light); font-weight:700;
  padding:4px 10px; border-radius:2px; letter-spacing:.03em; font-size:13.5px;
}
.pay-box .placeholder-note{font-size:11.5px; color:var(--slate); margin-top:10px; font-style:italic;}

.wz-actions{display:flex; justify-content:space-between; align-items:center; margin-top:8px;}
.wz-actions .spacer{flex:1;}
.btn-plain{background:none; border:1.5px solid var(--line); color:var(--navy); padding:11px 20px; font-weight:600; font-size:14px; border-radius:2px; cursor:pointer;}
.btn-plain:hover{border-color:var(--navy);}
.btn-next{background:var(--navy); color:var(--cream); border:none; padding:12px 26px; font-weight:600; font-size:14px; border-radius:2px; cursor:pointer;}
.btn-next:hover{background:var(--navy-deep);}
.btn-submit{background:var(--red); color:var(--cream); border:none; padding:13px 26px; font-weight:600; font-size:14.5px; border-radius:2px; cursor:pointer;}
.btn-submit:hover{background:#7f2323;}
.btn-submit:disabled{opacity:.55; cursor:not-allowed;}

.consent-row{display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--slate); margin-bottom:22px;}
.consent-row input{margin-top:3px;}

/* success page */
.success-shell{max-width:560px; margin:70px auto; background:var(--paper); border:1px solid var(--line); text-align:center; padding:46px 34px;}
.success-shell .seal{
  width:64px; height:64px; border-radius:50%; border:2px solid var(--red); color:var(--red);
  display:flex; align-items:center; justify-content:center; font-size:28px; margin:0 auto 18px;
}
.success-shell h1{font-size:24px; margin-bottom:10px;}
.success-shell p{color:var(--slate); font-size:14.5px; margin-bottom:6px;}
.success-shell .appno{
  display:inline-block; margin:16px 0; background:var(--navy); color:var(--gold-light);
  padding:9px 18px; font-weight:700; letter-spacing:.03em; border-radius:2px;
}




/* =========================================================
   MAIN WEBSITE RESPONSIVE OVERRIDE
   Admin styles are NOT targeted by this stylesheet.
   Paste this at the very bottom of your main-site CSS.
   ========================================================= */

/* ---------- Global mobile safety ---------- */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  min-width: 0;
}

*,
*::before,
*::after {
  max-width: 100%;
}

.wrap {
  width: 100%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
}

section,
header,
footer,
main {
  width: 100%;
  max-width: 100%;
}

/* Prevent long text, URLs and form content from creating overflow */
p,
h1,
h2,
h3,
h4,
h5,
h6,
a,
li,
label,
/* span {
  overflow-wrap: anywhere;
} */

/* Images/videos/iframes can never escape their container */
img,
video,
iframe,
svg {
  max-width: 100%;
}

iframe {
  border: 0;
}

/* ---------- Header / Navigation ---------- */

header {
  width: 100%;
  max-width: 100%;
}

.nav-row {
  min-width: 0;
}

.brand {
  min-width: 0;
}

.brand-text {
  min-width: 0;
}

/* Make hamburger reliably clickable above the mobile menu */
.menu-btn {
  position: relative;
  z-index: 100;
  flex-shrink: 0;
  min-width: 44px;
  min-height: 44px;
  display: none;
  align-items: center;
  justify-content: center;
}

/* Mobile navigation */
@media (max-width: 880px) {

  .wrap {
    padding-left: 20px;
    padding-right: 20px;
  }

  .nav-row {
    padding: 12px 0;
  }

  .menu-btn {
    display: flex;
  }

  nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;

    width: min(82vw, 340px);
    max-width: 340px;
    height: 100dvh;

    padding: 90px 28px 30px;

    background: var(--navy-deep);

    transform: translate3d(100%, 0, 0);
    transition: transform .25s ease;

    overflow-y: auto;
    overflow-x: hidden;

    z-index: 90;

    box-shadow: -12px 0 35px rgba(0, 0, 0, .25);
  }

  nav.open {
    transform: translate3d(0, 0, 0);
  }

  nav ul {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  nav ul li {
    width: 100%;
  }

  nav a {
    display: block;
    width: 100%;
    padding: 14px 4px;
    font-size: 15px;
    border-bottom: 1px solid rgba(246, 243, 236, .10);
  }

  nav .nav-cta {
    margin-top: 14px;
    text-align: center;
    padding: 12px 18px;
  }
}

/* ---------- Hero ---------- */

.hero {
  width: 100%;
  overflow: hidden;
}

.hero-grid {
  min-width: 0;
}

.hero-grid > * {
  min-width: 0;
}

.pass {
  width: 100%;
  min-width: 0;
}

.pass-top,
.pass-body,
.pass-strip {
  min-width: 0;
}

@media (max-width: 880px) {

  .hero {
    padding-top: 52px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-bottom: 45px;
  }

  .hero h1 {
    max-width: none;
    font-size: clamp(32px, 8vw, 46px);
  }

  .hero p.lede {
    font-size: 15.5px;
  }

  .pass {
    max-width: 620px;
    margin: 0 auto;
  }
}

@media (max-width: 600px) {

  .hero {
    padding-top: 38px;
  }

  .hero-grid {
    gap: 30px;
    padding-bottom: 32px;
  }

  .hero h1 {
    font-size: clamp(30px, 10vw, 40px);
    line-height: 1.08;
  }

  .hero p.lede {
    font-size: 15px;
  }

  .hero-actions {
    width: 100%;
    gap: 10px;
  }

  .hero-actions .btn {
    flex: 1 1 100%;
    text-align: center;
    width: 100%;
  }

  .pass-top {
    padding: 18px 18px 15px;
  }

  .pass-top .from-to {
    font-size: 19px;
  }

  .pass-body {
    padding: 15px 18px;
  }

  .pass-row {
    font-size: 13px;
    gap: 15px;
  }

  .pass-strip {
    padding: 11px 18px;
    font-size: 11.5px;
  }

  .stats-bar {
    grid-template-columns: 1fr 1fr;
  }

  .stats-bar div {
    padding: 20px 8px;
  }

  .stats-bar .num {
    font-size: 25px;
  }
}

@media (max-width: 380px) {

  .wrap {
    padding-left: 16px;
    padding-right: 16px;
  }

  .hero h1 {
    font-size: 29px;
  }

  .stats-bar {
    grid-template-columns: 1fr;
  }

  .stats-bar div {
    border-right: none;
    border-bottom: 1px solid var(--line-dark);
  }

  .stats-bar div:last-child {
    border-bottom: none;
  }
}

/* ---------- Sections ---------- */

section {
  overflow: hidden;
}

@media (max-width: 880px) {
  section {
    padding: 60px 0;
  }

  .sec-head {
    margin-bottom: 34px;
  }
}

@media (max-width: 600px) {
  section {
    padding: 48px 0;
  }

  .sec-head {
    margin-bottom: 28px;
  }

  .sec-head h2 {
    font-size: 27px;
  }

  .sec-head p {
    font-size: 14.5px;
  }
}

/* ---------- Track cards ---------- */

.tracks,
.track-card {
  min-width: 0;
}

@media (max-width: 760px) {
  .tracks {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .track-card {
    padding: 25px 21px;
  }
}

/* ---------- General cards ---------- */

.card-grid,
.card,
.quote-grid,
.quote-card,
.about-grid,
.about-grid > *,
.form-shell,
.form-shell > *,
.foot-grid {
  min-width: 0;
}

.card-grid {
  width: 100%;
}

@media (max-width: 920px) {
  .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .card {
    padding: 23px 20px;
  }
}

/* ---------- Destination cards ---------- */

.dest-grid {
  width: 100%;
}

@media (max-width: 920px) {
  .dest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .dest-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dest-photo {
    height: 150px;
  }
}

/* ---------- Steps ---------- */

.steps {
  min-width: 0;
}

.step {
  min-width: 0;
}

@media (max-width: 880px) {

  .steps {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .step {
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 15px;
    padding-right: 0;
  }

  .step .n {
    grid-row: 1 / span 2;
    margin-bottom: 0;
  }

  .step h4 {
    margin-bottom: 4px;
  }
}

/* ---------- Testimonials ---------- */

@media (max-width: 880px) {
  .quote-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ---------- About ---------- */

.about-grid > * {
  min-width: 0;
}

@media (max-width: 880px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ---------- Application form ---------- */

.form-shell {
  width: 100%;
}

.form-side,
.form-fields {
  min-width: 0;
}

@media (max-width: 880px) {

  .form-shell {
    grid-template-columns: 1fr;
  }

  .form-side,
  .form-fields {
    padding: 30px 24px;
  }
}

@media (max-width: 600px) {

  .form-side,
  .form-fields {
    padding: 26px 18px;
  }

  .field-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .field input,
  .field select,
  .field textarea {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
  }

  .submit-btn {
    min-height: 48px;
  }
}

/* ---------- Footer ---------- */

.foot-grid {
  min-width: 0;
}

@media (max-width: 800px) {
  .foot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
  }
}

@media (max-width: 520px) {
  .foot-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  footer {
    padding: 42px 0 22px;
  }

  .foot-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================
   APPLICATION WIZARD
   ========================================================= */

.apply-hero {
  width: 100%;
  overflow: hidden;
}

.wizard-shell {
  width: calc(100% - 40px);
  max-width: 760px;
}

.wizard-progress {
  min-width: 0;
}

.wizard-progress .wp-step {
  min-width: 0;
}

.wizard-body {
  min-width: 0;
}

@media (max-width: 760px) {

  .apply-hero {
    padding: 44px 0 32px;
  }

  .wizard-shell {
    width: calc(100% - 28px);
    margin-top: -20px;
  }

  .wizard-progress .wp-step {
    padding: 12px 4px;
    font-size: 11px;
  }

  .wizard-progress .wp-step .wp-num {
    display: block;
    margin: 0 auto 4px;
  }
}

@media (max-width: 560px) {

  .wizard-shell {
    width: calc(100% - 20px);
  }

  .wizard-body {
    padding: 24px 16px;
  }

  .track-pick {
    grid-template-columns: 1fr 1fr;
  }

  .review-row {
    flex-direction: column;
    gap: 2px;
  }

  .review-row .v {
    text-align: left;
  }

  .fee-banner {
    flex-direction: column;
    align-items: flex-start;
  }

  .wz-actions {
    gap: 10px;
  }

  .wz-actions button {
    min-height: 46px;
  }

  .btn-next,
  .btn-submit,
  .btn-plain {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (max-width: 400px) {

  .wizard-shell {
    width: calc(100% - 12px);
  }

  .wizard-progress .wp-step {
    font-size: 10px;
  }

  .wizard-progress .wp-step .wp-num {
    width: 18px;
    height: 18px;
    font-size: 10px;
  }

  .track-pick {
    grid-template-columns: 1fr;
  }

  .wz-actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .wz-actions .spacer {
    display: none;
  }

  .wz-actions button {
    width: 100%;
  }
}

/* ---------- Full-width form controls ---------- */

.field-full input,
.field-full select,
.field-full textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* ---------- Prevent tables/content from breaking phone layouts ---------- */

table {
  max-width: 100%;
}

pre,
code {
  max-width: 100%;
  overflow-x: auto;
}

textarea {
  max-width: 100%;
}

/* ---------- Touch-friendly controls ---------- */

@media (max-width: 880px) {

  button,
  .btn,
  .nav-cta,
  .btn-next,
  .btn-submit,
  .btn-plain,
  .submit-btn {
    -webkit-tap-highlight-color: transparent;
  }

  input,
  select,
  textarea {
    min-height: 44px;
  }
}

/* ---------- Very small screens ---------- */

@media (max-width: 360px) {

  .wrap {
    padding-left: 14px;
    padding-right: 14px;
  }

  .brand-text {
    font-size: 17px;
  }

  .brand-text span {
    font-size: 9px;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
  }

  .hero-actions .btn {
    padding: 12px 16px;
  }

  .card {
    padding: 21px 17px;
  }

  .quote-card {
    padding: 22px 18px;
  }
}

/* ---------- Accessibility ---------- */

@media (prefers-reduced-motion: reduce) {

  nav {
    transition: none !important;
  }
}































/* =========================================================
   USA GLOBAL TRAVEL — MODERN UI / DARK MODE / ADMIN
   RESPONSIVE VERSION
   ========================================================= */

:root{
 --bg:#f7f9fc;
 --surface:#ffffff;
 --surface-2:#eef3f7;
 --text:#122033;
 --muted:#647184;
 --primary:#1d63d7;
 --primary-2:#0f4fb8;
 --accent:#f5b841;
 --dark:#091522;
 --border:#dfe6ee;
 --shadow:0 20px 60px rgba(18,32,51,.10);
 --radius-lg:24px;
 --radius-md:16px;
}

/* =========================================================
   DARK MODE
   ========================================================= */

html[data-theme="dark"]{
 --bg:#07111d;
 --surface:#0d1b2a;
 --surface-2:#132538;
 --text:#eef5ff;
 --muted:#9eafc2;
 --primary:#66a1ff;
 --primary-2:#4f8ef0;
 --accent:#f5c65b;
 --dark:#030a11;
 --border:#20364c;
 --shadow:0 24px 70px rgba(0,0,0,.35);
}

/* =========================================================
   GLOBAL
   ========================================================= */

*,
*::before,
*::after{
 box-sizing:border-box;
}

html{
 scroll-behavior:smooth;
 overflow-x:hidden;
}

body{
 margin:0;
 width:100%;
 max-width:100%;
 overflow-x:hidden;
 font-family:'DM Sans',sans-serif;
 background:var(--bg);
 color:var(--text);
 line-height:1.65;
 transition:background .3s,color .3s;
}

img{
 max-width:100%;
 display:block;
}

button,
input,
textarea,
select{
 max-width:100%;
}

h1,
h2,
h3,
h4{
 font-family:'Playfair Display',serif;
 color:var(--text);
}

.wrap{
 width:100%;
 max-width:1240px;
 margin:0 auto;
 padding:0 28px;
}

/* =========================================================
   HEADER / NAVIGATION
   ========================================================= */

.site-header{
 position:sticky;
 top:0;
 z-index:1000;
 width:100%;
 background:color-mix(in srgb,var(--surface) 88%,transparent);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid var(--border);
 transition:.3s;
}

.site-header .nav-row{
 padding:14px 0;
}

.site-header .brand{
 color:var(--text);
 gap:12px;
 min-width:0;
}

.site-header .brand-mark{
 width:42px;
 height:42px;
 flex:0 0 42px;
 border:0;
 border-radius:13px;
 background:linear-gradient(
   135deg,
   var(--primary),
   var(--primary-2)
 );
 color:white;
 box-shadow:0 10px 25px rgba(29,99,215,.22);
}

.site-header .brand-text{
 font-family:'DM Sans',sans-serif;
 font-weight:800;
 font-size:17px;
}

.site-header .brand-text span{
 display:block;
 color:var(--muted);
 font-size:9px;
 letter-spacing:.16em;
}

.site-header nav ul{
 gap:24px;
}

.site-header nav a{
 color:var(--muted);
 font-size:13px;
 font-weight:600;
 border:0;
 padding:8px 0;
 transition:.2s;
}

.site-header nav a:hover{
 color:var(--primary);
}

.site-header .nav-cta{
 background:var(--text);
 color:var(--bg)!important;
 border-radius:999px;
 padding:10px 17px;
}

.nav-tools{
 display:flex;
 gap:8px;
 align-items:center;
 flex-shrink:0;
}

.theme-toggle,
.menu-btn{
 width:40px;
 height:40px;
 flex:0 0 40px;
 border:1px solid var(--border);
 border-radius:12px;
 background:var(--surface);
 color:var(--text);
 cursor:pointer;
}

.theme-toggle{
 display:grid;
 place-items:center;
}

.menu-btn{
 display:none;
 place-items:center;
}

/* =========================================================
   HERO
   ========================================================= */

.modern-hero{
 position:relative;
 overflow:hidden;
 background:
   linear-gradient(
     135deg,
     #071725 0%,
     #0e2b48 55%,
     #103b67 100%
   );
 color:white;
 padding:82px 0 0;
}

.hero-inner{
 position:relative;
 z-index:2;
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,.88fr);
 gap:70px;
 align-items:center;
 min-height:650px;
}

.hero-copy{
 min-width:0;
 padding-bottom:70px;
}

.hero-pill{
 display:inline-flex;
 align-items:center;
 gap:8px;
 max-width:100%;
 padding:8px 13px;
 border:1px solid rgba(255,255,255,.2);
 background:rgba(255,255,255,.06);
 border-radius:999px;
 color:#d9e7f7;
 font-size:12px;
 font-weight:700;
 letter-spacing:.03em;
 animation:fadeUp .7s both;
}

.modern-hero h1{
 font-size:clamp(44px,6vw,78px);
 line-height:1.04;
 letter-spacing:-.04em;
 color:#fff;
 max-width:800px;
 margin:20px 0;
}

.modern-hero h1 span{
 color:#f5c65b;
}

.modern-hero .hero-copy>p{
 max-width:650px;
 color:#b9cbe0;
 font-size:17px;
}

.hero-actions{
 display:flex;
 gap:12px;
 flex-wrap:wrap;
 margin:30px 0 22px;
}

.btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:999px;
 padding:13px 21px;
 font-weight:800;
 font-size:13px;
 transition:
   transform .2s,
   box-shadow .2s,
   background .2s;
}

.btn:hover{
 transform:translateY(-2px);
}

.btn-primary{
 background:var(--accent);
 color:#152235;
 box-shadow:0 12px 30px rgba(245,184,65,.18);
}

.btn-glass{
 border:1px solid rgba(255,255,255,.28);
 color:#fff;
 background:rgba(255,255,255,.06);
}

.btn-dark{
 background:#122033;
 color:#fff;
}

.hero-trust{
 display:flex;
 gap:18px;
 flex-wrap:wrap;
 color:#a9bdd2;
 font-size:11px;
 font-weight:600;
}

.hero-trust i{
 color:#f5c65b;
 margin-right:5px;
}

/* =========================================================
   HERO IMAGE
   ========================================================= */

.hero-visual{
 position:relative;
 min-height:560px;
 min-width:0;
}

.hero-image-main{
 position:relative;
 height:530px;
 border-radius:30px 30px 120px 30px;
 overflow:hidden;
 border:1px solid rgba(255,255,255,.16);
 box-shadow:0 35px 80px rgba(0,0,0,.35);
 transform:rotate(1.5deg);
}

.hero-image-main img{
 width:100%;
 height:100%;
 object-fit:cover;
}

.hero-image-main:after{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 background:
   linear-gradient(
     180deg,
     transparent 55%,
     rgba(0,0,0,.42)
   );
}

.floating-card{
 position:absolute;
 z-index:3;
 display:flex;
 gap:10px;
 align-items:center;
 max-width:calc(100% - 20px);
 background:rgba(255,255,255,.94);
 color:#122033;
 padding:12px 15px;
 border-radius:16px;
 box-shadow:0 18px 40px rgba(0,0,0,.2);
 font-size:12px;
}

.floating-card strong,
.floating-card span{
 display:block;
}

.floating-card span{
 color:#718095;
 font-size:10px;
}

.floating-card i,
.mini-icon{
 width:32px;
 height:32px;
 flex:0 0 32px;
 display:grid;
 place-items:center;
 border-radius:10px;
 background:#eaf2ff;
 color:#1d63d7;
}

.floating-top{
 left:-34px;
 top:90px;
}

.floating-bottom{
 right:-22px;
 bottom:82px;
}

.hero-stamp{
 position:absolute;
 right:12px;
 top:18px;
 width:88px;
 height:88px;
 border:1px solid rgba(255,255,255,.5);
 border-radius:50%;
 display:grid;
 place-items:center;
 text-align:center;
 transform:rotate(10deg);
 color:#fff;
 background:rgba(7,23,37,.35);
 backdrop-filter:blur(5px);
}

.hero-stamp span{
 font-size:22px;
 font-weight:800;
 line-height:1;
}

.hero-stamp small{
 font-size:7px;
 letter-spacing:.2em;
}

.hero-orb{
 position:absolute;
 border-radius:50%;
 filter:blur(2px);
 opacity:.25;
 pointer-events:none;
}

.orb-one{
 width:450px;
 height:450px;
 background:#286dcc;
 right:-150px;
 top:-150px;
}

.orb-two{
 width:260px;
 height:260px;
 background:#f5b841;
 left:-130px;
 bottom:-120px;
}

/* =========================================================
   HERO STATS
   ========================================================= */

.hero-stats{
 position:relative;
 z-index:2;
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 border-top:1px solid rgba(255,255,255,.13);
}

.hero-stats div{
 min-width:0;
 padding:22px 10px;
 border-right:1px solid rgba(255,255,255,.13);
}

.hero-stats div:last-child{
 border-right:0;
}

.hero-stats strong{
 display:block;
 font:700 27px 'Playfair Display';
 color:#fff;
}

.hero-stats span{
 font-size:10px;
 color:#91a8bf;
 text-transform:uppercase;
 letter-spacing:.08em;
}

/* =========================================================
   INTRO
   ========================================================= */

.intro-strip{
 background:var(--surface);
 border-bottom:1px solid var(--border);
}

.intro-grid{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:70px;
 align-items:center;
 padding:58px 28px;
}

.intro-grid h2{
 font-size:34px;
 line-height:1.18;
}

.intro-grid p{
 color:var(--muted);
 font-size:15px;
}

/* =========================================================
   SECTIONS
   ========================================================= */

.section{
 padding:92px 0;
}

.soft-section{
 background:var(--surface-2);
}

.section-heading{
 display:flex;
 justify-content:space-between;
 gap:50px;
 align-items:end;
 margin-bottom:40px;
}

.section-heading>div{
 max-width:620px;
}

.section-heading>p{
 max-width:420px;
 color:var(--muted);
 font-size:14px;
}

.section-heading h2{
 font-size:clamp(32px,4vw,50px);
 line-height:1.08;
 margin-top:8px;
}

.section-heading h2 em{
 color:var(--primary);
 font-style:normal;
}

.section-kicker{
 font-size:10px;
 font-weight:800;
 letter-spacing:.16em;
 color:var(--primary);

}

/* =========================================================
   PACKAGES
   ========================================================= */

.package-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:22px;
}

.package-card{
 min-width:0;
 background:var(--surface);
 border:1px solid var(--border);
 border-radius:var(--radius-lg);
 overflow:hidden;
 box-shadow:0 8px 25px rgba(18,32,51,.04);
 transition:
   transform .25s,
   box-shadow .25s;
}

.package-card:hover{
 transform:translateY(-6px);
 box-shadow:var(--shadow);
}

.package-image{
 height:235px;
 position:relative;
 overflow:hidden;
}

.package-image img{
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform .5s;
}

.package-card:hover .package-image img{
 transform:scale(1.06);
}

.package-badge,
.package-location{
 position:absolute;
 background:rgba(9,21,34,.78);
 color:#fff;
 border-radius:999px;
 padding:7px 10px;
 font-size:9px;
 font-weight:800;
 backdrop-filter:blur(8px);
}

.package-badge{
 top:14px;
 left:14px;
 background:#f5c65b;
 color:#152235;
}

.package-location{
 bottom:14px;
 left:14px;
}

.package-body{
 padding:21px;
}

.package-meta{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 color:var(--muted);
 font-size:10px;
}

.package-meta strong{
 color:var(--primary);
 font-size:15px;
}

.package-body h3{
 font-size:23px;
 margin:10px 0 7px;
}

.package-body p{
 font-size:13px;
 color:var(--muted);
 min-height:62px;
}

.package-tags{
 display:flex;
 gap:6px;
 flex-wrap:wrap;
 margin:14px 0;
}

.package-tags span{
 padding:5px 8px;
 border-radius:7px;
 background:var(--surface-2);
 font-size:9px;
 color:var(--muted);
}

.package-link,
.career-link,
.text-link{
 color:var(--primary);
 font-size:12px;
 font-weight:800;
}

.package-link i,
.career-link i,
.text-link i{
 margin-left:5px;
}

.empty-public{
 padding:35px;
 text-align:center;
 background:var(--surface);
 border:1px dashed var(--border);
 border-radius:16px;
 color:var(--muted);
}

/* =========================================================
   SERVICES
   ========================================================= */

.service-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:16px;
}

.service-card{
 min-width:0;
 padding:25px;
 background:var(--surface);
 border:1px solid var(--border);
 border-radius:18px;
 transition:.25s;
}

.service-card:hover{
 transform:translateY(-4px);
 border-color:color-mix(
   in srgb,
   var(--primary) 45%,
   var(--border)
 );
}

.service-card>span{
 width:44px;
 height:44px;
 border-radius:13px;
 background:#eaf2ff;
 color:var(--primary);
 display:grid;
 place-items:center;
 margin-bottom:18px;
}

.service-card h3{
 font-size:19px;
 margin-bottom:6px;
}

.service-card p{
 font-size:12px;
 color:var(--muted);
}

/* =========================================================
   CAREERS
   ========================================================= */

.career-section{
 background:linear-gradient(135deg,#071725,#0c2945);
 padding:95px 0;
 color:#fff;
}

.section-heading.light h2{
 color:#fff;
}

.section-heading.light>p{
 color:#9eb2c7;
}

.career-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
}

.career-card{
 min-width:0;
 display:flex;
 gap:18px;
 background:rgba(255,255,255,.055);
 border:1px solid rgba(255,255,255,.11);
 border-radius:20px;
 padding:23px;
 transition:.25s;
}

.career-card:hover{
 background:rgba(255,255,255,.085);
 transform:translateY(-3px);
}

.career-icon{
 flex:0 0 48px;
 height:48px;
 border-radius:14px;
 background:#f5c65b;
 color:#122033;
 display:grid;
 place-items:center;
 font-size:22px;
}

.career-content{
 min-width:0;
 flex:1;
}

.career-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
}

.career-head h3{
 color:#fff;
 font-size:21px;
}

.career-head span{
 font-size:8px;
 background:rgba(245,198,91,.15);
 color:#f5c65b;
 padding:5px 8px;
 border-radius:999px;
 text-transform:uppercase;
 white-space:nowrap;
}

.career-card p{
 font-size:12px;
 color:#9eb2c7;
 margin:6px 0 12px;
}

.career-details{
 display:flex;
 gap:15px;
 flex-wrap:wrap;
 font-size:9px;
 color:#c7d5e3;
 margin-bottom:14px;
}

.career-details i{
 color:#f5c65b;
 margin-right:4px;
}

/* =========================================================
   TIMELINE
   ========================================================= */

.timeline{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:30px;
}

.timeline>div{
 position:relative;
 min-width:0;
 padding-top:18px;
 border-top:2px solid var(--border);
}

.timeline b{
 font-size:10px;
 color:var(--primary);
}

.timeline h3{
 font-size:21px;
 margin:8px 0;
}

.timeline p{
 font-size:12px;
 color:var(--muted);
}

/* =========================================================
   ABOUT
   ========================================================= */

.about-modern{
 padding:100px 0;
 background:var(--surface);
}

.about-grid-modern{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:80px;
 align-items:center;
}

.about-grid-modern h2{
 font-size:clamp(34px,4vw,52px);
 line-height:1.08;
 margin:10px 0 18px;
}

.about-grid-modern p{
 color:var(--muted);
 font-size:14px;
 max-width:600px;
 margin-bottom:20px;
}

.about-card{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
}

.about-card div{
 min-width:0;
 padding:25px;
 border:1px solid var(--border);
 background:var(--bg);
 border-radius:20px;
}

.about-card i{
 display:block;
 color:var(--primary);
 font-size:20px;
 margin-bottom:30px;
}

.about-card strong,
.about-card span{
 display:block;
}

.about-card span{
 font-size:10px;
 color:var(--muted);
 margin-top:3px;
}

/* =========================================================
   FINAL CTA
   ========================================================= */

.final-cta{
 text-align:center;
 padding:90px 0;
 background:var(--surface-2);
}

.final-cta h2{
 font-size:clamp(35px,5vw,60px);
 margin:10px auto;
 max-width:800px;
}

.final-cta p{
 color:var(--muted);
 margin:0 auto 25px;
}

.final-cta .btn{
 display:inline-flex;
 margin:4px;
}

/* =========================================================
   FOOTER
   ========================================================= */

footer{
 background:#07111d;
 color:#91a8bf;
 padding:58px 0 25px;
}

.foot-grid{
 display:grid;
 grid-template-columns:1.5fr 1fr 1fr 1fr;
 gap:35px;
}

.foot-grid .brand-text{
 color:#fff;
 font-family:'DM Sans',sans-serif;
 font-weight:800;
}

.foot-grid p.desc{
 font-size:12px;
 color:#7f95aa;
}

.foot-grid h5{
 font-family:'DM Sans',sans-serif;
 color:#fff;
 font-size:10px;
 letter-spacing:.14em;
}

.foot-grid ul li{
 font-size:12px;
}

.foot-grid ul li a:hover{
 color:#f5c65b;
}

.foot-bottom{
 border-top:1px solid rgba(255,255,255,.1);
}

/* =========================================================
   ANIMATION
   ========================================================= */

@keyframes fadeUp{
 from{
   opacity:0;
   transform:translateY(15px);
 }
 to{
   opacity:1;
   transform:none;
 }
}

/* =========================================================
   ADMIN
   ========================================================= */

.admin-body{
 margin:0;
 min-height:100vh;
 background:#f2f5f9;
 color:#162235;
 font-family:'DM Sans',sans-serif;
 overflow-x:hidden;
}

.admin-layout{
 display:grid;
 grid-template-columns:245px minmax(0,1fr);
 min-height:100vh;
 width:100%;
}

.admin-sidebar{
 background:#081522;
 color:#a9b9ca;
 padding:25px 18px;
 display:flex;
 flex-direction:column;
 min-width:0;
}

.admin-brand{
 display:flex;
 gap:10px;
 align-items:center;
 color:#fff;
 font-weight:800;
 font-size:16px;
 padding:8px 10px 30px;
}

.admin-brand>span{
 width:40px;
 height:40px;
 flex:0 0 40px;
 background:#1d63d7;
 border-radius:12px;
 display:grid;
 place-items:center;
 color:#fff;
}

.admin-brand small{
 font-size:12px;
 letter-spacing:.15em;
 color:#6f879e;
}

.admin-sidebar nav{
 display:grid;
 gap:5px;
}

.admin-sidebar nav a,
.admin-side-bottom a{
 padding:12px 13px;
 border-radius:11px;
 color:#8ea1b4;
 font-size:15px;
 font-weight:700;
}

.admin-sidebar nav a.active,
.admin-sidebar nav a:hover{
 background:#142a40;
 color:#fff;
}

.admin-side-bottom{
 margin-top:auto;
 display:grid;
 gap:5px;
 border-top:1px solid rgba(255,254,254,.08);
 padding-top:15px;
}

.admin-main{
 min-width:0;
 width:100%;
 padding:35px;
 max-width:1500px;
}

.admin-top{
 display:flex;
 justify-content:space-between;
 align-items:end;
 gap:20px;
 margin-bottom:25px;
 background:#fff;
 border:1px solid #e1e8ef;
 border-radius:16px;
 padding:18px 22px;
 box-shadow:0 8px 24px rgba(18,32,51,.04);
}

.admin-top h1{
 font-size:35px;
 margin-top:4px;
}

.admin-eyebrow{
 font-size:20px;
 letter-spacing:.17em;
 font-weight:800;
 color:#1d63d7;
}

.admin-user{
 font-size:11px;
 color:#718096;
}

.admin-cards{
 display:grid;
 grid-template-columns:repeat(6,minmax(0,1fr));
 gap:12px;
 margin-bottom:20px;
}

.metric{
 min-width:0;
 background:#fff;
 border:1px solid #e1e8ef;
 border-radius:16px;
 padding:25px;
 box-shadow:0 8px 24px rgba(18,32,51,.04);
 min-height:190px;
 height:auto;
}

.metric span,
.metric small{
 display:block;
 color:#967171;
 font-size:12px;
}

.metric strong{
 display:block;
 font:700 50px 'Playfair Display';
 margin:8px 0;
 overflow-wrap:anywhere;
}

.metric.accent strong{
 color:#1d63d7;
}

.admin-grid-2{
 display:grid;
 grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);
 gap:18px;
}

.panel{
 min-width:0;
 background:#fff;
 border:1px solid #e1e8ef;
 border-radius:18px;
 padding:20px;
 box-shadow:0 8px 24px rgba(18,32,51,.04);
 margin-bottom:18px;
}

.panel-head{
 display:flex;
 justify-content:space-between;
 gap:15px;
 align-items:center;
 margin-bottom:18px;
}

.panel h2{
 font-family:'DM Sans',sans-serif;
 font-size:35px;
}

.panel-head p{
 font-size:18px;
 color:#7b899a;
 margin-top:3px;
}

.mini-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border:1px solid #d7e0e9;
 background:#fff;
 color:#1d63d7;
 padding:8px 11px;
 border-radius:9px;
 font-size:15px;
 font-weight:800;
 cursor:pointer;
}

.admin-alert{
 padding:12px 15px;
 border-radius:12px;
 font-size:11px;
 margin-bottom:18px;
}

.admin-alert.success{
 background:#eaf8f0;
 color:#197044;
}

.admin-alert.danger{
 background:#fff0f0;
 color:#a52a2a;
}

.admin-alert.info{
 background:#edf5ff;
 color:#1d63d7;
}

.admin-alert a{
 font-weight:800;
}

.table-wrap{
 width:100%;
 overflow-x:auto;
 -webkit-overflow-scrolling:touch;
}

table{
 width:100%;
 min-width:600px;
 border-collapse:collapse;
 font-size:11px;
}

th{
 text-align:left;
 color:#78879a;
 font-size:15px;
 text-transform:uppercase;
 letter-spacing:.07em;
 padding:9px;
 border-bottom:1px solid #e7edf3;
 white-space:nowrap;
}

td{
 padding:12px 9px;
 border-bottom:1px solid #edf1f5;
 vertical-align:top;
}

td small{
 display:block;
 color:#7b899a;
 margin-top:3px;
}

.status{
 display:inline-block;
 padding:5px 8px;
 border-radius:999px;
 background:#eef2f6;
 color:#647184;
 font-size:8px;
 font-weight:800;
 text-transform:capitalize;
 white-space:nowrap;
}

.status.approved,
.status.placed{
 background:#e8f8ef;
 color:#16824c;
}

.status.rejected{
 background:#fff0f0;
 color:#b22e2e;
}

.status.pending_verification{
 background:#fff7df;
 color:#996b00;
}

.status.under_review{
 background:#edf4ff;
 color:#1d63d7;
}

/* =========================================================
   ADMIN INTERACTIONS
   ========================================================= */

.interaction-list{
 display:grid;
 gap:9px;
}

.interaction-list div{
 display:flex;
 justify-content:space-between;
 gap:15px;
 padding:10px;
 border-radius:10px;
 background:#f6f8fa;
 font-size:15px;
}

.interaction-list strong{
 color:#1d63d7;
}

/* =========================================================
   ADMIN FORMS
   ========================================================= */

.form-panel form{
 display:grid;
 gap:13px;
}

.form-panel label{
 display:grid;
 gap:6px;
 font-size:15px;
 font-weight:800;
 color:#4d5c6d;
}

.form-panel small{
 font-weight:400;
 color:#8795a5;
}

.form-panel input,
.form-panel textarea,
.form-panel select,
.status-form input,
.status-form select{
 width:100%;
 min-width:0;
 border:1px solid #dce4ec;
 background:#fff;
 border-radius:9px;
 padding:10px;
 font:inherit;
 font-weight:400;
 color:#162235;
}

.form-panel textarea{
 resize:vertical;
 min-height:120px;
}

.form-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
}

.check-row{
 display:flex;
 gap:18px;
 flex-wrap:wrap;
 align-items:center;
}

.check-row label{
 display:flex;
 align-items:center;
 gap:6px;
}

.small-input{
 width:70px!important;
}

.admin-btn{
 border:0;
 background:#1d63d7;
 color:#fff;
 border-radius:10px;
 padding:11px 16px;
 font-size:13px;
 font-weight:800;
 cursor:pointer;
}

.form-actions{
 display:flex;
 gap:8px;
 align-items:center;
 flex-wrap:wrap;
}

/* =========================================================
   ADMIN PACKAGE LIST
   ========================================================= */

.package-admin-list{
 display:grid;
 gap:10px;
}

.admin-item{
 display:grid;
 grid-template-columns:58px minmax(0,1fr) auto;
 gap:12px;
 align-items:center;
 padding:10px;
 border:1px solid #e8edf2;
 border-radius:12px;
}

.admin-item img,
.thumb-placeholder{
 width:58px;
 height:58px;
 object-fit:cover;
 border-radius:10px;
 background:#edf3f9;
 display:grid;
 place-items:center;
 font-size:20px;
}

.admin-item strong,
.admin-item span{
 display:block;
 font-size:15px;
 overflow-wrap:anywhere;
}

.admin-item span{
 font-size:12px;
 color:#7b899a;
 margin-top:3px;
}

.item-actions{
 display:flex;
 gap:7px;
 align-items:center;
 flex-wrap:wrap;
}

.item-actions a,
.item-actions button{
 border:0;
 background:none;
 color:#1d63d7;
 font-size:15px;
 font-weight:800;
 cursor:pointer;
}

.item-actions button{
 color:#b22e2e;
}

.status-form{
 display:grid;
 grid-template-columns:150px 150px auto;
 gap:5px;
 min-width:350px;
}

.status-form .mini-btn{
 justify-content:center;
}

/* =========================================================
   ADMIN AUTH
   ========================================================= */

.admin-auth{
 min-height:100vh;
 background:linear-gradient(135deg,#071725,#12385b);
 display:grid;
 place-items:center;
 padding:20px;
 font-family:'DM Sans',sans-serif;
}

.auth-card{
 width:min(430px,100%);
 background:#fff;
 border-radius:24px;
 padding:36px;
 box-shadow:0 30px 90px rgba(0,0,0,.3);
}

.auth-logo{
 width:50px;
 height:50px;
 border-radius:15px;
 background:#1d63d7;
 color:#fff;
 display:grid;
 place-items:center;
 font-weight:800;
 margin-bottom:25px;
}

.auth-card h1{
 font-size:31px;
 margin:6px 0;
}

.auth-card p{
 font-size:12px;
 color:#718096;
 margin-bottom:22px;
}

.auth-card form{
 display:grid;
 gap:8px;
}

.auth-card label{
 font-size:10px;
 font-weight:800;
 margin-top:8px;
}

.auth-card input{
 width:100%;
 padding:12px;
 border:1px solid #dce4ec;
 border-radius:10px;
}

.auth-card .admin-btn{
 width:100%;
 margin-top:12px;
 padding:13px;
}

.back-site{
 display:block;
 text-align:center;
 color:#1d63d7;
 font-size:11px;
 font-weight:800;
 margin-top:20px;
}

.auth-card code{
 font-size:10px;
 overflow-wrap:anywhere;
}

/* =========================================================
   LARGE TABLET
   ========================================================= */

@media (max-width:1200px){

 .hero-inner{
   gap:45px;
 }

 .package-grid{
   grid-template-columns:repeat(3,minmax(0,1fr));
   gap:16px;
 }

 .admin-cards{
   grid-template-columns:repeat(3,minmax(0,1fr));
 }

 .admin-grid-2{
   grid-template-columns:minmax(0,1fr);
 }

}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:980px){

 .wrap{
   padding:0 24px;
 }

 .hero-inner{
   grid-template-columns:1fr;
   gap:20px;
   min-height:auto;
 }

 .hero-copy{
   padding-bottom:0;
 }

 .hero-visual{
   max-width:650px;
   width:100%;
   margin:auto;
 }

 .modern-hero{
   padding-top:65px;
 }

 .intro-grid,
 .about-grid-modern{
   grid-template-columns:1fr;
   gap:30px;
 }

 .package-grid{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .service-grid{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .career-grid{
   grid-template-columns:1fr;
 }

 .timeline{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .section-heading{
   align-items:flex-start;
   flex-direction:column;
   gap:15px;
 }

 .about-grid-modern{
   gap:40px;
 }

 .admin-layout{
   grid-template-columns:210px minmax(0,1fr);
 }

 .admin-main{
   padding:25px 20px;
 }

 .admin-cards{
   grid-template-columns:repeat(3,minmax(0,1fr));
 }

 .foot-grid{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

}

/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

@media (max-width:760px){

 .wrap{
   padding:0 19px;
 }

 .site-header .nav-row{
   padding:10px 0;
 }

 .site-header nav{
   position:fixed;
   inset:0 0 0 auto;
   width:min(82%,340px);
   height:100dvh;
   background:var(--surface);
   padding:90px 28px 30px;
   transform:translateX(100%);
   box-shadow:-20px 0 60px rgba(0,0,0,.15);
   transition:transform .3s ease;
   overflow-y:auto;
   z-index:999;
 }

 .site-header nav.open{
   transform:none;
 }

 .site-header nav ul{
   flex-direction:column;
   align-items:flex-start;
   gap:14px;
 }

 .site-header nav a{
   font-size:15px;
 }

 .site-header nav .nav-cta{
   display:inline-block;
   padding:11px 17px;
 }

 .menu-btn{
   display:grid;
 }

 .modern-hero{
   padding-top:60px;
 }

 .modern-hero h1{
   font-size:clamp(42px,12vw,62px);
 }

 .modern-hero .hero-copy>p{
   font-size:15px;
 }

 .hero-inner{
   min-height:auto;
 }

 .hero-visual{
   min-height:430px;
 }

 .hero-image-main{
   height:410px;
   border-radius:25px 25px 80px 25px;
 }

 .floating-top{
   left:0;
   top:55px;
 }

 .floating-bottom{
   right:0;
   bottom:55px;
 }

 .hero-stamp{
   right:0;
 }

 .hero-stats{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .hero-stats div:nth-child(2){
   border-right:0;
 }

 .package-grid,
 .service-grid,
 .career-grid{
   grid-template-columns:1fr;
 }

 .timeline{
   grid-template-columns:repeat(2,minmax(0,1fr));
   gap:20px;
 }

 .about-card{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .section{
   padding:70px 0;
 }

 .career-section,
 .about-modern{
   padding:70px 0;
 }

 /* ADMIN MOBILE */

 .admin-layout{
   grid-template-columns:1fr;
 }

 .admin-sidebar{
   position:sticky;
   top:0;
   z-index:100;
   width:100%;
   padding:10px;
   flex-direction:row;
   align-items:center;
   overflow-x:auto;
   -webkit-overflow-scrolling:touch;
 }

 .admin-brand{
   flex:0 0 auto;
   padding:5px 8px;
 }

 .admin-brand small{
   display:none;
 }

 .admin-sidebar nav{
   display:flex;
   flex:0 0 auto;
   gap:4px;
 }

 .admin-sidebar nav a{
   white-space:nowrap;
   padding:10px;
 }

 .admin-sidebar nav a span{
   display:none;
 }

 .admin-side-bottom{
   display:none;
 }

 .admin-main{
   padding:20px 12px;
 }

 .admin-top{
   align-items:flex-start;
   flex-direction:column;
   gap:10px;
 }

 .admin-top h1{
   font-size:28px;
 }

 .admin-user{
   display:none;
 }

 .admin-cards{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .metric{
   padding:18px;
   min-height:150px;
 }

 .metric strong{
   font-size:38px;
 }

 .panel{
   padding:16px;
   border-radius:15px;
 }

 .panel h2{
   font-size:25px;
 }

 .panel-head{
   align-items:flex-start;
   flex-direction:column;
 }

 .form-grid{
   grid-template-columns:1fr;
 }

 .status-form{
   grid-template-columns:1fr;
   min-width:200px;
 }

 .admin-item{
   grid-template-columns:50px minmax(0,1fr);
 }

 .item-actions{
   grid-column:2;
   justify-content:flex-start;
 }

 .admin-item img,
 .thumb-placeholder{
   width:50px;
   height:50px;
 }

 .interaction-list div{
   flex-direction:column;
   gap:4px;
 }

 .foot-grid{
   grid-template-columns:1fr 1fr;
 }

}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width:500px){

 .wrap{
   padding:0 16px;
 }

 .site-header .brand-text{
   font-size:15px;
 }

 .site-header .brand-text span{
   font-size:8px;
 }

 .site-header .brand-mark{
   width:38px;
   height:38px;
   flex-basis:38px;
 }

 .theme-toggle,
 .menu-btn{
   width:38px;
   height:38px;
   flex-basis:38px;
 }

 .modern-hero{
   padding-top:45px;
 }

 .modern-hero h1{
   font-size:clamp(38px,12vw,52px);
   letter-spacing:-.035em;
 }

 .hero-actions{
   flex-direction:column;
   align-items:stretch;
 }

 .hero-actions .btn{
   width:100%;
 }

 .hero-trust{
   gap:10px;
 }

 .hero-trust span{
   width:100%;
 }

 .hero-visual{
   min-height:360px;
 }

 .hero-image-main{
   height:350px;
   border-radius:22px 22px 65px 22px;
 }

 .floating-card{
   padding:9px 11px;
   font-size:10px;
 }

 .floating-card span{
   font-size:8px;
 }

 .floating-top{
   left:-3px;
   top:35px;
 }

 .floating-bottom{
   right:-3px;
   bottom:35px;
 }

 .hero-stamp{
   width:70px;
   height:70px;
   top:8px;
 }

 .hero-stamp span{
   font-size:17px;
 }

 .hero-stamp small{
   font-size:5px;
 }

 .hero-stats strong{
   font-size:23px;
 }

 .hero-stats span{
   font-size:8px;
 }

 .intro-grid{
   padding:45px 0;
 }

 .intro-grid h2{
   font-size:28px;
 }

 .section-heading h2{
   font-size:34px;
 }

 .package-image{
   height:210px;
 }

 .package-body{
   padding:18px;
 }

 .package-body h3{
   font-size:21px;
 }

 .service-card{
   padding:20px;
 }

 .timeline{
   grid-template-columns:1fr;
 }

 .about-card{
   grid-template-columns:1fr;
 }

 .final-cta{
   padding:65px 0;
 }

 .final-cta h2{
   font-size:36px;
 }

 .foot-grid{
   grid-template-columns:1fr;
   gap:25px;
 }

 /* ADMIN */

 .admin-main{
   padding:15px 10px;
 }

 .admin-top{
   padding:16px;
 }

 .admin-top h1{
   font-size:24px;
 }

 .admin-eyebrow{
   font-size:14px;
 }

 .admin-cards{
   grid-template-columns:1fr 1fr;
   gap:8px;
 }

 .metric{
   padding:15px;
   min-height:125px;
 }

 .metric span,
 .metric small{
   font-size:10px;
 }

 .metric strong{
   font-size:30px;
   margin:5px 0;
 }

 .panel{
   padding:13px;
 }

 .panel h2{
   font-size:22px;
 }

 .panel-head p{
   font-size:13px;
 }

 .mini-btn{
   font-size:12px;
   padding:7px 9px;
 }

 .admin-item{
   grid-template-columns:44px minmax(0,1fr);
   gap:9px;
 }

 .admin-item img,
 .thumb-placeholder{
   width:44px;
   height:44px;
 }

 .admin-item strong{
   font-size:13px;
 }

 .admin-item span{
   font-size:10px;
 }

 .item-actions{
   grid-column:1 / -1;
   padding-left:53px;
 }

 .status-form{
   min-width:0;
 }

 .auth-card{
   padding:25px 20px;
   border-radius:20px;
 }

 .auth-card h1{
   font-size:27px;
 }

}

/* =========================================================
   VERY SMALL DEVICES
   ========================================================= */

@media (max-width:360px){

 .admin-cards{
   grid-template-columns:1fr;
 }

 .hero-stats{
   grid-template-columns:1fr 1fr;
 }

 .hero-stats div{
   padding:17px 6px;
 }

 .modern-hero h1{
   font-size:37px;
 }

 .floating-card{
   max-width:180px;
 }

 .floating-card i{
   display:none;
 }

 .career-card{
   flex-direction:column;
 }

 .career-icon{
   flex-basis:44px;
   width:44px;
 }

}

/* =========================================================
   ACCESSIBILITY / TOUCH
   ========================================================= */

@media (hover:none){

 .package-card:hover,
 .service-card:hover,
 .career-card:hover{
   transform:none;
 }

 .btn:hover{
   transform:none;
 }

}

@media (prefers-reduced-motion:reduce){

 html{
   scroll-behavior:auto;
 }

 *,
 *::before,
 *::after{
   animation-duration:.01ms!important;
   animation-iteration-count:1!important;
   transition-duration:.01ms!important;
 }





 /* =========================================================
   ADMIN MOBILE SIDEBAR TOGGLE
   ========================================================= */

.admin-menu-toggle{
    display:none;
    width:42px;
    height:42px;
    border:1px solid #dce4ec;
    border-radius:11px;
    background:#fff;
    color:#162235;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    font-size:18px;
    flex-shrink:0;
    z-index:1001;
}

.admin-menu-toggle:hover{
    background:#f2f6fa;
    color:#1d63d7;
}

/* Overlay */
.admin-sidebar-overlay{
    display:none;
}

/* Mobile */
@media(max-width:720px){

    .admin-layout{
        display:block;
        min-height:100vh;
    }

    /* Top mobile bar */
    .admin-top{
        position:relative;
        min-height:70px;
        padding:14px 16px;
        align-items:center;
    }

    .admin-menu-toggle{
        display:flex;
    }

    .admin-top > div:first-child{
        min-width:0;
    }

    .admin-top h1{
        font-size:24px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .admin-eyebrow{
        font-size:12px;
    }

    /* Sidebar becomes a real drawer */
    .admin-sidebar{
        position:fixed;
        top:0;
        left:0;
        bottom:0;
        width:280px;
        height:100vh;
        z-index:1000;

        display:flex;
        flex-direction:column;

        padding:25px 18px;

        overflow-y:auto;
        overflow-x:hidden;

        transform:translateX(-105%);
        transition:transform .3s ease;
        box-shadow:20px 0 60px rgba(0,0,0,.25);
    }

    .admin-sidebar.open{
        transform:translateX(0);
    }

    .admin-brand{
        padding:8px 10px 30px;
        flex-shrink:0;
    }

    .admin-sidebar nav{
        display:grid;
        gap:5px;
    }

    .admin-sidebar nav a{
        padding:13px;
        font-size:14px;
    }

    .admin-sidebar nav a span{
        display:inline;
    }

    .admin-side-bottom{
        display:grid;
        margin-top:auto;
    }

    .admin-side-bottom a{
        font-size:14px;
    }

    /* Dark transparent backdrop */
    .admin-sidebar-overlay{
        position:fixed;
        inset:0;
        z-index:999;
        display:block;
        background:rgba(3,10,17,.55);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .3s ease,visibility .3s ease;
    }

    .admin-sidebar-overlay.open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    .admin-main{
        width:100%;
        max-width:none;
        padding:15px 12px 30px;
    }

    .admin-cards{
        grid-template-columns:repeat(2,1fr);
    }

    .metric{
        height:auto;
        min-height:150px;
        padding:18px;
    }

    .metric strong{
        font-size:38px;
    }

    .panel{
        padding:16px;
    }

    .panel h2{
        font-size:25px;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .status-form{
        grid-template-columns:1fr;
        min-width:200px;
    }

    .admin-item{
        grid-template-columns:50px 1fr;
    }

    .item-actions{
        grid-column:2;
    }

    .admin-item img,
    .thumb-placeholder{
        width:50px;
        height:50px;
    }
}

/* Extra-small phones */
@media(max-width:480px){

    .admin-top{
        padding:12px;
        gap:10px;
    }

    .admin-top h1{
        font-size:21px;
    }

    .admin-menu-toggle{
        width:40px;
        height:40px;
    }

    .admin-cards{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .metric{
        padding:15px;
        min-height:125px;
    }

    .metric strong{
        font-size:32px;
    }

    .metric span,
    .metric small{
        font-size:10px;
    }
}





 
}

/* Application form refinements */
.passport-check{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:max-content!important;max-width:100%!important;margin:14px 0 0!important;padding:10px 14px!important;white-space:nowrap!important;cursor:pointer!important;box-sizing:border-box!important;}
.passport-check input[type="checkbox"]{position:static!important;display:block!important;width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;opacity:1!important;flex:0 0 18px!important;accent-color:var(--navy)!important;}
.passport-check span{display:inline-block!important;margin:0!important;padding:0!important;font-size:13px!important;font-weight:600!important;line-height:18px!important;cursor:pointer!important;}
.document-error{display:none;color:var(--red);font-size:12px;margin-top:8px;font-weight:600;}
.call-now{white-space:nowrap;}
.call-now i{margin-right:5px;}
@media(max-width:900px){.call-now{display:block;}}
