/*
 * Good Clean & Maintenance landing styles.
 *
 * Lifted verbatim out of front-page.php's inline <style> so that any page —
 * not just the bespoke front page — can carry the design. Everything is scoped
 * under .gc-lp, which the templates put on <body> and on the wrapper div.
 */
/* ===== Good Clean landing — scoped ===== */
.gc-lp *{box-sizing:border-box;}
.gc-lp{font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:#0E1A30;background:#fff;overflow-x:hidden;line-height:1.5;}
.gc-lp img{max-width:100%;display:block;}
.gc-lp a{color:inherit;}
.gc-lp ::selection{background:#18B4C2;color:#0E1A30;}
.gc-wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px;}
.gc-sora{font-family:'Sora',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;}

/* Header */
.gc-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #EAEEF2;}
.gc-header .gc-wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;}
.gc-brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.gc-mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(150deg,#1B2F5B,#122443);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;color:#fff;font-size:17px;position:relative;box-shadow:inset 0 0 0 1.4px rgba(24,180,194,.55);flex-shrink:0;}
.gc-mark .gc-spark{position:absolute;top:6px;right:6px;color:#18B4C2;display:inline-flex;}
.gc-brand-txt .gc-brand-name{font-family:'Sora',sans-serif;font-weight:800;font-size:17px;color:#1B2F5B;line-height:1;}
.gc-brand-txt .gc-brand-sub{font-size:7.5px;font-weight:700;letter-spacing:.16em;color:#18738A;margin-top:3px;}
.gc-nav{display:flex;align-items:center;gap:30px;}
.gc-nav a{font-size:14px;font-weight:600;color:#42536B;text-decoration:none;}
.gc-nav a:hover{color:#1B2F5B;}
.gc-btn-cta{font-family:'Sora',sans-serif;font-weight:700;font-size:13px;background:#1B2F5B;color:#fff !important;padding:11px 20px;border-radius:100px;text-decoration:none;white-space:nowrap;}
.gc-btn-cta:hover{background:#122443;}
.gc-navtoggle{display:none;}

/* Hero */
.gc-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:56px;}
.gc-pill{display:inline-flex;align-items:center;gap:9px;background:#E7F6F8;color:#18738A;font-size:12px;font-weight:700;letter-spacing:.06em;padding:8px 15px;border-radius:100px;margin-bottom:26px;}
.gc-dot{width:7px;height:7px;border-radius:50%;background:#2FB16B;display:inline-block;}
.gc-h1{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(38px,6vw,58px);line-height:1.02;letter-spacing:-.03em;color:#122443;margin:0 0 22px;}
.gc-lead{font-size:18px;line-height:1.6;color:#42536B;max-width:46ch;margin:0 0 34px;}
.gc-hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.gc-btn-primary{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;background:#18B4C2;color:#0E1A30 !important;padding:15px 28px;border-radius:100px;text-decoration:none;box-shadow:0 12px 28px -12px rgba(24,180,194,.7);}
.gc-btn-primary:hover{background:#13a2af;}
.gc-btn-ghost{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:#1B2F5B;padding:15px 20px;text-decoration:none;}
.gc-stats{display:flex;gap:32px;margin-top:44px;flex-wrap:wrap;}
.gc-stat .gc-stat-n{font-family:'Sora',sans-serif;font-weight:800;font-size:28px;color:#1B2F5B;}
.gc-stat .gc-stat-l{font-size:13px;color:#5C6B82;margin-top:2px;}
.gc-stat-div{width:1px;background:#EAEEF2;}

/* Branded photo panels (swap for real photos later) */
.gc-photo{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(150deg,#1B2F5B,#122443);color:#fff;display:flex;align-items:center;justify-content:center;}
.gc-photo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(24,180,194,.28),transparent 46%),radial-gradient(circle at 10% 92%,rgba(127,224,234,.14),transparent 40%);}
.gc-photo::after{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:34px 34px;}
.gc-photo-mark{position:relative;width:120px;height:120px;opacity:.9;filter:drop-shadow(0 12px 30px rgba(0,0,0,.35));}
.gc-hero-photo{height:480px;}
.gc-why-photo{height:420px;border-radius:22px;}
.gc-badge{position:absolute;bottom:-22px;left:-22px;background:#fff;border:1px solid #EAEEF2;border-radius:16px;padding:16px 20px;box-shadow:0 18px 40px -20px rgba(14,26,48,.35);display:flex;align-items:center;gap:13px;z-index:2;}
.gc-badge-ic{width:40px;height:40px;border-radius:10px;background:#E7F6F8;display:flex;align-items:center;justify-content:center;color:#18738A;font-size:20px;}
.gc-badge-t{font-family:'Sora',sans-serif;font-weight:800;font-size:15px;color:#1B2F5B;}
.gc-badge-s{font-size:12px;color:#5C6B82;}

/* Trust strip */
.gc-trust{background:#F5F7F9;border-top:1px solid #EAEEF2;border-bottom:1px solid #EAEEF2;}
.gc-trust .gc-wrap{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;font-size:13px;font-weight:700;letter-spacing:.05em;color:#7B8AA0;}
.gc-trust span{display:flex;align-items:center;gap:8px;}
.gc-trust .gc-ck{color:#2FB16B;}

/* Sections */
.gc-section{padding-top:84px;padding-bottom:84px;}
.gc-eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;color:#18738A;text-transform:uppercase;margin-bottom:14px;}
.gc-h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(30px,4.4vw,40px);letter-spacing:-.02em;color:#122443;margin:0 0 14px;line-height:1.1;}
.gc-sec-head{text-align:center;max-width:640px;margin:0 auto 52px;}
.gc-sec-head p{font-size:17px;color:#42536B;line-height:1.55;margin:0;}

/* Services */
.gc-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.gc-card{background:#fff;border:1px solid #EAEEF2;border-radius:20px;overflow:hidden;box-shadow:0 14px 40px -30px rgba(14,26,48,.5);}
.gc-card-top{height:150px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(150deg,#1B2F5B,#122443);}
.gc-card-top::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(24,180,194,.30),transparent 55%);}
.gc-card-top svg{position:relative;width:52px;height:52px;color:#7FE0EA;}
.gc-card-body{padding:26px;}
.gc-tag{display:inline-flex;align-items:center;gap:8px;background:#E7F6F8;color:#18738A;font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 12px;border-radius:100px;margin-bottom:14px;}
.gc-card h3{font-family:'Sora',sans-serif;font-weight:700;font-size:21px;color:#1B2F5B;margin:0 0 10px;}
.gc-card p{font-size:14.5px;line-height:1.6;color:#5C6B82;margin:0 0 16px;}
.gc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:#42536B;}
.gc-list li{display:flex;gap:9px;}
.gc-list .gc-ck{color:#2FB16B;}

/* Why (dark) */
.gc-why{background:#122443;color:#fff;position:relative;overflow:hidden;}
.gc-why::before{content:"";position:absolute;inset:0;opacity:.6;background:radial-gradient(circle at 88% 12%,rgba(24,180,194,.22),transparent 42%);}
.gc-why .gc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;}
.gc-why .gc-eyebrow{color:#7FE0EA;}
.gc-why h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(28px,4vw,38px);letter-spacing:-.02em;margin:0 0 20px;line-height:1.1;}
.gc-why-lead{font-size:16.5px;line-height:1.65;color:#C6D2E2;margin:0 0 30px;max-width:46ch;}
.gc-feats{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.gc-feat{display:flex;gap:13px;}
.gc-feat-ic{width:40px;height:40px;border-radius:11px;background:rgba(24,180,194,.16);display:flex;align-items:center;justify-content:center;color:#18B4C2;flex-shrink:0;font-size:18px;}
.gc-feat-t{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;}
.gc-feat-s{font-size:13px;color:#9FB0C6;margin-top:3px;}
.gc-why-photo-wrap{position:relative;}
.gc-why .gc-photo-mark{opacity:.55;}

/* Contact */
.gc-contact-card{background:linear-gradient(150deg,#1B2F5B,#122443);border-radius:28px;padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:52px;position:relative;overflow:hidden;}
.gc-contact-card::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(circle at 90% 90%,rgba(24,180,194,.24),transparent 40%);}
.gc-contact-l{position:relative;}
.gc-contact-l h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(28px,4vw,36px);letter-spacing:-.02em;color:#fff;margin:0 0 16px;line-height:1.1;}
.gc-contact-l p{font-size:16.5px;line-height:1.6;color:#C6D2E2;margin:0 0 30px;max-width:40ch;}
.gc-contact-row{display:flex;flex-direction:column;gap:16px;}
.gc-contact-item{display:flex;align-items:center;gap:13px;text-decoration:none;}
.gc-contact-ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#18B4C2;font-size:18px;flex-shrink:0;}
.gc-contact-k{font-size:12px;color:#9FB0C6;}
.gc-contact-v{font-family:'Sora',sans-serif;font-weight:700;color:#fff;font-size:17px;}
.gc-form{position:relative;background:#fff;border-radius:18px;padding:28px;}
.gc-form-title{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;color:#1B2F5B;margin-bottom:18px;}
.gc-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.gc-field label{font-size:12px;font-weight:600;color:#5C6B82;}
.gc-field input,.gc-field select,.gc-field textarea{width:100%;border:1px solid #E2E7ED;border-radius:10px;background:#F9FAFB;padding:12px 14px;font-family:inherit;font-size:14px;color:#0E1A30;}
.gc-field input:focus,.gc-field select:focus,.gc-field textarea:focus{outline:2px solid #18B4C2;outline-offset:1px;border-color:#18B4C2;background:#fff;}
.gc-field textarea{min-height:80px;resize:vertical;}
.gc-field-row{display:flex;gap:12px;}
.gc-field-row .gc-field{flex:1;}
.gc-submit{width:100%;font-family:'Sora',sans-serif;font-weight:700;font-size:15px;background:#18B4C2;color:#0E1A30;border:0;padding:14px;border-radius:100px;text-align:center;cursor:pointer;margin-top:4px;}
.gc-submit:hover{background:#13a2af;}
.gc-form-note{font-size:11.5px;color:#94A2B5;text-align:center;margin:12px 0 0;}

/* Footer */
.gc-footer{background:#0E1A30;color:#9FB0C6;}
.gc-footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:56px;padding-bottom:30px;}
.gc-footer .gc-brand-name{color:#fff;font-size:16px;}
.gc-footer .gc-brand-sub{color:#7FE0EA;font-size:7px;}
.gc-footer .gc-mark{background:rgba(255,255,255,.06);}
.gc-footer-desc{font-size:14px;line-height:1.6;max-width:34ch;margin:18px 0 0;}
.gc-footer-h{font-family:'Sora',sans-serif;font-weight:700;font-size:13px;color:#fff;letter-spacing:.06em;margin-bottom:16px;}
.gc-footer-col{display:flex;flex-direction:column;gap:10px;font-size:14px;}
.gc-footer-col a{text-decoration:none;color:#9FB0C6;}
.gc-footer-col a:hover{color:#fff;}
.gc-footer-bar{border-top:1px solid rgba(255,255,255,.08);}
.gc-footer-bar .gc-wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;font-size:12.5px;color:#6B7B94;}

/* Responsive */
@media (max-width:860px){
	.gc-wrap{padding-left:22px;padding-right:22px;}
	.gc-nav{gap:18px;}
	.gc-nav a:not(.gc-btn-cta){display:none;}
	.gc-hero{grid-template-columns:1fr;gap:36px;padding-top:48px;}
	.gc-hero-media{order:-1;}
	.gc-hero-photo{height:300px;}
	.gc-badge{left:16px;bottom:16px;}
	.gc-svc-grid{grid-template-columns:1fr;}
	.gc-why .gc-wrap{grid-template-columns:1fr;gap:36px;}
	.gc-why-photo{height:300px;}
	.gc-feats{grid-template-columns:1fr 1fr;}
	.gc-contact-card{grid-template-columns:1fr;padding:36px 26px;gap:32px;}
	.gc-section{padding-top:60px;padding-bottom:60px;}
	.gc-footer-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
	.gc-feats{grid-template-columns:1fr;}
	.gc-footer-top{grid-template-columns:1fr;}
	.gc-field-row{flex-direction:column;}
	.gc-stat-div{display:none;}
}

/* =============================================================================
   Ordinary pages (page.php) — the same design system around the_content(), so
   a ZaazBuilder page sits inside the site instead of next to it.
   ============================================================================= */
.gc-page{padding-top:72px;padding-bottom:88px;}
.gc-page-title{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(32px,4.4vw,48px);letter-spacing:-.02em;color:#122443;margin:0 0 18px;line-height:1.08;}
.gc-page-content{max-width:780px;}
.gc-page-content>*+*{margin-top:20px;}
.gc-page-content h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;color:#122443;line-height:1.12;margin-top:48px;}
.gc-page-content h3{font-family:'Sora',sans-serif;font-weight:700;font-size:20px;color:#122443;margin-top:32px;}
.gc-page-content p,.gc-page-content li{font-size:17px;line-height:1.65;color:#41506B;}
.gc-page-content ul,.gc-page-content ol{padding-left:22px;}
.gc-page-content li+li{margin-top:8px;}
.gc-page-content a:not(.gc-btn-primary):not(.gc-btn-ghost){color:#18738A;text-decoration:underline;text-underline-offset:2px;}
.gc-page-content .gc-lede{font-size:20px;line-height:1.5;color:#122443;}
.gc-page-content .gc-note{border-left:3px solid #18B4C2;background:#F1FAFB;padding:18px 22px;margin-top:32px;border-radius:0 8px 8px 0;}
.gc-page-content .gc-note p{margin:0;}
/* ZaazBuilder brings its own gutter (.zb-container 0 15px, .zb-col 15px); inside
   .gc-page that is .gc-wrap's job already, and the builder's would indent the
   body past the h1. */
.gc-page-content .zb-container{padding:0;max-width:none;}
.gc-page-content .zb-col{padding:0;}
.gc-page-content .zb-section{overflow:visible;}
.gc-page-content .zb-widget+.zb-widget{margin-top:20px;}
@media (max-width:860px){.gc-page{padding-top:52px;padding-bottom:64px;}}
