/* ============================================================
   GREEN ELECTRICAL SOLUTIONS — shared stylesheet
   Design language: "solar/green-energy" — deep forest-green base,
   sun-gold + sky-blue accents, sunburst hero, card-grid process.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Figtree:wght@400;500;600;700&display=swap');

:root{
  --ges-forest:#0F2318;
  --ges-forest-2:#15301F;
  --ges-forest-3:#1C3D28;
  --ges-gold:#E3B23C;
  --ges-gold-2:#EFC768;
  --ges-sky:#4FA8D8;
  --ges-sky-2:#72BEE6;
  --ges-paper:#F6F7F2;
  --ges-paper-2:#EBEEE3;
  --ges-ink:#182018;
  --ges-ink-soft:#57624E;
  --ges-cream:#F2F5ED;
  --ges-cream-soft:#A7B49B;
  --ges-line:rgba(24,32,24,.13);
  --ges-line-dark:rgba(242,245,237,.14);
  --ges-radius-s:4px;
  --ges-radius-m:9px;
  --ges-radius-l:16px;
  --ges-shadow:0 18px 40px rgba(15,35,24,.2);
  --ges-maxw:1360px;
  --ges-font-display:'Outfit',sans-serif;
  --ges-font-body:'Figtree',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;font-family:var(--ges-font-body);color:var(--ges-ink);background:var(--ges-paper);
  line-height:1.62;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}
h1,h2,h3,h4{font-family:var(--ges-font-display);margin:0;line-height:1.14;font-weight:700;letter-spacing:-0.01em;}
p{margin:0;}
svg{display:block;}

.ges-container{max-width:var(--ges-maxw);margin:0 auto;padding:0 32px;}

/* ---------- Skip link ---------- */
.ges-skip{position:absolute;left:16px;top:-60px;background:var(--ges-gold);color:var(--ges-forest);padding:12px 18px;border-radius:var(--ges-radius-s);font-weight:700;z-index:999;transition:top .2s ease;}
.ges-skip:focus{top:16px;}

/* ---------- Reveal on scroll ---------- */
html.ges-js-ready .ges-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
html.ges-js-ready .ges-reveal.ges-revealed{opacity:1;transform:none;}
noscript .ges-reveal{opacity:1 !important;}
@media (prefers-reduced-motion:reduce){
  html.ges-js-ready .ges-reveal{transition:none !important;opacity:1 !important;transform:none !important;}
  *{scroll-behavior:auto !important;}
}

/* ---------- Focus ---------- */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ges-gold);outline-offset:3px;border-radius:2px;}

/* ============ HEADER ============ */
.ges-header{position:fixed;top:0;left:0;right:0;z-index:500;height:78px;display:flex;align-items:center;background:rgba(15,35,24,0);border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;}
.ges-header.ges-scrolled{background:rgba(15,35,24,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--ges-line-dark);}
.ges-header-inner{width:100%;max-width:var(--ges-maxw);margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.ges-brand{display:flex;align-items:center;gap:10px;color:var(--ges-cream);font-family:var(--ges-font-display);font-weight:700;font-size:17px;}
.ges-brand svg{width:32px;height:32px;flex:none;}
.ges-nav-desktop{display:flex;align-items:center;gap:26px;}
.ges-nav-desktop a{color:var(--ges-cream-soft);font-size:14.5px;font-weight:600;position:relative;padding:6px 2px;transition:color .15s ease;}
.ges-nav-desktop a:hover{color:var(--ges-cream);}
.ges-nav-desktop a.ges-active{color:var(--ges-gold-2);}
.ges-nav-desktop a.ges-active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--ges-gold-2);}
.ges-header-right{display:flex;align-items:center;gap:16px;}
.ges-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ges-gold);color:var(--ges-forest);padding:11px 20px;border-radius:var(--ges-radius-s);font-weight:700;font-size:14px;border:none;cursor:pointer;transition:transform .15s ease,background .15s ease;}
.ges-cta-btn:hover{background:var(--ges-gold-2);transform:translateY(-1px);}
.ges-cta-ghost{border:1px solid var(--ges-line-dark);color:var(--ges-cream);padding:10px 18px;border-radius:var(--ges-radius-s);font-size:14px;font-weight:600;transition:border-color .15s ease,color .15s ease;}
.ges-cta-ghost:hover{border-color:var(--ges-gold-2);color:var(--ges-gold-2);}

.ges-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;width:42px;height:42px;flex-direction:column;justify-content:center;align-items:center;gap:5px;}
.ges-burger span{display:block;width:22px;height:2px;background:var(--ges-cream);transition:transform .25s ease,opacity .25s ease;}
.ges-burger.ges-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ges-burger.ges-open span:nth-child(2){opacity:0;}
.ges-burger.ges-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.ges-mobile-panel{position:fixed;top:78px;left:0;right:0;z-index:499;background:var(--ges-forest-2);border-bottom:1px solid var(--ges-line-dark);max-height:0;overflow:hidden;transition:max-height .3s ease;}
.ges-mobile-panel.ges-open{max-height:540px;}
.ges-mobile-panel .ges-container{padding:14px 32px 26px;display:flex;flex-direction:column;gap:2px;}
.ges-mobile-panel a{color:var(--ges-cream-soft);padding:13px 4px;font-size:16px;font-weight:600;border-bottom:1px solid var(--ges-line-dark);}
.ges-mobile-panel a.ges-active{color:var(--ges-gold-2);}
.ges-mobile-panel .ges-cta-btn{margin-top:14px;justify-content:center;}

@media (max-width:900px){.ges-nav-desktop,.ges-header-right .ges-cta-ghost{display:none;}.ges-burger{display:flex;}}

/* ============ SECTION base ============ */
.ges-section{padding:112px 0;position:relative;}
.ges-section-tight{padding:60px 0;}
.ges-dark{background:var(--ges-forest);color:var(--ges-cream);}
.ges-dark h2,.ges-dark h3{color:var(--ges-cream);}
.ges-mid{background:var(--ges-forest-2);color:var(--ges-cream);}
.ges-paper2{background:var(--ges-paper-2);}

.ges-kicker{font-family:var(--ges-font-display);font-size:13px;font-weight:700;color:var(--ges-forest-3);display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;text-transform:uppercase;letter-spacing:0.06em;}
.ges-kicker::before{content:"";width:22px;height:2px;background:currentColor;display:inline-block;}
.ges-dark .ges-kicker,.ges-mid .ges-kicker{color:var(--ges-gold-2);}

.ges-h2{font-size:clamp(28px,3.8vw,42px);max-width:720px;}
.ges-lede{font-size:17px;color:var(--ges-ink-soft);max-width:600px;margin-top:16px;}
.ges-dark .ges-lede,.ges-mid .ges-lede{color:var(--ges-cream-soft);}
.ges-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:52px;}

/* ============ HERO — sunburst radial gradient, centered ============ */
.ges-hero{position:relative;background:var(--ges-forest);color:var(--ges-cream);padding:186px 0 120px;overflow:hidden;isolation:isolate;}
.ges-hero-sunburst{position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:1100px;height:1100px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(227,178,60,.35) 0%,rgba(227,178,60,.12) 32%,rgba(15,35,24,0) 65%);
  animation:ges-sun-pulse 6s ease-in-out infinite;
}
@keyframes ges-sun-pulse{0%,100%{opacity:1;}50%{opacity:.7;}}
.ges-hero-rays{position:absolute;inset:0;z-index:-1;opacity:.4;}
.ges-ray{stroke:var(--ges-gold);stroke-width:1;opacity:.3;}
.ges-hero-inner{max-width:760px;margin:0 auto;text-align:center;position:relative;}
.ges-hero-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--ges-line-dark);padding:8px 16px;border-radius:100px;font-size:12.5px;color:var(--ges-cream-soft);margin-bottom:26px;}
.ges-hero-badge span.ges-dot{width:7px;height:7px;border-radius:50%;background:var(--ges-gold-2);flex:none;animation:ges-pulse 2.2s ease-in-out infinite;}
@keyframes ges-pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.ges-hero h1{font-size:clamp(36px,5.4vw,60px);letter-spacing:-0.02em;}
.ges-hero h1 em{font-style:normal;color:var(--ges-gold-2);}
.ges-hero-sub{font-size:clamp(16.5px,1.8vw,19px);color:var(--ges-cream-soft);max-width:580px;margin:22px auto 0;}
.ges-hero-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:36px;flex-wrap:wrap;}
.ges-hero-link{display:inline-flex;align-items:center;gap:9px;color:var(--ges-cream);font-weight:600;font-size:14px;border-bottom:1px solid var(--ges-line-dark);padding-bottom:3px;}
.ges-hero-link:hover{border-color:var(--ges-gold-2);color:var(--ges-gold-2);}

/* ============ TRUST STRIP ============ */
.ges-trust{background:var(--ges-paper);padding:42px 0;border-bottom:1px solid var(--ges-line);}
.ges-trust-label{font-size:12.5px;color:var(--ges-ink-soft);text-align:center;margin-bottom:24px;text-transform:uppercase;letter-spacing:0.05em;font-family:var(--ges-font-display);font-weight:700;}
.ges-trust-row{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
.ges-trust-row span{font-family:var(--ges-font-display);font-weight:700;font-size:15.5px;color:var(--ges-ink-soft);opacity:.65;letter-spacing:.01em;}

/* ============ SERVICES — alternating tinted 3-col cards ============ */
.ges-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.ges-svc-card{border-radius:var(--ges-radius-l);padding:32px;display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease;border-top:3px solid var(--ges-gold);}
.ges-svc-card:nth-child(3n+2){background:var(--ges-forest);color:var(--ges-cream);border-top-color:var(--ges-sky);}
.ges-svc-card:nth-child(3n+1),.ges-svc-card:nth-child(3n){background:var(--ges-paper2,var(--ges-paper-2));}
.ges-svc-card:hover{transform:translateY(-4px);box-shadow:var(--ges-shadow);}
.ges-svc-icon{width:46px;height:46px;border-radius:var(--ges-radius-m);background:var(--ges-forest);color:var(--ges-gold-2);display:flex;align-items:center;justify-content:center;font-size:19px;flex:none;}
.ges-svc-card:nth-child(3n+2) .ges-svc-icon{background:var(--ges-gold);color:var(--ges-forest);}
.ges-svc-card h3{font-size:19px;}
.ges-svc-card p{font-size:14.5px;color:var(--ges-ink-soft);}
.ges-svc-card:nth-child(3n+2) p{color:var(--ges-cream-soft);}
.ges-svc-link{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--ges-forest);display:inline-flex;align-items:center;gap:6px;padding-top:6px;}
.ges-svc-card:nth-child(3n+2) .ges-svc-link{color:var(--ges-gold-2);}
@media (max-width:1000px){.ges-svc-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.ges-svc-grid{grid-template-columns:1fr;}}

/* ============ PRICING — 3 cards, left-stripe featured, no elevation ============ */
.ges-pricing-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ges-price-card{background:var(--ges-forest-3);border-radius:var(--ges-radius-l);padding:36px 30px;color:var(--ges-cream);border-left:4px solid var(--ges-line-dark);}
.ges-price-card.ges-featured{border-left-color:var(--ges-gold);background:var(--ges-forest-2);}
.ges-price-badge{display:inline-block;background:var(--ges-gold);color:var(--ges-forest);font-size:11px;font-weight:700;padding:5px 12px;border-radius:100px;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.03em;}
.ges-price-card h3{font-size:20px;margin-bottom:8px;}
.ges-price-tag{font-size:13.5px;color:var(--ges-cream-soft);margin-bottom:22px;}
.ges-price-amt{font-family:var(--ges-font-display);font-size:40px;font-weight:800;color:var(--ges-gold-2);}
.ges-price-amt span{font-size:14px;font-weight:500;color:var(--ges-cream-soft);}
.ges-price-feats{margin:24px 0 28px;display:flex;flex-direction:column;gap:11px;}
.ges-price-feats li{display:flex;gap:10px;font-size:14px;align-items:flex-start;}
.ges-price-feats li svg{flex:none;margin-top:3px;width:15px;height:15px;color:var(--ges-gold-2);}
.ges-price-cta{display:block;text-align:center;padding:12px;border-radius:var(--ges-radius-s);font-weight:700;font-size:14px;background:var(--ges-gold);color:var(--ges-forest);}
.ges-price-cta:hover{background:var(--ges-gold-2);}
@media (max-width:900px){.ges-pricing-row{grid-template-columns:1fr;}}

/* ============ ADDITIONAL SERVICES — grouped accordion ============ */
.ges-addon-accordion{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.ges-addon-item{background:var(--ges-paper);border:1px solid var(--ges-line);border-radius:var(--ges-radius-m);overflow:hidden;}
.ges-addon-q{width:100%;text-align:left;background:none;border:none;padding:18px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.ges-addon-name{font-weight:700;font-size:15px;color:var(--ges-ink);}
.ges-addon-right{display:flex;align-items:center;gap:14px;flex:none;}
.ges-addon-price{font-family:var(--ges-font-display);font-weight:800;font-size:18px;color:var(--ges-forest);}
.ges-addon-icon{width:18px;height:18px;position:relative;flex:none;}
.ges-addon-icon::before,.ges-addon-icon::after{content:"";position:absolute;background:var(--ges-gold);top:50%;left:50%;transform:translate(-50%,-50%);}
.ges-addon-icon::before{width:13px;height:2px;}
.ges-addon-icon::after{width:2px;height:13px;transition:transform .2s ease,opacity .2s ease;}
.ges-addon-item.ges-open .ges-addon-icon::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg);}
.ges-addon-a{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.ges-addon-a-inner{padding:0 22px 20px;color:var(--ges-ink-soft);font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.ges-addon-order{font-size:12.5px;font-weight:700;color:var(--ges-forest);border:1px solid var(--ges-line);padding:7px 14px;border-radius:100px;white-space:nowrap;}
.ges-addon-order:hover{background:var(--ges-forest);color:var(--ges-gold-2);border-color:var(--ges-forest);}
noscript .ges-addon-a{max-height:none !important;}

/* ============ PROCESS — 2x3 numbered card grid ============ */
.ges-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ges-proc-card{background:var(--ges-forest-2);border-radius:var(--ges-radius-l);padding:28px;display:flex;flex-direction:column;gap:10px;}
.ges-proc-num{width:38px;height:38px;border-radius:50%;background:var(--ges-gold);color:var(--ges-forest);display:flex;align-items:center;justify-content:center;font-family:var(--ges-font-display);font-weight:800;font-size:15px;}
.ges-proc-card h3{font-size:16.5px;color:var(--ges-cream);}
.ges-proc-card p{font-size:13.5px;color:var(--ges-cream-soft);}
@media (max-width:900px){.ges-process-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.ges-process-grid{grid-template-columns:1fr;}}

/* ============ GUARANTEE — floating overlap card ============ */
.ges-guarantee-wrap{position:relative;margin-top:-64px;z-index:10;}
.ges-guarantee{background:var(--ges-gold);border-radius:var(--ges-radius-l);padding:44px 48px;box-shadow:0 24px 50px rgba(15,35,24,.25);display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.ges-guarantee-badge{width:64px;height:64px;flex:none;border-radius:50%;background:var(--ges-forest);color:var(--ges-gold-2);display:flex;align-items:center;justify-content:center;font-size:26px;}
.ges-guarantee h3{font-size:clamp(20px,2.6vw,26px);color:var(--ges-forest);margin-bottom:6px;}
.ges-guarantee p{font-size:14.5px;color:rgba(15,35,24,.78);max-width:560px;}
@media (max-width:700px){.ges-guarantee-wrap{margin-top:-40px;}.ges-guarantee{padding:32px;flex-direction:column;text-align:center;}}

/* ============ COMPARISON — 2-col card table ============ */
.ges-compare-card{max-width:840px;margin:0 auto;border:1px solid var(--ges-line);border-radius:var(--ges-radius-l);overflow:hidden;}
.ges-compare-head{display:grid;grid-template-columns:1.3fr 1fr 1fr;background:var(--ges-forest);color:var(--ges-cream);}
.ges-compare-head > div{padding:18px 20px;font-family:var(--ges-font-display);font-weight:700;font-size:14px;}
.ges-compare-head > div:nth-child(2){color:var(--ges-gold-2);}
.ges-compare-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;border-top:1px solid var(--ges-line);}
.ges-compare-row > div{padding:15px 20px;font-size:14px;display:flex;align-items:center;justify-content:center;text-align:center;}
.ges-compare-row > div:first-child{justify-content:flex-start;text-align:left;color:var(--ges-ink-soft);}
.ges-compare-row .ges-yes{color:var(--ges-forest);}
.ges-compare-row .ges-no{color:var(--ges-ink-soft);opacity:.4;}
@media (max-width:600px){.ges-compare-head > div,.ges-compare-row > div{padding:10px 10px;font-size:12.5px;}}

/* ============ FAQ — 2-col with accent bar ============ */
.ges-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;}
.ges-faq-item{border-left:3px solid var(--ges-line);padding-left:20px;}
.ges-faq-item.ges-open{border-left-color:var(--ges-gold);}
.ges-faq-q{width:100%;text-align:left;background:none;border:none;padding:16px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--ges-font-display);font-size:15.5px;font-weight:700;color:var(--ges-ink);}
.ges-faq-q .ges-faq-icon{flex:none;width:18px;height:18px;position:relative;}
.ges-faq-icon::before,.ges-faq-icon::after{content:"";position:absolute;background:var(--ges-forest);top:50%;left:50%;transform:translate(-50%,-50%);}
.ges-faq-icon::before{width:13px;height:2px;}
.ges-faq-icon::after{width:2px;height:13px;transition:transform .2s ease,opacity .2s ease;}
.ges-faq-item.ges-open .ges-faq-icon::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg);}
.ges-faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.ges-faq-a-inner{padding:0 0 18px;color:var(--ges-ink-soft);font-size:14px;max-width:420px;}
.ges-faq-a-inner a{color:var(--ges-forest);font-weight:700;border-bottom:1px solid currentColor;}
noscript .ges-faq-a{max-height:none !important;}
@media (max-width:900px){.ges-faq-grid{grid-template-columns:1fr;}}

/* ============ ABOUT — pull-quote centered ============ */
.ges-about-quote{max-width:760px;margin:0 auto 48px;text-align:center;}
.ges-about-quote blockquote{font-family:var(--ges-font-display);font-size:clamp(22px,2.8vw,30px);font-weight:600;line-height:1.4;color:var(--ges-cream);margin:0 0 18px;}
.ges-about-quote cite{font-style:normal;font-size:13.5px;color:var(--ges-gold-2);font-weight:700;}
.ges-about-col{max-width:680px;margin:0 auto;text-align:center;}
.ges-about-col p{color:var(--ges-cream-soft);font-size:15.5px;margin-bottom:16px;}
.ges-about-col p:last-of-type{margin-bottom:0;}

.ges-stats-row{max-width:960px;margin:56px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--ges-line-dark);padding-top:40px;}
.ges-stat{text-align:center;}
.ges-stat-num{font-family:var(--ges-font-display);font-size:clamp(26px,3.2vw,38px);font-weight:800;color:var(--ges-gold-2);}
.ges-stat-label{font-size:12.5px;color:var(--ges-cream-soft);margin-top:6px;}
@media (max-width:760px){.ges-stats-row{grid-template-columns:1fr 1fr;}}

.ges-team-row{max-width:960px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ges-team-card{background:var(--ges-forest-2);border:1px solid var(--ges-line-dark);border-radius:var(--ges-radius-l);padding:26px;text-align:center;}
.ges-avatar{width:58px;height:58px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-family:var(--ges-font-display);font-weight:800;font-size:17px;color:var(--ges-forest);}
.ges-team-card h4{font-size:15.5px;color:var(--ges-cream);}
.ges-team-role{font-size:12px;color:var(--ges-gold-2);margin-top:4px;font-weight:700;}
.ges-team-note{font-size:13px;color:var(--ges-cream-soft);margin-top:12px;font-style:italic;}
@media (max-width:760px){.ges-team-row{grid-template-columns:1fr;}}

/* ============ REVIEWS — 2-col masonry (varying heights) ============ */
.ges-reviews-masonry{columns:2;column-gap:20px;}
.ges-review-card{background:var(--ges-paper);border:1px solid var(--ges-line);border-radius:var(--ges-radius-l);padding:26px;break-inside:avoid;margin-bottom:20px;}
.ges-review-card blockquote{font-size:14.5px;color:var(--ges-ink);margin:0 0 18px;line-height:1.55;}
.ges-reviewer{display:flex;align-items:center;gap:12px;}
.ges-reviewer .ges-avatar{width:40px;height:40px;font-size:12.5px;margin:0;}
.ges-reviewer-name{font-weight:700;font-size:14px;}
.ges-reviewer-role{font-size:12px;color:var(--ges-ink-soft);}
.ges-stars{color:var(--ges-gold);font-size:13px;margin-bottom:10px;letter-spacing:2px;}
@media (max-width:700px){.ges-reviews-masonry{columns:1;}}

/* ============ CONTACT PAGE ============ */
.ges-contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start;}
.ges-contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ges-contact-card{background:var(--ges-paper);border:1px solid var(--ges-line);border-radius:var(--ges-radius-l);padding:26px;}
.ges-contact-icon{width:44px;height:44px;border-radius:var(--ges-radius-m);background:var(--ges-forest);color:var(--ges-gold-2);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none;margin-bottom:16px;}
.ges-contact-card h3{font-size:15px;margin-bottom:8px;}
.ges-contact-card p,.ges-contact-card a{font-size:14.5px;color:var(--ges-ink-soft);}
.ges-contact-card a:hover{color:var(--ges-forest);}
.ges-side-panel{background:var(--ges-forest);color:var(--ges-cream);border-radius:var(--ges-radius-l);padding:34px;height:100%;}
.ges-side-panel h3{font-size:19px;margin-bottom:12px;}
.ges-side-panel p{color:var(--ges-cream-soft);font-size:14.5px;margin-bottom:24px;}
.ges-map-wrap{margin-top:32px;border-radius:var(--ges-radius-l);overflow:hidden;border:1px solid var(--ges-line);height:400px;}
.ges-map-wrap iframe{width:100%;height:100%;border:0;display:block;}
@media (max-width:900px){.ges-contact-grid{grid-template-columns:1fr;}.ges-contact-cards{grid-template-columns:1fr;}}

/* ============ LEGAL PAGE ============ */
.ges-legal-subnav{position:sticky;top:78px;z-index:80;background:var(--ges-paper);border-bottom:1px solid var(--ges-line);display:flex;gap:4px;overflow-x:auto;padding:14px 0;}
.ges-legal-subnav a{padding:9px 16px;border-radius:100px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--ges-ink-soft);border:1px solid var(--ges-line);}
.ges-legal-subnav a:hover,.ges-legal-subnav a.ges-active{background:var(--ges-forest);color:var(--ges-gold-2);border-color:var(--ges-forest);}
.ges-legal-doc{max-width:760px;margin:0 auto;padding:64px 0;border-bottom:1px solid var(--ges-line);}
.ges-legal-doc:last-child{border-bottom:none;}
.ges-legal-doc h2{font-size:25px;margin-bottom:6px;}
.ges-legal-updated{font-size:13px;color:var(--ges-ink-soft);margin-bottom:30px;}
.ges-legal-doc h3{font-size:16px;margin:26px 0 10px;}
.ges-legal-doc p{color:var(--ges-ink-soft);font-size:15px;margin-bottom:14px;}
.ges-legal-doc ul{margin:0 0 14px;display:flex;flex-direction:column;gap:8px;}
.ges-legal-doc li{color:var(--ges-ink-soft);font-size:15px;padding-left:18px;position:relative;}
.ges-legal-doc li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--ges-gold);border-radius:50%;}
.ges-legal-doc a{color:var(--ges-forest);font-weight:700;border-bottom:1px solid currentColor;}

/* ============ FOOTER ============ */
.ges-footer{background:var(--ges-forest);color:var(--ges-cream);padding:76px 0 0;}
.ges-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:52px;border-bottom:1px solid var(--ges-line-dark);}
.ges-footer-brand p{color:var(--ges-cream-soft);font-size:14.5px;margin-top:16px;max-width:280px;}
.ges-footer h4{font-size:12.5px;color:var(--ges-cream-soft);margin-bottom:18px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;}
.ges-footer ul{display:flex;flex-direction:column;gap:12px;}
.ges-footer a{font-size:14.5px;color:var(--ges-cream);}
.ges-footer a:hover{color:var(--ges-gold-2);}
.ges-footer-contact li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ges-cream);}
.ges-footer-contact svg{flex:none;margin-top:3px;width:15px;height:15px;color:var(--ges-gold-2);}
.ges-footer-bottom{max-width:var(--ges-maxw);margin:0 auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ges-cream-soft);}
.ges-footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap;}
.ges-footer-bottom-links a{color:var(--ges-cream-soft);font-size:12.5px;}
.ges-footer-bottom-links a:hover{color:var(--ges-gold-2);}
@media (max-width:900px){.ges-footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.ges-footer-grid{grid-template-columns:1fr;}}

/* ============ PAGE HERO (secondary pages) ============ */
.ges-page-hero{background:var(--ges-forest);color:var(--ges-cream);padding:164px 0 74px;position:relative;overflow:hidden;}
.ges-page-hero h1{font-size:clamp(30px,4.4vw,46px);}
.ges-page-hero p{color:var(--ges-cream-soft);font-size:16px;max-width:560px;margin-top:16px;}

/* ============ COOKIE BANNER ============ */
.ges-cookie{position:fixed;left:24px;right:24px;bottom:-200px;max-width:560px;margin:0 auto;z-index:900;background:var(--ges-forest-2);border:1px solid var(--ges-line-dark);border-radius:var(--ges-radius-l);padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.4);color:var(--ges-cream);transition:bottom .4s ease;}
.ges-cookie.ges-show{bottom:24px;}
.ges-cookie p{font-size:14px;color:var(--ges-cream-soft);margin-bottom:6px;}
.ges-cookie a{color:var(--ges-gold-2);font-weight:700;}
.ges-cookie-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}
.ges-cookie-actions button{padding:10px 18px;border-radius:var(--ges-radius-s);font-size:13.5px;font-weight:700;cursor:pointer;border:1px solid var(--ges-line-dark);background:none;color:var(--ges-cream);}
.ges-cookie-actions .ges-accept{background:var(--ges-gold);color:var(--ges-forest);border:none;}

/* ============ UTIL ============ */
.ges-btn-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.ges-sticky-cta{position:fixed;right:22px;bottom:22px;z-index:400;background:var(--ges-gold);color:var(--ges-forest);padding:14px 20px;border-radius:100px;font-weight:700;font-size:14px;box-shadow:0 12px 28px rgba(0,0,0,.28);display:flex;align-items:center;gap:8px;}
.ges-sticky-cta:hover{background:var(--ges-gold-2);}
@media (max-width:560px){.ges-sticky-cta{right:16px;bottom:16px;padding:12px 16px;font-size:13px;}}
.ges-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
