/*
Theme Name: Garant Pro
Theme URI: https://garant-pro.com/
Author: Marketing i3
Description: Custom WordPress theme for Garant-Pro. Clean final CSS after removing duplicated imported static styles.
Version: 1.1.27
Requires at least: 6.3
Requires PHP: 7.0
Text Domain: garant-pro
*/

/* ==========================================================
   Garant-Pro clean core styles
   Replace the full style.css content with this file.
   ========================================================== */


/* Frontend admin bar gap fix */
html{margin-top:0!important}
body.logged-in{margin-top:0!important;padding-top:0!important}
#wpadminbar{display:none!important}

:root{
  --primary:#05469D;
  --primary-dark:#073B82;
  --secondary:#2B99F0;
  --cta:#FF8A00;
  --white:#FFFFFF;
  --light:#F7FAFD;
  --soft:#F3F8FE;
  --text:#1F2937;
  --muted:#5B6B82;
  --border:#DCE7F5;
  --soft-blue:#EAF5FF;
  --soft-orange:#FFF5E8;
  --danger:#D92D20;
  --safe:#07845C;
  --shadow:0 16px 42px rgba(5,70,157,.12);
  --small-shadow:0 10px 28px rgba(5,70,157,.06);
  --radius:18px;
  --block-gap:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding:0;
  font-family:'Inter',Arial,Helvetica,sans-serif;
  background:var(--light);
  color:var(--text);
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:inherit}
img,svg{max-width:100%}
body.garant-pro-theme p:empty{display:none}

h1,h2,h3,.logo,.btn,.nav,.section-kicker,.kicker,.metric strong,.fee-value,.visual-title,.flow-number,.flow-title,.proof-logo,.proof-quote-author,.review-badge,.toc-title,.post-title,.subscribe-title,.contact-label,.route-type,.route-title,.verify-result-title,.doc-label{
  font-family:'Manrope','Inter',Arial,Helvetica,sans-serif;
}

.gp-page-root{
  width:100%;
  min-height:100vh;
  background:var(--light);
  color:var(--text);
  overflow-x:hidden;
}
.gp-page-root *{box-sizing:border-box}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.gp-wp-empty{min-height:60vh;padding:80px 20px}

body.garant-pro-theme .entry-content,
body.garant-pro-theme .wp-block-post-content,
body.garant-pro-theme main{
  margin:0;
  padding:0;
  max-width:none;
}

/* ==========================================================
   Shared header / navigation / buttons
   ========================================================== */

.topbar{background:var(--primary);color:var(--white);font-size:14px}
.topbar-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.topbar a{color:var(--white);font-weight:800}

.header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px);
}
body.admin-bar .header{top:32px}
@media screen and (max-width:782px){body.admin-bar .header{top:46px}}

.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:10px;color:var(--primary);font-size:26px;font-weight:900;letter-spacing:-.6px;white-space:nowrap;flex:0 0 auto}
.logo-box{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--white);box-shadow:0 10px 24px rgba(5,70,157,.22)}
.logo-box svg{width:25px;height:25px}
.nav{display:flex;align-items:center;justify-content:center;gap:22px;font-size:14px;font-weight:800;color:var(--text);white-space:nowrap;flex:1 1 auto}
.nav a:hover{color:var(--primary)}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.menu-toggle{display:none;width:48px;height:48px;border-radius:12px;border:1px solid var(--border);background:var(--white);color:var(--primary);font-size:25px;cursor:pointer}

.btn,.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 24px;
  border-radius:12px;
  font-weight:900;
  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
  transition:.2s ease;
  font-size:15px;
  line-height:1.2;
}
.btn:hover,.nav-cta:hover{transform:translateY(-1px)}
.btn-primary,.nav-cta{background:var(--cta);color:var(--white);box-shadow:0 14px 30px rgba(255,138,0,.22)}
.btn-outline,.btn-secondary{color:var(--primary);background:var(--white);border-color:rgba(5,70,157,.22)}
.btn-outline:hover,.btn-secondary:hover{border-color:var(--primary)}
.icon-stroke{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ==========================================================
   Homepage category strip
   ========================================================== */

.category-strip{background:var(--white);border-bottom:1px solid var(--border);padding:16px 0;position:relative;z-index:40}
.category-tabs{display:flex;align-items:stretch;gap:10px;overflow:visible}
.cat-tab,.all-categories-button{
  flex:1 1 0;
  min-width:0;
  min-height:62px;
  padding:10px 12px;
  border-radius:12px;
  background:var(--white);
  border:1px solid var(--border);
  box-shadow:0 8px 18px rgba(5,70,157,.06);
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  font-weight:900;
  line-height:1.15;
  color:var(--text);
  white-space:nowrap;
  text-align:left;
  cursor:pointer;
}
.cat-tab span:last-child,.all-categories-button span:last-child{overflow:hidden;text-overflow:ellipsis}
.cat-tab:hover,.all-categories-button:hover,.category-dropdown.is-open .all-categories-button{border-color:var(--secondary);color:var(--primary)}
.tab-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--soft-blue);color:var(--primary);display:grid;place-items:center}
.tab-icon svg{width:20px;height:20px}
.category-dropdown{position:relative;flex:1.15 1 0;min-width:160px}
.all-categories-button{width:100%}
.all-categories-button::after{content:'▾';margin-left:auto;color:var(--primary);font-size:13px;transition:.2s ease}
.category-dropdown.is-open .all-categories-button::after{transform:rotate(180deg)}
.cats-dropdown{position:absolute;top:calc(100% + 10px);left:0;width:292px;padding:10px;border-radius:16px;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow);display:none;gap:4px;z-index:200}
.category-dropdown.is-open .cats-dropdown{display:grid}
.cats-dropdown a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:var(--text);font-size:14px;font-weight:800}
.cats-dropdown a:hover{background:var(--soft-blue);color:var(--primary)}
.cats-dropdown svg{width:20px;height:20px;color:var(--primary);flex:0 0 20px}

/* ==========================================================
   Shared hero / cards / sections
   ========================================================== */

.hero{
  padding:64px 0 54px;
  background:radial-gradient(circle at 84% 15%,rgba(43,153,240,.22),transparent 34%),linear-gradient(180deg,#fff 0%,#F7FAFD 100%);
  overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.85fr);gap:var(--block-gap);align-items:stretch}
.hero-panel{background:var(--white);border:1px solid var(--border);border-radius:28px;padding:42px;box-shadow:var(--small-shadow)}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:24px}
.breadcrumb a{color:var(--primary);font-weight:800}
.badge,.doc-label,.contact-label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--soft-blue);color:var(--primary);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px}
.badge svg{width:18px;height:18px}
.kicker,.section-kicker{color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900;margin-bottom:12px}
.hero h1,h1{margin:0;color:var(--text);font-size:clamp(38px,4.8vw,58px);line-height:1.08;letter-spacing:-1.5px}
.hero h1 span{color:var(--primary)}
.lead,.hero-lead,.hero p{margin:22px 0 0;max-width:760px;color:var(--muted);font-size:19px;line-height:1.62}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

.section{padding:64px 0}
.section-white{background:var(--white)}
.soft,.section-soft{background:var(--soft)}
.section-head{max-width:760px;margin-bottom:30px}
.section-head h2,.section h2{margin:0;color:var(--text);font-size:clamp(30px,3.8vw,44px);line-height:1.15;letter-spacing:-1px}
.section-head p{color:var(--muted);font-size:17px;line-height:1.6;margin:16px 0 0}
.card{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--small-shadow)}
.card h2{margin:0 0 14px;color:var(--text);font-size:clamp(30px,3.2vw,42px);line-height:1.16;letter-spacing:-.9px}
.card h3{margin:0 0 10px;color:var(--text);font-size:21px;line-height:1.25}
.card p{color:var(--muted);font-size:16px;line-height:1.72;margin:0 0 18px}
.card p:last-child{margin-bottom:0}
.accent{background:linear-gradient(180deg,#fff 0%,#F4FAFF 100%)}
.sticky-card{position:sticky;top:104px}
.muted{color:var(--muted)}

/* ==========================================================
   Homepage layout
   ========================================================== */

.gp-slug-home .hero{padding:70px 0 64px;background:radial-gradient(circle at 78% 28%,rgba(43,153,240,.20),transparent 38%),linear-gradient(180deg,#fff 0%,#F7FAFD 100%)}
.gp-slug-home .hero-grid{grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.gp-slug-home .hero h1{font-size:clamp(42px,5vw,66px);line-height:1.06;letter-spacing:-2px}
.gp-slug-home .hero p{max-width:620px;font-size:20px;line-height:1.55}
.hero-metrics-container{margin-top:34px;position:relative;z-index:2;clear:both}
.metrics{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.metric{min-height:118px;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 10px 26px rgba(5,70,157,.06)}
.metric strong{display:block;color:var(--primary);font-size:22px;margin-bottom:5px}
.metric span{color:var(--muted);font-size:13px;line-height:1.35;font-weight:700}
.hero-visual{position:relative;min-height:470px;display:grid;place-items:center}
.visual-stage{width:min(520px,100%);min-height:420px;border-radius:34px;background:radial-gradient(circle at 82% 18%,rgba(43,153,240,.22),transparent 34%),linear-gradient(145deg,#fff,#EAF5FF);border:1px solid var(--border);box-shadow:var(--shadow);position:relative;overflow:hidden;padding:30px;display:flex;flex-direction:column;justify-content:center}
.visual-stage::before{content:'';position:absolute;width:420px;height:420px;right:-180px;top:-190px;border-radius:50%;background:rgba(43,153,240,.14)}
.visual-stage::after{content:'';position:absolute;width:360px;height:170px;left:68px;top:128px;border:2px dashed rgba(43,153,240,.38);border-radius:50%;transform:rotate(-7deg)}
.visual-content{position:relative;z-index:2}
.visual-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid var(--border);color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.visual-label svg{width:16px;height:16px}
.visual-title{margin:0 0 20px;color:var(--primary);font-size:30px;line-height:1.1;letter-spacing:-.8px}
.deal-flow{display:grid;grid-template-columns:1fr 30px 1fr;gap:12px;align-items:stretch}
.flow-card{min-height:118px;padding:16px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid var(--border);box-shadow:0 14px 28px rgba(5,70,157,.08);display:grid;gap:10px}
.flow-head{display:flex;align-items:center;gap:10px}
.flow-number{width:32px;height:32px;border-radius:10px;background:var(--primary);color:var(--white);display:grid;place-items:center;font-size:15px;font-weight:900;flex:0 0 32px}
.flow-icon{width:38px;height:38px;border-radius:12px;background:var(--soft-blue);color:var(--primary);display:grid;place-items:center;flex:0 0 38px}
.flow-icon svg{width:22px;height:22px}
.flow-title{margin:0;color:var(--text);font-size:16px;font-weight:900;line-height:1.15}
.flow-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;font-weight:600}
.flow-arrow{display:grid;place-items:center;color:var(--secondary);font-size:26px;font-weight:900}
.flow-arrow.down{grid-column:1 / -1;height:18px;transform:rotate(90deg)}
.flow-card.release{border-color:rgba(255,138,0,.38);box-shadow:0 18px 34px rgba(255,138,0,.10)}
.flow-card.release .flow-number{background:var(--cta)}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:22px;min-height:190px;box-shadow:0 10px 28px rgba(5,70,157,.06);transition:.2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(43,153,240,.55)}
.service-icon{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--white);display:grid;place-items:center;margin-bottom:16px;box-shadow:0 12px 24px rgba(5,70,157,.18)}
.service-icon svg{width:29px;height:29px}
.service-card h3{margin:0 0 9px;color:var(--text);font-size:18px}
.service-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.steps{display:grid;grid-template-columns:1fr 32px 1fr 32px 1fr 32px 1fr;align-items:center;gap:12px}
.step{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:20px;min-height:142px;box-shadow:0 8px 24px rgba(5,70,157,.05)}
.step-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.step-num{width:42px;height:42px;border-radius:13px;background:var(--soft-blue);color:var(--primary);display:grid;place-items:center;font-weight:900}
.step h3{margin:0;font-size:16px;color:var(--text)}
.step p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.arrow{color:var(--muted);text-align:center;font-size:24px;font-weight:900}
.fee-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.fee-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 9px 24px rgba(5,70,157,.06);min-height:135px}
.fee-card h3{margin:0 0 10px;font-size:15px;color:var(--primary)}
.fee-value{display:block;color:var(--primary);font-size:30px;font-weight:900;margin-bottom:6px}
.fee-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.benefits{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.benefit{display:flex;gap:12px;align-items:flex-start}
.benefit svg{width:34px;height:34px;color:var(--secondary);flex:0 0 34px}
.benefit h3{margin:0 0 5px;font-size:15px}
.benefit p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.proof-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px;align-items:stretch}
.reviews-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.review-card{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:22px;min-height:210px;box-shadow:0 10px 28px rgba(5,70,157,.06);display:flex;flex-direction:column;justify-content:space-between}
.review-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:8px 12px;border-radius:999px;background:var(--soft-blue);color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}
.review-card p{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.6}
.proof-quote-author{color:var(--text);font-size:14px;font-weight:900}
.proof-source{display:block;color:var(--muted);font-size:13px;margin-top:4px;font-weight:700}
.proof-logos{background:linear-gradient(145deg,var(--primary),var(--primary-dark));color:var(--white);border-radius:24px;padding:28px;box-shadow:var(--shadow);min-height:100%}
.proof-logos h3{margin:0 0 12px;font-size:24px;line-height:1.2;color:var(--white)}
.proof-logos p{margin:0 0 18px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6}
.logo-cloud{display:flex;flex-wrap:wrap;gap:10px}
.proof-logo{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:var(--white);font-size:15px;font-weight:900}

/* ==========================================================
   Article / fee / escrow account pages
   ========================================================== */

.page-section{padding:18px 0 54px}
.content-grid,.gp-fee-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.95fr);gap:18px;align-items:start}
.gp-fee-main{display:grid;gap:18px;min-width:0}
.gp-fee-sidebar{min-width:0}
.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-3{grid-column:1/-1}
.hero-media{display:grid;place-items:center;align-self:center}
.hero-media img{display:block;width:100%;max-width:360px;border-radius:26px;box-shadow:var(--shadow)}
.toc{background:var(--white);border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:var(--small-shadow);margin-bottom:18px}
.toc-title{margin:0 0 14px;color:var(--primary);font-size:18px;font-weight:900}
.toc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.toc-grid a{display:flex;align-items:center;gap:10px;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--light);font-weight:800;color:var(--text)}
.toc-grid a:hover{background:var(--soft-blue);color:var(--primary)}
.side-list{display:grid;gap:12px;margin-top:18px}
.side-list div,.side-list li{padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--light);color:var(--muted);font-size:15px;line-height:1.55}
.side-list strong{color:var(--text)}
.note{padding:18px 20px;border-radius:16px;background:var(--soft-blue);border:1px solid #B9E2FF;color:var(--primary);font-size:15px;line-height:1.65;margin-top:18px}
.cta-card{background:linear-gradient(145deg,var(--primary),var(--primary-dark));color:var(--white);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.cta-card h2,.cta-card h3{color:var(--white);margin:0 0 12px}
.cta-card p{color:rgba(255,255,255,.82);margin:0 0 18px;line-height:1.65}
.fees-wrap,.route-table{overflow-x:auto;border-radius:20px;border:1px solid var(--border);margin-top:18px}
table{width:100%;min-width:760px;border-collapse:collapse;background:var(--white)}
th{background:var(--primary);color:var(--white);text-align:left;padding:17px;font-family:'Manrope','Inter',Arial,sans-serif;font-weight:900}
td{padding:16px 17px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--muted);font-size:15px;line-height:1.5}
tr:last-child td{border-bottom:0}
.fee-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:999px;background:var(--soft-blue);color:var(--primary);font-weight:900}

.gp-slug-guarantors-fee .hero{padding:58px 0 34px}
.gp-slug-guarantors-fee .hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr)}
.gp-slug-guarantors-fee .hero h1{font-size:clamp(36px,4vw,54px);line-height:1.1;letter-spacing:-1.2px}
.gp-slug-guarantors-fee .lead{font-size:18px;line-height:1.62;max-width:760px}
.gp-slug-guarantors-fee .page-section{padding:18px 0 28px}
.gp-slug-guarantors-fee .card{padding:28px;margin:0}
.gp-slug-guarantors-fee .card h2{font-size:clamp(30px,3vw,42px);line-height:1.14;letter-spacing:-1px;margin-top:6px;margin-bottom:16px}
.gp-slug-guarantors-fee .gp-fee-main{gap:18px}
.gp-slug-guarantors-fee .gp-fee-main > *{margin-top:0;margin-bottom:0}
.gp-slug-guarantors-fee .sticky-card{top:104px}

/* ==========================================================
   FAQ blocks
   ========================================================== */

.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.faq-item{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:18px 20px;color:var(--text);font-weight:800;line-height:1.35}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'⌄';font-size:14px;color:var(--primary);font-weight:900}
.faq-item[open] summary::after{transform:rotate(180deg)}
.faq-item p{margin:14px 0 0;color:var(--muted);font-size:15px;line-height:1.6;font-weight:500}

/* ==========================================================
   Service category editable template
   ========================================================== */

.gp-template-service,.gp-template-content{background:var(--light);color:var(--text)}
.gp-template-service .gp-edit-hero,.gp-template-content .gp-edit-hero{padding:56px 0 24px;background:linear-gradient(90deg,#fff 0%,#fff 54%,#EAF5FF 100%)}
.gp-edit-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.85fr);gap:18px;align-items:stretch}
.gp-edit-hero-card,.gp-edit-side-card{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--small-shadow);padding:34px}
.gp-edit-side-card{align-self:center;background:linear-gradient(180deg,#fff 0%,#F4FAFF 100%)}
.gp-edit-hero-card h1{margin:16px 0 18px;font-size:clamp(36px,4vw,54px);line-height:1.1;letter-spacing:-1.2px}
.gp-edit-hero-card .hero-lead{max-width:760px;font-size:18px;line-height:1.6;color:var(--muted)}
.gp-edit-section{padding:22px 0 34px}
.gp-edit-section + .gp-edit-section{padding-top:0}
.gp-edit-section-soft{background:#F3F8FE;padding:34px 0 42px}
.gp-edit-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.95fr);gap:18px;align-items:start}
.gp-edit-main h2{margin:10px 0 16px;font-size:clamp(30px,3vw,42px);line-height:1.14;letter-spacing:-1px}
.gp-edit-main p,.gp-rich-text,.gp-main-editor-content{font-size:17px;line-height:1.72;color:var(--muted)}
.gp-main-editor-content{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}
.gp-edit-sidebar h3{margin:10px 0 12px;font-size:24px;line-height:1.18}
.gp-edit-sidebar p{color:var(--muted);line-height:1.65}
.gp-edit-sidebar .btn{margin-top:12px}
.gp-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gp-service-tile{background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:var(--small-shadow)}
.gp-tile-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#0E65C9,#2B99F0);color:#fff;margin-bottom:18px}
.gp-tile-icon svg{width:26px;height:26px}
.gp-service-tile h3{margin:0 0 10px;font-size:20px;line-height:1.2}
.gp-service-tile p{margin:0;color:var(--muted);line-height:1.58}
.gp-content-hero{max-width:900px}
.gp-content-body{max-width:980px;margin:0 auto;font-size:17px;line-height:1.75;color:var(--muted)}
.gp-content-body h2,.gp-content-body h3{color:var(--text)}

/* ==========================================================
   Simple service pages generated by manifest
   ========================================================== */

.service-hero{padding:58px 0 42px}
.service-hero .hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr)}
.hero-card{background:linear-gradient(180deg,#fff 0%,#F4FAFF 100%);border:1px solid var(--border);border-radius:24px;padding:26px;box-shadow:var(--small-shadow)}
.two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}
.check-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:var(--small-shadow)}
.check-list{margin:0;padding:0;list-style:none;display:grid;gap:12px;color:var(--muted);line-height:1.6}
.check-list li{padding-left:28px;position:relative}
.check-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--secondary);font-weight:900}

/* ==========================================================
   Blog / article / contact / document template support
   ========================================================== */

.blog-tools{padding:18px 0 0}.tools-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:20px;box-shadow:var(--small-shadow)}
.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.blog-search{width:100%;min-height:50px;border:1px solid var(--border);border-radius:14px;padding:0 16px;font-size:15px;outline:none;background:var(--light);color:var(--text)}.blog-search:focus{border-color:var(--secondary);background:#fff}.category-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.category-chip{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:10px 14px;font-weight:800;font-size:14px;cursor:pointer}.category-chip:hover,.category-chip.active{background:var(--soft-blue);color:var(--primary);border-color:rgba(43,153,240,.45)}
.blog-section{padding:34px 0 70px}.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.post-card{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--small-shadow);display:flex;flex-direction:column;min-height:100%}.post-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);transition:.2s ease}.featured-post{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;min-height:360px}.post-visual{position:relative;width:100%;aspect-ratio:1/1;background:linear-gradient(135deg,#EAF5FF,#D8ECFF);overflow:hidden}.post-visual::before{content:'';position:absolute;inset:22px;border-radius:22px;border:2px dashed rgba(43,153,240,.45)}.visual-icon{position:absolute;left:30px;bottom:28px;width:78px;height:78px;border-radius:22px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 14px 28px rgba(5,70,157,.18)}.visual-icon svg{width:38px;height:38px}.post-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}.post-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:13px;font-weight:700}.post-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--soft-blue);color:var(--primary);font-weight:800}.post-title{font-size:22px;line-height:1.22;margin:0;color:var(--text)}.featured-post .post-title{font-size:30px;letter-spacing:-.7px}.post-excerpt{color:var(--muted);font-size:15px;line-height:1.65;margin:0}.read-more{margin-top:auto;color:var(--primary);font-weight:800;font-size:15px}
.subscribe{margin-top:18px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;align-items:stretch}.subscribe-card{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)}.subscribe-title{margin:0 0 12px;font-size:34px;line-height:1.12;letter-spacing:-.8px;color:#fff}.subscribe-card p{margin:0;color:rgba(255,255,255,.78);font-size:16px;line-height:1.7}.subscribe-form{background:#fff;border:1px solid var(--border);border-radius:28px;padding:26px;box-shadow:var(--small-shadow);display:flex;flex-direction:column;justify-content:center;gap:12px}.subscribe-form input{min-height:52px;border:1px solid var(--border);border-radius:14px;padding:0 16px;font-size:15px;outline:none;background:var(--light)}.form-note{color:var(--muted);font-size:13px;line-height:1.5}
.article-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.85fr);gap:18px;align-items:start}.article-body{background:#fff;border:1px solid var(--border);border-radius:24px;padding:34px;box-shadow:var(--small-shadow)}.article-body h2{font-size:32px;line-height:1.18;margin:30px 0 14px}.article-body p,.article-body li{color:var(--muted);font-size:17px;line-height:1.75}.article-side,.side-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--small-shadow)}.side-links{display:grid;gap:10px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.related-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--small-shadow)}.related-body{padding:18px}.related-title{font-weight:900;color:var(--text)}.related-meta{color:var(--muted);font-size:13px}.related-visual{aspect-ratio:1/1;background:linear-gradient(135deg,#EAF5FF,#D8ECFF)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.emergency-card,.bot-card,.hero-side{background:linear-gradient(145deg,var(--primary),var(--primary-dark));color:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.emergency-card h2,.bot-card h2,.hero-side h2{font-size:28px;line-height:1.15;margin:0 0 12px;color:#fff}.emergency-card p,.bot-card p,.hero-side p{color:rgba(255,255,255,.8);font-size:15px;line-height:1.65;margin:0 0 18px}.emergency-note,.bot-note{margin-top:18px;padding:14px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.82);font-size:13px;line-height:1.55}.verify-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:20px}.verify-input{width:100%;min-height:52px;border:1px solid var(--border);border-radius:14px;padding:0 16px;font-size:15px;outline:none;background:var(--light);color:var(--text)}.verify-result{display:none;margin-top:16px;border-radius:18px;padding:18px;border:1px solid var(--border);background:var(--light)}.verify-result.safe{display:block;background:#ECFDF3;border-color:#ABEFC6;color:#05603A}.verify-result.danger{display:block;background:#FEF3F2;border-color:#FECDCA;color:#B42318}.verify-result.neutral{display:block;background:var(--soft-blue);border-color:#B9E2FF;color:var(--primary)}.official-list{display:grid;gap:12px;margin-top:18px}.official-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;border-radius:16px;background:var(--light);border:1px solid var(--border)}.official-item b{display:block;color:var(--text);margin-bottom:4px}.official-item span{display:block;color:var(--muted);font-size:14px;line-height:1.5}.official-handle{color:var(--primary);font-weight:800;white-space:nowrap}.safety-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.safety-list li{padding:16px 18px;border-radius:16px;background:#FFF6E9;border:1px solid #FFD7A6;color:#704000;font-size:15px;line-height:1.55}.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.community-card{background:var(--light);border:1px solid var(--border);border-radius:18px;padding:18px}.community-card b{display:block;color:var(--text);margin-bottom:8px}.community-card span{color:var(--muted);font-size:14px;line-height:1.55}.community-card a{display:inline-flex;margin-top:12px;color:var(--primary);font-weight:800}.route-type{color:var(--text);font-weight:800}.route-link{color:var(--primary);font-weight:800}
.page{padding:54px 0 70px;background:radial-gradient(circle at 88% 0%,rgba(43,153,240,.18),transparent 34%),linear-gradient(180deg,#fff 0%,#F7FAFD 100%)}.doc-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}.doc-main{background:#fff;border:1px solid var(--border);border-radius:26px;padding:44px;box-shadow:var(--small-shadow)}.doc-updated{color:var(--muted);font-size:15px;margin-bottom:30px}.doc-content h2{margin:34px 0 12px;font-size:26px;line-height:1.2;letter-spacing:-.4px;color:var(--text)}.doc-content p,.doc-content li{color:var(--muted);font-size:17px;line-height:1.75}.doc-side{position:sticky;top:104px;background:linear-gradient(180deg,#fff 0%,#F4FAFF 100%);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.doc-side h3{margin:0 0 14px;font-size:20px}.doc-links{display:grid;gap:10px}.doc-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:14px;background:#fff;border:1px solid var(--border);font-weight:700;line-height:1.25}.doc-links a:hover{color:var(--primary);background:var(--soft-blue)}.side-note{margin-top:18px;color:var(--muted);font-size:14px;line-height:1.65}

/* ==========================================================
   Responsive
   ========================================================== */

@media(max-width:1100px){
  .nav{display:none}
  .menu-toggle{display:grid;place-items:center}
  .nav.open{display:grid;position:absolute;top:78px;left:16px;right:16px;background:var(--white);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:12px}
  .nav.open a{padding:14px;border-bottom:1px solid var(--border)}
  .nav.open a:last-child{border-bottom:0}
  .category-tabs{overflow-x:auto;overflow-y:visible;padding-bottom:4px}
  .cat-tab,.all-categories-button{flex:0 0 auto;min-width:145px}
  .category-dropdown{flex:0 0 auto;min-width:165px}.cats-dropdown{width:260px}
  .hero-grid,.gp-slug-home .hero-grid,.content-grid,.gp-fee-layout,.gp-edit-hero-grid,.gp-edit-layout,.article-layout,.doc-layout,.two-col,.subscribe{grid-template-columns:1fr}
  .sticky-card,.doc-side{position:static}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}.arrow{display:none}
  .fee-cards,.benefits,.posts-grid,.routes-grid{grid-template-columns:repeat(2,1fr)}
  .proof-layout,.grid{grid-template-columns:1fr}
  .reviews-strip{grid-template-columns:1fr}
  .gp-cards-grid,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .featured-post{grid-column:1/-1}
}

@media(max-width:760px){
  .featured-post{grid-template-columns:1fr}
  .search-row{grid-template-columns:1fr}
  .hero-media{max-width:520px;margin:0 auto}
}

@media(max-width:640px){
  .topbar-inner{flex-direction:column;align-items:flex-start;padding:10px 0}
  .header-inner{min-height:70px}.logo{font-size:23px}.logo-box{width:42px;height:42px}
  .header-actions .btn-outline,.header-actions .btn-secondary{display:none}
  .header-actions .btn-primary{min-height:46px;padding:12px 16px}
  .category-strip{padding:12px 0}.cat-tab,.all-categories-button{min-height:58px;min-width:140px;font-size:13px}.cats-dropdown{position:fixed;top:138px;left:16px;right:16px;width:auto;max-height:calc(100vh - 160px);overflow-y:auto;z-index:999}
  .hero,.gp-slug-home .hero,.service-hero,.gp-template-service .gp-edit-hero,.gp-template-content .gp-edit-hero{padding:36px 0 28px}
  .hero-panel,.card,.emergency-card,.bot-card,.hero-side,.gp-edit-hero-card,.gp-edit-side-card,.gp-edit-main.card,.gp-edit-sidebar.card,.doc-main{padding:24px;border-radius:22px}
  .hero h1,h1,.gp-slug-home .hero h1,.gp-slug-guarantors-fee .hero h1,.gp-edit-hero-card h1{font-size:38px;letter-spacing:-1.1px}
  .lead,.hero-lead,.hero p,.gp-edit-hero-card .hero-lead{font-size:17px}
  .metrics{grid-template-columns:1fr 1fr;gap:14px}.hero-visual{min-height:0}.visual-stage{min-height:0;padding:22px}.visual-stage::after{display:none}.visual-title{font-size:24px}.deal-flow{grid-template-columns:1fr}.flow-arrow{display:none}.flow-card{min-height:0}
  .section,.gp-slug-home .section{padding:46px 0}.page-section,.gp-slug-guarantors-fee .page-section,.gp-edit-section{padding:18px 0 32px}
  .service-grid,.fee-cards,.benefits,.faq-grid,.routes-grid,.posts-grid,.gp-cards-grid,.related-grid,.grid,.community-grid{grid-template-columns:1fr}
  .span-1,.span-2,.span-3{grid-column:1/-1}
  .verify-form{grid-template-columns:1fr}.official-item{display:block}.official-handle{display:inline-block;margin-top:8px}
}


/* ==========================================================
   Footer layout moved from footer.php
   Keeps the same visual behavior, but removes the large inline CSS block from view-source.
   ========================================================== */

  .gp-footer {
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 16% 0%, rgba(43,153,240,.30), transparent 34%),
      linear-gradient(180deg,#05469D 0%,#073B82 100%);
    color:#fff;
    padding:50px 0 24px;
  }

  .gp-footer::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:42px 42px;
    opacity:.25;
  }

  .gp-footer > .container {
    position:relative;
    z-index:1;
  }

  .gp-footer-grid {
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr 1fr;
    gap:34px;
    align-items:start;
  }

  .gp-footer-brand,
  .gp-footer-col {
    min-width:0;
  }

  .gp-footer-logo {
    display:inline-flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#fff;
    margin-bottom:16px;
  }

  .gp-footer-logo img {
    max-width:205px;
    height:auto;
    display:block;
  }

  .gp-footer-logo span {
    color:#fff;
    font-family:"Manrope", Arial, sans-serif;
    font-size:22px;
    font-weight:800;
    line-height:1.2;
  }

  .gp-footer-brand p {
    max-width:340px;
    color:rgba(255,255,255,.82);
    line-height:1.7;
    font-size:15px;
    margin:0;
  }

  .gp-footer-col h3 {
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 16px;
    color:#fff;
    font-family:"Manrope", Arial, sans-serif;
    font-size:17px;
    font-weight:800;
    line-height:1.3;
  }

  .gp-footer-col h3 img {
    width:22px;
    height:22px;
    object-fit:contain;
    flex:0 0 22px;
  }

  .gp-footer-menu {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:9px;
  }

  .gp-footer-menu li {
    margin:0;
    padding:0;
  }

  .gp-footer-menu a {
    color:rgba(255,255,255,.84);
    text-decoration:none;
    font-size:15px;
    line-height:1.45;
  }

  .gp-footer-menu a:hover {
    color:#fff;
    text-decoration:underline;
  }

  .gp-footer-bottom {
    margin-top:34px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.16);
    text-align:center;
    color:rgba(255,255,255,.70);
    font-size:13px;
  }

  @media(max-width:900px) {
    .gp-footer-grid {
      grid-template-columns:1fr 1fr;
    }
  }

  @media(max-width:640px) {
    .gp-footer {
      padding:28px 0 18px;
      border-top-left-radius:28px;
      border-top-right-radius:28px;
      margin-top:8px;
    }

    .gp-footer .container {
      width:calc(100% - 28px);
    }

    .gp-footer-grid {
      grid-template-columns:1fr;
      gap:14px;
    }

    .gp-footer-brand {
      padding:22px 18px 18px;
      border-radius:22px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 18px 40px rgba(0,0,0,.10);
    }

    .gp-footer-logo {
      display:flex;
      justify-content:flex-start;
      align-items:center;
      gap:0;
      margin-bottom:14px;
    }

    .gp-footer-logo img {
      max-width:180px;
      width:auto;
    }

    .gp-footer-logo span {
      display:none;
    }

    .gp-footer-brand p {
      max-width:none;
      font-size:14px;
      line-height:1.55;
      color:rgba(255,255,255,.86);
      margin:0;
    }

    .gp-footer-col {
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.075);
      border:1px solid rgba(255,255,255,.13);
      box-shadow:0 14px 34px rgba(0,0,0,.08);
    }

    .gp-footer-col h3 {
      margin:0 0 12px;
      font-size:17px;
      gap:9px;
    }

    .gp-footer-col h3 img {
      width:20px;
      height:20px;
      flex-basis:20px;
    }

    .gp-footer-menu {
      gap:7px;
    }

    .gp-footer-menu a {
      display:flex;
      align-items:center;
      min-height:36px;
      padding:8px 10px;
      border-radius:12px;
      background:rgba(255,255,255,.055);
      color:rgba(255,255,255,.90);
      font-size:14px;
      line-height:1.25;
    }

    .gp-footer-menu a::after {
      content:"›";
      margin-left:auto;
      color:rgba(255,138,0,.95);
      font-size:18px;
      line-height:1;
      padding-left:10px;
    }

    .gp-footer-menu a:hover {
      background:rgba(255,255,255,.11);
      text-decoration:none;
      color:#fff;
    }

    .gp-footer-bottom {
      margin-top:18px;
      padding:16px 12px 0;
      border-top:1px solid rgba(255,255,255,.15);
      font-size:12px;
      line-height:1.45;
      color:rgba(255,255,255,.72);
    }
  }

/* ==========================================================
   Header layout moved from header.php
   Keeps the same visual behavior, but removes the large inline CSS block from view-source.
   ========================================================== */
.gp-site-header {
    position:sticky;
    top:0;
    z-index:9999;
    background:#fff;
    border-bottom:1px solid rgba(5,70,157,.12);
    box-shadow:0 10px 30px rgba(5,70,157,.06);
  }


  .gp-header-running-line {
    overflow:hidden;
    background:#05469D;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.14);
    white-space:nowrap;
  }

  .gp-header-running-link {
    display:block;
    color:#fff;
    text-decoration:none;
    overflow:hidden;
  }

  .gp-header-running-track {
    display:inline-flex;
    align-items:center;
    gap:34px;
    min-width:max-content;
    padding:8px 0;
    animation:gp-header-running-text 28s linear infinite;
    will-change:transform;
  }

  .gp-header-running-track span {
    position:relative;
    display:inline-flex;
    align-items:center;
    color:rgba(255,255,255,.92);
    font-family:"Manrope", Arial, sans-serif;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
  }

  .gp-header-running-track span::after {
    content:"";
    width:6px;
    height:6px;
    margin-left:34px;
    border-radius:50%;
    background:#FF8A00;
    flex:0 0 6px;
  }

  .gp-header-running-line:hover .gp-header-running-track {
    animation-play-state:paused;
  }

  @keyframes gp-header-running-text {
    from {
      transform:translateX(0);
    }

    to {
      transform:translateX(-50%);
    }
  }

  .gp-site-header .container {
    width:min(1180px, calc(100% - 32px));
    margin:0 auto;
  }

  .gp-header-main-inner {
    min-height:78px;
    display:flex;
    align-items:center;
    gap:24px;
  }

  .gp-header-logo {
    display:flex;
    align-items:center;
    flex:0 0 auto;
  }

  .gp-header-logo img {
    display:block;
    width:auto;
    height:46px;
    max-width:230px;
  }

  .gp-header-nav {
    flex:1 1 auto;
  }

  .gp-header-main-menu,
  .gp-header-service-menu {
    list-style:none;
    padding:0;
    margin:0;
  }

  .gp-header-main-menu {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:26px;
  }

  .gp-header-main-menu a {
    color:#1F2937;
    text-decoration:none;
    font-family:"Manrope", Arial, sans-serif;
    font-weight:800;
    font-size:15px;
    line-height:1.2;
  }

  .gp-header-main-menu a:hover {
    color:#05469D;
  }

  .gp-header-actions {
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
  }

  .gp-header-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:12px 18px;
    border-radius:12px;
    font-family:"Manrope", Arial, sans-serif;
    font-weight:800;
    font-size:14px;
    text-decoration:none;
    white-space:nowrap;
    transition:.2s ease;
  }

  .gp-header-btn:hover {
    transform:translateY(-1px);
  }

  .gp-header-btn-outline {
    color:#05469D;
    background:#fff;
    border:1px solid rgba(5,70,157,.24);
  }

  .gp-header-btn-primary {
    color:#0B1F3A;
    background:#FF8A00;
    border:1px solid #FF8A00;
    box-shadow:0 12px 26px rgba(255,138,0,.22);
  }

  .gp-header-toggle {
    display:none;
    width:44px;
    height:44px;
    border-radius:12px;
    border:1px solid rgba(5,70,157,.18);
    background:#fff;
    color:#05469D;
    font-size:22px;
    line-height:1;
    cursor:pointer;
  }

  .gp-header-service {
    background:#F7FAFD;
    border-top:1px solid rgba(5,70,157,.10);
  }

  .gp-header-service-inner {
    min-height:56px;
    display:flex;
    align-items:center;
    gap:18px;
  }

  .gp-header-service-title {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    padding:9px 14px;
    border-radius:999px;
    background:#EAF5FF;
    color:#05469D;
    font-family:"Manrope", Arial, sans-serif;
    font-weight:800;
    font-size:14px;
    white-space:nowrap;
  }

  .gp-header-service-nav {
    min-width:0;
    flex:1 1 auto;
  }

  .gp-header-service-menu {
    display:flex;
    align-items:center;
    gap:10px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .gp-header-service-menu::-webkit-scrollbar {
    display:none;
  }

  .gp-header-service-menu li {
    flex:0 0 auto;
  }

  .gp-service-menu-link,
  .gp-header-service-menu a {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:8px 13px;
    border-radius:999px;
    color:#1F2937;
    background:#fff;
    border:1px solid rgba(5,70,157,.12);
    text-decoration:none;
    font-family:"Manrope", Arial, sans-serif;
    font-weight:800;
    font-size:14px;
    white-space:nowrap;
  }

  .gp-service-menu-link:hover,
  .gp-header-service-menu a:hover {
    color:#05469D;
    border-color:rgba(5,70,157,.28);
  }

  .gp-service-menu-icon {
    width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 22px;
  }

  .gp-service-menu-icon img {
    width:22px;
    height:22px;
    object-fit:contain;
    display:block;
  }


  .gp-header-service-menu li {
    position:relative;
  }

  .gp-service-menu-link {
    cursor:pointer;
  }

  button.gp-service-menu-link {
    border:1px solid rgba(5,70,157,.12);
    font:inherit;
  }

  .gp-service-menu-arrow {
    color:#05469D;
    font-size:12px;
    line-height:1;
    margin-left:2px;
  }

  .gp-service-dropdown {
    position:absolute;
    left:0;
    top:calc(100% + 10px);
    width:320px;
    max-height:70vh;
    overflow:auto;
    padding:10px;
    background:#fff;
    border:1px solid rgba(5,70,157,.14);
    border-radius:18px;
    box-shadow:0 22px 54px rgba(5,70,157,.18);
    display:none;
    z-index:150;
  }

  .gp-header-service-menu li:hover > .gp-service-dropdown,
  .gp-header-service-menu li:focus-within > .gp-service-dropdown {
    display:grid;
    gap:6px;
  }

  .gp-service-dropdown-item {
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:9px 10px;
    border-radius:12px;
    color:#1F2937;
    text-decoration:none;
    font-family:"Manrope", Arial, sans-serif;
    font-weight:800;
    font-size:14px;
    line-height:1.25;
  }

  .gp-service-dropdown-item:hover {
    background:#F7FAFD;
    color:#05469D;
  }

  .gp-service-dropdown-icon {
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 24px;
  }

  .gp-service-dropdown-icon img {
    width:24px;
    height:24px;
    object-fit:contain;
    display:block;
  }

  @media(max-width:980px) {
    .gp-header-main-inner {
      min-height:68px;
      gap:12px;
    }

    .gp-header-nav {
      display:none;
      position:fixed;
      left:16px;
      right:16px;
      top:78px;
      z-index:10050;
      background:#fff;
      border:1px solid rgba(5,70,157,.14);
      border-radius:18px;
      box-shadow:0 24px 60px rgba(5,70,157,.22);
      padding:10px;
    }

    body.admin-bar .gp-header-nav {
      top:124px;
    }

    .gp-site-header.is-open .gp-header-nav {
      display:block;
    }

    .gp-site-header.is-open .gp-header-service {
      position:relative;
      z-index:1;
    }

    .gp-header-main-menu {
      display:grid;
      gap:0;
      justify-content:stretch;
    }

    .gp-header-main-menu a {
      display:block;
      padding:14px;
      border-bottom:1px solid rgba(5,70,157,.10);
    }

    .gp-header-main-menu li:last-child a {
      border-bottom:0;
    }

    .gp-header-toggle {
      display:inline-flex;
      align-items:center;
      justify-content:center;
    }

    .gp-header-btn-outline {
      display:none;
    }

    .gp-header-logo img {
      height:38px;
      max-width:190px;
    }
  }

  @media(max-width:640px) {

    .gp-header-running-track {
      animation-duration:22s;
      padding:7px 0;
    }

    .gp-header-running-track span {
      font-size:12px;
    }
    .gp-site-header .container {
      width:calc(100% - 24px);
    }

    .gp-header-main-inner {
      min-height:62px;
    }

    .gp-header-logo img {
      height:34px;
      max-width:170px;
    }

    .gp-header-btn {
      min-height:38px;
      padding:9px 12px;
      font-size:12px;
      border-radius:10px;
    }

    .gp-header-service-inner {
      align-items:flex-start;
      flex-direction:column;
      gap:10px;
      padding:10px 0;
    }

    .gp-header-service-title {
      font-size:13px;
      padding:8px 12px;
    }

    .gp-header-service-nav {
      width:100%;
    }
  }

  @media(max-width:640px) {
    .gp-service-dropdown {
      position:fixed;
      left:12px;
      right:12px;
      top:122px;
      width:auto;
      max-height:60vh;
    }
  }

  /* GP FIX FINAL: hamburger menu above service menu on mobile */
  @media(max-width:980px) {
    .gp-site-header {
      z-index:9999;
    }

    .gp-header-main {
      position:relative;
      z-index:10000;
      background:#fff;
    }

    .gp-header-service {
      position:relative;
      z-index:1;
    }

    .gp-header-nav {
      position:fixed;
      left:16px;
      right:16px;
      top:78px;
      z-index:10050;
    }

    body.admin-bar .gp-header-nav {
      top:124px;
    }

    .gp-site-header.is-open .gp-header-nav {
      display:block;
    }
  }

  @media(max-width:640px) {
    .gp-header-nav {
      top:68px;
      left:12px;
      right:12px;
    }

    body.admin-bar .gp-header-nav {
      top:114px;
    }
  }


  /* GP FIX: align mobile CTA and hamburger to the right */
  @media(max-width:640px) {
    .gp-header-main-inner {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }

    .gp-header-logo {
      flex:0 1 auto;
      min-width:0;
    }

    .gp-header-actions {
      margin-left:auto;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:8px;
      flex:0 0 auto;
    }

    .gp-header-btn-primary {
      min-width:auto;
      white-space:nowrap;
    }

    .gp-header-toggle {
      flex:0 0 42px;
      width:42px;
      height:42px;
      margin-left:0;
    }
  }

  @media(max-width:420px) {
    .gp-header-logo img {
      max-width:145px;
    }

    .gp-header-btn-primary {
      padding-left:10px;
      padding-right:10px;
      font-size:12px;
    }

    .gp-header-toggle {
      flex-basis:40px;
      width:40px;
      height:40px;
    }
  }

.gp-service-icons{position:absolute;visibility:hidden}

/* ==========================================================
   Service Page layout moved from service-page.php
   ========================================================== */

  .gp-service-approved{--primary:#05469D;--secondary:#2B99F0;--cta:#FF8A00;--white:#fff;--light:#F7FAFD;--text:#1F2937;--muted:#5B6B82;--border:#DCE7F5;--soft-blue:#EAF5FF;--shadow:0 16px 42px rgba(5,70,157,.12);--small-shadow:0 10px 28px rgba(5,70,157,.06);--block-gap:18px;background:var(--light);color:var(--text)}
  .gp-service-approved *{box-sizing:border-box}
  .gp-service-approved a{color:inherit;text-decoration:none}
  .gp-service-approved h1,.gp-service-approved h2,.gp-service-approved h3,.gp-service-approved .btn,.gp-service-approved .kicker,.gp-service-approved .toc-title{font-family:"Manrope",Arial,sans-serif}
  .gp-service-approved .container{width:min(1180px,calc(100% - 32px));margin:0 auto}
  .gp-service-approved .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border-radius:12px;font-weight:800;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:.2s ease;color:#0B1F3A!important}
  .gp-service-approved .btn:hover{transform:translateY(-1px)}
  .gp-service-approved .btn-primary{background:var(--cta);box-shadow:0 14px 30px rgba(255,138,0,.22)}
  .gp-service-approved .btn-outline{background:#fff;border-color:rgba(5,70,157,.22)}
  .gp-service-approved .hero{padding:64px 0 0;background:radial-gradient(circle at 84% 15%,rgba(43,153,240,.24),transparent 34%),linear-gradient(180deg,#fff 0%,#F7FAFD 100%)}
  .gp-service-approved .breadcrumb{font-size:14px;color:var(--muted);margin-bottom:26px}
  .gp-service-approved .breadcrumb a{color:var(--primary);font-weight:800}
  .gp-service-approved .hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--block-gap);align-items:stretch}
  .gp-service-approved .hero-panel{display:flex;flex-direction:column;justify-content:center;min-height:auto;height:100%;padding:24px;background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--small-shadow)}
  .gp-service-approved .badge{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:8px 14px;border-radius:999px;background:var(--soft-blue);color:var(--primary);font-weight:800;font-size:13px;margin:8px 0 14px;text-transform:uppercase;letter-spacing:.04em}
  .gp-service-approved .hero h1{margin:0 0 14px;color:var(--text);font-size:clamp(28px,3.2vw,38px);line-height:1.12;letter-spacing:-1px}
  .gp-service-approved .lead{margin:0;max-width:720px;color:var(--muted);font-size:16px;line-height:1.55}
  .gp-service-approved .hero-actions{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
  .gp-service-approved .hero-media{width:100%;height:100%;aspect-ratio:1/1;background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:28px;padding:24px;box-shadow:var(--shadow);display:grid;place-items:center;align-self:stretch;min-height:0;overflow:hidden}
  .gp-service-approved .hero-media img{width:100%;height:100%;aspect-ratio:1/1;object-fit:contain;object-position:center;display:block;border-radius:22px}
  .gp-service-approved .toc{background:#fff;border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:var(--small-shadow);margin-top:28px}
  .gp-service-approved .toc-title{font-weight:800;color:var(--primary);margin-bottom:14px;font-size:18px}
  .gp-service-approved .toc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--block-gap)}
  .gp-service-approved .toc a{display:flex;align-items:center;gap:9px;color:var(--text);font-weight:700;padding:12px;border-radius:12px;background:var(--light);border:1px solid var(--border);line-height:1.25}
  .gp-service-approved .toc a:hover{color:var(--primary);background:var(--soft-blue)}
  .gp-service-approved .page-section{padding:18px 0 54px}
  .gp-service-approved .content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--block-gap);align-items:start}
  .gp-service-approved .content-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--block-gap);align-items:start}
  .gp-service-approved .content-main{display:grid;gap:var(--block-gap);min-width:0}
  .gp-service-approved .content-sidebar{min-width:0;align-self:start;position:sticky;top:156px}
  .gp-service-approved .span-1{grid-column:span 1}
  .gp-service-approved .span-2{grid-column:span 2}
  .gp-service-approved .span-3{grid-column:1/-1}
  .gp-service-approved .card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--small-shadow)}
  .gp-service-approved .card.accent{background:linear-gradient(180deg,#fff 0%,#F4FAFF 100%);box-shadow:var(--shadow)}
  .gp-service-approved .cta-card{background:linear-gradient(135deg,var(--primary),#073B82);color:#fff;box-shadow:var(--shadow)}
  .gp-service-approved .cta-card h3,.gp-service-approved .cta-card p{color:#fff}
  .gp-service-approved .cta-card p{opacity:.84}
  .gp-service-approved .cta-card .btn-primary{background:var(--cta)}
  .gp-service-approved .faq-card{display:grid;gap:10px;padding:24px}
  .gp-service-approved .faq-card h2{margin-bottom:2px}
  .gp-service-approved .faq-accordion{display:grid;gap:8px}
  .gp-service-approved .faq-item{border:1px solid var(--border);border-radius:18px;background:var(--light);overflow:hidden}
  .gp-service-approved .faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;color:var(--text);font-family:"Manrope",Arial,sans-serif;font-size:15px;font-weight:800;line-height:1.25}
  .gp-service-approved .faq-item summary::-webkit-details-marker{display:none}
  .gp-service-approved .faq-item summary::after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#fff;color:var(--primary);border:1px solid var(--border);font-weight:800;flex:0 0 22px}
  .gp-service-approved .faq-item[open] summary::after{content:"−"}
  .gp-service-approved .faq-item-answer{padding:0 16px 14px;color:var(--muted);font-size:14px;line-height:1.55}
  .gp-service-approved .faq-item-answer p{font-size:14px;line-height:1.55;margin:0}
  .gp-service-approved .sticky-card{position:static;top:auto;align-self:auto}
  .gp-service-approved .kicker{color:var(--secondary);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:12px}
  .gp-service-approved h2{margin:0 0 16px;color:var(--text);font-size:clamp(30px,3.6vw,42px);line-height:1.18;letter-spacing:-1px}
  .gp-service-approved h3{margin:0 0 10px;color:var(--text);font-size:21px;line-height:1.25}
  .gp-service-approved p{color:var(--muted);font-size:17px;line-height:1.75;margin:0 0 18px}
  .gp-service-approved p:last-child{margin-bottom:0}
  .gp-service-approved .note,.gp-service-approved .card blockquote{padding:18px 20px;border-radius:16px;background:#FFF6E9;border:1px solid #FFD7A6;color:#704000;font-size:15px;line-height:1.65;margin:20px 0 0}
  .gp-service-approved .card blockquote p{color:#704000;font-size:15px;line-height:1.65;margin:0}
  .gp-service-approved .side-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
  .gp-service-approved .side-list li{padding:16px;border-radius:16px;background:var(--light);border:1px solid var(--border);color:var(--muted);line-height:1.6;font-size:15px}
  .gp-service-approved .side-list strong{color:var(--text)}
  .gp-service-approved .fees-wrap{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;border-radius:20px!important;border:1px solid var(--border)!important;background:#fff!important;margin:20px 0 0!important;box-shadow:var(--small-shadow)!important;-webkit-overflow-scrolling:touch}
  .gp-service-approved .fees-table{width:100%!important;min-width:760px!important;border-collapse:separate!important;border-spacing:0!important;table-layout:fixed!important;font-size:15px!important;background:#fff!important;margin:0!important;border:0!important}
  .gp-service-approved .fees-table thead th{background:var(--primary)!important;color:#fff!important;text-align:left!important;padding:18px!important;font-family:"Manrope",Arial,sans-serif!important;font-weight:800!important;line-height:1.25!important;border:0!important;white-space:normal!important}
  .gp-service-approved .fees-table thead th:first-child{border-top-left-radius:18px!important}
  .gp-service-approved .fees-table thead th:last-child{border-top-right-radius:18px!important}
  .gp-service-approved .fees-table tbody td{height:auto!important;width:auto!important;padding:18px!important;border:0!important;border-bottom:1px solid var(--border)!important;vertical-align:top!important;color:var(--text)!important;line-height:1.5!important;background:#fff!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .gp-service-approved .fees-table tbody tr:last-child td{border-bottom:0!important}
  .gp-service-approved .fees-table tbody td:first-child,.gp-service-approved .fees-table tbody td:first-child *{font-weight:800!important;font-family:"Manrope",Arial,sans-serif!important;color:#0B1F3A!important}
  .gp-service-approved .fee-badge,.gp-service-approved .fees-table tbody td:nth-child(2) .fee-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:92px!important;padding:8px 14px!important;border-radius:999px!important;background:rgba(255,138,0,.12)!important;color:#B75F00!important;font-family:"Manrope",Arial,sans-serif!important;font-weight:800!important;white-space:nowrap!important}
  .gp-service-approved .fees-table tbody td:nth-child(3),.gp-service-approved .fees-table tbody td:nth-child(3) *{background:transparent!important;color:var(--text)!important;font-family:"Inter",Arial,sans-serif!important;font-weight:400!important;border-radius:0!important;min-width:0!important}
  @media(max-width:1100px){.gp-service-approved .hero-grid{grid-template-columns:1fr 1fr}.gp-service-approved .toc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-service-approved .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-service-approved .span-2,.gp-service-approved .span-3{grid-column:1/-1}.gp-service-approved .content-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr)}}
@media(max-width:900px){.gp-service-approved .content-layout{grid-template-columns:1fr}.gp-service-approved .content-sidebar{order:-1;position:static;top:auto}.gp-service-approved .sticky-card{position:static}.gp-service-approved .card.accent{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.gp-service-approved .card.accent .side-list{margin:0}}
  @media(max-width:760px){.gp-service-approved .container{width:calc(100% - 24px)!important;max-width:none!important}.gp-service-approved .hero{padding:26px 0 18px!important}.gp-service-approved .breadcrumb{margin-bottom:16px;font-size:13px}.gp-service-approved .hero-grid{grid-template-columns:1fr!important;gap:16px!important}.gp-service-approved .hero-panel{min-height:auto!important;padding:24px 20px!important;border-radius:22px}.gp-service-approved .hero h1{font-size:28px!important;line-height:1.1!important;letter-spacing:-.8px!important}.gp-service-approved .lead{font-size:14px!important;line-height:1.5!important}.gp-service-approved .hero-actions{margin-top:18px!important;gap:10px}.gp-service-approved .hero-actions .btn{min-height:42px;padding:10px 14px;font-size:13px}.gp-service-approved .hero-media{min-height:auto!important;aspect-ratio:1/1;padding:16px;border-radius:22px;max-width:520px;margin:0 auto}.gp-service-approved .toc{margin-top:18px;padding:16px;border-radius:18px}.gp-service-approved .toc-grid{grid-template-columns:1fr!important;gap:10px}.gp-service-approved .toc a{padding:12px;font-size:13px}.gp-service-approved .page-section{padding:18px 0 34px!important}.gp-service-approved .content-grid,.gp-service-approved .content-layout{grid-template-columns:1fr!important;gap:16px!important}.gp-service-approved .content-main{gap:16px!important}.gp-service-approved .content-sidebar{position:static!important;top:auto!important}.gp-service-approved .span-1,.gp-service-approved .span-2,.gp-service-approved .span-3{grid-column:1/-1!important}.gp-service-approved .card{padding:22px!important;border-radius:20px!important;max-width:100%;overflow:hidden}.gp-service-approved .card.accent.span-1{display:block}.gp-service-approved h2{font-size:28px!important;line-height:1.16!important}.gp-service-approved h3{font-size:19px!important}.gp-service-approved p{font-size:15px!important;line-height:1.65!important}.gp-service-approved .sticky-card{position:static!important}.gp-service-approved .fees-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important}.gp-service-approved .fees-table{min-width:720px!important;width:720px!important}.gp-service-approved .fees-table th,.gp-service-approved .fees-table td{padding:14px 16px!important;font-size:14px!important}}

/* GP FIX: respect WordPress image alignment inside content cards */
.gp-service-approved .card::after{
  content:"";
  display:block;
  clear:both;
}
.gp-service-approved .card img{
  max-width:100%;
  height:auto;
}
.gp-service-approved .card img.alignleft,
.gp-service-approved .card .alignleft{
  float:left;
  max-width:46%;
  margin:6px 24px 16px 0;
}
.gp-service-approved .card img.alignright,
.gp-service-approved .card .alignright{
  float:right;
  max-width:46%;
  margin:6px 0 16px 24px;
}
.gp-service-approved .card img.aligncenter,
.gp-service-approved .card .aligncenter{
  display:block;
  float:none;
  margin:20px auto;
  text-align:center;
  clear:both;
}
.gp-service-approved .card img.alignnone,
.gp-service-approved .card .alignnone{
  display:block;
  float:none;
  margin:20px 0;
}
.gp-service-approved .card figure.alignleft,
.gp-service-approved .card figure.alignright{
  max-width:46%;
}
.gp-service-approved .card figure img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:760px){
  .gp-service-approved .card img.alignleft,
  .gp-service-approved .card .alignleft,
  .gp-service-approved .card img.alignright,
  .gp-service-approved .card .alignright{
    float:none!important;
    display:block!important;
    max-width:100%!important;
    margin:18px auto!important;
  }
  .gp-service-approved .card figure.alignleft,
  .gp-service-approved .card figure.alignright{
    max-width:100%!important;
  }
}


/* GP FIX: ordinary content tables stay ordinary, without fee-badge logic */
.gp-service-approved .card table:not(.fees-table){
  width:100%;
  border-collapse:collapse;
  margin:20px 0;
  background:#fff;
  font-size:15px;
}
.gp-service-approved .card table:not(.fees-table) th,
.gp-service-approved .card table:not(.fees-table) td{
  height:auto!important;
  width:auto!important;
  padding:14px 16px;
  border:1px solid var(--border);
  vertical-align:top;
  color:var(--text);
  line-height:1.5;
}
.gp-service-approved .card table:not(.fees-table) th{
  background:var(--light);
  font-family:"Manrope",Arial,sans-serif;
  font-weight:800;
}
/* GP FIX: hero image block must stay square, text block equal height */
.gp-service-approved .hero-grid {
  align-items: stretch !important;
}

.gp-service-approved .hero-media {
  aspect-ratio: 1 / 1 !important;
  height: 100% !important;
  align-self: stretch !important;
}

.gp-service-approved .hero-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.gp-service-approved .hero-panel {
  height: 100% !important;
  min-height: 100% !important;
  align-self: stretch !important;
}

/* GP FIX FINAL: use the same sticky sidebar architecture as the working HTML template */
@media(min-width:901px){
  .gp-service-approved,
  .gp-service-approved .page-section,
  .gp-service-approved .container.content-grid{
    overflow:visible!important;
  }

  .gp-service-approved .content-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:var(--block-gap)!important;
    align-items:start!important;
  }

  .gp-service-approved .content-grid > .span-2{
    grid-column:span 2!important;
  }

  .gp-service-approved .content-grid > .span-1{
    grid-column:span 1!important;
  }

  .gp-service-approved .content-grid > .sticky-card{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:172px!important;
    align-self:start!important;
    height:max-content!important;
    overflow:visible!important;
    z-index:2;
  }

  body.admin-bar .gp-service-approved .content-grid > .sticky-card{
    top:204px!important;
  }
}

@media(max-width:900px){
  .gp-service-approved .content-grid{
    grid-template-columns:1fr!important;
  }

  .gp-service-approved .content-grid > .span-1,
  .gp-service-approved .content-grid > .span-2,
  .gp-service-approved .content-grid > .span-3{
    grid-column:1/-1!important;
  }

  .gp-service-approved .content-grid > .sticky-card{
    position:static!important;
    top:auto!important;
  }
}



/* GP FIX: compact FAQ accordion blocks */
.gp-service-approved .faq-card {
  padding: 22px !important;
  gap: 8px !important;
}

.gp-service-approved .faq-card .kicker {
  margin-bottom: 8px !important;
}

.gp-service-approved .faq-card h2 {
  margin-bottom: 10px !important;
}

.gp-service-approved .faq-accordion {
  display: grid !important;
  gap: 8px !important;
}

.gp-service-approved .faq-card .faq-item {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.gp-service-approved .faq-card .faq-item:not([open]) {
  height: 54px !important;
}

.gp-service-approved .faq-card .faq-item > summary {
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
}

.gp-service-approved .faq-card .faq-item > summary::after {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  font-size: 13px !important;
}

.gp-service-approved .faq-card .faq-item-answer {
  padding: 0 16px 12px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.gp-service-approved .faq-card .faq-item-answer p {
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}


/* GP FIX: orange highlight for sidebar info blocks */
.gp-service-approved .sticky-card .side-list li {
  background: #FFF6E9 !important;
  border-color: #FFD7A6 !important;
  color: #704000 !important;
}

.gp-service-approved .sticky-card .side-list li strong {
  color: #B75F00 !important;
}

.gp-service-approved .sticky-card .side-list li:hover {
  background: #FFF0D8 !important;
  border-color: #FFB45C !important;
}


/* GP FIX: reduce gap between service menu and hero block */
.gp-service-approved .hero {
  padding-top: 28px !important;
}

.gp-service-approved .breadcrumb {
  margin-bottom: 18px !important;
}

@media(max-width:760px){
  .gp-service-approved .hero {
    padding-top: 16px !important;
  }

  .gp-service-approved .breadcrumb {
    margin-bottom: 12px !important;
  }
}

/* ==========================================================
   Article / single post styles
   Moved from single-post.php on step 13.
   ========================================================== */

.gp-article-page {
    --gp-blue: #004f9f;
    --gp-blue-dark: #073b7a;
    --gp-blue-soft: #eaf4ff;
    --gp-orange: #ff8500;
    --gp-orange-soft: #fff3df;
    --gp-text: #102033;
    --gp-muted: #5f7189;
    --gp-line: rgba(0, 79, 159, .16);
    --gp-shadow: 0 16px 42px rgba(0, 79, 159, .10);
    background: linear-gradient(180deg, #f6fbff 0%, #eef6ff 46%, #f9fcff 100%);
    color: var(--gp-text);
    font-family: "Manrope", Arial, sans-serif;
    overflow: visible;
}

.gp-article-page * {
    box-sizing: border-box;
}

.gp-article-page a {
    color: inherit;
    text-decoration: none;
}

.gp-article-wrap {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.gp-article-hero {
    padding: 42px 0 26px;
}

.gp-article-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 18px;
    color: var(--gp-muted);
    font-size: 12px;
    font-weight: 800;
}

.gp-article-breadcrumbs a {
    color: var(--gp-blue);
}

.gp-article-hero-card,
.gp-article-content-shell,
.gp-article-side-card,
.gp-article-related-card,
.gp-article-faq,
.gp-article-risk {
    border: 1px solid var(--gp-line);
    border-radius: 22px;
    box-shadow: var(--gp-shadow);
    background: #fff;
}

.gp-article-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
    gap: clamp(22px, 3.2vw, 44px);
    align-items: center;
    padding: clamp(24px, 3.4vw, 40px);
}

.gp-article-hero-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.gp-article-kicker {
    display: inline-flex;
    align-items: center;
    margin: 0 0 12px;
    color: var(--gp-blue);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.gp-article-hero h1 {
    max-width: 760px;
    margin: 0 0 18px;
    color: var(--gp-text);
    font-size: clamp(42px, 5vw, 66px);
    line-height: .96;
    letter-spacing: -.065em;
}

.gp-article-excerpt {
    max-width: 760px;
    margin: 0 0 18px;
    padding: 18px 22px;
    border-left: 5px solid var(--gp-orange);
    border-radius: 0 16px 16px 0;
    background: linear-gradient(90deg, rgba(234, 244, 255, .98), rgba(234, 244, 255, .50));
    color: var(--gp-blue-dark);
    font-size: 16px;
    line-height: 1.62;
    font-weight: 700;
}

.gp-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
    margin-bottom: 12px;
    color: var(--gp-muted);
    font-size: 12px;
    font-weight: 800;
}

.gp-article-meta span,
.gp-article-meta a {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--gp-blue-soft);
    color: var(--gp-blue);
}

.gp-article-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    max-width: 500px;
    border-radius: 20px;
    background: #dff0ff;
    border: 1px solid rgba(0, 79, 159, .14);
    overflow: hidden;
    align-self: center;
    justify-self: end;
}

.gp-article-image::before {
    content: "";
    position: absolute;
    inset: 22px;
    border: 2px dashed rgba(0, 79, 159, .22);
    border-radius: 16px;
    pointer-events: none;
}

.gp-article-image img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.gp-article-hero-credits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 16px;
    padding-top: 2px;
}

.gp-article-credit {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.gp-article-credit-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--gp-blue-soft);
    color: var(--gp-blue);
}

.gp-article-credit-icon svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
}

.gp-article-credit-label {
    display: block;
    color: #91a2b6;
    font-size: 11px;
    font-weight: 800;
}

.gp-article-credit-value {
    display: block;
    margin-top: 2px;
    color: var(--gp-text);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
}

.gp-article-hero-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    margin-top: auto;
}

.gp-article-main,
.gp-article-wrap.gp-article-layout {
    overflow: visible !important;
}

.gp-article-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr) !important;
    gap: 24px;
    align-items: start !important;
    padding: 0 0 70px;
    overflow: visible !important;
}

.gp-article-layout.is-full-width {
    grid-template-columns: minmax(0, 1fr) !important;
}

.gp-article-content-shell {
    padding: clamp(24px, 4vw, 42px);
    overflow: visible;
    min-width: 0;
}

.gp-article-content {
    color: var(--gp-text);
    font-size: 17px;
    line-height: 1.78;
}

.gp-article-content > *:first-child {
    margin-top: 0;
}

.gp-article-content > *:last-child {
    margin-bottom: 0;
}

.gp-article-content h2,
.gp-article-content h3,
.gp-article-content h4 {
    scroll-margin-top: 110px;
    color: var(--gp-text);
    line-height: 1.16;
    letter-spacing: -.035em;
}

.gp-article-content h2 {
    margin: 44px 0 16px;
    font-size: clamp(30px, 4vw, 42px);
}

.gp-article-content h3 {
    margin: 32px 0 12px;
    font-size: clamp(24px, 3vw, 30px);
}

.gp-article-content p {
    margin: 0 0 18px;
}

.gp-article-content a {
    color: var(--gp-blue);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.gp-article-content ul,
.gp-article-content ol {
    margin: 0 0 20px 22px;
    padding: 0;
}

.gp-article-content li {
    margin: 0 0 8px;
}

.gp-article-content::after {
    content: "";
    display: block;
    clear: both;
}

.gp-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
}

.gp-article-content .wp-block-image {
    margin: 24px 0;
}

.gp-article-content .wp-block-image img {
    display: block;
}

.gp-article-content img.alignleft,
.gp-article-content .alignleft,
.gp-article-content figure.alignleft,
.gp-article-content .wp-block-image.alignleft {
    float: left;
    max-width: min(48%, 380px);
    margin: 6px 24px 16px 0;
}

.gp-article-content img.alignright,
.gp-article-content .alignright,
.gp-article-content figure.alignright,
.gp-article-content .wp-block-image.alignright {
    float: right;
    max-width: min(48%, 380px);
    margin: 6px 0 16px 24px;
}

.gp-article-content img.aligncenter,
.gp-article-content .aligncenter,
.gp-article-content figure.aligncenter,
.gp-article-content .wp-block-image.aligncenter {
    display: block;
    clear: both;
    max-width: 100%;
    margin: 26px auto;
    text-align: center;
}

.gp-article-content img.alignnone,
.gp-article-content .alignnone,
.gp-article-content figure.alignnone {
    display: block;
    max-width: 100%;
    margin: 24px 0;
}

.gp-article-content .wp-caption {
    max-width: 100%;
    color: var(--gp-muted);
    font-size: 13px;
    line-height: 1.45;
}

.gp-article-content .wp-caption img {
    margin-bottom: 8px;
}

.gp-article-content .wp-caption-text,
.gp-article-content figcaption {
    margin: 8px 0 0;
    color: var(--gp-muted);
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}

.gp-article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 0 0 1px var(--gp-line);
}

.gp-article-content th,
.gp-article-content td {
    padding: 13px 14px;
    border-bottom: 1px solid rgba(0, 79, 159, .12);
    vertical-align: top;
    text-align: left;
}

.gp-article-content th {
    background: var(--gp-blue);
    color: #fff;
    font-weight: 900;
}

.gp-article-content blockquote,
.gp-article-callout {
    position: relative;
    margin: 28px 0;
    padding: 20px 22px 20px 24px;
    border: 1px solid rgba(255, 133, 0, .36);
    border-left: 6px solid var(--gp-orange);
    border-radius: 18px;
    background: var(--gp-orange-soft);
    color: var(--gp-text);
    box-shadow: 0 14px 30px rgba(255, 133, 0, .10);
}

.gp-article-content blockquote p,
.gp-article-callout p {
    margin: 0 0 10px;
}

.gp-article-content blockquote p:last-child,
.gp-article-callout p:last-child {
    margin-bottom: 0;
}

.gp-article-sidebar {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 172px !important;
    align-self: start !important;
    height: max-content !important;
    min-width: 0 !important;
    overflow: visible !important;
    z-index: 2;
    display: block;
}

body.admin-bar .gp-article-sidebar {
    top: 204px !important;
}

.gp-article-sidebar.is-hidden {
    display: none !important;
}

.gp-article-side-card {
    padding: 22px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .96);
}

.gp-article-side-card + .gp-article-side-card {
    margin-top: 14px;
}

.gp-article-side-title {
    margin: 0 0 14px;
    color: var(--gp-text);
    font-size: 18px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.025em;
}

.gp-article-toc {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: calc(100vh - 190px);
    overflow: auto;
    scrollbar-width: thin;
}

.gp-article-toc li {
    margin: 0;
}

.gp-article-toc a {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--gp-muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.32;
    background: transparent;
    border-left: 3px solid transparent;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.gp-article-toc a:hover,
.gp-article-toc a.is-active {
    background: var(--gp-blue-soft);
    color: var(--gp-blue);
    border-left-color: var(--gp-orange);
}

.gp-article-toc .is-h3 a {
    padding-left: 22px;
    font-size: 12px;
    font-weight: 700;
}


.gp-article-toc-empty {
    margin: 0;
    color: var(--gp-muted);
    font-size: 13px;
    line-height: 1.45;
}

.gp-article-side-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.gp-article-side-tags a {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(0, 79, 159, .18);
    color: var(--gp-blue);
    background: #fff;
    font-size: 12px;
    font-weight: 900;
}

.gp-article-rating-compact {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-top: 0;
}

.gp-rating-compact-summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--gp-muted);
    font-size: 12px;
    font-weight: 800;
}

.gp-rating-value {
    color: var(--gp-text);
    font-size: 13px;
    font-weight: 900;
}

.gp-rating-votes {
    color: var(--gp-muted);
    font-size: 12px;
}

.gp-rating-stars-display {
    position: relative;
    display: inline-block;
    width: 82px;
    height: 16px;
    line-height: 16px;
    letter-spacing: 1px;
    color: #d8e2ee;
    font-size: 15px;
    overflow: hidden;
    vertical-align: middle;
}

.gp-rating-stars-display::before,
.gp-rating-stars-display::after {
    content: "★★★★★";
    position: absolute;
    left: 0;
    top: 0;
}

.gp-rating-stars-display::before {
    color: #d8e2ee;
}

.gp-rating-stars-display::after {
    width: var(--gp-rating-percent, 0%);
    color: var(--gp-orange);
    overflow: hidden;
    white-space: nowrap;
}

.gp-rating-buttons {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 1px;
}

.gp-rating-buttons button {
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #d8e2ee;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: color .16s ease;
}

.gp-rating-buttons button:hover,
.gp-rating-buttons button:hover ~ button,
.gp-rating-buttons button.is-selected,
.gp-rating-buttons button.is-selected ~ button {
    color: var(--gp-orange);
}

.gp-article-share-min {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 12px;
    color: var(--gp-muted);
    font-size: 13px;
    font-weight: 800;
}

.gp-article-share-min a {
    color: var(--gp-blue);
    font-size: 13px;
    font-weight: 900;
}

.gp-article-cta {
    margin-top: 26px;
    padding: clamp(24px, 4vw, 34px);
    border: 1px solid var(--gp-line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 94% 10%, rgba(255, 133, 0, .22), transparent 12rem),
        linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
    color: #fff;
    box-shadow: var(--gp-shadow);
}

.gp-article-cta h2 {
    max-width: 680px;
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.08;
    letter-spacing: -.045em;
}

.gp-article-cta p {
    max-width: 720px;
    margin: 0 0 20px;
    color: rgba(255, 255, 255, .88);
    font-size: 16px;
    line-height: 1.65;
}

.gp-article-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gp-article-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

.gp-article-cta-btn.is-primary {
    background: var(--gp-orange);
    color: #111 !important;
}

.gp-article-cta-btn.is-secondary {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .28);
    color: #fff !important;
}

.gp-article-faq {
    padding: clamp(22px, 4vw, 34px);
    margin-top: 24px;
}

.gp-article-faq h2 {
    margin: 0 0 18px;
    color: var(--gp-text);
    font-size: clamp(28px, 4vw, 38px);
    line-height: 1.08;
    letter-spacing: -.045em;
}

.gp-article-faq details {
    border: 1px solid rgba(0, 79, 159, .14);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

.gp-article-faq details + details {
    margin-top: 10px;
}

.gp-article-faq summary {
    padding: 16px 18px;
    color: var(--gp-text);
    font-weight: 900;
    cursor: pointer;
}

.gp-article-faq-answer {
    padding: 0 18px 18px;
    color: var(--gp-muted);
    font-size: 15px;
    line-height: 1.65;
}

.gp-article-risk {
    position: relative;
    padding: 18px 20px 18px 22px;
    margin-top: 18px;
    border: 1px solid rgba(255, 133, 0, .36);
    border-left: 6px solid var(--gp-orange);
    border-radius: 18px;
    background: var(--gp-orange-soft);
    color: #7a3d00;
    font-size: 12px;
    line-height: 1.58;
    box-shadow: 0 14px 30px rgba(255, 133, 0, .10);
}

.gp-article-risk strong {
    color: #5f3000;
    font-weight: 900;
}

.gp-article-related {
    padding: 0 0 70px;
}

.gp-article-related-head {
    margin-bottom: 20px;
}

.gp-article-related-head h2 {
    margin: 0 0 8px;
    color: var(--gp-text);
    font-size: clamp(32px, 4vw, 44px);
    line-height: 1.05;
    letter-spacing: -.05em;
}

.gp-article-related-head p {
    margin: 0;
    color: var(--gp-muted);
    font-size: 15px;
    line-height: 1.6;
}

.gp-article-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gp-article-related-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.gp-related-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    display: block;
    background: #dff0ff;
    overflow: hidden;
    border-bottom: 1px solid rgba(0, 79, 159, .12);
}

.gp-related-media::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 2px dashed rgba(0, 79, 159, .22);
    border-radius: 14px;
}

.gp-related-media img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.gp-related-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px;
}

.gp-related-body h3 {
    min-height: 48px;
    margin: 0 0 10px;
    color: var(--gp-text);
    font-size: 20px;
    line-height: 1.18;
    letter-spacing: -.025em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gp-related-body p {
    min-height: 66px;
    margin: 0 0 16px;
    color: var(--gp-muted);
    font-size: 14px;
    line-height: 1.58;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gp-related-link {
    margin-top: auto;
    color: var(--gp-blue);
    font-size: 13px;
    font-weight: 900;
}

@media(max-width: 1020px) {
    .gp-article-hero-card,
    .gp-article-layout,
    .gp-article-layout.is-full-width {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .gp-article-layout {
        gap: 18px;
    }

    .gp-article-sidebar {
        margin-bottom: 0;
    }

    .gp-article-hero-card {
        min-height: 0;
    }

    .gp-article-content-shell,
    .gp-article-sidebar {
        width: 100%;
        min-width: 0;
    }

    .gp-article-hero-credits {
        grid-template-columns: 1fr;
    }

    .gp-article-image {
        justify-self: stretch;
        max-width: none;
    }

    .gp-article-sidebar {
        position: static !important;
        top: auto !important;
        order: -1;
        height: auto !important;
    }

    .gp-article-toc {
        max-height: none;
    }

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

@media(max-width: 760px) {
    .gp-article-content img.alignleft,
    .gp-article-content img.alignright,
    .gp-article-content .alignleft,
    .gp-article-content .alignright,
    .gp-article-content figure.alignleft,
    .gp-article-content figure.alignright,
    .gp-article-content .wp-block-image.alignleft,
    .gp-article-content .wp-block-image.alignright {
        float: none;
        display: block;
        max-width: 100%;
        margin: 24px auto;
    }
}

@media(max-width: 700px) {
    .gp-article-wrap {
        width: min(100% - 24px, 1180px);
    }

    .gp-article-layout,
    .gp-article-layout.is-full-width {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .gp-article-sidebar {
        width: 100%;
    }

    .gp-article-hero {
        padding: 34px 0 24px;
    }

    .gp-article-hero h1 {
        font-size: clamp(34px, 11vw, 46px);
        line-height: 1.02;
    }

    .gp-article-excerpt {
        padding: 16px 18px;
    }

    .gp-article-related-grid {
        grid-template-columns: 1fr;
    }

    .gp-article-hero-card,
    .gp-article-content-shell,
    .gp-article-side-card,
    .gp-article-related-card,
    .gp-article-faq,
    .gp-article-risk,
    .gp-article-cta {
        border-radius: 20px;
    }
}

/* ==========================================================
   GP Home Page styles
   ========================================================== */
.gp-home-page {
    --gp-blue: #004f9f;
    --gp-blue-dark: #073b7a;
    --gp-blue-soft: #eaf4ff;
    --gp-orange: #ff8500;
    --gp-orange-soft: #fff3df;
    --gp-text: #102033;
    --gp-muted: #5f7189;
    --gp-line: rgba(0, 79, 159, .14);
    --gp-card: #ffffff;
    --gp-bg: #f5f9ff;
    --gp-shadow: 0 18px 50px rgba(0, 79, 159, .10);
    background:
        radial-gradient(circle at 12% 4%, rgba(255, 133, 0, .12), transparent 24rem),
        radial-gradient(circle at 84% 12%, rgba(0, 79, 159, .16), transparent 28rem),
        linear-gradient(180deg, #f7fbff 0%, #eef6ff 48%, #ffffff 100%);
    color: var(--gp-text);
    font-family: "Manrope", Arial, sans-serif;
    overflow: hidden;
}

.gp-home-page * {
    box-sizing: border-box;
}

.gp-home-page a {
    color: inherit;
    text-decoration: none;
}

.gp-home-container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.gp-home-section {
    padding: 76px 0;
}

.gp-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    margin: 0 0 16px;
    border-radius: 999px;
    background: rgba(0, 79, 159, .08);
    color: var(--gp-blue);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.gp-home-kicker img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.gp-home-page h1,
.gp-home-page h2,
.gp-home-page h3,
.gp-home-page p {
    margin-top: 0;
}

.gp-home-page h1 {
    max-width: 700px;
    margin-bottom: 20px;
    font-size: clamp(38px, 5.2vw, 72px);
    line-height: .98;
    letter-spacing: -.055em;
    color: var(--gp-text);
}

.gp-home-page h2 {
    margin-bottom: 16px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
    letter-spacing: -.045em;
    color: var(--gp-text);
}

.gp-home-page h3 {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.22;
    letter-spacing: -.02em;
    color: var(--gp-text);
}

.gp-home-page p {
    color: var(--gp-muted);
    font-size: 17px;
    line-height: 1.72;
}

.gp-home-lead {
    max-width: 690px;
    margin-bottom: 26px;
    font-size: 19px !important;
    line-height: 1.68 !important;
}

.gp-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.gp-home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 14px;
    border: 1px solid transparent;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    cursor: pointer;
    white-space: nowrap;
}

.gp-home-btn:hover {
    transform: translateY(-1px);
}

.gp-home-btn-primary {
    background: var(--gp-orange);
    color: #111 !important;
    box-shadow: 0 16px 32px rgba(255, 133, 0, .26);
}

.gp-home-btn-secondary {
    background: #fff;
    color: var(--gp-blue) !important;
    border-color: rgba(0, 79, 159, .22);
    box-shadow: 0 10px 24px rgba(0, 79, 159, .08);
}

.gp-home-btn-dark {
    background: var(--gp-blue);
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(0, 79, 159, .24);
}

.gp-home-card {
    border: 1px solid var(--gp-line);
    border-radius: 28px;
    background: rgba(255, 255, 255, .88);
    box-shadow: var(--gp-shadow);
}

.gp-home-hero {
    padding: 64px 0 44px;
}

.gp-home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: 34px;
    align-items: center;
}

.gp-home-hero-copy {
    padding: 34px 0;
}

.gp-home-hero-note {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.gp-home-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(0, 79, 159, .14);
    color: var(--gp-muted);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(0, 79, 159, .06);
}

.gp-home-pill img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.gp-home-hero-visual {
    position: relative;
    min-height: 500px;
    padding: 24px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(233,246,255,.96));
    overflow: hidden;
}

.gp-home-hero-visual::before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 24px;
    background:
        radial-gradient(circle at 70% 12%, rgba(255, 133, 0, .20), transparent 11rem),
        radial-gradient(circle at 18% 78%, rgba(0, 79, 159, .18), transparent 14rem);
    z-index: 0;
}

.gp-home-flow {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 18px;
    height: 100%;
    min-height: 452px;
    align-content: center;
}

.gp-home-flow-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(0, 79, 159, .14);
    border-radius: 22px;
    background: rgba(255, 255, 255, .86);
    backdrop-filter: blur(10px);
    box-shadow: 0 16px 36px rgba(0, 79, 159, .08);
}

.gp-home-flow-card.is-center {
    justify-content: center;
    padding: 24px 18px;
    background: linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
    color: #fff;
    border-color: transparent;
    transform: scale(1.04);
    box-shadow: 0 24px 54px rgba(0, 79, 159, .24);
}

.gp-home-flow-card.is-center h3,
.gp-home-flow-card.is-center p {
    color: #fff;
}

.gp-home-flow-icon {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: var(--gp-blue-soft);
}

.gp-home-flow-card.is-center .gp-home-flow-icon {
    background: rgba(255,255,255,.14);
}

.gp-home-flow-icon img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.gp-home-flow-text p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.45;
}

.gp-home-flow-text h3 {
    margin-bottom: 4px;
}

.gp-home-arrow {
    width: 2px;
    height: 24px;
    margin: -2px auto;
    background: linear-gradient(180deg, rgba(0,79,159,.16), rgba(255,133,0,.85));
    border-radius: 99px;
}

.gp-home-trust {
    padding: 0 0 36px;
}

.gp-home-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.gp-home-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--gp-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 79, 159, .06);
}

.gp-home-icon-blue {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
}

.gp-home-icon-blue img {
    width: 25px;
    height: 25px;
    object-fit: contain;
}

.gp-home-trust-item strong {
    display: block;
    margin-bottom: 4px;
    color: var(--gp-text);
    font-size: 15px;
    line-height: 1.25;
}

.gp-home-trust-item span {
    display: block;
    color: var(--gp-muted);
    font-size: 13px;
    line-height: 1.45;
}

.gp-home-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
}

.gp-home-column-card {
    padding: 28px;
    overflow: hidden;
}

.gp-home-column-card.is-danger {
    background: linear-gradient(180deg, #fff, #fff8f8);
    border-color: rgba(231, 82, 82, .22);
}

.gp-home-column-card.is-safe {
    background: linear-gradient(180deg, #fff, #f2f9ff);
    border-color: rgba(0, 79, 159, .16);
}

.gp-home-list {
    display: grid;
    gap: 11px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.gp-home-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--gp-muted);
    font-size: 15px;
    line-height: 1.48;
}

.gp-home-mark {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

.gp-home-mark.is-red {
    background: rgba(231, 82, 82, .12);
    color: #c43b3b;
}

.gp-home-mark.is-green {
    background: rgba(0, 79, 159, .10);
    color: var(--gp-blue);
}

.gp-home-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.gp-home-section-head p {
    max-width: 520px;
    margin-bottom: 0;
}

.gp-home-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gp-home-category-card {
    display: flex;
    min-height: 250px;
    flex-direction: column;
    padding: 24px;
    border: 1px solid var(--gp-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(0, 79, 159, .07);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.gp-home-category-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 133, 0, .55);
    box-shadow: 0 20px 48px rgba(0, 79, 159, .12);
}

.gp-home-category-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: var(--gp-orange-soft);
}

.gp-home-category-icon img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.gp-home-category-card p {
    margin-bottom: 18px;
    font-size: 15px;
    line-height: 1.6;
}

.gp-home-card-link {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gp-blue);
    font-size: 14px;
    font-weight: 900;
}

.gp-home-neutral-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 24px;
    align-items: center;
}

.gp-home-blue-card {
    padding: 32px;
    color: #fff;
    border: 0;
    background:
        radial-gradient(circle at 90% 8%, rgba(255, 133, 0, .28), transparent 12rem),
        linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
}

.gp-home-blue-card h2,
.gp-home-blue-card h3,
.gp-home-blue-card p {
    color: #fff;
}

.gp-home-blue-card p {
    opacity: .86;
}

.gp-home-blue-icon {
    width: 70px;
    height: 70px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.14);
}

.gp-home-blue-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.gp-home-info-card {
    padding: 30px;
    background: #fff;
}

.gp-home-process {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.gp-home-step {
    position: relative;
    padding: 22px;
    min-height: 248px;
    border-radius: 24px;
    background: linear-gradient(180deg, var(--gp-blue), var(--gp-blue-dark));
    color: #fff;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(0, 79, 159, .16);
}

.gp-home-step::after {
    content: attr(data-step);
    position: absolute;
    right: -4px;
    bottom: -22px;
    color: rgba(255,255,255,.10);
    font-size: 96px;
    font-weight: 900;
    line-height: 1;
}

.gp-home-step-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 16px;
    background: rgba(255,255,255,.14);
}

.gp-home-step-icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.gp-home-step h3,
.gp-home-step p {
    position: relative;
    z-index: 1;
    color: #fff;
}

.gp-home-step p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.55;
    opacity: .88;
}

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

.gp-home-role-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 30px;
    background: #fff;
}

.gp-home-role-card p {
    margin-bottom: 0;
}

.gp-home-mini-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 24px;
}

.gp-home-pricing-card {
    padding: 34px;
    background: #fff;
}

.gp-home-fee-preview {
    display: grid;
    gap: 14px;
    margin-top: 20px;
}

.gp-home-fee-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(0, 79, 159, .12);
    border-radius: 18px;
    background: #f8fbff;
}

.gp-home-fee-row span {
    color: var(--gp-muted);
    font-size: 14px;
}

.gp-home-fee-row strong {
    color: var(--gp-blue);
    font-size: 15px;
}

.gp-home-rules {
    display: grid;
    gap: 14px;
}

.gp-home-rule {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid var(--gp-line);
    background: #fff;
}

.gp-home-rule:nth-child(3) {
    background: linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
    border-color: transparent;
}

.gp-home-rule:nth-child(3) h3,
.gp-home-rule:nth-child(3) p {
    color: #fff;
}

.gp-home-rule p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.55;
}

.gp-home-arbitration {
    position: relative;
    padding: 34px;
    overflow: hidden;
}

.gp-home-arbitration::after {
    content: "";
    position: absolute;
    inset: auto -80px -120px auto;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(255, 133, 0, .12);
}

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

.gp-home-eligibility-card {
    padding: 28px;
}

.gp-home-eligibility-card.is-supported {
    background: #fff;
}

.gp-home-eligibility-card.is-not {
    background: #fff8f4;
    border-color: rgba(255, 133, 0, .24);
}

.gp-home-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.gp-home-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 12px;
    border-radius: 999px;
    background: #f7fbff;
    border: 1px solid rgba(0, 79, 159, .12);
    color: var(--gp-muted);
    font-size: 13px;
    font-weight: 800;
}

.gp-home-eligibility-card.is-not .gp-home-tag {
    background: #fff;
    border-color: rgba(255, 133, 0, .26);
}

.gp-home-use-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gp-home-use-card {
    padding: 26px;
    background: #fff;
}

.gp-home-use-card p {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.6;
}

.gp-home-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    gap: 26px;
    align-items: start;
}

.gp-home-faq-list {
    display: grid;
    gap: 10px;
}

.gp-home-faq {
    border: 1px solid var(--gp-line);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.gp-home-faq summary {
    min-height: 60px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    color: var(--gp-text);
    font-weight: 900;
    font-size: 15px;
    list-style: none;
}

.gp-home-faq summary::-webkit-details-marker {
    display: none;
}

.gp-home-faq summary::after {
    content: "+";
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--gp-blue-soft);
    color: var(--gp-blue);
    font-weight: 900;
}

.gp-home-faq[open] summary::after {
    content: "−";
    background: var(--gp-orange);
    color: #111;
}

.gp-home-faq-answer {
    padding: 0 18px 16px;
}

.gp-home-faq-answer p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.55;
}

.gp-home-final {
    padding: 78px 0;
}

.gp-home-final-box {
    position: relative;
    overflow: hidden;
    padding: clamp(34px, 6vw, 64px);
    border-radius: 34px;
    background:
        radial-gradient(circle at 86% 14%, rgba(255, 133, 0, .36), transparent 14rem),
        linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
    color: #fff;
    text-align: center;
    box-shadow: 0 24px 60px rgba(0, 79, 159, .20);
}

.gp-home-final-box h2 {
    color: #fff;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.gp-home-final-box p {
    color: rgba(255,255,255,.86);
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.gp-home-final-box .gp-home-actions {
    justify-content: center;
    margin-top: 24px;
}

.gp-home-final-icon {
    width: 76px;
    height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    border-radius: 24px;
    background: rgba(255,255,255,.14);
}

.gp-home-final-icon img {
    width: 46px;
    height: 46px;
    object-fit: contain;
}


/* GP FIX: center trust bar icons inside blue containers */
.gp-home-trust-item .gp-home-icon-blue {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.gp-home-trust-item .gp-home-icon-blue img {
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    max-width: 27px !important;
    max-height: 27px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    transform: translate(2px, 2px);
}

@media(max-width: 1080px) {
    .gp-home-hero-grid,
    .gp-home-neutral-grid,
    .gp-home-mini-grid,
    .gp-home-faq-grid {
        grid-template-columns: 1fr;
    }

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

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

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

@media(max-width: 760px) {
    .gp-home-container {
        width: min(100% - 24px, 1180px);
    }

    .gp-home-section {
        padding: 52px 0;
    }

    .gp-home-hero {
        padding: 34px 0 28px;
    }

    .gp-home-hero-copy {
        padding: 12px 0;
    }

    .gp-home-page h1 {
        font-size: clamp(34px, 11vw, 46px);
        line-height: 1.02;
    }

    .gp-home-page h2 {
        font-size: clamp(28px, 8vw, 36px);
    }

    .gp-home-lead {
        font-size: 17px !important;
    }

    .gp-home-actions,
    .gp-home-final-box .gp-home-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .gp-home-btn {
        width: 100%;
    }

    .gp-home-hero-visual {
        min-height: auto;
        padding: 16px;
        border-radius: 24px;
    }

    .gp-home-flow {
        min-height: auto;
    }

    .gp-home-flow-card {
        padding: 15px;
    }

    .gp-home-flow-card.is-center {
        transform: none;
    }

    .gp-home-section-head {
        display: block;
    }

    .gp-home-section-head p {
        margin-top: 10px;
    }

    .gp-home-split,
    .gp-home-role-grid,
    .gp-home-eligibility,
    .gp-home-use-grid,
    .gp-home-category-grid,
    .gp-home-trust-grid,
    .gp-home-process {
        grid-template-columns: 1fr;
    }

    .gp-home-step {
        min-height: auto;
    }

    .gp-home-card,
    .gp-home-category-card,
    .gp-home-final-box {
        border-radius: 22px;
    }

    .gp-home-column-card,
    .gp-home-info-card,
    .gp-home-blue-card,
    .gp-home-pricing-card,
    .gp-home-arbitration,
    .gp-home-eligibility-card,
    .gp-home-use-card,
    .gp-home-role-card {
        padding: 22px;
    }

    .gp-home-role-card {
        grid-template-columns: 1fr;
    }

    .gp-home-faq summary {
        min-height: 54px;
        padding: 0 14px;
        font-size: 14px;
    }

    .gp-home-faq-answer {
        padding: 0 14px 14px;
    }
}

/* GP STEP 2B: carousel UI for extra tiles, no native scrollbar */
.gp-home-trust-grid,
.gp-home-category-grid,
.gp-home-process,
.gp-home-use-grid {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.gp-home-trust-grid::-webkit-scrollbar,
.gp-home-category-grid::-webkit-scrollbar,
.gp-home-process::-webkit-scrollbar,
.gp-home-use-grid::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.gp-home-trust-grid {
    display: flex !important;
    grid-template-columns: none !important;
    width: min(1180px, calc(100% - 32px));
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 14px;
    padding: 2px 2px 16px;
}

.gp-home-trust-item {
    flex: 0 0 calc((100% - 42px) / 4);
    min-width: 260px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

/* Choose your deal type: exactly 2 rows and 3 columns per scroll page */
.gp-home-category-grid {
    display: grid !important;
    grid-template-columns: none !important;
    grid-template-rows: repeat(2, minmax(224px, auto)) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - 36px) / 3) !important;
    gap: 18px !important;
    padding: 2px 2px 18px;
    margin: 0 !important;
}

.gp-home-category-card {
    width: auto !important;
    min-width: 0 !important;
    height: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.gp-home-category-card:nth-child(odd) {
    background:
        radial-gradient(circle at 90% 10%, rgba(255, 133, 0, .12), transparent 7rem),
        #fff;
}

.gp-home-category-card:nth-child(even) {
    background:
        radial-gradient(circle at 88% 12%, rgba(0, 79, 159, .10), transparent 7rem),
        #fff;
}

.gp-home-process,
.gp-home-use-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 18px;
    padding: 2px 2px 18px;
    margin: 0;
}

.gp-home-step {
    flex: 0 0 224px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    overflow: hidden;
}

.gp-home-use-card {
    flex: 0 0 360px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.gp-home-step::after {
    right: 14px !important;
    bottom: 10px !important;
    font-size: 82px !important;
    line-height: .9 !important;
    z-index: 0;
}

.gp-home-step-icon {
    position: relative;
    z-index: 1;
}

.gp-home-carousel-controls {
    width: min(1180px, calc(100% - 32px));
    margin: 12px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.gp-home-carousel-controls[hidden] {
    display: none !important;
}

.gp-home-carousel-arrow {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 79, 159, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: var(--gp-blue);
    box-shadow: 0 10px 24px rgba(0, 79, 159, .08);
    cursor: pointer;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}

.gp-home-carousel-arrow:hover {
    transform: translateY(-1px);
    background: var(--gp-orange);
    color: #111;
}

.gp-home-carousel-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 4px;
}

.gp-home-carousel-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 79, 159, .24);
    cursor: pointer;
    transition: width .18s ease, background .18s ease;
}

.gp-home-carousel-dot.is-active {
    width: 26px;
    background: var(--gp-orange);
}

@media(max-width: 1080px) {
    .gp-home-trust-item {
        flex-basis: calc((100% - 14px) / 2);
    }

    .gp-home-category-grid {
        grid-auto-columns: calc((100% - 18px) / 2) !important;
    }
}

@media(max-width: 760px) {
    .gp-home-trust-grid {
        width: min(100% - 24px, 1180px);
    }

    .gp-home-trust-item {
        flex-basis: 82vw;
    }

    .gp-home-category-grid {
        grid-template-rows: none !important;
        grid-auto-columns: 84vw !important;
        grid-auto-flow: column !important;
    }

    .gp-home-step {
        flex-basis: 78vw;
    }

    .gp-home-use-card {
        flex-basis: 84vw;
    }

    .gp-home-carousel-controls {
        width: min(100% - 24px, 1180px);
        margin-top: 8px;
    }

    .gp-home-carousel-arrow {
        width: 34px;
        height: 34px;
        font-size: 20px;
    }
}

/* GP home fees actions spacing */
.gp-home-fees-actions{margin-top:22px}



/* ==========================================================
   Contact Page template styles
   Moved from contact-page.php.
   ========================================================== */

.gp-contact-page{--primary:#05469D;--secondary:#2B99F0;--cta:#FF8A00;--white:#fff;--light:#F7FAFD;--text:#1F2937;--muted:#5B6B82;--border:#DCE7F5;--soft-blue:#EAF5FF;--shadow:0 16px 42px rgba(5,70,157,.12);--small-shadow:0 10px 28px rgba(5,70,157,.06);--block-gap:18px;background:var(--light);color:var(--text);overflow-x:hidden}
.gp-contact-page *{box-sizing:border-box}
.gp-contact-page a{color:inherit;text-decoration:none}
.gp-contact-page h1,.gp-contact-page h2,.gp-contact-page h3,.gp-contact-page .gp-btn,.gp-contact-page .gp-kicker,.gp-contact-page .gp-toc-title{font-family:"Manrope",Arial,sans-serif}
.gp-contact-page .gp-container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.gp-contact-page .gp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border-radius:12px;font-weight:800;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:.2s ease;color:#0B1F3A!important}
.gp-contact-page .gp-btn:hover{transform:translateY(-1px)}
.gp-contact-page .gp-btn-primary{background:var(--cta);box-shadow:0 14px 30px rgba(255,138,0,.22)}
.gp-contact-page .gp-btn-outline{background:#fff;border-color:rgba(5,70,157,.22)}
.gp-contact-page .gp-hero{padding:64px 0 0;background:radial-gradient(circle at 84% 15%,rgba(43,153,240,.24),transparent 34%),linear-gradient(180deg,#fff 0%,#F7FAFD 100%)}
.gp-contact-page .gp-breadcrumb{font-size:14px;color:var(--muted);margin-bottom:26px}
.gp-contact-page .gp-breadcrumb a{color:var(--primary);font-weight:800}
.gp-contact-page .gp-hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--block-gap);align-items:stretch}
.gp-contact-page .gp-hero-panel{display:flex;flex-direction:column;justify-content:center;height:100%;padding:40px;background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--small-shadow)}
.gp-contact-page .gp-badge,.gp-contact-page .gp-kicker{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:8px 14px;border-radius:999px;background:var(--soft-blue);color:var(--primary);font-weight:800;font-size:13px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.04em}
.gp-contact-page .gp-hero h1{margin:0 0 14px;color:var(--text);font-size:clamp(38px,4.6vw,60px);line-height:1.08;letter-spacing:-1.6px}
.gp-contact-page .gp-lead{margin:0;max-width:760px;color:var(--muted);font-size:19px;line-height:1.6}
.gp-contact-page .gp-hero-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.gp-contact-page .gp-emergency{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:28px;border-radius:28px;background:linear-gradient(145deg,var(--primary),#073B82);color:#fff;box-shadow:var(--shadow)}
.gp-contact-page .gp-emergency h2{margin:0 0 12px;color:#fff;font-size:27px;line-height:1.15}
.gp-contact-page .gp-emergency p{margin:0 0 18px;color:rgba(255,255,255,.80);font-size:15px;line-height:1.6}
.gp-contact-page .gp-emergency-note{margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.10);color:rgba(255,255,255,.82);font-size:13px;line-height:1.5}
.gp-contact-page .gp-page-section{padding:18px 0 54px}
.gp-contact-page .content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--block-gap);align-items:start}
.gp-contact-page .span-1{grid-column:span 1}
.gp-contact-page .span-2{grid-column:span 2}
.gp-contact-page .span-3{grid-column:1/-1}
.gp-contact-page .gp-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--small-shadow)}
.gp-contact-page .gp-card.gp-accent{background:linear-gradient(180deg,#fff 0%,#F4FAFF 100%);box-shadow:var(--shadow)}
.gp-contact-page .sticky-card{position:static;top:auto;align-self:auto}
.gp-contact-page h2{margin:0 0 16px;color:var(--text);font-size:clamp(30px,3.6vw,42px);line-height:1.18;letter-spacing:-1px}
.gp-contact-page h3{margin:0 0 10px;color:var(--text);font-size:21px;line-height:1.25}
.gp-contact-page p{color:var(--muted);font-size:17px;line-height:1.75;margin:0 0 18px}
.gp-contact-page p:last-child{margin-bottom:0}
.gp-contact-page .gp-card ul:not(.side-list):not(.gp-safety-list){margin:0 0 18px 22px;padding:0;color:var(--muted);font-size:16px;line-height:1.7}
.gp-contact-page .gp-card li{margin-bottom:8px}
.gp-contact-page .gp-verify-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:20px}
.gp-contact-page .gp-input{width:100%;min-width:0;min-height:52px;padding:0 16px;border:1px solid var(--border);border-radius:14px;background:var(--light);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:15px;outline:none}
.gp-contact-page .gp-input:focus{background:#fff;border-color:var(--secondary)}
.gp-contact-page .gp-verify-result{display:none;margin-top:16px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--light)}
.gp-contact-page .gp-verify-result.is-safe{display:block;background:#ecfdf3;border-color:#abefc6;color:#05603a}
.gp-contact-page .gp-verify-result.is-danger{display:block;background:#fef3f2;border-color:#fecdca;color:#b42318}
.gp-contact-page .gp-verify-result.is-neutral{display:block;background:var(--soft-blue);border-color:#b9e2ff;color:var(--primary)}
.gp-contact-page .gp-verify-title{margin-bottom:6px;font-family:"Manrope",Arial,sans-serif;font-weight:800}
.gp-contact-page .gp-verify-text{font-size:14px;line-height:1.55}
.gp-contact-page .side-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
.gp-contact-page .side-list li{padding:16px;border-radius:16px;background:var(--light);border:1px solid var(--border);color:var(--muted);line-height:1.6;font-size:15px}
.gp-contact-page .side-list strong{color:var(--text)}
.gp-contact-page .side-list a{color:var(--primary);font-weight:800}
.gp-contact-page .side-nav{display:grid;gap:8px;margin-top:10px}
.gp-contact-page .side-nav a{display:block;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--border);color:var(--primary);font-size:13px;line-height:1.3}
.gp-contact-page .gp-safety-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
.gp-contact-page .gp-safety-list li{padding:16px 18px;border:1px solid #ffd7a6;border-radius:16px;background:#fff6e9;color:#704000;font-size:15px;line-height:1.55}
@media(min-width:901px){
  .gp-contact-page .content-grid > aside.sticky-card{position:sticky!important;top:172px!important;align-self:start!important;height:max-content!important;overflow:visible!important;z-index:2}
  body.admin-bar .gp-contact-page .content-grid > aside.sticky-card{top:204px!important}
}
@media(max-width:900px){
  .gp-contact-page .gp-container{width:calc(100% - 20px)}
  .gp-contact-page .gp-hero-grid,.gp-contact-page .content-grid{grid-template-columns:1fr!important}
  .gp-contact-page .content-grid > .span-1,.gp-contact-page .content-grid > .span-2,.gp-contact-page .content-grid > .span-3{grid-column:1/-1!important}
  .gp-contact-page .content-grid > aside.sticky-card{position:static!important;top:auto!important}
  .gp-contact-page .gp-hero{padding:24px 0 0}
  .gp-contact-page .gp-hero-panel,.gp-contact-page .gp-card,.gp-contact-page .gp-emergency{padding:18px;border-radius:18px}
  .gp-contact-page .gp-hero h1{font-size:30px;line-height:1.08;letter-spacing:-.8px}
  .gp-contact-page .gp-lead,.gp-contact-page p{font-size:14px;line-height:1.55}
  .gp-contact-page .gp-verify-form,.gp-contact-page .gp-hero-actions{grid-template-columns:1fr;display:grid}
  .gp-contact-page .gp-btn{width:100%;min-height:44px;padding:12px 14px;font-size:13px}
  .gp-contact-page h2{font-size:24px}
}

/* GP CONTACT V6: same sticky sidebar architecture as service-page.php */
@media(min-width:901px){
  .gp-contact-page,
  .gp-contact-page .gp-page-section,
  .gp-contact-page .gp-container.content-grid{
    overflow:visible!important;
  }

  .gp-contact-page .content-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:var(--block-gap)!important;
    align-items:start!important;
  }

  .gp-contact-page .content-grid > .span-2{
    grid-column:span 2!important;
  }

  .gp-contact-page .content-grid > .span-1{
    grid-column:span 1!important;
  }

  .gp-contact-page .content-grid > aside.sticky-card{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:172px!important;
    align-self:start!important;
    height:max-content!important;
    overflow:visible!important;
    z-index:2!important;
  }

  body.admin-bar .gp-contact-page .content-grid > aside.sticky-card{
    top:204px!important;
  }
}

@media(max-width:900px){
  .gp-contact-page .content-grid{
    grid-template-columns:1fr!important;
  }

  .gp-contact-page .content-grid > .span-1,
  .gp-contact-page .content-grid > .span-2,
  .gp-contact-page .content-grid > .span-3{
    grid-column:1/-1!important;
  }

  .gp-contact-page .content-grid > aside.sticky-card{
    position:static!important;
    top:auto!important;
  }
}

.gp-contact-page .sticky-card .side-list li{
  background:#FFF6E9!important;
  border-color:#FFD7A6!important;
  color:#704000!important;
}

.gp-contact-page .sticky-card .side-list li strong{
  color:#B75F00!important;
}


/* GP CONTACT V7: simplified sidebar */
.gp-contact-page .sticky-card .side-list li{
  background:#F7FAFD!important;
  border-color:#DCE7F5!important;
  color:#5B6B82!important;
}

.gp-contact-page .sticky-card .side-list li strong{
  display:block!important;
  margin-bottom:4px!important;
  color:#1F2937!important;
}

.gp-contact-page .side-nav-simple{
  display:grid!important;
  gap:8px!important;
  margin-top:14px!important;
}

.gp-contact-page .side-nav-simple a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:42px!important;
  padding:10px 14px!important;
  border:1px solid #DCE7F5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#1F2937!important;
  font-family:"Manrope",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-decoration:none!important;
}

.gp-contact-page .side-nav-simple a:hover,
.gp-contact-page .side-nav-simple a:focus{
  background:#EAF5FF!important;
  color:#05469D!important;
  border-color:#B9E2FF!important;
}


/* GP CONTACT V8 */
.gp-contact-page .gp-content-grid,
.gp-contact-page .content-grid{
  row-gap:12px!important;
}

.gp-contact-page aside.sticky-card{
  padding:22px!important;
}

.gp-contact-page aside.sticky-card .side-list{
  margin-top:12px!important;
  gap:8px!important;
}

.gp-contact-page aside.sticky-card .side-list li{
  padding:12px!important;
  font-size:14px!important;
  line-height:1.45!important;
}

.gp-contact-page .gp-contact-nav-card{
  padding:18px!important;
}

.gp-contact-page .gp-contact-nav-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}

.gp-contact-page .gp-contact-nav-grid a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:42px!important;
  padding:10px 14px!important;
  border:1px solid #DCE7F5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#1F2937!important;
  font-family:"Manrope",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-decoration:none!important;
}

.gp-contact-page .gp-contact-nav-grid a:hover{
  background:#EAF5FF!important;
  color:#05469D!important;
  border-color:#B9E2FF!important;
}

@media(max-width:700px){
  .gp-contact-page .gp-contact-nav-grid{
    grid-template-columns:1fr!important;
  }
}


/* GP CONTACT V10: remove left-column gap caused by sidebar height */
@media(min-width:901px){
  .gp-contact-page .content-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:start!important;
  }

  .gp-contact-page .content-grid > aside.sticky-card{
    grid-column:3!important;
    grid-row:1 / span 50!important;
    align-self:start!important;
  }

  .gp-contact-page .content-grid > .span-2{
    grid-column:1 / span 2!important;
  }

  .gp-contact-page .gp-contact-nav-card{
    margin-top:0!important;
  }
}


/* GP CONTACT V11: stable 66/33 layout without grid holes */
.gp-contact-page .gp-contact-layout-v11{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(300px,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}

.gp-contact-page .gp-contact-left-v11{
  display:grid!important;
  gap:12px!important;
  min-width:0!important;
}

.gp-contact-page .gp-contact-right-v11{
  min-width:0!important;
}

.gp-contact-page .gp-contact-right-v11 .sticky-card{
  position:sticky!important;
  top:172px!important;
  align-self:start!important;
}

body.admin-bar .gp-contact-page .gp-contact-right-v11 .sticky-card{
  top:204px!important;
}

@media(max-width:900px){
  .gp-contact-page .gp-contact-layout-v11{
    grid-template-columns:1fr!important;
  }
  .gp-contact-page .gp-contact-right-v11 .sticky-card{
    position:static!important;
    top:auto!important;
  }
}


/* GP CONTACT V12: nav and safety full 66% column */
.gp-contact-page .gp-contact-left-v11 > .gp-card,
.gp-contact-page .gp-contact-left-v11 > .gp-contact-nav-card,
.gp-contact-page .gp-contact-left-v11 > article.gp-card,
.gp-contact-page .gp-contact-left-v11 > nav.gp-card{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  grid-column:1/-1!important;
}

.gp-contact-page .gp-contact-nav-card,
.gp-contact-page .gp-safety-card-v12{
  width:100%!important;
  max-width:none!important;
}

.gp-contact-page .gp-contact-nav-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

@media(max-width:700px){
  .gp-contact-page .gp-contact-nav-grid{
    grid-template-columns:1fr!important;
  }
}


/* GP CONTACT V13: sticky sidebar works on the grid item itself */
@media(min-width:901px){
  .gp-contact-page,
  .gp-contact-page .gp-page-section,
  .gp-contact-page .gp-contact-layout-v11{
    overflow:visible!important;
  }

  .gp-contact-page .gp-contact-layout-v11{
    align-items:start!important;
  }

  .gp-contact-page .gp-contact-right-v11{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:172px!important;
    align-self:start!important;
    height:max-content!important;
    overflow:visible!important;
    z-index:2!important;
  }

  body.admin-bar .gp-contact-page .gp-contact-right-v11{
    top:204px!important;
  }

  .gp-contact-page .gp-contact-right-v11 .sticky-card{
    position:static!important;
    top:auto!important;
    align-self:auto!important;
  }
}

@media(max-width:900px){
  .gp-contact-page .gp-contact-right-v11{
    position:static!important;
    top:auto!important;
  }
}

/* GP CONTACT V14: align hero spacing with service-page.php */
.gp-contact-page .gp-hero-panel{
  padding:24px!important;
}

.gp-contact-page .gp-badge,
.gp-contact-page .gp-kicker{
  margin:8px 0 14px!important;
}

.gp-contact-page .gp-hero h1{
  font-size:clamp(28px,3.2vw,38px)!important;
  line-height:1.12!important;
  letter-spacing:-1px!important;
}

.gp-contact-page .gp-lead{
  max-width:720px!important;
  font-size:16px!important;
  line-height:1.55!important;
}

.gp-contact-page .gp-hero-actions{
  margin-top:16px!important;
}

.gp-contact-page .gp-emergency{
  padding:24px!important;
}

.gp-contact-page .gp-emergency h2{
  font-size:24px!important;
  line-height:1.15!important;
}

@media(max-width:900px){
  .gp-contact-page .gp-hero-panel,
  .gp-contact-page .gp-emergency{
    padding:18px!important;
  }
}


/* ==========================================================
   GP BLOG INDEX + TAG ARCHIVE
   Extracted from home.php and tag.php templates.
   ========================================================== */
.gp-blog-index {
    --gp-blue: #004f9f;
    --gp-blue-dark: #073b7a;
    --gp-blue-soft: #eaf4ff;
    --gp-orange: #ff8500;
    --gp-orange-soft: #fff3df;
    --gp-text: #102033;
    --gp-muted: #5f7189;
    --gp-line: rgba(0, 79, 159, .16);
    --gp-shadow: 0 16px 42px rgba(0, 79, 159, .10);
    background: linear-gradient(180deg, #f6fbff 0%, #eef6ff 48%, #f9fcff 100%);
    color: var(--gp-text);
    font-family: "Manrope", Arial, sans-serif;
    overflow: hidden;
}
.gp-blog-index * { box-sizing: border-box; }
.gp-blog-index a { color: inherit; text-decoration: none; }
.gp-blog-wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.gp-blog-hero { padding: 54px 0 34px; }
.gp-blog-breadcrumbs {
    display: flex; align-items: center; gap: 7px; margin: 0 0 18px;
    color: var(--gp-muted); font-size: 12px; font-weight: 800;
}
.gp-blog-breadcrumbs a { color: var(--gp-blue); }
.gp-blog-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 18px; align-items: stretch; }
.gp-blog-hero-main,
.gp-blog-hero-side,
.gp-blog-filter,
.gp-blog-card,
.gp-blog-subscribe,
.gp-blog-email-box {
    border: 1px solid var(--gp-line);
    border-radius: 22px;
    box-shadow: var(--gp-shadow);
}
.gp-blog-hero-main { padding: clamp(28px, 5vw, 48px); background: #fff; }
.gp-blog-kicker {
    display: inline-flex; align-items: center; margin: 0 0 10px;
    color: var(--gp-blue); font-size: 11px; font-weight: 900;
    letter-spacing: .055em; text-transform: uppercase;
}
.gp-blog-hero-main h1 {
    max-width: 760px; margin: 0 0 18px; color: var(--gp-text);
    font-size: clamp(40px, 5vw, 62px); line-height: .98; letter-spacing: -.06em;
}
.gp-blog-hero-main p {
    max-width: 770px; margin: 0; color: var(--gp-muted);
    font-size: 17px; line-height: 1.72;
}
.gp-blog-hero-side {
    display: flex; flex-direction: column; justify-content: space-between; min-height: 260px;
    padding: 28px;
    background: radial-gradient(circle at 92% 12%, rgba(255, 133, 0, .22), transparent 10rem), linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
    color: #fff;
}
.gp-blog-hero-side h2 { margin: 0 0 10px; color: #fff; font-size: 28px; line-height: 1.05; letter-spacing: -.04em; }
.gp-blog-hero-side p { margin: 0 0 22px; color: rgba(255,255,255,.86); font-size: 14px; line-height: 1.58; }
.gp-blog-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 0 18px; border-radius: 12px; border: 0;
    background: var(--gp-orange); color: #111 !important;
    font-size: 13px; font-weight: 900; line-height: 1; cursor: pointer;
}
.gp-blog-filter-section { padding: 0 0 34px; }
.gp-blog-filter { padding: 18px; background: rgba(255,255,255,.94); }
.gp-blog-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-bottom: 12px; }
.gp-blog-search input {
    width: 100%; min-height: 42px; padding: 0 14px;
    border: 1px solid rgba(0,79,159,.20); border-radius: 12px;
    background: #f9fcff; color: var(--gp-text); font-size: 14px; outline: none;
}
.gp-blog-search input:focus { border-color: rgba(0,79,159,.55); background: #fff; }
.gp-blog-search button {
    min-height: 42px; padding: 0 16px; border: 0; border-radius: 12px;
    background: var(--gp-orange); color: #111 !important; font-size: 13px; font-weight: 900; cursor: pointer;
}
.gp-blog-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.gp-blog-tag {
    display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px;
    border: 1px solid rgba(0,79,159,.18); border-radius: 999px;
    background: #fff; color: var(--gp-blue); font-size: 12px; font-weight: 900;
}
.gp-blog-posts { padding: 0 0 70px; }
.gp-blog-section-head { margin-bottom: 22px; }
.gp-blog-section-kicker {
    margin: 0 0 6px; color: var(--gp-blue); font-size: 11px;
    font-weight: 900; letter-spacing: .055em; text-transform: uppercase;
}
.gp-blog-section-head h2 {
    margin: 0 0 8px; color: var(--gp-text); font-size: clamp(34px, 4vw, 48px);
    line-height: 1.05; letter-spacing: -.05em;
}
.gp-blog-section-head p {
    max-width: 620px; margin: 0; color: var(--gp-muted);
    font-size: 15px; line-height: 1.6;
}
.gp-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gp-blog-card {
    display: flex; flex-direction: column; overflow: hidden; min-height: 100%;
    background: #fff; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.gp-blog-card:hover {
    transform: translateY(-2px); border-color: rgba(255,133,0,.52); box-shadow: 0 22px 52px rgba(0,79,159,.14);
}
.gp-blog-card.is-hidden-by-load-more { display: none; }
.gp-blog-card-media {
    position: relative; display: block; width: 100%; aspect-ratio: 1 / 1;
    background: #dff0ff; border-bottom: 1px solid rgba(0,79,159,.12); overflow: hidden;
}
.gp-blog-card-media::before {
    content: ""; position: absolute; inset: 20px; border: 2px dashed rgba(0,79,159,.22); border-radius: 14px; pointer-events: none;
}
.gp-blog-card-media img {
    position: relative; z-index: 2; display: block; width: 100%; height: 100%; object-fit: cover;
}
.gp-blog-card-media img + .gp-blog-card-icon { display: none; }
.gp-blog-card-icon {
    position: absolute; left: 20px; bottom: 20px; z-index: 1; width: 48px; height: 48px;
    display: inline-flex; align-items: center; justify-content: center; border-radius: 15px;
    background: linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark)); box-shadow: 0 12px 26px rgba(0,79,159,.22);
}
.gp-blog-card-icon img { width: 27px; height: 27px; object-fit: contain; }
.gp-blog-card-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px; }
.gp-blog-card-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.gp-blog-card-meta span {
    display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px;
    background: var(--gp-blue-soft); color: var(--gp-blue); font-size: 10px; font-weight: 900;
}
.gp-blog-card-meta time { color: var(--gp-muted); font-size: 11px; font-weight: 800; }
.gp-blog-card h3 {
    min-height: 48px; margin: 0 0 10px; color: var(--gp-text); font-size: 20px;
    line-height: 1.18; letter-spacing: -.025em; display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}
.gp-blog-card p {
    min-height: 66px; margin: 0 0 16px; color: var(--gp-muted); font-size: 14px; line-height: 1.58;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.gp-blog-card-link { margin-top: auto; color: var(--gp-blue); font-size: 13px; font-weight: 900; }
.gp-blog-load-more-wrap { display: flex; justify-content: center; margin: 28px 0 0; }
.gp-blog-load-more {
    min-height: 48px; padding: 0 28px; border: 0; border-radius: 14px; background: var(--gp-orange);
    color: #111; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 14px 28px rgba(255,133,0,.22);
    transition: transform .18s ease, box-shadow .18s ease;
}
.gp-blog-load-more:hover { transform: translateY(-1px); box-shadow: 0 18px 34px rgba(255,133,0,.28); }
.gp-blog-load-more[hidden] { display: none !important; }
.gp-blog-bottom { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr); gap: 18px; margin-top: 18px; }
.gp-blog-subscribe {
    padding: 28px;
    background: radial-gradient(circle at 94% 10%, rgba(255,133,0,.22), transparent 12rem), linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
    color: #fff;
}
.gp-blog-subscribe h2 { margin: 0 0 10px; color: #fff; font-size: 30px; line-height: 1.08; letter-spacing: -.035em; }
.gp-blog-subscribe p { max-width: 650px; margin: 0; color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.6; }
.gp-blog-email-box { padding: 18px; background: #fff; }
.gp-blog-email-box input {
    width: 100%; min-height: 42px; margin-bottom: 10px; padding: 0 14px;
    border: 1px solid rgba(0,79,159,.20); border-radius: 12px; background: #f9fcff; color: var(--gp-text); font-size: 14px;
}
.gp-blog-email-box button {
    width: 100%; min-height: 44px; border: 0; border-radius: 12px; background: var(--gp-orange); color: #111;
    font-size: 13px; font-weight: 900; cursor: pointer;
}
.gp-blog-email-box small { display: block; margin-top: 10px; color: var(--gp-muted); font-size: 11px; line-height: 1.4; }
@media(max-width: 980px) {
    .gp-blog-hero-grid, .gp-blog-bottom { grid-template-columns: 1fr; }
    .gp-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 700px) {
    .gp-blog-wrap { width: min(100% - 24px, 1180px); }
    .gp-blog-hero { padding: 34px 0 24px; }
    .gp-blog-hero-main h1 { font-size: clamp(34px, 11vw, 46px); line-height: 1.02; }
    .gp-blog-grid { grid-template-columns: 1fr; }
    .gp-blog-search { grid-template-columns: 1fr; }
    .gp-blog-hero-main, .gp-blog-hero-side, .gp-blog-filter, .gp-blog-card, .gp-blog-subscribe, .gp-blog-email-box { border-radius: 20px; }
}

/* GP TAG ARCHIVE ADDITIONS */
.gp-blog-index {
    --gp-blue: #004f9f;
    --gp-blue-dark: #073b7a;
    --gp-blue-soft: #eaf4ff;
    --gp-orange: #ff8500;
    --gp-text: #102033;
    --gp-muted: #5f7189;
    --gp-line: rgba(0, 79, 159, .16);
    --gp-shadow: 0 16px 42px rgba(0, 79, 159, .10);
    background: linear-gradient(180deg, #f6fbff 0%, #eef6ff 48%, #f9fcff 100%);
    color: var(--gp-text);
    font-family: "Manrope", Arial, sans-serif;
    overflow: hidden;
}
.gp-blog-index * { box-sizing: border-box; }
.gp-blog-index a { color: inherit; text-decoration: none; }
.gp-blog-wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.gp-tag-hero { padding: 54px 0 34px; }
.gp-blog-breadcrumbs {
    display: flex; align-items: center; gap: 7px; margin: 0 0 18px;
    color: var(--gp-muted); font-size: 12px; font-weight: 800;
}
.gp-blog-breadcrumbs a { color: var(--gp-blue); }
.gp-tag-hero-card {
    padding: clamp(28px, 5vw, 48px);
    border: 1px solid var(--gp-line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 92% 12%, rgba(255, 133, 0, .16), transparent 12rem),
        #fff;
    box-shadow: var(--gp-shadow);
}
.gp-blog-kicker {
    display: inline-flex; align-items: center; margin: 0 0 10px;
    color: var(--gp-blue); font-size: 11px; font-weight: 900;
    letter-spacing: .055em; text-transform: uppercase;
}
.gp-tag-hero-card h1 {
    max-width: 840px; margin: 0 0 18px; color: var(--gp-text);
    font-size: clamp(38px, 5vw, 58px); line-height: 1.02; letter-spacing: -.055em;
}
.gp-tag-hero-card p {
    max-width: 760px; margin: 0 0 22px; color: var(--gp-muted);
    font-size: 17px; line-height: 1.7;
}
.gp-blog-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 0 18px; border-radius: 12px; border: 0;
    background: var(--gp-orange); color: #111 !important;
    font-size: 13px; font-weight: 900; line-height: 1; cursor: pointer;
}
.gp-blog-posts { padding: 0 0 70px; }
.gp-blog-section-head { margin-bottom: 22px; }
.gp-blog-section-kicker {
    margin: 0 0 6px; color: var(--gp-blue); font-size: 11px;
    font-weight: 900; letter-spacing: .055em; text-transform: uppercase;
}
.gp-blog-section-head h2 {
    margin: 0 0 8px; color: var(--gp-text); font-size: clamp(32px, 4vw, 44px);
    line-height: 1.05; letter-spacing: -.05em;
}
.gp-blog-section-head p {
    max-width: 620px; margin: 0; color: var(--gp-muted);
    font-size: 15px; line-height: 1.6;
}
.gp-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gp-blog-card {
    display: flex; flex-direction: column; overflow: hidden; min-height: 100%;
    border: 1px solid var(--gp-line); border-radius: 22px; background: #fff; box-shadow: var(--gp-shadow);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.gp-blog-card:hover {
    transform: translateY(-2px); border-color: rgba(255,133,0,.52); box-shadow: 0 22px 52px rgba(0,79,159,.14);
}
.gp-blog-card.is-hidden-by-load-more { display: none; }
.gp-blog-card-media {
    position: relative; display: block; width: 100%; aspect-ratio: 1 / 1;
    background: #dff0ff; border-bottom: 1px solid rgba(0,79,159,.12); overflow: hidden;
}
.gp-blog-card-media::before {
    content: ""; position: absolute; inset: 20px; border: 2px dashed rgba(0,79,159,.22); border-radius: 14px; pointer-events: none;
}
.gp-blog-card-media img {
    position: relative; z-index: 2; display: block; width: 100%; height: 100%; object-fit: cover;
}
.gp-blog-card-media img + .gp-blog-card-icon { display: none; }
.gp-blog-card-icon {
    position: absolute; left: 20px; bottom: 20px; z-index: 1; width: 48px; height: 48px;
    display: inline-flex; align-items: center; justify-content: center; border-radius: 15px;
    background: linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark)); box-shadow: 0 12px 26px rgba(0,79,159,.22);
}
.gp-blog-card-icon img { width: 27px; height: 27px; object-fit: contain; }
.gp-blog-card-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px; }
.gp-blog-card-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.gp-blog-card-meta span {
    display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px;
    background: var(--gp-blue-soft); color: var(--gp-blue); font-size: 10px; font-weight: 900;
}
.gp-blog-card-meta time { color: var(--gp-muted); font-size: 11px; font-weight: 800; }
.gp-blog-card h3 {
    min-height: 48px; margin: 0 0 10px; color: var(--gp-text); font-size: 20px;
    line-height: 1.18; letter-spacing: -.025em; display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}
.gp-blog-card p {
    min-height: 66px; margin: 0 0 16px; color: var(--gp-muted); font-size: 14px; line-height: 1.58;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.gp-blog-card-link { margin-top: auto; color: var(--gp-blue); font-size: 13px; font-weight: 900; }
.gp-blog-load-more-wrap { display: flex; justify-content: center; margin: 28px 0 0; }
.gp-blog-load-more {
    min-height: 48px; padding: 0 28px; border: 0; border-radius: 14px; background: var(--gp-orange);
    color: #111; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 14px 28px rgba(255,133,0,.22);
}
.gp-blog-load-more[hidden] { display: none !important; }
.gp-blog-bottom { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr); gap: 18px; margin-top: 18px; }
.gp-blog-subscribe {
    padding: 28px; border: 1px solid var(--gp-line); border-radius: 22px; box-shadow: var(--gp-shadow);
    background: radial-gradient(circle at 94% 10%, rgba(255,133,0,.22), transparent 12rem), linear-gradient(135deg, var(--gp-blue), var(--gp-blue-dark));
    color: #fff;
}
.gp-blog-subscribe h2 { margin: 0 0 10px; color: #fff; font-size: 30px; line-height: 1.08; letter-spacing: -.035em; }
.gp-blog-subscribe p { max-width: 650px; margin: 0; color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.6; }
.gp-blog-email-box {
    padding: 18px; border: 1px solid var(--gp-line); border-radius: 22px; background: #fff; box-shadow: var(--gp-shadow);
}
.gp-blog-email-box input {
    width: 100%; min-height: 42px; margin-bottom: 10px; padding: 0 14px;
    border: 1px solid rgba(0,79,159,.20); border-radius: 12px; background: #f9fcff; color: var(--gp-text); font-size: 14px;
}
.gp-blog-email-box button {
    width: 100%; min-height: 44px; border: 0; border-radius: 12px; background: var(--gp-orange); color: #111;
    font-size: 13px; font-weight: 900; cursor: pointer;
}
.gp-blog-email-box small { display: block; margin-top: 10px; color: var(--gp-muted); font-size: 11px; line-height: 1.4; }
@media(max-width: 980px) {
    .gp-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gp-blog-bottom { grid-template-columns: 1fr; }
}
@media(max-width: 700px) {
    .gp-blog-wrap { width: min(100% - 24px, 1180px); }
    .gp-tag-hero { padding: 34px 0 24px; }
    .gp-tag-hero-card h1 { font-size: clamp(34px, 11vw, 46px); line-height: 1.02; }
    .gp-blog-grid { grid-template-columns: 1fr; }
    .gp-tag-hero-card, .gp-blog-card, .gp-blog-subscribe, .gp-blog-email-box { border-radius: 20px; }
}


/* ==========================================================
   GP TEMPLATE SPACING STANDARD V17
   Unified top spacing and breadcrumbs for public templates.
   Service, Contact, Blog, Tag archive and Single Post use
   different class names, so this block normalizes spacing
   without changing the PHP templates.
   ========================================================== */
:root{
  --gp-template-top-gap:28px;
  --gp-template-breadcrumb-gap:18px;
  --gp-template-breadcrumb-font-size:14px;
  --gp-template-breadcrumb-line-height:1.4;
  --gp-template-bottom-gap:54px;
}

.gp-service-approved .hero,
.gp-contact-page .gp-hero,
.gp-blog-index .gp-blog-hero,
.gp-blog-index .gp-tag-hero,
.gp-article-page .gp-article-hero{
  padding-top:var(--gp-template-top-gap)!important;
}

.gp-service-approved .breadcrumb,
.gp-contact-page .gp-breadcrumb,
.gp-blog-index .gp-blog-breadcrumbs,
.gp-article-page .gp-article-breadcrumbs{
  margin-top:0!important;
  margin-bottom:var(--gp-template-breadcrumb-gap)!important;
  font-size:var(--gp-template-breadcrumb-font-size)!important;
  line-height:var(--gp-template-breadcrumb-line-height)!important;
}

@media(max-width:760px){
  :root{
    --gp-template-top-gap:16px;
    --gp-template-breadcrumb-gap:12px;
    --gp-template-breadcrumb-font-size:13px;
    --gp-template-bottom-gap:34px;
  }
}


/* ==========================================================
   Step 24: Technical Page and 404 externalized template styles
   ========================================================== */

.gp-tech-page{padding:var(--gp-template-top-gap) 0 var(--gp-template-bottom-gap);background:radial-gradient(circle at 88% 0%,rgba(43,153,240,.18),transparent 34%),linear-gradient(180deg,#fff 0%,#f7fafd 100%)}
.gp-tech-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.gp-tech-breadcrumb{margin-top:0;margin-bottom:var(--gp-template-breadcrumb-gap);color:#5b6b82;font-size:var(--gp-template-breadcrumb-font-size);line-height:var(--gp-template-breadcrumb-line-height)}
.gp-tech-breadcrumb a{color:#05469d;font-weight:800;text-decoration:none}
.gp-tech-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}
.gp-tech-main{background:#fff;border:1px solid #dce7f5;border-radius:26px;padding:44px;box-shadow:0 10px 28px rgba(5,70,157,.06)}
.gp-tech-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:9px 14px;border-radius:999px;background:#eaf5ff;color:#05469d;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.gp-tech-main h1{margin:0 0 18px;color:#1f2937;font-size:clamp(38px,4.8vw,58px);line-height:1.08;letter-spacing:-1.5px}
.gp-tech-updated{margin-bottom:30px;color:#5b6b82;font-size:15px}
.gp-tech-content h2{margin:34px 0 12px;color:#1f2937;font-size:26px;line-height:1.2;letter-spacing:-.4px}
.gp-tech-content p{margin:0 0 18px;color:#5b6b82;font-size:17px;line-height:1.75}
.gp-tech-content ul{margin:0 0 20px 20px;padding:0;color:#5b6b82;font-size:17px;line-height:1.75}
.gp-tech-note{margin-top:18px;color:#5b6b82;font-size:14px;line-height:1.65}
@media(max-width:1100px){.gp-tech-layout{grid-template-columns:1fr}.gp-tech-side{position:static!important;order:-1}}
@media(max-width:640px){.gp-tech-page{padding:var(--gp-template-top-gap) 0 var(--gp-template-bottom-gap)}.gp-tech-main{padding:26px}.gp-tech-main h1{font-size:36px;letter-spacing:-1px}.gp-tech-content h2{font-size:24px}}

.gp-404-page {
    background: #f7fafd;
    color: #1f2937;
}

.gp-404-wrap {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.gp-404-hero {
    padding: 44px 0 28px;
    background:
        radial-gradient(circle at 86% 6%, rgba(43, 153, 240, .22), transparent 34%),
        linear-gradient(180deg, #fff 0%, #f7fafd 100%);
}

.gp-404-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr);
    gap: 18px;
    align-items: stretch;
}

.gp-404-hero-panel,
.gp-404-card {
    background: #fff;
    border: 1px solid #dce7f5;
    border-radius: 28px;
    box-shadow: 0 10px 28px rgba(5, 70, 157, .06);
}

.gp-404-hero-panel {
    padding: 44px;
}

.gp-404-code {
    display: inline-flex;
    align-items: center;
    margin-bottom: 14px;
    padding: 8px 13px;
    border-radius: 999px;
    background: #eaf5ff;
    color: #05469d;
    font-weight: 800;
}

.gp-404-kicker {
    margin-bottom: 14px;
    color: #2b99f0;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gp-404-page h1,
.gp-404-page h2,
.gp-404-page h3,
.gp-404-kicker,
.gp-404-code,
.gp-404-btn,
.gp-404-result-title {
    font-family: Manrope, Inter, Arial, sans-serif;
}

.gp-404-page h1 {
    margin: 0;
    color: #1f2937;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.08;
    letter-spacing: -1.8px;
}

.gp-404-lead {
    max-width: 760px;
    margin: 22px 0 0;
    color: #5b6b82;
    font-size: 20px;
    line-height: 1.65;
}

.gp-404-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.gp-404-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 24px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: .2s ease;
}

.gp-404-btn:hover {
    transform: translateY(-1px);
}

.gp-404-btn-primary {
    background: #ff8a00;
    color: #fff;
    box-shadow: 0 14px 30px rgba(255, 138, 0, .22);
}

.gp-404-btn-outline {
    background: #fff;
    color: #05469d;
    border-color: rgba(5, 70, 157, .22);
}

.gp-404-urgent {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
    border-radius: 28px;
    background: linear-gradient(145deg, #05469d, #073b82);
    color: #fff;
    box-shadow: 0 16px 42px rgba(5, 70, 157, .12);
}

.gp-404-urgent h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 28px;
    line-height: 1.15;
}

.gp-404-urgent p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .80);
    font-size: 15px;
    line-height: 1.65;
}

.gp-404-urgent-note {
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    background: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    line-height: 1.55;
}

.gp-404-section {
    padding: 18px 0 70px;
}

.gp-404-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.gp-404-span-2 {
    grid-column: span 2;
}

.gp-404-span-3 {
    grid-column: 1 / -1;
}

.gp-404-card {
    height: 100%;
    padding: 30px;
}

.gp-404-card h2 {
    margin: 0 0 14px;
    color: #1f2937;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.18;
    letter-spacing: -.8px;
}

.gp-404-card h3 {
    margin: 0 0 10px;
    color: #1f2937;
    font-size: 21px;
    line-height: 1.25;
}

.gp-404-card p {
    margin: 0 0 18px;
    color: #5b6b82;
    font-size: 16px;
    line-height: 1.75;
}

.gp-404-card p:last-child {
    margin-bottom: 0;
}

.gp-404-search-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 20px;
}

.gp-404-search-box {
    display: flex;
    flex-direction: column;
    min-height: 208px;
    padding: 22px;
    border: 1px solid #dce7f5;
    border-radius: 20px;
    background: #f7fafd;
}

.gp-404-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin-top: auto;
    padding-top: 14px;
}

.gp-404-input {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid #dce7f5;
    border-radius: 14px;
    background: #fff;
    color: #1f2937;
    font-family: Inter, Arial, sans-serif;
    font-size: 15px;
    outline: none;
}

.gp-404-input:focus {
    border-color: #2b99f0;
}

.gp-404-result {
    display: none;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid #dce7f5;
    border-radius: 16px;
    background: #fff;
}

.gp-404-result.is-show {
    display: block;
}

.gp-404-result-title {
    margin-bottom: 6px;
    color: #05469d;
    font-weight: 800;
}

.gp-404-result-text {
    color: #5b6b82;
    font-size: 14px;
    line-height: 1.55;
}

.gp-404-result-text a {
    color: #05469d;
    font-weight: 800;
}

.gp-404-quick-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.gp-404-quick-link {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px;
    border: 1px solid #dce7f5;
    border-radius: 18px;
    background: #f7fafd;
    color: inherit;
    text-decoration: none;
}

.gp-404-quick-link b {
    color: #1f2937;
}

.gp-404-quick-link span {
    color: #5b6b82;
    font-size: 14px;
    line-height: 1.45;
}

.gp-404-quick-link:hover {
    background: #eaf5ff;
    border-color: #b9e2ff;
    color: #05469d;
}

.gp-404-safety-list {
    display: grid;
    gap: 12px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.gp-404-safety-list li {
    padding: 16px 18px;
    border: 1px solid #ffd7a6;
    border-radius: 16px;
    background: #fff6e9;
    color: #704000;
    font-size: 15px;
    line-height: 1.55;
}

.gp-404-safety-list strong {
    color: #4e2d00;
}

.gp-404-contact-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    height: calc(100% - 82px);
    margin-top: 18px;
}

.gp-404-contact-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px;
    border: 1px solid #dce7f5;
    border-radius: 18px;
    background: #f7fafd;
}

.gp-404-contact-card b {
    display: block;
    margin-bottom: 8px;
    color: #1f2937;
}

.gp-404-contact-card span {
    color: #5b6b82;
    font-size: 14px;
    line-height: 1.55;
}

.gp-404-contact-card a {
    display: inline-flex;
    margin-top: 12px;
    color: #05469d;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 1100px) {
    .gp-404-hero-grid,
    .gp-404-search-grid {
        grid-template-columns: 1fr;
    }

    .gp-404-grid {
        grid-template-columns: 1fr 1fr;
    }

    .gp-404-span-2,
    .gp-404-span-3 {
        grid-column: 1 / -1;
    }

    .gp-404-quick-links {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .gp-404-hero {
        padding: 30px 0 20px;
    }

    .gp-404-hero-panel,
    .gp-404-card,
    .gp-404-urgent {
        padding: 24px;
    }

    .gp-404-page h1 {
        font-size: 38px;
        letter-spacing: -1px;
    }

    .gp-404-lead {
        font-size: 17px;
    }

    .gp-404-grid,
    .gp-404-quick-links {
        grid-template-columns: 1fr;
    }

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

/* ==========================================================
   GP TECH PAGE SPACING FIX V26
   Put vertical spacing on the inner wrapper so it cannot be
   visually lost between header, content card and footer.
   ========================================================== */
body.page-template-technical-page .gp-tech-page{
  padding-top:0!important;
  padding-bottom:0!important;
}

body.page-template-technical-page .gp-tech-page > .gp-tech-wrap{
  padding-top:var(--gp-template-top-gap)!important;
  padding-bottom:var(--gp-template-bottom-gap)!important;
}

body.page-template-technical-page .gp-tech-breadcrumb{
  margin-top:0!important;
  margin-bottom:var(--gp-template-breadcrumb-gap)!important;
  font-size:var(--gp-template-breadcrumb-font-size)!important;
  line-height:var(--gp-template-breadcrumb-line-height)!important;
}

@media(max-width:760px){
  body.page-template-technical-page .gp-tech-page > .gp-tech-wrap{
    padding-top:var(--gp-template-top-gap)!important;
    padding-bottom:var(--gp-template-bottom-gap)!important;
  }
}


/* ==========================================================
   GP TECH PAGE EDITOR CONTENT V29
   Technical Page now loads body content from the WordPress editor.
   These rules keep normal editor HTML visually consistent.
   ========================================================== */
.gp-tech-content h3{margin:26px 0 10px;color:#1f2937;font-size:21px;line-height:1.25;letter-spacing:-.2px}
.gp-tech-content h4{margin:22px 0 8px;color:#1f2937;font-size:18px;line-height:1.3}
.gp-tech-content ol{margin:0 0 20px 22px;padding:0;color:#5b6b82;font-size:17px;line-height:1.75}
.gp-tech-content li{margin-bottom:8px}
.gp-tech-content a{color:#05469d;font-weight:800;text-decoration:none}
.gp-tech-content a:hover{text-decoration:underline}
.gp-tech-content blockquote{margin:22px 0;padding:18px 20px;border:1px solid #ffd7a6;border-radius:16px;background:#fff6e9;color:#704000}
.gp-tech-content blockquote p{color:#704000;font-size:15px;line-height:1.65;margin:0}
.gp-tech-content table{width:100%;border-collapse:separate;border-spacing:0;margin:22px 0;border:1px solid #dce7f5;border-radius:16px;overflow:hidden;background:#fff}
.gp-tech-content th,.gp-tech-content td{padding:14px 16px;border-bottom:1px solid #dce7f5;text-align:left;vertical-align:top;color:#1f2937;line-height:1.55}
.gp-tech-content th{background:#eaf5ff;color:#05469d;font-family:"Manrope",Arial,sans-serif;font-weight:800}
.gp-tech-content tr:last-child td{border-bottom:0}
.gp-tech-empty{padding:18px 20px;border:1px dashed #b9d5f3;border-radius:16px;background:#f7fafd;color:#5b6b82;font-size:15px;line-height:1.6}
.gp-tech-side .gp-tech-note{margin-top:16px}

/* Fees table: proper rowspan support with row header cells */
.gp-service-approved .fees-table tr {
  display: table-row !important;
}

.gp-service-approved .fees-table th,
.gp-service-approved .fees-table td {
  display: table-cell !important;
}

.gp-service-approved .fees-table tbody th {
  height: auto !important;
  width: auto !important;
  padding: 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  vertical-align: top !important;
  text-align: left !important;
  line-height: 1.5 !important;
  background: #fff !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
  color: #0B1F3A !important;
}

.gp-service-approved .fees-table tbody td:first-child,
.gp-service-approved .fees-table tbody td:first-child * {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 400 !important;
  color: var(--text) !important;
}

.gp-service-approved .fees-table tbody tr:last-child th {
  border-bottom: 0 !important;
}

@media(max-width:760px) {
  .gp-service-approved .fees-table tbody th {
    padding: 14px 16px !important;
    font-size: 14px !important;
  }
}

/* Fees table: keep fee badges stable in rowspanned rows */
.gp-service-approved .fees-table tbody td .fee-badge,
.gp-service-approved .fees-table tbody td:first-child .fee-badge,
.gp-service-approved .fees-table tbody td:nth-child(1) .fee-badge,
.gp-service-approved .fees-table tbody td:nth-child(2) .fee-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,138,0,.12) !important;
  color: #B75F00 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.gp-service-approved .fees-table tbody th[rowspan] {
  vertical-align: middle !important;
}

/* GP SERVICE PAGE LAYOUT CLEAN V20
   One standard layout for all Service Page templates.
   Main content = about 66%, sidebar = about 33%, gap is real grid space.
   Prevents tables/cards/CTA/FAQ from visually sliding under sidebar.
*/
@media (min-width: 1101px) {
  .gp-service-approved .content-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: 36px !important;
    align-items: start !important;
    overflow: visible !important;
  }

  .gp-service-approved .content-main {
    display: grid !important;
    gap: var(--block-gap) !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .gp-service-approved .content-main > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .gp-service-approved .content-main > .card {
    width: 100% !important;
    overflow: hidden !important;
  }

  .gp-service-approved .content-main .fees-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
  }

  .gp-service-approved .content-sidebar {
    position: sticky !important;
    top: 156px !important;
    align-self: start !important;
    justify-self: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: max-content !important;
    overflow: visible !important;
    z-index: 2 !important;
  }

  .gp-service-approved .content-sidebar > .card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 1100px) {
  .gp-service-approved .content-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .gp-service-approved .content-main,
  .gp-service-approved .content-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .gp-service-approved .content-sidebar {
    position: static !important;
    top: auto !important;
  }
}

/* ==========================================================
   GP POLYLANG HEADER DROPDOWN V21
   Final native Polylang language switcher for header_main menu.
   No custom PHP switcher. No flags.
   Desktop: compact button + hover dropdown.
   Mobile: submenu stays collapsed inside hamburger menu.
   ========================================================== */

.gp-header-main-menu > li {
  position: relative;
}

/* Polylang parent item */
.gp-header-main-menu > .pll-parent-menu-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Invisible hover bridge: prevents dropdown from closing while moving cursor down */
.gp-header-main-menu > .pll-parent-menu-item::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 100% !important;
  height: 12px !important;
  display: block !important;
}

/* Compact current language button */
.gp-header-main-menu > .pll-parent-menu-item > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 62px !important;
  min-height: 40px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(5,70,157,.24) !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #05469D !important;
  box-shadow: 0 10px 24px rgba(5,70,157,.06) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.gp-header-main-menu > .pll-parent-menu-item > a:hover,
.gp-header-main-menu > .pll-parent-menu-item:hover > a,
.gp-header-main-menu > .pll-parent-menu-item:focus-within > a {
  background: #F7FAFD !important;
  border-color: rgba(5,70,157,.42) !important;
}

/* Current language code in parent button */
html[lang^="en"] .gp-header-main-menu > .pll-parent-menu-item > a::before {
  content: "en";
}

html[lang^="uk"] .gp-header-main-menu > .pll-parent-menu-item > a::before {
  content: "uk";
}

html[lang^="ru"] .gp-header-main-menu > .pll-parent-menu-item > a::before {
  content: "ru";
}

.gp-header-main-menu > .pll-parent-menu-item > a::before {
  display: inline-flex;
  color: #05469D;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  text-transform: lowercase;
}

/* Clean CSS chevron instead of rough text arrow */
.gp-header-main-menu > .pll-parent-menu-item > a::after {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  margin-left: 2px !important;
  border-right: 2px solid #05469D !important;
  border-bottom: 2px solid #05469D !important;
  transform: rotate(45deg) translateY(-2px) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transition: transform .16s ease !important;
}

.gp-header-main-menu > .pll-parent-menu-item:hover > a::after,
.gp-header-main-menu > .pll-parent-menu-item:focus-within > a::after {
  transform: rotate(225deg) translate(-1px, -1px) !important;
}

/* Dropdown container */
.gp-header-main-menu .pll-parent-menu-item > .sub-menu {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
  z-index: 10080 !important;
  display: none !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: calc(100vw - 24px) !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 7px !important;
  list-style: none !important;
  border: 1px solid rgba(5,70,157,.14) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(5,70,157,.18) !important;
  backdrop-filter: blur(12px);
}

.gp-header-main-menu .pll-parent-menu-item:hover > .sub-menu,
.gp-header-main-menu .pll-parent-menu-item:focus-within > .sub-menu {
  display: grid !important;
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu li::marker {
  content: "" !important;
}

/* Stable visual order */
.gp-header-main-menu .pll-parent-menu-item > .sub-menu .lang-item-en {
  order: 1 !important;
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu .lang-item-uk {
  order: 2 !important;
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu .lang-item-ru {
  order: 3 !important;
}

/* Dropdown rows */
.gp-header-main-menu .pll-parent-menu-item > .sub-menu a {
  display: flex !important;
  align-items: center !important;
  width: max-content !important;
  min-width: max-content !important;
  min-height: 34px !important;
  padding: 8px 11px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #1F2937 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 0 !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu a:hover,
.gp-header-main-menu .pll-parent-menu-item > .sub-menu .current-lang a {
  background: #EAF5FF !important;
  color: #05469D !important;
}

/* Visible labels without flags */
.gp-header-main-menu .pll-parent-menu-item > .sub-menu .lang-item-en > a::before {
  content: "en English";
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu .lang-item-uk > a::before {
  content: "uk Українська";
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu .lang-item-ru > a::before {
  content: "ru русский";
}

.gp-header-main-menu .pll-parent-menu-item > .sub-menu a::before {
  display: inline-flex;
  color: inherit;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
}

/* Mobile: keep language submenu collapsed inside hamburger menu */
@media (max-width: 980px) {
  .gp-header-main-menu > .pll-parent-menu-item {
    display: block !important;
    width: 100% !important;
  }

  .gp-header-main-menu > .pll-parent-menu-item::after {
    display: none !important;
  }

  .gp-header-main-menu > .pll-parent-menu-item > a {
    width: max-content !important;
    min-width: 62px !important;
    min-height: 38px !important;
    margin: 8px 0 !important;
    padding: 0 12px !important;
    border: 1px solid rgba(5,70,157,.18) !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(5,70,157,.06) !important;
  }

  .gp-header-main-menu .pll-parent-menu-item > .sub-menu {
    position: static !important;
    display: none !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 7px !important;
    border: 1px solid rgba(5,70,157,.12) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(5,70,157,.14) !important;
    backdrop-filter: none !important;
  }

  .gp-header-main-menu .pll-parent-menu-item:hover > .sub-menu,
  .gp-header-main-menu .pll-parent-menu-item:focus-within > .sub-menu {
    display: grid !important;
  }

  .gp-header-main-menu .pll-parent-menu-item > .sub-menu a {
    width: max-content !important;
    min-width: max-content !important;
    min-height: 34px !important;
    padding: 8px 11px !important;
    border-radius: 10px !important;
  }
}


/* ==========================================================
   GP STANDARD UI FINAL V1
   Unified CTA, highlighted blocks, sidebar/cards and FAQ.
   Tables are intentionally untouched.
   ========================================================== */

:root{
  --gp-ui-blue:#05469D;
  --gp-ui-blue-dark:#073B82;
  --gp-ui-orange:#FF8A00;
  --gp-ui-black:#000000;
  --gp-ui-white:#FFFFFF;
  --gp-ui-text:#1F2937;
  --gp-ui-muted:#5B6B82;
  --gp-ui-neutral:#F7FAFD;
  --gp-ui-neutral-2:#F3F8FE;
  --gp-ui-line:#DCE7F5;
  --gp-ui-soft-blue:#EAF5FF;
  --gp-ui-warning-bg:#FFF6E9;
  --gp-ui-warning-border:#FF8A00;
  --gp-ui-warning-line:#FF8A00;
  --gp-ui-warning-text:#704000;
  --gp-ui-warning-strong:#B75F00;
  --gp-ui-radius-card:24px;
  --gp-ui-radius-cta:28px;
  --gp-ui-radius-btn:12px;
  --gp-ui-shadow:0 16px 42px rgba(5,70,157,.12);
  --gp-ui-small-shadow:0 10px 28px rgba(5,70,157,.06);
}

/* 1. Primary CTA button: orange + black text */
.btn-primary,
.nav-cta,
.gp-header-btn-primary,
.gp-service-approved .btn-primary,
.gp-contact-page .gp-btn-primary,
.gp-home-btn-primary,
.gp-article-cta-btn.is-primary,
.gp-blog-btn,
.gp-blog-search button{
  background:var(--gp-ui-orange)!important;
  border:1px solid var(--gp-ui-orange)!important;
  color:var(--gp-ui-black)!important;
  box-shadow:0 14px 30px rgba(255,138,0,.24)!important;
}

/* 2. Secondary button: white + blue border + blue text */
.btn-outline,
.btn-secondary,
.gp-header-btn-outline,
.gp-service-approved .btn-outline,
.gp-contact-page .gp-btn-outline,
.gp-home-btn-secondary,
.gp-article-cta-btn.is-secondary{
  background:var(--gp-ui-white)!important;
  border:1px solid var(--gp-ui-blue)!important;
  color:var(--gp-ui-blue)!important;
  box-shadow:0 10px 24px rgba(5,70,157,.08)!important;
}

/* 3. Unified button geometry */
.btn,
.nav-cta,
.gp-header-btn,
.gp-service-approved .btn,
.gp-contact-page .gp-btn,
.gp-home-btn,
.gp-article-cta-btn,
.gp-blog-btn,
.gp-blog-search button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:12px 22px!important;
  border-radius:var(--gp-ui-radius-btn)!important;
  font-family:"Manrope","Inter",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease!important;
}

.btn:hover,
.nav-cta:hover,
.gp-header-btn:hover,
.gp-service-approved .btn:hover,
.gp-contact-page .gp-btn:hover,
.gp-home-btn:hover,
.gp-article-cta-btn:hover,
.gp-blog-btn:hover,
.gp-blog-search button:hover{
  transform:translateY(-1px)!important;
}

/* 4. CTA block: blue gradient + white text + same radius */
.cta-card,
.gp-service-approved .cta-card,
.gp-article-cta,
.gp-home-final-box,
.gp-home-blue-card,
.gp-blog-hero-side,
.gp-blog-subscribe,
.gp-contact-page .gp-emergency,
.emergency-card,
.bot-card,
.hero-side{
  background:
    radial-gradient(circle at 94% 10%, rgba(255,138,0,.22), transparent 12rem),
    linear-gradient(135deg,var(--gp-ui-blue),var(--gp-ui-blue-dark))!important;
  color:var(--gp-ui-white)!important;
  border-radius:var(--gp-ui-radius-cta)!important;
  box-shadow:var(--gp-ui-shadow)!important;
}

.cta-card h2,
.cta-card h3,
.gp-service-approved .cta-card h2,
.gp-service-approved .cta-card h3,
.gp-article-cta h2,
.gp-home-final-box h2,
.gp-home-blue-card h2,
.gp-home-blue-card h3,
.gp-blog-hero-side h2,
.gp-blog-subscribe h2,
.gp-contact-page .gp-emergency h2,
.emergency-card h2,
.bot-card h2,
.hero-side h2{
  color:var(--gp-ui-white)!important;
}

.cta-card p,
.gp-service-approved .cta-card p,
.gp-article-cta p,
.gp-home-final-box p,
.gp-home-blue-card p,
.gp-blog-hero-side p,
.gp-blog-subscribe p,
.gp-contact-page .gp-emergency p,
.emergency-card p,
.bot-card p,
.hero-side p{
  color:rgba(255,255,255,.86)!important;
  font-size:16px!important;
  line-height:1.65!important;
}

/* 5. Highlighted text / warning / note / blockquote */
.note,
.gp-service-approved .note,
.gp-service-approved .card blockquote,
.gp-article-content blockquote,
.gp-article-callout,
.gp-article-risk,
.gp-contact-page .gp-safety-list li,
.safety-list li{
  margin:22px 0!important;
  padding:18px 20px 18px 22px!important;
  border:1px solid rgba(255,138,0,.34)!important;
  border-left:6px solid var(--gp-ui-warning-line)!important;
  border-radius:18px!important;
  background:var(--gp-ui-warning-bg)!important;
  color:var(--gp-ui-warning-text)!important;
  box-shadow:0 14px 30px rgba(255,138,0,.10)!important;
  font-size:15px!important;
  line-height:1.65!important;
}

.note p,
.gp-service-approved .note p,
.gp-service-approved .card blockquote p,
.gp-article-content blockquote p,
.gp-article-callout p{
  color:var(--gp-ui-warning-text)!important;
  font-size:15px!important;
  line-height:1.65!important;
}

.note strong,
.gp-service-approved .note strong,
.gp-service-approved .card blockquote strong,
.gp-article-content blockquote strong,
.gp-article-callout strong,
.gp-article-risk strong,
.gp-contact-page .gp-safety-list li strong,
.safety-list li strong{
  color:var(--gp-ui-warning-strong)!important;
}

/* 6. Ordinary sidebar/card info blocks: light neutral background */
.side-list li,
.side-list div,
.gp-service-approved .side-list li,
.gp-contact-page .side-list li,
.community-card,
.official-item,
.doc-links a,
.side-nav-simple a,
.gp-contact-page .side-nav-simple a,
.gp-contact-page .gp-contact-nav-grid a{
  background:var(--gp-ui-neutral)!important;
  border:1px solid var(--gp-ui-line)!important;
  color:var(--gp-ui-muted)!important;
  border-radius:16px!important;
  font-size:15px!important;
  line-height:1.55!important;
  box-shadow:none!important;
}

.side-list strong,
.gp-service-approved .side-list strong,
.gp-contact-page .side-list strong,
.community-card b,
.official-item b{
  color:var(--gp-ui-text)!important;
}

/* 7. FAQ blocks: light neutral background */
.faq-item,
.gp-service-approved .faq-item,
.gp-service-approved .faq-card .faq-item,
.gp-home-faq,
.gp-article-faq details,
.gp-contact-page details,
.gp-blog-faq details{
  background:var(--gp-ui-neutral)!important;
  border:1px solid var(--gp-ui-line)!important;
  border-radius:16px!important;
  color:var(--gp-ui-text)!important;
  box-shadow:none!important;
}

.faq-item summary,
.gp-service-approved .faq-item summary,
.gp-service-approved .faq-card .faq-item > summary,
.gp-home-faq summary,
.gp-article-faq summary{
  color:var(--gp-ui-text)!important;
  font-family:"Manrope","Inter",Arial,sans-serif!important;
  font-weight:900!important;
}

.faq-item p,
.gp-service-approved .faq-item p,
.gp-service-approved .faq-item-answer,
.gp-service-approved .faq-item-answer p,
.gp-home-faq-answer p,
.gp-article-faq-answer{
  color:var(--gp-ui-muted)!important;
  font-size:15px!important;
  line-height:1.6!important;
}

/* 8. Standard card rounding and border only, not tables */
.card,
.gp-service-approved .card,
.gp-contact-page .gp-card,
.gp-home-card,
.gp-home-category-card,
.gp-home-use-card,
.gp-home-role-card,
.gp-home-pricing-card,
.gp-home-info-card,
.gp-article-content-shell,
.gp-article-side-card,
.gp-article-related-card,
.gp-blog-card,
.gp-blog-filter,
.gp-blog-email-box,
.side-card{
  border-radius:var(--gp-ui-radius-card)!important;
  border-color:var(--gp-ui-line)!important;
}

/* Mobile */
@media(max-width:760px){
  .btn,
  .nav-cta,
  .gp-header-btn,
  .gp-service-approved .btn,
  .gp-contact-page .gp-btn,
  .gp-home-btn,
  .gp-article-cta-btn,
  .gp-blog-btn,
  .gp-blog-search button{
    min-height:44px!important;
    padding:11px 16px!important;
    font-size:13px!important;
  }

  .cta-card,
  .gp-service-approved .cta-card,
  .gp-article-cta,
  .gp-home-final-box,
  .gp-home-blue-card,
  .gp-blog-hero-side,
  .gp-blog-subscribe,
  .gp-contact-page .gp-emergency,
  .emergency-card,
  .bot-card,
  .hero-side{
    border-radius:22px!important;
  }
}

/* END GP STANDARD UI FINAL V1 */


/* ==========================================================
   GP BLOG HERO CTA FIX V1
   Fix CTA button overlap in blog hero side block.
   Tables are intentionally untouched.
   ========================================================== */

.gp-blog-hero-side{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:14px!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}

.gp-blog-hero-side > *{
  flex:0 0 auto!important;
  max-width:100%!important;
}

.gp-blog-hero-side h2{
  margin:0!important;
}

.gp-blog-hero-side p{
  margin:0!important;
}

.gp-blog-hero-side ul,
.gp-blog-hero-side ol{
  margin:0 0 0 18px!important;
  padding-left:18px!important;
  color:#fff!important;
  line-height:1.45!important;
}

.gp-blog-hero-side li{
  margin:0 0 4px!important;
}

.gp-blog-hero-side .gp-blog-btn,
.gp-blog-hero-side a.gp-blog-btn{
  position:relative!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  width:auto!important;
  max-width:100%!important;
  margin-top:4px!important;
  clear:both!important;
}

@media(max-width:900px){
  .gp-blog-hero-grid{
    grid-template-columns:1fr!important;
  }

  .gp-blog-hero-side{
    padding:24px!important;
  }
}

@media(max-width:700px){
  .gp-blog-hero-side{
    padding:24px 22px!important;
    border-radius:22px!important;
    gap:14px!important;
  }

  .gp-blog-hero-side .gp-blog-btn,
  .gp-blog-hero-side a.gp-blog-btn{
    width:100%!important;
    align-self:stretch!important;
    margin-top:4px!important;
  }
}

/* END GP BLOG HERO CTA FIX V1 */


/* ==========================================================
   GP SERVICE SIDEBAR CTA FIX V1
   Fix sidebar CTA overlap on Service Page template.
   Tables are intentionally untouched.
   ========================================================== */

.gp-service-approved .content-sidebar > .card,
.gp-service-approved .content-sidebar > .sticky-card{
  min-width:0!important;
  overflow:hidden!important;
}

.gp-service-approved .content-sidebar > .card.accent,
.gp-service-approved .content-sidebar > .sticky-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:14px!important;
}

.gp-service-approved .content-sidebar > .card.accent > *,
.gp-service-approved .content-sidebar > .sticky-card > *{
  max-width:100%!important;
  min-width:0!important;
  flex:0 0 auto!important;
}

.gp-service-approved .content-sidebar > .card.accent p,
.gp-service-approved .content-sidebar > .sticky-card p{
  margin:0!important;
  overflow-wrap:anywhere!important;
}

.gp-service-approved .content-sidebar > .card.accent .btn,
.gp-service-approved .content-sidebar > .sticky-card .btn{
  position:relative!important;
  z-index:2!important;
  align-self:flex-start!important;
  width:auto!important;
  max-width:100%!important;
  margin-top:2px!important;
  clear:both!important;
}

.gp-service-approved .content-sidebar > .card.accent .side-list,
.gp-service-approved .content-sidebar > .sticky-card .side-list{
  width:100%!important;
  margin-top:2px!important;
}

@media(max-width:900px){
  .gp-service-approved .content-sidebar{
    width:100%!important;
  }

  .gp-service-approved .content-sidebar > .card.accent,
  .gp-service-approved .content-sidebar > .sticky-card{
    display:flex!important;
    grid-template-columns:none!important;
  }
}

@media(max-width:760px){
  .gp-service-approved .content-sidebar > .card.accent,
  .gp-service-approved .content-sidebar > .sticky-card{
    padding:22px!important;
    border-radius:22px!important;
    gap:14px!important;
  }

  .gp-service-approved .content-sidebar > .card.accent .btn,
  .gp-service-approved .content-sidebar > .sticky-card .btn{
    width:100%!important;
    align-self:stretch!important;
    white-space:normal!important;
    text-align:center!important;
  }
}

/* END GP SERVICE SIDEBAR CTA FIX V1 */


/* ==========================================================
   GP UI STANDARD POLISH V2
   Final visual standardization after manual fixes.
   Does not touch table / th / td / fees-table / fees-wrap.
   ========================================================== */

:root{
  --gp-final-blue:#05469D;
  --gp-final-blue-dark:#073B82;
  --gp-final-orange:#FF8A00;
  --gp-final-black:#000000;
  --gp-final-white:#FFFFFF;
  --gp-final-text:#1F2937;
  --gp-final-muted:#5B6B82;
  --gp-final-neutral:#F7FAFD;
  --gp-final-neutral-2:#F3F8FE;
  --gp-final-line:#DCE7F5;
  --gp-final-warning-bg:#FFF6E9;
  --gp-final-warning-border:#FFD7A6;
  --gp-final-warning-text:#704000;
  --gp-final-warning-strong:#B75F00;
  --gp-final-radius-card:24px;
  --gp-final-radius-cta:28px;
  --gp-final-radius-btn:12px;
  --gp-final-shadow:0 16px 42px rgba(5,70,157,.12);
  --gp-final-small-shadow:0 10px 28px rgba(5,70,157,.06);
}

/* Primary CTA button */
.btn-primary,
.nav-cta,
.gp-header-btn-primary,
.gp-service-approved .btn-primary,
.gp-contact-page .gp-btn-primary,
.gp-home-btn-primary,
.gp-article-cta-btn.is-primary,
.gp-blog-btn,
.gp-blog-search button,
.gp-404-btn-primary{
  background:var(--gp-final-orange)!important;
  border:1px solid var(--gp-final-orange)!important;
  color:var(--gp-final-black)!important;
  box-shadow:0 14px 30px rgba(255,138,0,.24)!important;
}

/* Secondary CTA button */
.btn-outline,
.btn-secondary,
.gp-header-btn-outline,
.gp-service-approved .btn-outline,
.gp-contact-page .gp-btn-outline,
.gp-home-btn-secondary,
.gp-article-cta-btn.is-secondary,
.gp-404-btn-outline{
  background:var(--gp-final-white)!important;
  border:1px solid var(--gp-final-blue)!important;
  color:var(--gp-final-blue)!important;
  box-shadow:0 10px 24px rgba(5,70,157,.08)!important;
}

/* Button visual geometry only */
.btn,
.nav-cta,
.gp-header-btn,
.gp-service-approved .btn,
.gp-contact-page .gp-btn,
.gp-home-btn,
.gp-article-cta-btn,
.gp-blog-btn,
.gp-blog-search button,
.gp-404-btn-primary,
.gp-404-btn-outline{
  border-radius:var(--gp-final-radius-btn)!important;
  font-family:"Manrope","Inter",Arial,sans-serif!important;
  font-weight:900!important;
  text-decoration:none!important;
}

/* CTA blocks */
.cta-card,
.gp-service-approved .cta-card,
.gp-article-cta,
.gp-home-final-box,
.gp-home-blue-card,
.gp-blog-hero-side,
.gp-blog-subscribe,
.gp-contact-page .gp-emergency,
.emergency-card,
.bot-card,
.hero-side{
  background:
    radial-gradient(circle at 94% 10%, rgba(255,138,0,.22), transparent 12rem),
    linear-gradient(135deg,var(--gp-final-blue),var(--gp-final-blue-dark))!important;
  color:var(--gp-final-white)!important;
  border-radius:var(--gp-final-radius-cta)!important;
  box-shadow:var(--gp-final-shadow)!important;
}

.cta-card h2,
.cta-card h3,
.gp-service-approved .cta-card h2,
.gp-service-approved .cta-card h3,
.gp-article-cta h2,
.gp-home-final-box h2,
.gp-home-blue-card h2,
.gp-home-blue-card h3,
.gp-blog-hero-side h2,
.gp-blog-subscribe h2,
.gp-contact-page .gp-emergency h2,
.emergency-card h2,
.bot-card h2,
.hero-side h2{
  color:var(--gp-final-white)!important;
}

.cta-card p,
.gp-service-approved .cta-card p,
.gp-article-cta p,
.gp-home-final-box p,
.gp-home-blue-card p,
.gp-blog-hero-side p,
.gp-blog-subscribe p,
.gp-contact-page .gp-emergency p,
.emergency-card p,
.bot-card p,
.hero-side p{
  color:rgba(255,255,255,.86)!important;
}

/* Highlighted text / warning / note / blockquote */
.note,
.gp-service-approved .note,
.gp-service-approved .card blockquote,
.gp-article-content blockquote,
.gp-article-callout,
.gp-article-risk,
.gp-contact-page .gp-safety-list li,
.safety-list li,
.gp-tech-content blockquote,
.gp-404-urgent-note,
.gp-404-safety-list li{
  background:var(--gp-final-warning-bg)!important;
  border:1px solid var(--gp-final-warning-border)!important;
  border-left:6px solid var(--gp-final-orange)!important;
  border-radius:18px!important;
  color:var(--gp-final-warning-text)!important;
  box-shadow:0 14px 30px rgba(255,138,0,.10)!important;
}

.note p,
.gp-service-approved .note p,
.gp-service-approved .card blockquote p,
.gp-article-content blockquote p,
.gp-article-callout p,
.gp-tech-content blockquote p{
  color:var(--gp-final-warning-text)!important;
}

.note strong,
.gp-service-approved .note strong,
.gp-service-approved .card blockquote strong,
.gp-article-content blockquote strong,
.gp-article-callout strong,
.gp-article-risk strong,
.gp-contact-page .gp-safety-list li strong,
.safety-list li strong,
.gp-404-safety-list strong{
  color:var(--gp-final-warning-strong)!important;
}

/* Ordinary sidebar/card info blocks */
.side-list li,
.side-list div,
.gp-service-approved .side-list li,
.gp-contact-page .side-list li,
.community-card,
.official-item,
.doc-links a,
.side-nav-simple a,
.gp-contact-page .side-nav-simple a,
.gp-contact-page .gp-contact-nav-grid a,
.gp-tech-note{
  background:var(--gp-final-neutral)!important;
  border:1px solid var(--gp-final-line)!important;
  color:var(--gp-final-muted)!important;
  border-radius:16px!important;
  box-shadow:none!important;
}

.side-list strong,
.gp-service-approved .side-list strong,
.gp-contact-page .side-list strong,
.community-card b,
.official-item b{
  color:var(--gp-final-text)!important;
}

/* FAQ blocks */
.faq-item,
.gp-service-approved .faq-item,
.gp-service-approved .faq-card .faq-item,
.gp-home-faq,
.gp-article-faq details,
.gp-contact-page details{
  background:var(--gp-final-neutral)!important;
  border:1px solid var(--gp-final-line)!important;
  border-radius:16px!important;
  color:var(--gp-final-text)!important;
  box-shadow:none!important;
}

.faq-item summary,
.gp-service-approved .faq-item summary,
.gp-service-approved .faq-card .faq-item > summary,
.gp-home-faq summary,
.gp-article-faq summary{
  color:var(--gp-final-text)!important;
  font-family:"Manrope","Inter",Arial,sans-serif!important;
  font-weight:900!important;
}

.faq-item p,
.gp-service-approved .faq-item p,
.gp-service-approved .faq-item-answer,
.gp-service-approved .faq-item-answer p,
.gp-home-faq-answer p,
.gp-article-faq-answer{
  color:var(--gp-final-muted)!important;
}

/* Card visual consistency */
.card,
.gp-service-approved .card,
.gp-contact-page .gp-card,
.gp-home-card,
.gp-home-category-card,
.gp-home-use-card,
.gp-home-role-card,
.gp-home-pricing-card,
.gp-home-info-card,
.gp-article-content-shell,
.gp-article-side-card,
.gp-article-related-card,
.gp-blog-card,
.gp-blog-filter,
.gp-blog-email-box,
.side-card,
.gp-404-card,
.gp-404-contact-card{
  border-color:var(--gp-final-line)!important;
  border-radius:var(--gp-final-radius-card)!important;
}

/* END GP UI STANDARD POLISH V2 */


/* ==========================================================
   GP BLOCKQUOTE EXCEPT HOME V1
   Standard blockquote styling for all main content areas except Home.
   Home/front-page selectors are intentionally not included.
   Tables are intentionally untouched.
   ========================================================== */

:root{
  --gp-bq-bg:#FFF6E9;
  --gp-bq-border:#FFD7A6;
  --gp-bq-line:#FF8A00;
  --gp-bq-text:#704000;
  --gp-bq-strong:#B75F00;
}

/* Service Page */
.gp-service-approved .card blockquote,

/* Blog single article */
.gp-article-content blockquote,

/* Regular article/document/page content */
.article-body blockquote,
.doc-content blockquote,
.gp-main-editor-content blockquote,
.gp-rich-text blockquote,
.gp-content-body blockquote,
.entry-content blockquote,

/* Contact/content cards, but not emergency CTA */
.gp-contact-page .gp-card blockquote,

/* Tech/content pages */
.gp-tech-content blockquote,

/* WordPress block editor quote */
body:not(.home) .wp-block-quote{
  margin:22px 0!important;
  padding:18px 20px 18px 22px!important;
  background:var(--gp-bq-bg)!important;
  border:1px solid var(--gp-bq-border)!important;
  border-left:6px solid var(--gp-bq-line)!important;
  border-radius:18px!important;
  color:var(--gp-bq-text)!important;
  box-shadow:0 14px 30px rgba(255,138,0,.10)!important;
  font-size:15px!important;
  line-height:1.65!important;
  font-style:normal!important;
}

/* Paragraphs inside blockquote */
.gp-service-approved .card blockquote p,
.gp-article-content blockquote p,
.article-body blockquote p,
.doc-content blockquote p,
.gp-main-editor-content blockquote p,
.gp-rich-text blockquote p,
.gp-content-body blockquote p,
.entry-content blockquote p,
.gp-contact-page .gp-card blockquote p,
.gp-tech-content blockquote p,
body:not(.home) .wp-block-quote p{
  margin:0 0 10px!important;
  color:var(--gp-bq-text)!important;
  font-size:15px!important;
  line-height:1.65!important;
  font-style:normal!important;
}

.gp-service-approved .card blockquote p:last-child,
.gp-article-content blockquote p:last-child,
.article-body blockquote p:last-child,
.doc-content blockquote p:last-child,
.gp-main-editor-content blockquote p:last-child,
.gp-rich-text blockquote p:last-child,
.gp-content-body blockquote p:last-child,
.entry-content blockquote p:last-child,
.gp-contact-page .gp-card blockquote p:last-child,
.gp-tech-content blockquote p:last-child,
body:not(.home) .wp-block-quote p:last-child{
  margin-bottom:0!important;
}

/* Strong text inside blockquote */
.gp-service-approved .card blockquote strong,
.gp-article-content blockquote strong,
.article-body blockquote strong,
.doc-content blockquote strong,
.gp-main-editor-content blockquote strong,
.gp-rich-text blockquote strong,
.gp-content-body blockquote strong,
.entry-content blockquote strong,
.gp-contact-page .gp-card blockquote strong,
.gp-tech-content blockquote strong,
body:not(.home) .wp-block-quote strong{
  color:var(--gp-bq-strong)!important;
}

/* END GP BLOCKQUOTE EXCEPT HOME V1 */

