:root{
  --orange:#FF6B00;
  --navy:#0A2463;
  --white:#FFFFFF;

  --text:#0b1220;
  --muted:#4b5563;
  --bg:#ffffff;
  --surface:#f6f8ff;
  --border:rgba(10,36,99,.14);
  --shadow:0 12px 30px rgba(10,36,99,.12);

  --radius:18px;
  --radius-sm:14px;
  --container:1120px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --nav-h:120px;
}

*{box-sizing:border-box}
html,body{
  height:auto;
  min-height:100%;
  overflow:auto;
}
html{scroll-behavior:auto}

/* Home (index): hero + FAQ; scroll when content exceeds viewport */
html.home{
  overflow-x:hidden;
  min-height:100vh;
}
html.home body{
  overflow-x:hidden;
  overflow-y:auto;
  min-height:100vh;
  height:auto;
  display:flex;
  flex-direction:column;
  padding-top:0;
}
html.home .site-header{
  position:sticky;
  top:0;
  flex-shrink:0;
  z-index:50;
}
html.home main{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  overflow:visible;
  min-height:0;
}
html.home .home-wrap{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
html.home .hero.hero--home{
  flex:1 1 auto;
  min-height:calc(100vh - var(--nav-h) - 80px);
}
html.home .site-footer{flex-shrink:0}
@media (max-width: 768px){
  html.home .site-header{position:fixed; top:0; left:0; right:0}
  html.home body{display:block; padding-top:var(--nav-h)}
  html.home main{display:block; flex:none; padding-top:0; min-height:auto; overflow:visible}
  html.home .hero.hero--home{min-height:0}
}
body{
  margin:0;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(to right, #FFF3E8 0%, #FFFFFF 100%);
  line-height:1.6;
  padding-top:var(--nav-h);
  opacity:0;
  transform:translateY(8px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
body.is-loaded{opacity:1; transform:none}
img{max-width:100%; height:auto}
a{color:inherit; text-decoration:none}

.container{
  width:min(var(--container), calc(100% - 2*16px));
  margin-inline:auto;
}
.section{padding:28px 0}
.section--tight{padding:22px 0}
.section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(10,36,99,.8);
}
.eyebrow::before{
  content:"";
  width:14px; height:14px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--orange), #ff9b4a);
  box-shadow:0 10px 20px rgba(255,107,0,.25);
}

.h1,.h2,.h3{
  font-family:"Barlow Condensed","DM Sans",system-ui,sans-serif;
  letter-spacing:.01em;
  line-height:1.05;
  margin:0;
  color:var(--navy);
}
.h1{font-size:clamp(2.8rem, 5vw, 4.5rem); font-weight:900}
.h2{font-size:clamp(2rem, 3.5vw, 3rem); font-weight:800}
.h3{font-size:1.4rem; font-weight:700}

p{font-size:1rem; color:#2D3748; line-height:1.7}
.lead{font-size:1rem; color:#2D3748; margin:10px 0 0; line-height:1.7}
.muted{color:#2D3748}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  padding:12px 16px;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .15s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn--primary{
  background:linear-gradient(135deg, var(--orange), #ff8a2d);
  color:var(--white);
  box-shadow:0 18px 30px rgba(255,107,0,.22);
}
.btn--primary:hover{transform:translateY(-1px); box-shadow:0 22px 34px rgba(255,107,0,.28)}
.btn--ghost{
  background:rgba(255,255,255,.7);
  border-color:var(--border);
  color:var(--navy);
  backdrop-filter: blur(10px);
}
.btn--ghost:hover{border-color:rgba(10,36,99,.25); transform:translateY(-1px)}

/* Alias classes for SPA update */
.btn-primary{background:linear-gradient(135deg, var(--orange), #ff8a2d); color:var(--white); box-shadow:0 18px 30px rgba(255,107,0,.22)}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 22px 34px rgba(255,107,0,.28)}
.btn-secondary{background:#25D366; color:var(--white); box-shadow:0 18px 30px rgba(18,140,126,.22)}
.btn-secondary:hover{transform:translateY(-1px); box-shadow:0 22px 34px rgba(2,6,23,.28)}

/* Font Awesome icon sizing + colors (global consistency) */
.btn .fa-whatsapp{font-size:1rem; color:#25D366}
.btn .fa-phone{font-size:1rem; color:#FF6B00}
.btn .fa-instagram{font-size:1rem; color:#E1306C}
.btn-primary .fa-phone{color:#fff}
.btn-secondary .fa-whatsapp{color:#fff}

.contact-card__icon i{font-size:1.4rem}
.contact-card--wa .contact-card__icon i{color:#25D366}
.contact-card--tel .contact-card__icon i{color:#FF6B00}
.contact-card--ig .contact-card__icon i{color:#E1306C}

.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
  font-weight:700;
  color:rgba(10,36,99,.9);
}
.chip strong{color:var(--orange)}

/* Header / Navbar */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  background:var(--bg);
  backdrop-filter:none;
  border-bottom:1px solid rgba(10,36,99,.08);
  box-shadow:0 10px 26px rgba(10,36,99,.08);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:12px;
  min-height:130px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:"Barlow Condensed","DM Sans",system-ui,sans-serif;
  letter-spacing:.02em;
}
.brand__logo{
  height:130px;
  width:auto;
  display:block;
  filter:drop-shadow(0 10px 18px rgba(2,6,23,.18));
}
.site-header.is-scrolled .brand__logo{filter:drop-shadow(0 10px 18px rgba(2,6,23,.18))}
.brand__mark{
  width:34px; height:34px;
  border-radius:10px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.85), transparent 55%),
    linear-gradient(135deg, var(--orange), #ff9b4a);
  box-shadow:0 14px 30px rgba(255,107,0,.22);
}
.brand__text{
  font-size:26px;
  font-weight:800;
  color:var(--navy);
  transition:color .25s var(--ease);
}
.brand__text span{color:var(--orange)}
.site-header.is-scrolled .brand__text{color:var(--white)}

.nav__toggle{
  border:1px solid var(--border);
  background:rgba(255,255,255,.7);
  border-radius:12px;
  padding:10px 12px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  color:var(--navy);
}
.site-header.is-scrolled .nav__toggle{background:rgba(255,255,255,.7); border-color:var(--border); color:var(--navy)}
.burger{width:18px; height:14px; position:relative; display:inline-block}
.burger::before,.burger::after,.burger span{
  content:"";
  position:absolute;
  left:0; right:0;
  height:2px;
  background:currentColor;
  border-radius:99px;
  transition:transform .25s var(--ease), top .25s var(--ease), opacity .2s var(--ease);
}
.burger::before{top:0}
.burger span{top:6px}
.burger::after{top:12px}

.nav__menu{
  display:none;
  flex-direction:column;
  gap:10px;
  padding:16px;
}
.nav__menu.is-open{display:flex}
.nav__links{display:flex; flex-direction:column; gap:6px}
.nav__link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(10,36,99,.12);
  background:rgba(255,255,255,.7);
  font-size:1.1rem;
  font-weight:600;
  color:rgba(10,36,99,.92);
  transition:transform .15s var(--ease), border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.nav__link:hover{transform:translateY(-1px); border-color:rgba(10,36,99,.22)}
.nav__link.is-active{
  border-color:rgba(255,107,0,.45);
  box-shadow:0 10px 24px rgba(255,107,0,.16);
}
.site-header.is-scrolled .nav__link{background:rgba(255,255,255,.7); border-color:rgba(10,36,99,.12); color:rgba(10,36,99,.92)}
.site-header.is-scrolled .nav__link.is-active{border-color:rgba(255,107,0,.45)}

.lang{display:flex; gap:8px; align-items:center}
.lang__btn{
  background:rgba(255,255,255,.7);
  border:1px solid var(--border);
  border-radius:999px;
  padding:8px 10px;
  font-weight:900;
  letter-spacing:.04em;
  color:rgba(10,36,99,.9);
  transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.lang__btn.is-active{
  background:rgba(255,107,0,.12);
  border-color:rgba(255,107,0,.45);
  color:var(--orange);
}
.site-header.is-scrolled .lang__btn{
  background:rgba(255,255,255,.7);
  border-color:var(--border);
  color:rgba(10,36,99,.9);
}
.site-header.is-scrolled .lang__btn.is-active{
  background:rgba(255,107,0,.12);
  border-color:rgba(255,107,0,.45);
  color:var(--orange);
}

@media (min-width: 920px){
  .nav{padding:16px 0}
  .nav__toggle{display:none}
  .nav__menu{display:flex !important; padding:0; flex-direction:row; align-items:center; gap:12px}
  .nav__links{flex-direction:row; gap:10px}
  .nav__link{padding:10px 12px; font-size:1rem}
}

@media (max-width: 919px){
  .site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    background:var(--bg);
  }

  .nav{
    padding:12px 0;
    min-height:130px;
  }

  .brand__logo{
    height:60px;
    width:auto;
  }

  /* Mobile dropdown: opens under navbar, never covers logo */
  .nav__menu{
    position:fixed;
    top:var(--nav-h);
    left:0;
    right:0;
    z-index:999;
    background:var(--bg);
    border-bottom:1px solid rgba(10,36,99,.10);
    box-shadow:0 14px 26px rgba(10,36,99,.10);
    padding:16px;
  }

  .hero__actions{
    width:100%;
  }

  .hero__actions .btn{
    width:100%;
    text-align:center;
  }
}

/* Hero */
.hero{
  min-height:calc(100vh - var(--nav-h));
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:0;
}
.hero__grid{display:grid; gap:18px}
.hero__card{
  border:1px solid rgba(10,36,99,.12);
  background:rgba(255,255,255,.7);
  backdrop-filter: blur(12px);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
}
.hero__meta{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.hero__actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:0}
.hero__center{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.hero__center .hero__actions{justify-content:center}

.btn--xl{padding:20px 56px; font-size:1.15rem; font-weight:700; border-radius:8px}

.hero--home .h1{font-size:clamp(3.2rem, 6vw, 5.5rem); font-weight:900; color:var(--navy)}
.hero--home .lead{font-size:1rem; color:#1A202C; font-weight:500; max-width:640px}
.hero--home .hero__title{margin-bottom:16px}
.hero--home .hero__desc{margin-bottom:28px}
.hero--home .hero__actions{gap:24px}

/* Home hero card: smaller + perfectly centered */
.hero--home{
  align-items:center;
  flex:1 1 auto;
  min-height:0;
}
.hero--home .container{
  height:auto;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero--home .hero__grid{
  width:100%;
  justify-items:center;
}
.hero--home .hero__card{
  max-width:640px;
  padding:36px 48px;
  width:90%;
}

.hero--home .h1{
  font-size:clamp(2rem, 4vw, 3.2rem);
}

html.home .btn--xl{
  padding:14px 36px;
  font-size:1rem;
}

/* Homepage FAQ (SEO + kullanıcı) */
.seo-faq{
  padding:36px 0 48px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.5);
}
.seo-faq__title{
  font-family:"Barlow Condensed","DM Sans",system-ui,sans-serif;
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:900;
  color:var(--navy);
  margin:0 0 10px;
}
.seo-faq__intro{
  margin:0 0 22px;
  color:var(--muted);
  font-size:.98rem;
  max-width:52ch;
  line-height:1.55;
}
.seo-faq__list{margin:0;padding:0}
.seo-faq__item{
  margin-bottom:18px;
  padding:18px 20px;
  background:rgba(255,255,255,.9);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
}
.seo-faq__item dt{
  font-weight:800;
  color:var(--navy);
  margin:0 0 8px;
  font-size:1.05rem;
}
.seo-faq__item dd{
  margin:0;
  color:var(--text);
  font-size:.95rem;
  line-height:1.65;
}
.seo-faq__cta{
  margin:24px 0 0;
  font-size:.95rem;
  font-weight:600;
}
.seo-faq__cta a{
  color:var(--orange);
  text-decoration:underline;
  text-underline-offset:3px;
}
.seo-faq__cta a:hover{color:var(--navy)}

/* Contact page: mobile tuning */
@media (max-width: 768px){
  .page--contact .contact-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .page--contact .contact-card{
    padding:20px 18px;
  }
  .page--contact .contact-card__title{
    font-size:1.1rem;
  }
  .page--contact .contact-card__value{
    font-size:1rem;
  }
  .page--contact .contact-card__icon{
    width:40px;
    height:40px;
    font-size:1.2rem;
    display:grid;
    place-items:center;
  }
  .page--contact .contact-card__icon svg{
    width:40px;
    height:40px;
  }
  .page--contact .section .h1{
    font-size:1.5rem;
  }
  .page--contact .container{
    width:calc(100% - 2*16px);
  }
  .page--contact,
  .page--contact html,
  .page--contact body{
    overflow:auto;
    height:auto;
  }
  .page--contact body{
    padding-top:var(--nav-h);
  }
}

/* Pages: no-scroll layout sizing */
.page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.page__main{
  flex:1 1 auto;
  height:auto;
  overflow:visible;
  padding-bottom:60px;
}

/* Services page compact */
.services-title{font-size:2.2rem; margin:40px 0 8px; font-weight:800; color:var(--navy); font-family:"Barlow Condensed","DM Sans",system-ui,sans-serif}
.services-lead{margin:0 0 28px; color:var(--muted); font-size:1.02rem; line-height:1.65; max-width:62ch}
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:24px;
}
.service-card{padding:28px}
.service-card .card__icon{font-size:2.5rem; margin-bottom:14px}
.service-card h2{font-size:1.3rem; font-weight:800; margin:0 0 14px; color:var(--navy)}
.service-card li{font-size:.95rem; line-height:1.7}

@media (max-width: 919px){
  .services-grid{grid-template-columns:1fr}
}

/* Service areas compact */
.areas-title{font-size:2rem; margin:40px 0 16px; font-weight:900; color:var(--navy); font-family:"Barlow Condensed","DM Sans",system-ui,sans-serif}
.areas-intro{margin:0 0 24px; color:var(--text); font-size:1rem; line-height:1.65; max-width:72ch}
.area-col-title{font-size:1.5rem; font-weight:900; margin:0 0 16px; color:var(--navy)}
.bolge-list{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(155px, 1fr));
  gap:12px;
}
.bolge-item{padding:18px 20px; min-height:80px}
.bolge-item .bolge-item__name{display:block;font-size:1.05rem;font-weight:800;color:#0A2463;margin:0 0 8px}
.bolge-item span{font-size:.88rem; font-weight:700; color:#0A2463}

/* Service areas simple list */
.bolgeler{
  height:calc(100vh - 140px);
  display:grid;
  gap:14px;
  align-items:start;
}
.bolgeler__cols{
  display:grid;
  gap:14px;
}
@media (min-width: 920px){
  .bolgeler__cols{grid-template-columns:repeat(2, minmax(0,1fr))}
}
.bolge-col{
  border:1px solid rgba(10,36,99,.12);
  background:rgba(255,255,255,.75);
  border-radius:var(--radius);
  padding:14px;
}
.bolge-col .area-col-title{margin:0 0 10px}
/* bolge-list redefined below for compact columns */
.bolge-item{
  display:block;
  background:#FFFFFF;
  border:2px solid #E0E6EF;
  border-radius:10px;
  padding:18px 20px;
  transition:transform .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);
  break-inside:avoid;
  min-height:80px;
}
.bolge-item:hover{
  transform:translateY(-2px);
  border-color:#FF6B00;
  box-shadow:0 4px 12px rgba(10,36,99,0.12);
}
.bolge-item .bolge-item__name{
  font-size:1.05rem;
  font-weight:800;
  color:#0A2463;
  margin:0 0 8px;
}
.bolge-item span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.88rem;
  font-weight:700;
  color:#0A2463;
}
.bolge-item__cta-text{color:inherit}
.bolge-item span .fa-whatsapp{
  font-size:.85rem;
  color:#25D366;
}

/* Ensure grid layout (no multi-column) */

/* Contact cards */
.contact-grid{display:grid; gap:14px}
@media (min-width: 920px){.contact-grid{grid-template-columns:repeat(2, minmax(0,1fr))}}
.contact-card{
  border:1px solid rgba(10,36,99,.12);
  background:rgba(255,255,255,.8);
  border-radius:var(--radius);
  padding:36px;
  border-left:4px solid rgba(10,36,99,.22);
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.contact-card__icon{font-size:48px; line-height:1}
.contact-card__title{margin:0; font-size:1.4rem; font-weight:900; font-family:"Barlow Condensed","DM Sans",system-ui,sans-serif}
.contact-card__value{margin:8px 0 0; font-size:1.2rem; font-weight:700}
.contact-card--tel{border-left-color:var(--orange)}
.contact-card--wa{border-left-color:#25D366}
.contact-card--ig{border-left-color:#E1306C}
.ig-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background:linear-gradient(90deg, #E1306C 0%, #F77737 100%);
  color:var(--white);
}
.hero__visual{position:relative; overflow:hidden; min-height:200px}
.hero__visual::before{
  content:"";
  position:absolute;
  inset:-40px -60px;
  background:
    radial-gradient(220px 220px at 20% 25%, rgba(255,107,0,.55), rgba(255,107,0,.0) 60%),
    radial-gradient(260px 260px at 70% 40%, rgba(10,36,99,.35), rgba(10,36,99,0) 62%),
    radial-gradient(200px 200px at 45% 82%, rgba(255,255,255,.8), rgba(255,255,255,0) 62%),
    linear-gradient(135deg, rgba(10,36,99,.12), rgba(255,107,0,.10));
}
.hero__visual::after{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:calc(var(--radius) - 6px);
  border:1px dashed rgba(10,36,99,.22);
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.8), transparent 40%),
    radial-gradient(circle at 75% 35%, rgba(255,255,255,.6), transparent 38%),
    radial-gradient(circle at 55% 75%, rgba(255,255,255,.65), transparent 45%);
  opacity:.85;
}
.hero__visual-badge{
  position:absolute;
  left:16px; bottom:16px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(10,36,99,.90);
  color:rgba(255,255,255,.92);
  box-shadow:0 18px 30px rgba(2,6,23,.30);
  border:1px solid rgba(255,255,255,.10);
}
.hero__visual-badge strong{color:#ffd2ae}

@media (min-width: 920px){
  .hero{height:calc(100vh - 104px)}
  .hero__grid{grid-template-columns: 1fr; gap:18px}
  .hero__card{padding:26px}
  .h1{font-size:56px}
  .hero__visual{min-height:340px}
}

/* Grids / Cards */
.grid{display:grid; gap:12px}
@media (min-width: 640px){.grid--2{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (min-width: 920px){
  .grid--3{grid-template-columns:repeat(3, minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(4, minmax(0,1fr))}
}

.card{
  border-radius:var(--radius);
  padding:16px;
  border:1px solid rgba(10,36,99,.12);
  background:rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  box-shadow:0 12px 26px rgba(10,36,99,.10);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.card:hover{transform:translateY(-2px); border-color:rgba(10,36,99,.22); box-shadow:0 18px 34px rgba(10,36,99,.14)}
.card__icon{font-size:26px}
.card__title{margin:10px 0 6px}
.card__text{margin:0; color:var(--muted)}

.feature{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.feature__dot{
  width:34px; height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,107,0,.12);
  border:1px solid rgba(255,107,0,.26);
  color:var(--orange);
  flex:0 0 auto;
}

.list{
  display:grid;
  gap:8px;
  padding:0;
  margin:12px 0 0;
  list-style:none;
}
.list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:rgba(11,18,32,.92);
}
.list li::before{
  content:"→";
  color:var(--orange);
  font-weight:900;
  line-height:1.2;
}

/* Page hero (inner pages) */
.page-hero{padding:44px 0 18px}
.page-hero__card{
  border-radius:var(--radius);
  padding:18px;
  border:1px solid rgba(10,36,99,.12);
  background:rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  box-shadow:var(--shadow);
}
@media (min-width: 920px){
  .page-hero{padding:56px 0 18px}
  .page-hero__card{padding:24px}
}

/* CTA band */
.cta-band{
  border-radius:calc(var(--radius) + 6px);
  border:1px solid rgba(255,107,0,.22);
  background:
    radial-gradient(600px 220px at 20% 10%, rgba(255,107,0,.22), transparent 55%),
    radial-gradient(620px 220px at 85% 70%, rgba(10,36,99,.16), transparent 58%),
    rgba(10,36,99,.92);
  color:rgba(255,255,255,.92);
  box-shadow:0 26px 50px rgba(2,6,23,.32);
  overflow:hidden;
}
.cta-band__inner{
  padding:18px;
  display:grid;
  gap:12px;
  align-items:center;
}
.cta-band .h2{color:var(--white)}
.cta-band .lead{color:rgba(255,255,255,.78)}
.cta-band__actions{display:flex; flex-wrap:wrap; gap:10px}
.cta-band__note{font-weight:700; color:rgba(255,210,174,.95)}
@media (min-width: 920px){
  .cta-band__inner{grid-template-columns: 1.2fr .8fr; padding:24px}
  .cta-band__actions{justify-content:flex-end}
}

/* Footer (all pages) */
.site-footer{
  padding:48px 0 0;
  background:var(--bg);
  color:rgba(10,36,99,0.92);
}
html.home .site-footer{padding:24px 0 0}

.site-footer__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr 1.1fr;
  gap:28px;
  padding-bottom:24px;
}

.site-footer__brand img{
  height:60px;
  width:auto;
  margin-bottom:12px;
  display:block;
}
.site-footer__desc{
  font-size:.88rem;
  color:rgba(10,36,99,0.65);
  max-width:220px;
  margin:0;
}

.site-footer__title{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(10,36,99,0.55);
  margin:0 0 14px;
}

.site-footer__links a{
  font-size:.9rem;
  color:rgba(10,36,99,0.78);
  display:block;
  padding:5px 0;
  transition:color .2s var(--ease);
}
.site-footer__links a:hover{color:#FF6B00}

.site-footer__contact a{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.9rem;
  padding:5px 0;
  color:rgba(10,36,99,0.78);
  transition:color .2s var(--ease);
}
.site-footer__contact a:hover{color:#FF6B00}

.site-footer__icon{
  width:18px;
  display:grid;
  place-items:center;
  flex:0 0 18px;
}
.site-footer__icon i{font-size:1rem}
.site-footer__contact .fa-whatsapp{color:#25D366}
.site-footer__contact .fa-phone{color:#FF6B00}
.site-footer__contact .fa-instagram{color:#E1306C}

.site-footer__bottom{
  border-top:1px solid rgba(10,36,99,0.10);
  padding:16px 0;
}
.site-footer__bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.site-footer__copyright{
  font-size:.78rem;
  color:rgba(10,36,99,0.55);
}

.site-footer__social{
  display:flex;
  gap:8px;
  align-items:center;
}
.social-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .2s var(--ease);
}
.social-icon i{font-size:1.1rem}
.social-icon--ig{background:rgba(225,48,108,0.15); color:#E1306C}
.social-icon--wa{background:rgba(37,211,102,0.15); color:#25D366}
.social-icon--tel{background:rgba(255,107,0,0.15); color:#FF6B00}
.social-icon:hover{opacity:1; transform:scale(1.1)}

@media (max-width: 768px){
  .site-footer{padding:36px 0 0}
  html.home .site-footer{padding:36px 0 0}
  .site-footer__grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .site-footer__col{margin-bottom:28px}
  .site-footer__brand img{height:50px}
  .site-footer__bottom-inner{
    flex-direction:column;
    text-align:center;
    gap:12px;
  }
  .site-footer__social{justify-content:center}
}

/* Floating actions */
.floating{
  position:fixed;
  right:16px;
  bottom:16px;
  display:grid;
  gap:10px;
  z-index:60;
}
.fab{
  width:52px; height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 34px rgba(2,6,23,.26);
  transition:transform .2s var(--ease), filter .2s var(--ease);
}
.fab:hover{transform:translateY(-2px); filter:saturate(1.05)}
.fab--wa{background:#25D366; color:var(--white)}
.fab--tel{background:linear-gradient(135deg, var(--orange), #ff8a2d); color:var(--white)}
.fab i{font-size:1.3rem}
.fab span{font-size:22px}

/* Reveal on scroll */
[data-reveal]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
[data-reveal].is-visible{opacity:1; transform:none}

/* Accessibility */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* Small helpers */
.divider{height:1px; background:rgba(10,36,99,.10); margin:18px 0}
