/* =========================================================
   AMSIR Travel & Immigration Consultancy
   Core stylesheet
   ========================================================= */

:root{
  --red:        #c01230;
  --red-dark:   #96101b;
  --black:      #141210;
  --ink:        #221f1d;
  --cream:      #faf7f2;
  --grey:       #6e6a67;
  --line:       #e9e3da;
  --white:      #ffffff;
  --radius:     6px;
  --maxw:       1200px;
  --serif: 'Playfair Display', Georgia, serif;
  --sans:  'Jost', 'Inter', Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
  font-size:16px;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:700;margin:0 0 .5em;line-height:1.2;color:var(--black);}
p{margin:0 0 1em;color:var(--grey);}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.wrap-narrow{max-width:760px;}
section{position:relative;}

/* ---------- utility ---------- */
.red{color:var(--red);}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:3px;
  text-transform:uppercase;color:var(--red);margin-bottom:16px;
}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--red);display:inline-block;}
.bg-cream{background:var(--cream);}
.bg-black{background:var(--black);color:#cfc9c3;}
.bg-black h2, .bg-black h3, .bg-black h4{color:#fff;}
.section-pad{padding:96px 0;}
.section-pad-sm{padding:60px 0;}
.divider-row{display:flex;flex-wrap:wrap;gap:0 18px;font-size:13px;letter-spacing:.5px;color:var(--grey);margin:18px 0 28px;text-transform:uppercase;}
.divider-row span,.divider-row a{position:relative;padding-right:18px;color:var(--grey);}
.divider-row a:hover{color:var(--red);}
.divider-row span:not(:last-child)::after,.divider-row a:not(:last-child)::after{content:"|";position:absolute;right:-2px;color:var(--line);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  border-radius:3px;border:2px solid transparent;cursor:pointer;transition:.25s;white-space:nowrap;
}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{background:var(--red-dark);color:#fff;}
.btn-outline-dark{border-color:var(--black);color:var(--black);background:transparent;}
.btn-outline-dark:hover{background:var(--black);color:#fff;}
.btn-outline-white{border-color:#fff;color:#fff;background:transparent;}
.btn-outline-white:hover{background:#fff;color:var(--black);}
.btn-sm{padding:11px 22px;font-size:12px;}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}

/* ============ HEADER ============ */
.site-header{
  position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:var(--maxw);margin:0 auto;gap:24px;}
.logo{display:flex;align-items:center;gap:12px;flex:0 0 auto;white-space:nowrap;}
.logo .logo-img{height:34px;width:auto;display:block;}
.logo .logo-text{display:flex;flex-direction:column;line-height:1.35;border-left:1px solid var(--line);padding-left:12px;}
.logo .logo-line1{font-size:9.5px;letter-spacing:1.3px;color:var(--ink);text-transform:uppercase;font-weight:600;white-space:nowrap;}
.logo .logo-line2{font-size:9.5px;letter-spacing:1.3px;color:var(--red);text-transform:uppercase;font-weight:700;white-space:nowrap;}

.main-nav{display:flex;align-items:center;gap:28px;flex-wrap:nowrap;}
.main-nav a{
  font-size:14.5px;font-weight:500;color:var(--ink);
  padding:6px 0;position:relative;
}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--red);transition:.25s;}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.main-nav a.active{color:var(--red);}
.main-nav .has-sub{position:relative;}
.main-nav .sub-menu{
  position:absolute;top:calc(100% + 18px);left:-20px;background:#fff;min-width:230px;
  box-shadow:0 18px 40px rgba(0,0,0,.12);border-top:3px solid var(--red);padding:10px 0;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;
}
.main-nav .has-sub:hover .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.main-nav .sub-menu a{display:block;padding:10px 22px;font-size:12.5px;letter-spacing:.5px;color:var(--ink);}
.main-nav .sub-menu a::after{display:none;}
.main-nav .sub-menu a:hover{background:var(--cream);color:var(--red);}
.header-cta{display:flex;align-items:center;gap:22px;flex:0 0 auto;}
.menu-toggle{display:none;font-size:22px;background:none;border:0;cursor:pointer;}

/* ============ BREADCRUMB / PAGE HERO (inner pages) ============ */
.page-hero{
  background:var(--black);
  background-image:radial-gradient(circle at 15% 20%, rgba(192,18,48,.35), transparent 45%);
  color:#fff;padding:70px 0 50px;
}
.page-hero .eyebrow{color:#ff7a8a;}
.page-hero h1{color:#fff;font-size:40px;margin-bottom:10px;}
.breadcrumb{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#c9c3bd;}
.breadcrumb a{color:#c9c3bd;}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb .sep{margin:0 8px;color:var(--red);}

/* ============ HOME HERO ============ */
.hero{
  position:relative;
  background:var(--cream);
  min-height:600px;
  display:flex;align-items:center;
  overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{
  width:100%;height:100%;object-fit:cover;object-position:75% 40%;
  filter:saturate(1.05) contrast(1.02);
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,
    var(--cream) 0%, var(--cream) 34%,
    rgba(250,247,242,.92) 46%,
    rgba(250,247,242,.55) 60%,
    rgba(250,247,242,.08) 78%, transparent 92%);
}
.hero .container{position:relative;z-index:1;width:100%;}
.hero-copy{max-width:540px;padding:60px 0;}
.hero-copy h1{font-size:54px;line-height:1.08;margin-bottom:18px;}
.hero-copy p{font-size:17px;max-width:460px;}
.hero-copy .btn-row{margin-top:30px;}

/* ============ FEATURE STRIP ============ */
.feature-strip{background:#fff;padding:54px 0;}
.feature-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
}
.feature-item{display:flex;gap:16px;align-items:flex-start;}
.feature-icon{
  flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:#fbeced;
  display:flex;align-items:center;justify-content:center;color:var(--red);font-size:18px;
}
.feature-item h5{margin-bottom:6px;font-size:15.5px;}
.feature-item p{font-size:13.5px;margin:0;}
.feature-item .more{display:inline-block;margin-top:8px;font-size:12px;color:var(--red);}

/* ============ SPLIT SECTIONS ============ */
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.split.reverse .split-media{order:2;}
.split.reverse .split-copy{order:1;}
.split-media{position:relative;}
.split-media::before{
  content:"";position:absolute;bottom:-22px;left:-22px;width:130px;height:130px;z-index:0;
  background-image:
    linear-gradient(to right, transparent 9px, rgba(192,18,48,.35) 9px, rgba(192,18,48,.35) 11px, transparent 11px),
    linear-gradient(to bottom, transparent 9px, rgba(192,18,48,.35) 9px, rgba(192,18,48,.35) 11px, transparent 11px);
  background-size:20px 20px;
}
.split.reverse .split-media::before{left:auto;right:-22px;}
.split-media img{position:relative;z-index:1;border-radius:60px 0 0 0;width:100%;height:420px;object-fit:cover;}
.split.reverse .split-media img{border-radius:0 60px 0 0;}
.tag-row-full{
  display:flex;flex-wrap:wrap;gap:0 20px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);
  font-size:12.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--ink);
}
.tag-row-full span,.tag-row-full a{position:relative;padding:4px 20px 4px 0;color:var(--ink);transition:.2s;}
.tag-row-full a:hover{color:var(--red);}
.tag-row-full span:not(:last-child)::after,.tag-row-full a:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:var(--line);}
.split-media.tint img{filter:saturate(1.05);}
.split-media .ribbon{
  position:absolute;bottom:-22px;right:-22px;background:var(--red);color:#fff;
  padding:22px 26px;border-radius:6px;max-width:220px;box-shadow:0 14px 30px rgba(192,18,48,.3);
}
.split-media .ribbon strong{display:block;font-family:var(--serif);font-size:26px;}
.split-media .ribbon span{font-size:12px;letter-spacing:.5px;}
.split-copy h2{font-size:38px;margin-bottom:16px;}
.tag-list{display:flex;flex-wrap:wrap;gap:0 16px;margin:22px 0 28px;font-size:12.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--ink);}
.tag-list span{position:relative;padding:4px 16px 4px 0;}
.tag-list span:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:var(--line);}

/* ============ WHY SECTION ============ */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:46px;padding-top:40px;border-top:1px solid var(--line);}
.why-item{text-align:left;}
.why-item .wi-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.why-item .wi-icon{color:var(--red);font-size:19px;flex:0 0 auto;}
.why-item h5{font-size:16.5px;margin:0;}
.why-item p{font-size:14px;margin:0;}

/* ============ CTA BANNER ============ */
.cta-banner{
  position:relative;color:#fff;padding:100px 0;text-align:left;overflow:hidden;min-height:420px;
  display:flex;align-items:center;
}
.cta-bg{position:absolute;inset:0;z-index:0;}
.cta-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);}
.cta-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(10,9,8,.93) 0%, rgba(10,9,8,.8) 38%, rgba(20,15,14,.42) 60%, rgba(20,15,14,.15) 80%);
}
.cta-banner .container{position:relative;z-index:1;}
.cta-banner h2{color:#fff;font-size:38px;max-width:560px;}
.cta-banner p{color:#d7d1cb;max-width:520px;}

/* ============ FOOTER ============ */
.site-footer{background:var(--black);color:#b9b3ad;padding:70px 0 0;font-size:14px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;border-bottom:1px solid #2c2825;}
.footer-grid h6{color:#fff;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:20px;font-family:var(--sans);font-weight:700;}
.footer-grid li{margin-bottom:11px;}
.footer-grid a:hover{color:var(--red);}
.foot-logo-img{height:32px;width:auto;}
.foot-tagline{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:10px 0 18px;}
.foot-desc{max-width:280px;font-size:13.5px;color:#9a9490;}
.social-row{display:flex;gap:12px;margin-top:20px;}
.social-row a{
  width:36px;height:36px;border-radius:50%;border:1px solid #3a3531;display:flex;align-items:center;
  justify-content:center;font-size:14px;color:#cfc9c3;transition:.2s;
}
.social-row a:hover{background:var(--red);border-color:var(--red);color:#fff;}
.foot-contact li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;}
.foot-contact i{color:var(--red);margin-top:4px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:12.5px;color:#766f6a;}
.footer-bottom a{color:#766f6a;}

/* ============ GENERIC CONTENT BLOCKS (inner pages) ============ */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px;}
.service-card{
  background:#fff;border:1px solid var(--line);border-radius:8px;padding:34px 28px;transition:.25s;
}
.service-card:hover{border-color:var(--red);box-shadow:0 18px 34px rgba(0,0,0,.06);transform:translateY(-4px);}
.service-card .sc-icon{width:52px;height:52px;border-radius:12px;background:var(--cream);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:18px;}
.service-card h5{font-size:17.5px;margin-bottom:10px;}
.service-card p{font-size:14px;margin-bottom:14px;}
.service-card a{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--red);}

.service-card.has-photo{display:block;padding:0;overflow:hidden;}
.service-card.has-photo .sc-photo{height:170px;overflow:hidden;}
.service-card.has-photo .sc-photo img{width:100%;height:100%;object-fit:cover;transition:.35s;}
.service-card.has-photo:hover .sc-photo img{transform:scale(1.06);}
.service-card.has-photo .sc-body{padding:26px 24px 28px;}
.service-card.has-photo .sc-icon{margin-top:-54px;position:relative;z-index:1;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.1);}
.sc-link{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--red);}

.accordion-item{border:1px solid var(--line);border-radius:6px;margin-bottom:12px;overflow:hidden;background:#fff;}
.accordion-head{
  display:flex;justify-content:space-between;align-items:center;padding:18px 22px;cursor:pointer;
  font-family:var(--serif);font-weight:700;font-size:16.5px;color:var(--black);
}
.accordion-head .cls-tag{
  display:inline-block;background:var(--red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;
  padding:3px 10px;border-radius:3px;margin-right:12px;font-family:var(--sans);
}
.accordion-head i{color:var(--red);transition:.25s;}
.accordion-item.open .accordion-head i{transform:rotate(45deg);}
.accordion-body{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 22px;}
.accordion-item.open .accordion-body{max-height:400px;padding:0 22px 20px;}
.accordion-body p{font-size:14.5px;margin:0;}

.info-list li{display:flex;gap:12px;margin-bottom:14px;font-size:14.5px;color:var(--ink);align-items:flex-start;}
.info-list i{color:var(--red);margin-top:4px;flex:0 0 auto;}

.two-col{display:grid;grid-template-columns:2fr 1fr;gap:50px;}
.side-card{background:var(--cream);border-radius:8px;padding:30px;margin-bottom:24px;}
.side-card h5{font-size:16px;margin-bottom:14px;}
.side-card .btn{width:100%;justify-content:center;margin-top:6px;}
.side-contact-item{display:flex;gap:12px;margin-bottom:16px;font-size:13.5px;}
.side-contact-item i{color:var(--red);margin-top:3px;}

.flag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px;}
.flag-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-align:center;transition:.2s;}
.flag-card:hover{box-shadow:0 16px 30px rgba(0,0,0,.08);transform:translateY(-3px);}
.flag-card img{height:110px;width:100%;object-fit:cover;}
.flag-card .fc-body{padding:16px;}
.flag-card h6{font-family:var(--serif);font-size:16px;margin:0 0 4px;}
.flag-card span{font-size:12px;color:var(--grey);}

.step-row{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px;}
.step-item{position:relative;padding-left:0;}
.step-num{font-family:var(--serif);font-size:44px;color:#f1d7db;font-weight:800;line-height:1;margin-bottom:10px;}
.step-item h5{font-size:16px;}
.step-item p{font-size:13.5px;}

.quote-block{
  background:var(--black);color:#fff;border-radius:10px;padding:44px;margin:60px 0;
}
.quote-block p{color:#d7d1cb;font-family:var(--serif);font-size:20px;font-style:italic;margin:0;}

.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px;}
.stat-item{text-align:center;border-left:1px solid var(--line);padding:0 10px;}
.stat-item:first-child{border-left:none;}
.stat-item strong{display:block;font-family:var(--serif);font-size:38px;color:var(--red);}
.stat-item span{font-size:12.5px;letter-spacing:1px;text-transform:uppercase;color:var(--grey);}

.contact-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:50px;}
.contact-box{display:flex;gap:16px;margin-bottom:26px;}
.contact-box .cb-icon{width:48px;height:48px;border-radius:50%;background:var(--cream);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;}
.contact-box h5{font-size:15.5px;margin-bottom:3px;}
.contact-box p{font-size:13.5px;margin:0;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-grid .full{grid-column:1/-1;}
input.form-control,select.form-control,textarea.form-control{
  width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:4px;font-family:var(--sans);
  font-size:14px;background:#fff;color:var(--ink);
}
textarea.form-control{resize:vertical;}
input.form-control:focus,select.form-control:focus,textarea.form-control:focus{outline:none;border-color:var(--red);}
.map-wrap{margin-top:0;}
.map-wrap iframe{width:100%;height:420px;border:0;display:block;}

/* ============ OTP VERIFY MODAL ============ */
.otp-sub{font-family:var(--sans);font-size:14px;color:var(--grey);margin:0 0 20px;}
.otp-boxes{display:flex;justify-content:center;gap:10px;margin:0 0 14px;}
.otp-box{
  width:46px;height:54px;text-align:center;font-size:22px;font-weight:700;
  border:1.5px solid var(--line);border-radius:6px;font-family:var(--sans);color:var(--ink);
}
.otp-box:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(192,18,48,.12);}
.otp-box:disabled{opacity:.5;}
.otp-error{min-height:18px;color:var(--red);font-size:13px;margin-bottom:10px;}
.otp-resend{background:none;border:0;color:var(--red);font-size:13px;font-weight:600;cursor:pointer;padding:0;}
.otp-resend:disabled{color:var(--grey);cursor:default;}

/* mobile menu */
.mobile-nav{display:none;}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;padding:10px 0;font-size:15px;border-bottom:1px solid #f0ece6;}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav .mn-cta{margin-top:10px;}

html{overflow-x:hidden;}
body{overflow-x:hidden;}
* { min-width: 0; }
table{max-width:100%;}

/* ============ RESPONSIVE ============ */
@media (max-width:991px){
  .split,.split.reverse{grid-template-columns:1fr;gap:34px;}
  .hero{min-height:0;}
  .hero-bg::after{background:linear-gradient(180deg, var(--cream) 0%, var(--cream) 55%, rgba(250,247,242,.85) 75%, rgba(250,247,242,.3) 100%);}
  .hero-copy{max-width:100%;padding:40px 0;}
  .split.reverse .split-media{order:1;}
  .split.reverse .split-copy{order:2;}
  .feature-grid{grid-template-columns:1fr;gap:28px;}
  .why-grid,.service-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .step-row,.stat-row,.flag-grid{grid-template-columns:repeat(2,1fr);}
  .two-col{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .main-nav{display:none;}
  .menu-toggle{display:block;}
  .header-cta .btn-red{display:none;}
  .section-pad{padding:64px 0;}
}
@media (max-width:767px){
  .header-inner{padding:12px 18px;}
  .logo .logo-img{height:28px;}
  .logo .logo-text{display:none;}
  .hero-copy h1{font-size:38px;}
  .hero-copy p{font-size:15.5px;}
  .split-copy h2{font-size:28px;}
  .why-grid,.service-grid,.footer-grid,.step-row,.stat-row,.flag-grid,.form-grid{grid-template-columns:1fr;}
  .cta-banner{padding:60px 0;min-height:0;}
  .cta-banner h2{font-size:28px;}
  .section-pad{padding:50px 0;}
  .page-hero{padding:48px 0 36px;}
  .page-hero h1{font-size:28px;}
  .contact-box{flex-wrap:wrap;}
  .btn-row{flex-direction:column;align-items:stretch;}
  .btn-row .btn{justify-content:center;}
  .split-media img{height:280px;}
  .accordion-head{font-size:14px;}
  .accordion-head .cls-tag{margin-right:8px;}
}
@media (max-width:420px){
  .logo .logo-img{height:24px;}
  .eyebrow{font-size:11px;letter-spacing:2px;}
  .hero-copy h1{font-size:30px;}
}
