:root{
  --ifsp-blue:#004AAD;
  --ifsp-blue2:#0B62D6;
  --ifsp-blue-dark:#00377F;
  --ifsp-ink:#10242C;
  --ifsp-muted:#6E7987;
  --ifsp-line:#E3EAF2;
  --ifsp-soft:#F2F5F8;
  --ifsp-white:#fff;
}

.ifsp-linked-card{cursor:pointer}
.ifsv-card.ifsp-linked-card{position:relative}
.ifsp-card-link{position:absolute;inset:0;z-index:25;text-indent:-9999px;overflow:hidden;border-radius:inherit}
.ifsp-card-link:focus{outline:3px solid rgba(0,74,173,.35);outline-offset:-4px}

body.ifsp-service-page .entry-header,
body.ifsp-service-page .wp-block-post-title,
body.ifsp-service-page .page-header{display:none!important}
body.ifsp-service-page .site-main,
body.ifsp-service-page main,
body.ifsp-service-page .entry-content{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
body.ifsp-service-page .entry-content>*{max-width:none!important}

.ifsp-index-wrap,.ifsp-single{font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ifsp-ink);width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;background:#fff}
.ifsp-index-wrap *,.ifsp-single *{box-sizing:border-box}
.ifsp-container{width:min(1280px,calc(100% - 42px));margin:auto}
.ifsp-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:#fff;border:1px solid #DDE8F6;color:var(--ifsp-blue);font-size:12px;font-weight:700;box-shadow:0 8px 22px rgba(0,74,173,.06)}
.ifsp-badge:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--ifsp-blue)}

/* Services index */
.ifsp-index-wrap{padding:90px 0;background:linear-gradient(180deg,#fff,#F5F7FA)}
.ifsp-index-head{text-align:center;max-width:900px;margin:0 auto 46px}
.ifsp-index-head h1{margin:18px 0 16px;font-size:clamp(40px,5vw,68px);line-height:1.03;letter-spacing:-.05em;font-weight:800;color:var(--ifsp-ink)}
.ifsp-index-head h1 span{color:var(--ifsp-blue)}
.ifsp-index-head p{margin:0 auto;max-width:720px;color:var(--ifsp-muted);font-size:16px;line-height:1.8}
.ifsp-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ifsp-index-card{display:block;background:#fff;border:1px solid var(--ifsp-line);border-radius:26px;overflow:hidden;text-decoration:none!important;color:inherit!important;box-shadow:0 12px 30px rgba(16,36,44,.06);transition:.35s ease}
.ifsp-index-card:hover{transform:translateY(-7px);box-shadow:0 24px 48px rgba(0,74,173,.14);border-color:#CFE0F8}
.ifsp-index-photo{height:245px;overflow:hidden;background:#e9edf2}
.ifsp-index-photo img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block!important;transition:transform .6s ease!important}
.ifsp-index-card:hover img{transform:scale(1.055)}
.ifsp-index-content{position:relative;padding:24px 24px 26px}
.ifsp-index-content h2{margin:0 50px 10px 0;font-size:21px;line-height:1.25;color:var(--ifsp-ink)}
.ifsp-index-content p{margin:0;color:var(--ifsp-muted);font-size:14px;line-height:1.7}
.ifsp-index-arrow{position:absolute;right:21px;top:20px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ifsp-blue);color:#fff;font-size:17px;transition:.3s ease}
.ifsp-index-card:hover .ifsp-index-arrow{background:#fff;color:var(--ifsp-blue);box-shadow:0 9px 24px rgba(0,74,173,.15);transform:translate(2px,-2px)}
.ifsp-index-cta{margin-top:42px;padding:28px 30px;border-radius:24px;background:var(--ifsp-blue);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 22px 44px rgba(0,74,173,.18)}
.ifsp-index-cta strong{display:block;font-size:22px;margin-bottom:6px}.ifsp-index-cta span{color:rgba(255,255,255,.78);font-size:14px}
.ifsp-index-cta>a{display:inline-flex;align-items:center;gap:13px;padding:9px 10px 9px 20px;border-radius:999px;background:#fff;color:var(--ifsp-blue)!important;text-decoration:none!important;font-size:14px;font-weight:800;white-space:nowrap}.ifsp-index-cta>a b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--ifsp-blue);color:#fff}

/* Individual service hero */
.ifsp-hero{padding:74px 0 82px;background:linear-gradient(135deg,#F8FAFC,#EEF4FB)}
.ifsp-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:66px;align-items:center}
.ifsp-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:24px;color:#8290A0;font-size:12px}.ifsp-breadcrumbs a{color:#596979!important;text-decoration:none!important}.ifsp-breadcrumbs a:hover{color:var(--ifsp-blue)!important}
.ifsp-hero-copy h1{margin:18px 0 12px;font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-.05em;color:var(--ifsp-ink);font-weight:800}
.ifsp-hero-lead{margin:0 0 15px!important;color:var(--ifsp-blue)!important;font-size:20px!important;line-height:1.5!important;font-weight:700!important}.ifsp-hero-copy>p:not(.ifsp-hero-lead){margin:0;color:var(--ifsp-muted);font-size:16px;line-height:1.8;max-width:650px}
.ifsp-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.ifsp-primary-btn,.ifsp-secondary-btn{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:10px 11px 10px 21px;text-decoration:none!important;font-size:14px;font-weight:800;transition:.3s ease}.ifsp-primary-btn{background:var(--ifsp-blue);color:#fff!important;box-shadow:0 16px 30px rgba(0,74,173,.20)}.ifsp-primary-btn b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ifsp-blue)}.ifsp-primary-btn:hover{transform:translateY(-3px);background:var(--ifsp-blue-dark)}.ifsp-secondary-btn{padding:18px 23px;background:#fff;color:var(--ifsp-ink)!important;border:1px solid var(--ifsp-line)}.ifsp-secondary-btn:hover{color:var(--ifsp-blue)!important;border-color:#C7DAF5;transform:translateY(-3px)}
.ifsp-hero-media{position:relative;height:520px;border-radius:36px 100px 36px 36px;overflow:hidden;background:#dfe7ef;box-shadow:0 24px 54px rgba(15,35,62,.14)}
.ifsp-hero-media img{width:100%!important;height:100%!important;max-width:none!important;display:block!important;object-fit:cover!important;transition:transform .7s ease!important}.ifsp-hero-media:hover img{transform:scale(1.04)}
.ifsp-service-chip{position:absolute;left:22px;bottom:22px;padding:12px 17px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ifsp-blue);font-size:12px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.12);backdrop-filter:blur(8px)}

/* Overview */
.ifsp-overview{padding:90px 0;background:#fff}.ifsp-two-col{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:78px;align-items:start}.ifsp-two-col h2{margin:18px 0 20px;font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.04em;color:var(--ifsp-ink)}.ifsp-body-copy{margin:0;color:var(--ifsp-muted);font-size:16px;line-height:1.8}
.ifsp-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ifsp-feature{display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:16px;background:#F6F8FA;border:1px solid #E7ECF2}.ifsp-feature span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:#E9F2FF;color:var(--ifsp-blue);font-weight:900}.ifsp-feature p{margin:2px 0 0;color:#566575;font-size:13.5px;line-height:1.55;font-weight:600}

/* Process */
.ifsp-process{padding:88px 0;background:#F2F4F7}.ifsp-section-head{text-align:center;max-width:780px;margin:0 auto 40px}.ifsp-section-head h2{margin:17px 0 12px;font-size:clamp(36px,4vw,54px);line-height:1.06;letter-spacing:-.04em}.ifsp-section-head p{margin:0;color:var(--ifsp-muted);font-size:15px;line-height:1.75}.ifsp-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ifsp-process-card{padding:25px 22px;border-radius:22px;background:#fff;border:1px solid var(--ifsp-line);box-shadow:0 10px 25px rgba(20,40,65,.04);transition:.3s ease}.ifsp-process-card:hover{transform:translateY(-6px);background:var(--ifsp-blue);border-color:var(--ifsp-blue);box-shadow:0 20px 40px rgba(0,74,173,.18)}.ifsp-process-num{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ifsp-blue);color:#fff;font-size:12px;font-weight:800;margin-bottom:24px;transition:.3s ease}.ifsp-process-card h3{margin:0 0 10px;color:var(--ifsp-ink);font-size:18px}.ifsp-process-card p{margin:0;color:var(--ifsp-muted);font-size:13px;line-height:1.7}.ifsp-process-card:hover .ifsp-process-num{background:#fff;color:var(--ifsp-blue)}.ifsp-process-card:hover h3,.ifsp-process-card:hover p{color:#fff}

/* FAQ */
.ifsp-faq{padding:88px 0;background:#fff}.ifsp-faq-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:70px;align-items:start}.ifsp-faq-intro h2{margin:18px 0 14px;font-size:clamp(35px,4vw,52px);line-height:1.08;letter-spacing:-.04em}.ifsp-faq-intro p{margin:0;color:var(--ifsp-muted);font-size:14px;line-height:1.7}.ifsp-faq-intro a{color:var(--ifsp-blue)!important;font-weight:800}.ifsp-faq-list{display:grid;gap:11px}.ifsp-faq-list details{border:1px solid var(--ifsp-line);border-radius:14px;background:#fff;overflow:hidden}.ifsp-faq-list summary{list-style:none;cursor:pointer;padding:19px 20px;font-weight:750;color:var(--ifsp-ink);display:flex;align-items:center;justify-content:space-between;gap:15px}.ifsp-faq-list summary::-webkit-details-marker{display:none}.ifsp-faq-list details[open] summary{background:var(--ifsp-blue);color:#fff}.ifsp-faq-list summary span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#EEF5FF;color:var(--ifsp-blue);transition:.3s}.ifsp-faq-list details[open] summary span{background:#fff;transform:rotate(180deg)}.ifsp-faq-list details p{margin:0;padding:18px 20px 20px;color:var(--ifsp-muted);font-size:14px;line-height:1.75}

/* CTA + navigation */
.ifsp-cta{padding:67px 0;background:linear-gradient(135deg,var(--ifsp-blue),var(--ifsp-blue-dark));color:#fff}.ifsp-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.ifsp-badge-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff}.ifsp-badge-light:before{background:#fff}.ifsp-cta h2{margin:18px 0 10px;color:#fff;font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.04em}.ifsp-cta p{margin:0;color:rgba(255,255,255,.76);font-size:15px}.ifsp-cta>a{display:inline-flex;align-items:center;gap:13px;padding:10px 11px 10px 21px;border-radius:999px;background:#fff;color:var(--ifsp-blue)!important;text-decoration:none!important;font-size:14px;font-weight:800;white-space:nowrap}.ifsp-cta>a b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--ifsp-blue);color:#fff}
.ifsp-service-nav{padding:28px 0;background:#fff;border-top:1px solid var(--ifsp-line)}.ifsp-service-nav-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center}.ifsp-service-nav a{text-decoration:none!important;color:var(--ifsp-ink)!important}.ifsp-service-nav small{display:block;color:#8390A0;font-size:11px;margin-bottom:5px}.ifsp-service-nav strong{font-size:13px}.ifsp-service-nav a:hover strong{color:var(--ifsp-blue)}.ifsp-all-link{padding:10px 15px;border-radius:999px;border:1px solid var(--ifsp-line);font-size:12px;font-weight:800}.ifsp-next-link{text-align:right}

@media(max-width:1050px){.ifsp-index-grid{grid-template-columns:repeat(2,1fr)}.ifsp-hero-grid,.ifsp-two-col,.ifsp-faq-grid{grid-template-columns:1fr}.ifsp-hero-media{height:500px}.ifsp-process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.ifsp-container{width:calc(100% - 24px)}.ifsp-index-wrap,.ifsp-overview,.ifsp-process,.ifsp-faq{padding:64px 0}.ifsp-index-grid{grid-template-columns:1fr}.ifsp-index-cta,.ifsp-cta-inner{flex-direction:column;align-items:flex-start}.ifsp-hero{padding:55px 0}.ifsp-hero-grid{gap:38px}.ifsp-hero-media{height:390px;border-radius:25px 60px 25px 25px}.ifsp-feature-list,.ifsp-process-grid{grid-template-columns:1fr}.ifsp-service-nav-inner{grid-template-columns:1fr;gap:18px}.ifsp-all-link{width:max-content}.ifsp-next-link{text-align:left}.ifsp-hero-copy h1{font-size:43px}}


/* =========================================================
   v1.1.0 — PHONE BUTTONS + GUARANTEED SERVICE-PAGE FOOTER
========================================================= */
body.ifsp-service-page footer.site-footer,
body.ifsp-service-page #colophon.site-footer,
body.ifsp-service-page .elementor-location-footer{
  display:none!important;
}

.ifsp-phone-btn,
.ifsp-single .ifsp-phone-btn,
.ifsp-index-wrap .ifsp-phone-btn,
.ifsp-plugin-footer .ifsp-phone-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:auto!important;
  min-width:190px!important;
  padding:8px 9px 8px 18px!important;
  border:1px solid var(--ifsp-blue)!important;
  border-radius:999px!important;
  background:var(--ifsp-blue)!important;
  color:#fff!important;
  font-weight:800!important;
  font-size:14px!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(0,74,173,.18)!important;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease,color .28s ease!important;
}

.ifsp-phone-btn b{
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  margin-left:2px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--ifsp-blue)!important;
  font-size:17px!important;
  font-weight:700!important;
  transition:transform .28s ease,background .28s ease,color .28s ease!important;
}

.ifsp-phone-btn:hover{
  transform:translateY(-3px)!important;
  background:#fff!important;
  color:var(--ifsp-blue)!important;
  box-shadow:0 18px 34px rgba(0,74,173,.20)!important;
}

.ifsp-phone-btn:hover b{
  transform:translate(3px,-2px)!important;
  background:var(--ifsp-blue)!important;
  color:#fff!important;
}

.ifsp-phone-btn-faq{margin-top:16px!important}

.ifsp-cta .ifsp-phone-btn-light{
  background:#fff!important;
  color:var(--ifsp-blue)!important;
  border-color:#fff!important;
  box-shadow:0 14px 30px rgba(0,0,0,.14)!important;
}
.ifsp-cta .ifsp-phone-btn-light b{
  background:var(--ifsp-blue)!important;
  color:#fff!important;
}
.ifsp-cta .ifsp-phone-btn-light:hover{
  background:var(--ifsp-blue-dark)!important;
  color:#fff!important;
  border-color:#fff!important;
}
.ifsp-cta .ifsp-phone-btn-light:hover b{
  background:#fff!important;
  color:var(--ifsp-blue)!important;
}

/* Plugin footer appears on every page created by this plugin. */
.ifsp-plugin-footer{
  --ifsp-footer-deep:#061A35;
  --ifsp-footer-dark:#04152C;
  position:relative;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  color:#fff;
  overflow:hidden;
}

.ifsp-footer-cta{
  position:relative;
  min-height:285px;
  display:flex;
  align-items:center;
  background:url('https://atlantasouflotest.com.twdesignmarine.com/wp-content/uploads/2026/09/ser4.jpg') center center/cover no-repeat;
}
.ifsp-footer-cta-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(3,20,45,.36),rgba(3,26,58,.88));
}
.ifsp-footer-cta-content{
  position:relative;
  z-index:2;
  text-align:center;
  padding:50px 0;
}
.ifsp-footer-cta-content>span{
  display:block;
  color:rgba(255,255,255,.84);
  font-size:13px;
  font-weight:700;
  margin-bottom:12px;
}
.ifsp-footer-cta-content h2{
  max-width:900px;
  margin:0 auto 24px;
  color:#fff;
  font-size:clamp(30px,3.5vw,50px);
  line-height:1.1;
  letter-spacing:-.035em;
}
.ifsp-footer-estimate{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:13px 19px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--ifsp-blue)!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:800!important;
  transition:.28s ease!important;
}
.ifsp-footer-estimate:hover{
  background:var(--ifsp-blue)!important;
  color:#fff!important;
  transform:translateY(-3px);
}

.ifsp-footer-main{
  background:linear-gradient(180deg,var(--ifsp-footer-deep),var(--ifsp-footer-dark));
  padding:60px 0 0;
}
.ifsp-footer-grid{
  display:grid;
  grid-template-columns:1.35fr .72fr 1fr .82fr;
  gap:50px;
  padding-bottom:48px;
}
.ifsp-footer-brand{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  color:#fff!important;
  text-decoration:none!important;
  margin-bottom:18px;
}
.ifsp-footer-mark{
  width:50px;
  height:50px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--ifsp-blue);
  color:#fff;
  font-weight:900;
  font-style:italic;
}
.ifsp-footer-brand strong{
  display:block;
  color:#fff;
  font-size:17px;
  line-height:1.15;
}
.ifsp-footer-brand small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.55);
  font-size:9px;
  letter-spacing:.12em;
}
.ifsp-footer-brand-col>p,
.ifsp-footer-contact>p{
  max-width:340px;
  margin:0 0 20px;
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.75;
}
.ifsp-footer-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
.ifsp-footer-col h3{
  margin:0 0 10px;
  color:#fff;
  font-size:15px;
}
.ifsp-footer-col a:not(.ifsp-phone-btn){
  color:rgba(255,255,255,.72)!important;
  text-decoration:none!important;
  font-size:12.5px!important;
  line-height:1.5!important;
  transition:.22s ease!important;
}
.ifsp-footer-col a:not(.ifsp-phone-btn):hover{
  color:#fff!important;
  transform:translateX(3px);
}
.ifsp-footer-phone{min-width:190px!important}
.ifsp-footer-phone-small{min-width:180px!important;font-size:13px!important}
.ifsp-footer-bottom{
  min-height:72px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:rgba(255,255,255,.58);
  font-size:11.5px;
}
.ifsp-footer-bottom>a{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ifsp-blue);
  color:#fff!important;
  text-decoration:none!important;
  font-size:18px!important;
}

@media(max-width:1000px){
  .ifsp-footer-grid{grid-template-columns:1fr 1fr;gap:38px 45px}
}
@media(max-width:620px){
  .ifsp-phone-btn{min-width:178px!important}
  .ifsp-footer-cta{min-height:310px}
  .ifsp-footer-grid{grid-template-columns:1fr;gap:34px}
  .ifsp-footer-bottom{align-items:flex-start;padding:20px 0;min-height:90px}
}
