/*
Theme Name: Solar Tenerife Premium
Theme URI: https://solartenerife.com/
Author: OpenAI
Author URI: https://openai.com/
Description: Custom WordPress theme for Solar Tenerife focused on speed, SEO, and local lead generation.
Version: 2.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: solar-tenerife
*/

:root {
  --st-gold: #F5B400;
  --st-graphite: #16181D;
  --st-offwhite: #F7F6F2;
  --st-amber: #D97A1E;
  --st-slate: #2B313A;
  --st-blue: #2D6CDF;
  --st-text: #222;
  --st-muted: rgba(22,24,29,.68);
  --st-border: rgba(22,24,29,.08);
  --st-radius: 28px;
  --st-shadow: 0 18px 48px rgba(22,24,29,.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--st-offwhite);
  color: var(--st-text);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(10px);
  background: rgba(247,246,242,.92);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.site-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding: 18px 0; }
.brand img { max-height: 56px; width: auto; }
.primary-menu { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.primary-menu a { font-size: 14px; font-weight: 700; color: rgba(22,24,29,.74); }
.primary-menu a:hover { color: var(--st-amber); }
.nav-dropdown{position:relative;display:flex;align-items:center;padding-bottom:14px;margin-bottom:-14px}
.nav-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px}
.nav-dropdown-toggle{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:14px;font-weight:700;line-height:1.2;color:rgba(22,24,29,.74);cursor:pointer;transition:color .18s ease}
.nav-dropdown-toggle:hover,.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle{color:var(--st-amber)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;padding:12px;background:#fff;border:1px solid rgba(120,90,40,.12);border-radius:18px;box-shadow:0 18px 40px rgba(33,26,18,.12);display:none;z-index:60}
.nav-dropdown-menu a{display:block;padding:10px 12px;border-radius:12px;color:#433628 !important;font-size:14px !important}
.nav-dropdown-menu a:hover{background:#f6f0e6;color:#8d6124 !important;text-decoration:none}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
.mobile-menu-group-label{margin:14px 0 6px;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a7747}

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding: 15px 24px; border-radius: 999px; border:1px solid transparent;
  font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--st-gold); color: var(--st-graphite); box-shadow: 0 12px 28px rgba(245,180,0,.25); }
.btn-dark { background: var(--st-graphite); color: #fff; }
.btn-light { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.12); }
.hero {
  position: relative; overflow: hidden; background: var(--st-graphite); color: #fff;
}
.hero:before, .hero:after {
  content:""; position:absolute; inset:auto; border-radius:50%; filter: blur(8px);
}
.hero:before { width: 580px; height: 580px; left: -120px; top: -180px; background: radial-gradient(circle, rgba(245,180,0,.22) 0%, rgba(245,180,0,0) 64%); }
.hero:after { width: 520px; height: 520px; right: -100px; top: -120px; background: radial-gradient(circle, rgba(217,122,30,.18) 0%, rgba(217,122,30,0) 64%); }
.hero-grid { display:grid; grid-template-columns: 1.08fr .92fr; gap: 48px; padding: 88px 0; position:relative; z-index:1; }
.eyebrow {
  display:inline-flex; align-items:center; gap:10px; border-radius:999px; padding:10px 16px;
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); font-size:14px; font-weight:700;
}
.eyebrow-dot { width:10px; height:10px; border-radius:50%; background: var(--st-gold); }
.hero h1, .page-hero h1 { font-size: clamp(2.5rem, 6vw, 4.8rem); line-height: .95; letter-spacing: -.04em; margin: 22px 0 0; font-weight: 900; }
.hero p { font-size: clamp(1.05rem, 2vw, 1.22rem); color: rgba(255,255,255,.72); max-width: 760px; }
.page-hero p { font-size: clamp(1.05rem, 2vw, 1.22rem); color: rgba(22,24,29,.72); max-width: 760px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top: 32px; }
.mini-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:16px; margin-top: 36px; }
.mini-pill {
  border-radius: 18px; border:1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05);
  padding:16px; font-weight:700; font-size: 14px;
}
.panel { border-radius: 34px; border:1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.06); box-shadow: 0 24px 80px rgba(0,0,0,.24); overflow:hidden; backdrop-filter: blur(8px); }
.panel-banner { height:220px; background: linear-gradient(135deg, #2B313A 0%, #1A1D24 48%, #D97A1E 100%); }
.panel-body { display:grid; gap:16px; padding: 20px; }
.card-gold { border-radius:24px; background: linear-gradient(135deg,#F5B400 0%,#D97A1E 100%); color: var(--st-graphite); padding: 24px; }
.card-soft, .stat-card, .white-card { border-radius:24px; background: #fff; padding: 20px; }
.card-dark-soft { border-radius:24px; border:1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); padding: 20px; color:#fff; }
.section { padding: 88px 0; }
.section-white { background: rgba(255,255,255,.72); border-top:1px solid rgba(0,0,0,.05); border-bottom:1px solid rgba(0,0,0,.05); }
.kicker { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .24em; color: var(--st-amber); }
.kicker-light { color: var(--st-gold); }
.section h2 { font-size: clamp(2rem, 4vw, 3.3rem); line-height:1.02; margin: 14px 0 0; letter-spacing:-.04em; }
.section-intro { max-width: 760px; font-size: 1.08rem; color: var(--st-muted); }
.services-grid, .projects-grid, .stats-grid, .footer-grid, .faq-grid, .blog-grid, .area-grid { display:grid; gap:24px; }
.services-grid { grid-template-columns: repeat(3,1fr); margin-top: 48px; }
.service-card { border-radius: 28px; border:1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.06); padding: 28px; box-shadow: 0 18px 44px rgba(0,0,0,.16); }
.service-card h3 { color:#fff; font-size:1.7rem; margin:.4rem 0; }
.service-card p { color: rgba(255,255,255,.72); }
.accent-box { width:48px; height:48px; border-radius:18px; }
.projects-section, .site-footer { background: var(--st-graphite); color: #fff; }
.projects-grid { grid-template-columns: repeat(3,1fr); margin-top: 48px; }
.project-card { overflow:hidden; border-radius:30px; border:1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); }
.project-card .image { height: 240px; }
.project-card .content { padding: 28px; }
.stats-grid { grid-template-columns: repeat(4,1fr); }
.site-footer { padding: 50px 0; }
.footer-grid { grid-template-columns: 1.1fr .9fr; }
.footer-meta { display:grid; grid-template-columns: repeat(2,1fr); gap:32px; }
.contact-box {
  overflow:hidden; border-radius:34px; background: var(--st-graphite); color:#fff; box-shadow: 0 24px 80px rgba(22,24,29,.16);
}
.contact-grid { display:grid; grid-template-columns: 1fr .95fr; gap:40px; padding: 48px; }
.form-shell { border-radius:28px; background:#fff; color: var(--st-graphite); padding: 24px; }
.field, .textarea {
  width:100%; border-radius:16px; border:1px solid rgba(22,24,29,.12); padding: 15px 16px; background:#fff; font: inherit;
}
.textarea { min-height: 120px; resize: vertical; }
.form-stack { display:grid; gap:14px; }
.small { font-size: .86rem; color: rgba(22,24,29,.56); }
.page-hero { position:relative; overflow:hidden; padding: 72px 0; background: linear-gradient(180deg,#F7F6F2 0%, #F2EDE4 100%); }
.page-hero:before {
  content:""; position:absolute; inset:0; background: radial-gradient(circle at top left, rgba(245,180,0,.18), transparent 28%), radial-gradient(circle at right, rgba(217,122,30,.12), transparent 24%);
}
.page-hero .container { position:relative; z-index:1; }
.breadcrumbs { font-size: .92rem; color: rgba(22,24,29,.56); margin-bottom: 18px; }
.two-col { display:grid; grid-template-columns: .95fr 1.05fr; gap: 36px; }
.list-card { border-radius:24px; background:#fff; border:1px solid var(--st-border); padding: 20px; box-shadow: var(--st-shadow); }
.list-card ul { margin:0; padding-left: 18px; }
.list-card li { margin: 8px 0; }
.faq-item { border-radius:24px; background:#fff; padding: 22px; border:1px solid var(--st-border); box-shadow: var(--st-shadow); }
.area-grid { grid-template-columns: repeat(2,1fr); }
.area-card { border-radius:28px; background:#fff; padding:28px; border:1px solid var(--st-border); box-shadow: var(--st-shadow); }
.post-card { border-radius:28px; background:#fff; padding:28px; border:1px solid var(--st-border); box-shadow: var(--st-shadow); }
.post-card h3 { margin-top: 8px; }
.single-content { max-width: 840px; }
.single-content h2 { margin-top: 38px; }
.single-content p, .single-content li { font-size: 1.05rem; color: var(--st-muted); }

.mobile-menu-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  padding:0;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  cursor:pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.mobile-menu-toggle:hover { transform: translateY(-1px); }
.mobile-menu-toggle span {
  display:block;
  width:22px;
  height:2px;
  margin:3px 0;
  border-radius:999px;
  background:#fff;
  transition: transform .2s ease, opacity .2s ease;
}
.mobile-menu-toggle.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.mobile-menu-toggle.is-open span:nth-child(2) { opacity:0; }
.mobile-menu-toggle.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.mobile-menu-panel {
  display:none;
  border-top:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(17,19,25,.98) 0%, rgba(17,19,25,.95) 100%);
}
.mobile-menu-panel.is-open { display:block; }
.mobile-menu-panel-inner { padding: 18px 0 22px; }
.mobile-menu {
  display:grid;
  gap:10px;
}
.mobile-menu a {
  display:block;
  padding:14px 16px;
  border-radius:16px;
  color:#fff;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  font-size:15px;
  font-weight:800;
}
.mobile-menu a:hover { color:#fff; border-color: rgba(216,162,76,.45); }
.mobile-menu-cta { width:100%; margin-top:16px; }

@media (max-width: 980px) {
  .hero-grid, .two-col, .contact-grid, .footer-grid, .area-grid { grid-template-columns: 1fr; }
  .services-grid, .projects-grid, .stats-grid { grid-template-columns: 1fr 1fr; }
  .mini-grid { grid-template-columns: 1fr 1fr; }
  .primary-menu { display:none; }
  .mobile-menu-toggle { display:inline-flex; }
  .site-header-premium .mobile-menu-toggle { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
}
@media (max-width: 640px) {
  .section, .site-footer, .page-hero { padding: 64px 0; }
  .hero-grid { padding: 64px 0; }
  .services-grid, .projects-grid, .stats-grid, .faq-grid, .blog-grid { grid-template-columns: 1fr; }
  .site-header-inner { padding: 14px 0; }
  .contact-grid { padding: 28px; }
  .brand img { max-height: 48px; }
}
.screen-reader-text { position:absolute; left:-9999px; }


:root {
  --st-bronze: #C48837;
  --st-bronze-dark: #A96E28;
  --st-black: #111319;
  --st-black-soft: #0F1218;
  --st-shell: #F3EFE8;
}
body { background: var(--st-shell); }
.site-header-premium {
  background: linear-gradient(180deg, rgba(17,19,25,.94) 0%, rgba(17,19,25,.86) 100%);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.site-header-premium .primary-menu a:not(.btn),
.site-header-premium .nav-dropdown-toggle { color: rgba(255,255,255,.72); }
.site-header-premium .primary-menu a:not(.btn):hover,
.site-header-premium .nav-dropdown-toggle:hover,
.site-header-premium .nav-dropdown:hover .nav-dropdown-toggle,
.site-header-premium .nav-dropdown:focus-within .nav-dropdown-toggle { color: #D8A24C; }
.logo-placeholder {
  display:inline-flex; align-items:center; justify-content:center; min-width:220px; height:58px; padding:0 18px;
  border-radius:18px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.55); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em;
}
body:not(.home) .logo-placeholder { border-color: rgba(0,0,0,.08); background:#fff; color: rgba(22,24,29,.45); }
.btn-premium {
  background: linear-gradient(180deg,#D8A24C 0%,#B97A2E 100%);
  color: #111319;
  border:1px solid rgba(196,136,55,.38);
  box-shadow: 0 14px 34px rgba(185,122,46,.24);
}
.btn-ghost-light {
  color:#fff; border:1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04);
}
.hero-premium { background: linear-gradient(180deg,#111319 0%,#0B0D12 100%); }
.hero-grid-overlay {
  position:absolute; inset:0; background:
   radial-gradient(circle at top left, rgba(196,136,55,.18), transparent 24%),
   radial-gradient(circle at top right, rgba(217,122,30,.12), transparent 20%),
   linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
   linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:auto, auto, 32px 32px, 32px 32px;
  opacity:1;
}
.premium-grid { position:relative; z-index:1; }
.premium-eyebrow { color: rgba(255,255,255,.8); }
.premium-highlight { color:#D8A24C; }
.hero-premium h1 { line-height:.9; max-width:900px; }
.pill-row { display:flex; flex-wrap:wrap; gap:12px; margin-top: 36px; }
.dark-pill {
  display:inline-flex; padding:10px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05); color: rgba(255,255,255,.74); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em;
}
.premium-panel { border-radius:36px; background: rgba(255,255,255,.05); box-shadow:0 30px 100px rgba(0,0,0,.34); }
.premium-banner { height:256px; background: linear-gradient(135deg,#1D232C 0%,#0E1015 48%,#8B5E24 100%); }
.card-premium-metal {
  border-radius:28px; border:1px solid rgba(196,136,55,.25); background: linear-gradient(135deg,#D8A24C 0%,#A96E28 100%);
  color:#111319; padding:28px; box-shadow: inset 0 1px 0 rgba(255,255,255,.24);
}
.card-premium-metal .meta-label { font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.24em; opacity:.58; }
.card-premium-metal .headline { font-size:2rem; font-weight:900; line-height:1.05; margin-top:12px; }
.card-premium-metal .copy { font-size:.96rem; line-height:1.75; margin-top:14px; opacity:.72; }
.premium-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.stat-premium { min-height: 120px; display:flex; flex-direction:column; justify-content:center; }
.stat-value { font-size:2rem; font-weight:900; }
.stat-label { color: rgba(255,255,255,.58); font-size:.95rem; }
.premium-trust-bar { background:#F7F4EE; }
.trust-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:20px 0; font-size:.93rem; font-weight:700; color:rgba(22,24,29,.62);
}
.kicker-bronze { color: var(--st-bronze-dark); }
.premium-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.premium-feature-card { padding:30px; }
.premium-feature-card h3 { font-size:1.7rem; margin:.5rem 0 0; }
.premium-feature-card p { color: var(--st-muted); }
.feature-no { color: var(--st-bronze-dark); font-size:.9rem; font-weight:900; letter-spacing:.18em; }
.projects-section-premium { background: var(--st-black-soft); color:#fff; }
.projects-head { display:grid; grid-template-columns:.95fr 1.05fr; gap:40px; align-items:end; }
.projects-intro { color: rgba(255,255,255,.68); max-width:none; }
.premium-gold { color:#D8A24C; }
.premium-project-card .image { height:240px; }
.premium-project-card h3 { font-size:1.7rem; margin:.5rem 0 0; }
.premium-project-card p { color: rgba(255,255,255,.68); }
.project-location { color: rgba(255,255,255,.45); font-weight:700; font-size:.92rem; }
.premium-contact-wrap { display:grid; grid-template-columns:1fr .95fr; gap:40px; align-items:center; }
.contact-points { margin-top:28px; display:grid; gap:10px; font-size:.95rem; color: rgba(22,24,29,.72); }
.contact-points-light { color: rgba(255,255,255,.72); }
.contact-points strong { color: inherit; }
.premium-form-shell { border-radius:34px; padding:28px; box-shadow:0 22px 60px rgba(22,24,29,.08); }
.form-title { font-size:1.8rem; font-weight:900; margin:10px 0 0; }
.map-section-premium { padding-top: 0; }
.map-shell {
  overflow:hidden; border-radius:34px; border:1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05);
  box-shadow: 0 24px 70px rgba(0,0,0,.26); backdrop-filter: blur(8px);
}
.map-topbar { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.1); }
.map-label { font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.22em; color: rgba(255,255,255,.48); }
.map-badge { border-radius:999px; border:1px solid rgba(196,136,55,.3); background: rgba(255,255,255,.05); color:#D8A24C; font-size:.76rem; font-weight:700; padding:6px 12px; }
.map-canvas { position:relative; height:380px; background: linear-gradient(135deg,#1A1E25 0%,#101319 100%); overflow:hidden; }
.map-grid { position:absolute; inset:0; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size:34px 34px; }
.map-glow { position:absolute; inset:0; background: radial-gradient(circle at 68% 58%, rgba(216,162,76,.28), transparent 16%), radial-gradient(circle at 30% 25%, rgba(255,255,255,.08), transparent 22%); }
.map-pin-wrap { position:absolute; left:58%; top:52%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; }
.map-pin { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:999px; border:1px solid rgba(196,136,55,.4); background: linear-gradient(180deg,#D8A24C 0%,#B97A2E 100%); color:#111319; font-weight:900; box-shadow:0 12px 24px rgba(185,122,46,.32); }
.map-address-chip { margin-top:12px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background: rgba(17,25,25,.9); color: rgba(255,255,255,.7); font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em; padding:10px 16px; }
.site-footer-premium { background: #111319; }
.footer-copy { max-width:720px; color:rgba(255,255,255,.65); font-size:.96rem; line-height:1.9; margin-top:18px; }
.footer-list { margin-top:14px; color:rgba(255,255,255,.72); font-size:.95rem; line-height:1.9; }
.footer-placeholder { min-width:240px; }

.footer-list a { color:inherit; text-decoration:none; }
.footer-list a:hover { color:#D8A24C; text-decoration:underline; }
@media (max-width: 980px) {
  .trust-grid, .premium-feature-grid, .projects-head, .premium-contact-wrap { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .premium-stat-grid { grid-template-columns:1fr; }
  .logo-placeholder { min-width:180px; width:180px; height:52px; }
}

.map-embed{display:block;width:100%;min-height:440px;border:0;background:#101319;}

.premium-banner.has-image{height:16rem;overflow:hidden;background:#15181d;}
.premium-banner.has-image img{width:100%;height:100%;object-fit:cover;display:block;}
.image-cover{overflow:hidden;background:#15181d;}
.image-cover img{width:100%;height:100%;object-fit:cover;display:block;}

.project-image-link{display:block;overflow:hidden;}
.project-image-link .image img{transition:transform .45s ease, filter .45s ease;}
.premium-project-card:hover .project-image-link .image img{transform:scale(1.04);filter:saturate(1.03);}
.project-title-link{color:inherit;text-decoration:none;}
.project-title-link:hover{color:#D8A24C;}
.project-read-more{display:inline-block;margin-top:14px;color:#D8A24C;font-weight:800;text-decoration:none;letter-spacing:.02em;}
.project-read-more:hover{opacity:.9;text-decoration:underline;}

.breadcrumbs-light, .breadcrumbs-light a{color:rgba(255,255,255,.62);} 
.project-hero-premium{position:relative;overflow:hidden;background:linear-gradient(180deg,#111319 0%,#0B0D12 100%);color:#fff;padding:72px 0 80px;}
.project-hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at top left, rgba(196,136,55,.18), transparent 24%),radial-gradient(circle at top right, rgba(217,122,30,.12), transparent 20%);}
.project-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .92fr;gap:42px;align-items:center;}
.project-hero-copy h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:.94;letter-spacing:-.04em;margin:18px 0 0;}
.project-hero-copy p{font-size:1.12rem;line-height:1.8;color:rgba(255,255,255,.72);max-width:760px;}
.project-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.project-meta-chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.project-hero-frame{overflow:hidden;border-radius:34px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);box-shadow:0 30px 100px rgba(0,0,0,.34);min-height:380px;}
.project-hero-image{width:100%;height:100%;display:block;object-fit:cover;min-height:380px;}
.project-hero-fallback{min-height:380px;background:linear-gradient(135deg,#1D232C 0%,#0E1015 48%,#8B5E24 100%);}
.project-content-grid{display:grid;grid-template-columns:1fr 360px;gap:36px;align-items:start;}
.project-content-shell{background:#fff;border:1px solid var(--st-border);border-radius:30px;padding:34px;box-shadow:var(--st-shadow);max-width:none;}
.project-content-shell h2{font-size:2rem;line-height:1.05;letter-spacing:-.03em;color:var(--st-graphite);}
.project-side-shell{display:grid;gap:20px;position:sticky;top:110px;}
.project-side-card{background:#fff;border:1px solid var(--st-border);border-radius:28px;padding:26px;box-shadow:var(--st-shadow);}
.project-side-card h2{font-size:1.5rem;line-height:1.08;margin:10px 0 0;color:var(--st-graphite);}
.project-side-card p{color:var(--st-muted);}
.project-side-list{margin:18px 0 0;padding-left:18px;}
.project-side-list li{margin:10px 0;color:var(--st-muted);}
.project-cta-card .btn{margin-top:8px;}
.project-bottom-cta-wrap{padding-top:0;}
.project-bottom-cta h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.02;letter-spacing:-.04em;margin:12px 0 0;color:#fff;}
.project-bottom-cta p{color:rgba(255,255,255,.72);font-size:1.06rem;line-height:1.85;}
@media (max-width:980px){.project-hero-grid,.project-content-grid{grid-template-columns:1fr;}.project-side-shell{position:static;}}

.page-hero .eyebrow, .page-hero .kicker, .page-hero .label { color: rgba(22,24,29,.58); }
.page-hero .btn-secondary { color: #16181D; border-color: rgba(22,24,29,.12); background: rgba(255,255,255,.7); }


/* v1.8 service and contact pages */
.service-hero-premium, .contact-hero-premium { background: linear-gradient(180deg,#f7f4ee 0%, #f2ede4 100%); padding: 72px 0 40px; }
.service-hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:40px; align-items:center; }
.service-kicker { color: var(--st-bronze-dark); font-size:.84rem; font-weight:900; letter-spacing:.2em; text-transform:uppercase; margin-bottom:12px; }
.service-subtitle { color:#4b4e55 !important; font-size:1.1rem; max-width:780px; line-height:1.8; }
.service-intro { color:var(--st-muted); font-size:1.02rem; line-height:1.9; max-width:760px; margin-top:14px; }
.btn-outline-dark { border-color: rgba(22,24,29,.18); color:#16181D; background: rgba(255,255,255,.7); }
.btn-outline-dark:hover { background:#fff; transform: translateY(-2px); }
.service-summary-card { border-radius:32px; background:#fff; padding:32px; box-shadow:0 22px 60px rgba(22,24,29,.08); border:1px solid rgba(22,24,29,.06); }
.service-summary-card h2 { font-size:2rem; margin:.5rem 0 0; }
.service-summary-list { list-style:none; padding:0; margin:22px 0 0; display:grid; gap:12px; }
.service-summary-list li { padding:14px 16px; border-radius:18px; background:#f7f4ee; color:#2c3139; font-weight:600; }
.section-intro { max-width:820px; margin-bottom:26px; }
.section-soft { background:#fbfaf7; }
.service-benefit-grid, .service-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-benefit-card, .process-card { border-radius:28px; background:#fff; border:1px solid rgba(22,24,29,.06); padding:28px; box-shadow:0 18px 44px rgba(22,24,29,.05); }
.service-benefit-card h3, .process-card h3 { margin:.5rem 0 0; font-size:1.5rem; }
.service-benefit-card p, .process-card p { color:var(--st-muted); line-height:1.85; }
.service-content-shell { background:#fff; border:1px solid rgba(22,24,29,.06); border-radius:28px; padding:36px; box-shadow:0 18px 44px rgba(22,24,29,.04); }
.contact-page-grid { display:grid; grid-template-columns: .95fr 1.05fr; gap:36px; align-items:start; }
.contact-form-map-stack { display:grid; gap:24px; }
.contact-form-card, .contact-map-card { background:#fff; }
.contact-form label { display:block; font-weight:700; color:#22262d; margin-bottom:14px; }
.contact-form input, .contact-form textarea { width:100%; margin-top:8px; border:1px solid rgba(22,24,29,.12); border-radius:16px; padding:14px 16px; font:inherit; background:#fcfbf8; }
.contact-form input:focus, .contact-form textarea:focus { outline:none; border-color:#A96E28; box-shadow:0 0 0 3px rgba(169,110,40,.12); }
.form-alert { border-radius:18px; padding:14px 16px; margin:12px 0 18px; font-weight:600; }
.form-alert.success { background:#edf8ef; color:#1c6a34; }
.form-alert.error { background:#fff0f0; color:#9b2d2d; }
.hp-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.map-embed iframe { display:block; }
@media (max-width: 1024px) {
  .service-hero-grid, .contact-page-grid, .service-benefit-grid, .service-process-grid { grid-template-columns:1fr 1fr; }
  .service-summary-card { grid-column: span 2; }
}
@media (max-width: 767px) {
  .service-hero-grid, .contact-page-grid, .service-benefit-grid, .service-process-grid { grid-template-columns:1fr; }
  .service-hero-premium, .contact-hero-premium { padding-top:56px; }
  .service-content-shell, .service-benefit-card, .process-card, .contact-form-card { padding:24px; }
}


/* Reviews */
.reviews-home-section .projects-head{align-items:end;gap:2rem}
.reviews-grid-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
.review-card-home{background:#fff;border:1px solid rgba(22,24,29,.08);border-radius:28px;padding:1.6rem;box-shadow:0 18px 44px rgba(22,24,29,.06)}
.review-card-home h3,.review-card-home h2{margin:.55rem 0 .8rem;font-size:1.35rem;line-height:1.2}
.review-stars{color:var(--st-gold);letter-spacing:.12em;font-size:1rem}
.review-service-tag{display:inline-flex;margin-top:.7rem;padding:.38rem .7rem;border-radius:999px;background:#f5efe4;color:#8b5e24;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.review-card-home p,.review-content-full{color:var(--st-muted);line-height:1.8}
.reviews-home-cta{margin-top:1.5rem}
.review-card-archive{height:100%}
.reviews-grid-archive{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 900px){.reviews-grid-home,.reviews-grid-archive{grid-template-columns:1fr}}


.section-services-home { background: linear-gradient(180deg,#F7F4EE 0%, #EFE8DD 100%); }
.services-home-head { align-items:end; }
.services-grid-home-premium { grid-template-columns: repeat(3,1fr); margin-top:48px; }
.service-card-home-premium {
  border-radius: 30px;
  border: 1px solid rgba(17,19,25,.08);
  background: rgba(255,255,255,.8);
  box-shadow: 0 18px 48px rgba(17,19,25,.08);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease, background-color .25s ease;
}
.service-card-home-linkwrap {
  padding: 30px;
  display:grid;
  gap: 16px;
  color: inherit;
  text-decoration: none;
  height: 100%;
}
.service-card-home-premium h3 { font-size: 1.65rem; line-height: 1.02; margin: 0; transition: color .25s ease; }
.service-card-home-premium p { margin:0; color: var(--st-muted); transition: color .25s ease; }
.service-card-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.service-card-tag {
  display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px;
  border:1px solid rgba(196,136,55,.2); background: rgba(196,136,55,.08); color: var(--st-bronze-dark);
  font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.service-card-plus { font-size: 1.6rem; line-height:1; color: rgba(17,19,25,.24); font-weight:300; transition: color .25s ease; }
.service-card-link { margin-top: 4px; font-weight: 800; color: var(--st-black); transition: color .25s ease; }
.service-card-home-premium:hover,
.service-card-home-premium:focus-within {
  border-color: rgba(196,136,55,.34);
  box-shadow: 0 22px 56px rgba(17,19,25,.12);
  transform: translateY(-3px);
  background: rgba(255,255,255,.96);
}
.service-card-home-premium:hover h3,
.service-card-home-premium:hover .service-card-link,
.service-card-home-premium:hover .service-card-plus,
.service-card-home-premium:focus-within h3,
.service-card-home-premium:focus-within .service-card-link,
.service-card-home-premium:focus-within .service-card-plus {
  color: var(--st-bronze-dark);
}
.service-card-home-premium:hover .service-card-tag,
.service-card-home-premium:focus-within .service-card-tag {
  background: rgba(196,136,55,.16);
  border-color: rgba(196,136,55,.34);
}
.service-card-home-linkwrap:focus-visible {
  outline: 2px solid var(--st-bronze-dark);
  outline-offset: -2px;
  border-radius: 30px;
}
@media (max-width: 980px) {
  .premium-feature-grid, .trust-grid, .projects-head, .premium-contact-wrap, .services-grid-home-premium { grid-template-columns: 1fr 1fr; }
  .projects-head, .premium-contact-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .services-grid-home-premium, .premium-feature-grid, .trust-grid { grid-template-columns: 1fr; }
}


.section-brands{padding-top:0}
.brand-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;align-items:stretch}
.brand-logo-card{min-height:132px;border-radius:24px;border:1px solid rgba(17,19,25,.08);background:rgba(255,255,255,.96);box-shadow:0 16px 40px rgba(17,19,25,.06);display:flex;align-items:center;justify-content:center;padding:24px 26px}
.brand-logo-card img{display:block;max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain;filter:none}
.brand-logo-placeholder{width:100%;min-height:84px;border-radius:18px;border:1px dashed rgba(17,19,25,.18);display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--st-muted);background:linear-gradient(180deg,#fff 0%,#f7f4ee 100%)}
@media (max-width: 1100px){.brand-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-logo-card{min-height:128px}.brand-logo-card img{max-height:72px}}
@media (max-width: 640px){.brand-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.brand-logo-card{min-height:112px;border-radius:20px;padding:18px}.brand-logo-card img{max-height:56px}.brand-logo-placeholder{min-height:70px;padding:14px;font-size:13px}}
@media (max-width: 430px){.brand-logo-grid{grid-template-columns:1fr}.brand-logo-card{min-height:110px}.brand-logo-card img{max-height:52px}}

.brand-logo-card img[src$=".svg"]{width:100%;height:78px;object-fit:contain}
@media (max-width: 640px){.brand-logo-card img[src$=".svg"]{height:56px}}
@media (max-width: 430px){.brand-logo-card img[src$=".svg"]{height:52px}}


/* Home hero service pills: clickable + golden hover */
.pill-row { position: relative; z-index: 5; }
.dark-pill-link {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 6;
  transition: color .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.dark-pill-link:hover,
.dark-pill-link:focus-visible {
  color: #D8A24C;
  border-color: rgba(216,162,76,.55);
  background: rgba(216,162,76,.10);
  box-shadow: 0 10px 24px rgba(216,162,76,.16);
  transform: translateY(-1px);
}
.dark-pill-link:focus-visible {
  outline: 2px solid rgba(216,162,76,.7);
  outline-offset: 2px;
}


/* Solar calculator */
.section-solar-calculator { background: linear-gradient(180deg,#fff 0%, #f8f3ea 100%); }
.solar-calculator-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:24px;
  align-items:stretch;
}
.solar-calculator-card {
  border-radius: 30px;
  border: 1px solid rgba(17,19,25,.08);
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 48px rgba(17,19,25,.06);
  padding: 30px;
}
.solar-calculator-form { display:grid; gap:18px; }
.solar-calculator-form label { display:grid; gap:10px; color:#1c2027; font-weight:800; }
.solar-calculator-form input[type="number"],
.solar-calculator-form select {
  width:100%;
  border:1px solid rgba(22,24,29,.12);
  border-radius:16px;
  padding:14px 16px;
  font:inherit;
  background:#fcfbf8;
}
.solar-calculator-form input[type="range"] { width:100%; accent-color: #C48837; cursor:pointer; touch-action: pan-y; }
.solar-calculator-form input[type="range"]:active { cursor:grabbing; }
.solar-calculator-note {
  border-radius:18px;
  background:#f7f4ee;
  color:var(--st-muted);
  padding:16px 18px;
  line-height:1.7;
  font-size:.95rem;
}
.result-topline {
  color: var(--st-bronze-dark);
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.solar-result-hero {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  margin-bottom:20px;
}
.solar-result-label {
  color: var(--st-muted);
  font-size:.88rem;
  font-weight:700;
  margin-bottom:6px;
}
.solar-result-value {
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height:1;
  font-weight:900;
  color:#171b22;
}
.solar-result-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
.solar-result-box {
  border-radius:20px;
  background:#f7f4ee;
  padding:18px;
  border:1px solid rgba(17,19,25,.06);
}
.solar-result-strong {
  color:#171b22;
  font-size:1.15rem;
  font-weight:900;
  line-height:1.3;
}
.solar-calculator-cta {
  margin-top:20px;
  border-top:1px solid rgba(17,19,25,.08);
  padding-top:20px;
  display:grid;
  gap:16px;
}
.solar-calculator-cta p {
  margin:0;
  color:var(--st-muted);
  line-height:1.8;
}
@media (max-width: 900px) {
  .solar-calculator-grid,
  .solar-result-hero,
  .solar-result-grid { grid-template-columns: 1fr; }
}


.charger-simple-grid { align-items:start; }
.solar-calculator-help { display:block; margin-top:10px; color:var(--st-muted); line-height:1.6; }
.solar-inline-bullets { margin:0; padding-left:18px; color:#323842; display:grid; gap:8px; }
.charger-recommendation-panel .solar-result-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.charger-models-grid {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}
.charger-models-grid-three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.charger-product-card {
  border-radius: 28px;
  border: 1px solid rgba(22,24,29,.08);
  background: #fff;
  box-shadow: var(--st-shadow);
  overflow: hidden;
  display: grid;
}
.charger-product-card.is-featured {
  border-color: rgba(245,180,0,.45);
  box-shadow: 0 22px 52px rgba(245,180,0,.14);
}
.charger-product-card.is-recommended-economy {
  border-color: rgba(22,24,29,.12);
}
.charger-product-visual {
  background: linear-gradient(180deg,#fbfaf6 0%,#f0ede6 100%);
  padding: 18px;
  min-height: 420px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.charger-product-visual img {
  display:block;
  width:100%;
  max-width: 500px;
  height: 380px;
  object-fit: contain;
  object-position: center center;
  border-radius: 22px;
}
.charger-product-body { padding: 24px; display:grid; gap:14px; }
.charger-product-body h3 { margin:0; font-size:1.8rem; line-height:1.05; }
.charger-product-body p { margin:0; color: var(--st-muted); }
.charger-product-body ul { margin:0; padding-left: 18px; color: #323842; display:grid; gap:8px; }
.charger-badge {
  display:inline-flex; align-items:center; justify-content:center; width:max-content;
  padding:8px 14px; border-radius:999px; background: rgba(245,180,0,.16); color:#8b5e24;
  font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.charger-badge-soft { background: rgba(22,24,29,.06); color: rgba(22,24,29,.7); }
.charger-badge-economy { background: rgba(22,24,29,.07); color: rgba(22,24,29,.74); }
.charger-product-body .btn, .product-actions .btn, .product-form-stack .btn { background: var(--st-accent); border-color: var(--st-accent); color: #111; }
.charger-product-body .btn:hover, .product-actions .btn:hover, .product-form-stack .btn:hover { filter: brightness(.97); }
.charger-product-body .btn { width: fit-content; }
.product-hero-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items:center; }
.product-hero-copy { margin-top: 18px; color: rgba(22,24,29,.65); max-width: 56ch; }
.product-hero-card {
  border-radius: 34px; padding: 22px; background: rgba(255,255,255,.76);
  border: 1px solid rgba(22,24,29,.08); box-shadow: var(--st-shadow);
}
.product-brand-logo { max-height: 56px; width:auto; margin-bottom:16px; }
.product-main-image {
  display:block;
  width:100%;
  max-width: 560px;
  height: 520px;
  margin: 0 auto;
  object-fit: contain;
  object-position: center center;
  border-radius:26px;
}
.product-highlight-grid {
  display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:16px;
}
.product-highlight-card {
  border-radius: 22px; background:#fff; border:1px solid rgba(22,24,29,.08); padding:18px 20px;
  font-weight:800; color:#20242b; box-shadow: 0 10px 26px rgba(22,24,29,.05);
}
.product-detail-grid { display:grid; grid-template-columns: .95fr 1.05fr; gap: 28px; align-items:start; }
.product-spec-card {
  border-radius: 26px; background:#fff; border:1px solid rgba(22,24,29,.08); overflow:hidden;
  box-shadow: var(--st-shadow);
}
.product-spec-row {
  display:grid; grid-template-columns: 190px 1fr; gap:16px; padding:16px 18px; border-bottom:1px solid rgba(22,24,29,.06);
}
.product-spec-row:last-child { border-bottom:0; }
.product-spec-label { font-weight:800; color:#20242b; }
.product-spec-value { color: rgba(22,24,29,.72); }
.product-copy-stack { display:grid; gap:20px; }
.product-form-stack { max-width: 780px; margin: 0 auto; }
@media (max-width: 920px) {
  .charger-models-grid, .product-detail-grid, .product-highlight-grid, .product-hero-grid { grid-template-columns: 1fr; }
  .charger-recommendation-panel .solar-result-grid { grid-template-columns: 1fr; }
  .product-spec-row { grid-template-columns: 1fr; }
}

.solar-result-grid--simple {
  grid-template-columns: 1fr;
}
.solar-included-list {
  margin: 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 8px;
  color: #171b22;
  font-weight: 800;
}
.solar-included-list li::marker {
  color: var(--st-bronze-dark);
}


.solar-result-box-model { display:grid; gap:12px; }
.charger-selected-media[hidden] { display:none !important; }
.charger-selected-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#20242b;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(22,24,29,.08);
  background:rgba(255,255,255,.9);
}
.charger-selected-link:hover { border-color: rgba(245,180,0,.45); box-shadow: 0 12px 28px rgba(22,24,29,.08); }
.charger-selected-link img {
  width:56px;
  height:56px;
  object-fit:contain;
  object-position:center;
  border-radius:12px;
  background:linear-gradient(180deg,#fbfaf6 0%,#f0ede6 100%);
  padding:6px;
}
.charger-selected-link span {
  font-weight:800;
  font-size:.95rem;
  line-height:1.2;
}


.charger-picker-block {
  display: grid;
  gap: 14px;
}
.charger-picker-title {
  font-weight: 800;
  color: #171b22;
}
.charger-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.charger-choice-card {
  position: relative;
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(22,24,29,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(252,251,247,.98) 100%);
  box-shadow: 0 20px 40px rgba(22,24,29,.05);
  cursor: pointer;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.charger-choice-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(245,180,0,.12) 0%, rgba(245,180,0,0) 46%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.charger-choice-card:hover {
  transform: translateY(-3px);
  border-color: rgba(245,180,0,.42);
  box-shadow: 0 26px 52px rgba(22,24,29,.09);
}
.charger-choice-card:hover::before {
  opacity: 1;
}
.charger-choice-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.charger-choice-tick {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 2px solid rgba(22,24,29,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 18px rgba(22,24,29,.08);
}
.charger-choice-tick::after {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: transparent;
}
.charger-choice-card.is-selected .charger-choice-tick,
.charger-choice-card input:checked + .charger-choice-tick {
  border-color: rgba(214,151,0,.95);
  background: rgba(245,180,0,.22);
  box-shadow: 0 12px 24px rgba(245,180,0,.22);
}
.charger-choice-card.is-selected .charger-choice-tick::after,
.charger-choice-card input:checked + .charger-choice-tick::after {
  background: var(--st-accent);
}
.charger-choice-image {
  min-height: 180px;
  display: grid;
  place-items: center;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(22,24,29,.05);
  background: linear-gradient(180deg,#fbfaf6 0%,#f0ede6 100%);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.charger-choice-image img {
  width: 100%;
  max-width: 170px;
  max-height: 190px;
  object-fit: contain;
  transition: transform .2s ease;
}

.charger-choice-card[data-charger-card="orbis"] .charger-choice-image img {
  max-width: 184px;
  max-height: 204px;
}
.charger-choice-card.is-selected[data-charger-card="orbis"] .charger-choice-image img {
  transform: scale(1.05);
}
.charger-choice-name {
  font-weight: 900;
  color: #171b22;
  line-height: 1.2;
}
.charger-choice-spec {
  width: fit-content;
  color: #171b22;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.charger-choice-card.is-selected {
  transform: translateY(-4px);
  border-color: rgba(214,151,0,.92);
  box-shadow: 0 32px 70px rgba(22,24,29,.14), 0 0 0 3px rgba(245,180,0,.16);
}
.charger-choice-card.is-selected::before {
  opacity: 1;
}
.charger-choice-card.is-selected .charger-choice-image {
  border-color: rgba(245,180,0,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 18px 34px rgba(22,24,29,.08);
}
.charger-choice-card.is-selected .charger-choice-image img {
  transform: scale(1.03);
}
.charger-choice-card.is-selected 
.charger-choice-card[data-charger-card="orbis"] .charger-choice-image img {
  max-width: 184px;
  max-height: 204px;
}
.charger-choice-card.is-selected[data-charger-card="orbis"] .charger-choice-image img {
  transform: scale(1.05);
}
.charger-choice-name {
  color: #111;
}
.charger-choice-card.is-selected .charger-choice-spec {
  color: #8b6200;
}

@media (max-width: 920px) {
  .charger-choice-grid {
    grid-template-columns: 1fr;
  }
}


.internal-link-card h3 a,
.link-chip {
  text-decoration: none;
}

.internal-link-card h3 a:hover,
.link-chip:hover {
  text-decoration: underline;
}

.link-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.link-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 9px 14px;
  border: 1.5px solid rgba(212, 176, 120, 0.9);
  border-radius: 999px;
  color: #a86f27;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  line-height: 1.1;
  text-transform: uppercase;
  background: #e9e0d2;
  box-shadow: none;
}

.link-chip:hover {
  border-color: #c8974f;
  color: #8e5d1f;
  background: #efe6d9;
  text-decoration: none;
}

.section-coverage-links .service-benefit-card {
  min-height: 100%;
}

@media (max-width: 768px) {
  .link-cloud {
    gap: 10px;
  }

  .link-chip {
    width: auto;
    justify-content: center;
    padding: 8px 12px;
    min-height: 34px;
    font-size: 0.76rem;
    letter-spacing: 0.04em;
  }
}


/* Blog */
.blog-archive-redesign{padding-top:40px}
.blog-featured-shell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:1.25rem;margin-bottom:2rem}
.blog-featured-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f6efe5 100%);border:1px solid rgba(120,90,40,.12);border-radius:28px;padding:2rem;box-shadow:0 18px 40px rgba(33,26,18,.08);display:flex;flex-direction:column;gap:1rem}
.blog-featured-card h2{margin:0;font-size:2rem;line-height:1.14;color:#2f2417}
.blog-featured-card h2 a{color:inherit;text-decoration:none}
.blog-featured-card p{margin:0;color:#5f5446;font-size:1.02rem;max-width:62ch}
.blog-featured-actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.35rem}
.blog-category-panel{padding:1.6rem;border-radius:24px}
.blog-category-panel h3{margin:.2rem 0 .8rem;color:#2f2417}
.blog-topic-chips{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 1.1rem}
.blog-topic-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem .9rem;border-radius:999px;background:#efe6d9;color:#8a6328;font-weight:700;font-size:.88rem;border:1px solid rgba(138,99,40,.14);cursor:pointer;transition:all .2s ease;text-decoration:none}
.blog-topic-chip strong{font-size:.8rem;color:#5e4320;background:#fff;padding:.18rem .42rem;border-radius:999px}
.compact-list li{font-size:.96rem}
.blog-archive-intro-row{margin-bottom:1.15rem}
.blog-archive-stack{display:grid;gap:1.75rem}
.blog-month-group{display:grid;gap:1rem}
.blog-month-heading-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.blog-month-title{margin:0;font-size:1.35rem;color:#2f2417}
.blog-month-badge{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:#eee4d7;color:#8c6630;font-size:.82rem;font-weight:700}
.blog-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.blog-card{background:#fff;border:1px solid rgba(120,90,40,.12);border-radius:22px;padding:1.3rem;box-shadow:0 12px 30px rgba(33,26,18,.06);display:flex;flex-direction:column;gap:.78rem;min-height:100%}
.blog-card-icon{width:42px;height:42px;border-radius:14px;background:#efe4d3;color:#8d6124;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem}
.blog-card h3,.blog-card h4{margin:0;font-size:1.12rem;line-height:1.32;color:#2f2417}
.blog-card h4 a{color:inherit;text-decoration:none}
.blog-card h4 a:hover{color:#8d6124}
.blog-card p{margin:0;color:#5f5446}
.blog-card-meta{display:flex;flex-wrap:wrap;gap:.55rem;font-size:.82rem;color:#8b7552}
.blog-card-meta span{display:inline-flex;align-items:center;padding:.28rem .52rem;border-radius:999px;background:#f7f2ea}
.blog-card-link{margin-top:auto;font-weight:700;color:#7d5a2c;text-decoration:none}
.blog-card-link:hover{text-decoration:underline}
.blog-post-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.85fr);gap:1.5rem;align-items:start}
.blog-post-shell{padding:2rem}
.blog-post-title{max-width:980px}
.blog-post-meta{display:flex;gap:1rem;flex-wrap:wrap;color:#dbcab1;font-size:.95rem;margin:.9rem 0 0}
.blog-aside-card{position:sticky;top:110px}
.blog-aside-card p{color:#6c604f}
.blog-aside-actions{display:grid;gap:.75rem;margin-top:1rem}
@media (max-width: 980px){
  .blog-featured-shell{grid-template-columns:1fr}
  .blog-card-grid{grid-template-columns:1fr}
  .blog-post-layout{grid-template-columns:1fr}
  .blog-aside-card{position:static}
}


.blog-home-section .blog-posts-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.blog-post-card .content {
  min-height: 100%;
}
.section-cta-inline {
  margin-top: 28px;
  display: flex;
  justify-content: center;
}
@media (max-width: 980px) {
  .blog-home-section .blog-posts-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px){
  .nav-dropdown{display:none}
  .blog-featured-card{padding:1.5rem}
  .blog-featured-card h2{font-size:1.6rem}
}

.blog-card-has-image,
.blog-featured-card-has-image,
.blog-post-media-card {
  overflow: hidden;
}

.blog-card-image,
.blog-featured-media {
  display: block;
  border-radius: 22px;
  overflow: hidden;
  margin-bottom: 18px;
}

.blog-card-image img,
.blog-featured-media img,
.blog-post-media-card img {
  display: block;
  width: 100%;
  height: auto;
}

.blog-card-image img,
.blog-featured-media img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.blog-post-media-section {
  padding-top: 0;
}

.blog-post-media-card {
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(169, 115, 45, 0.18);
  box-shadow: 0 24px 60px rgba(17, 17, 17, 0.10);
}

.blog-post-media-card img {
  max-height: 620px;
  object-fit: cover;
}

@media (max-width: 767px) {
  .blog-card-image,
  .blog-featured-media {
    border-radius: 18px;
    margin-bottom: 14px;
  }

  .blog-post-media-card {
    border-radius: 20px;
  }
}


.blog-home-headline{margin-bottom:1.4rem}
.blog-home-featured-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:1.25rem;align-items:stretch}
.blog-home-featured-card,.blog-post-card-compact{overflow:hidden;padding:0;background:linear-gradient(180deg,#ffffff 0%,#fbf7f1 100%)}
.blog-home-featured-media,.blog-home-card-media{display:block;overflow:hidden}
.blog-home-featured-media img,.blog-home-card-media img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .45s ease}
.blog-home-featured-media img{aspect-ratio:16/9;min-height:280px}
.blog-home-card-media img{aspect-ratio:16/9;min-height:180px}
.blog-home-featured-card:hover img,.blog-post-card-compact:hover img{transform:scale(1.03)}
.blog-home-featured-content,.blog-post-card-compact .content{padding:1.5rem}
.blog-home-featured-content h3{font-size:1.7rem;line-height:1.18}
.blog-home-side-grid{display:grid;gap:1.25rem}
.blog-post-card-compact h3{font-size:1.15rem;line-height:1.28}
.blog-post-card-compact p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width: 980px){
  .blog-home-featured-shell{grid-template-columns:1fr}
  .blog-home-featured-media img{min-height:220px}
}

.blog-topic-chip:hover{background:#e6d9c7;color:#704f20;transform:translateY(-1px)}
.blog-topic-chip.is-active{background:#8a6328;color:#fff;border-color:#8a6328;box-shadow:0 10px 20px rgba(138,99,40,.18)}
.blog-topic-chip.is-active strong{color:#5e4320;background:#fff}


/* Videos page */
.videos-page-section { padding-top: 10px; }
.videos-featured-card {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 28px;
  box-shadow: var(--st-shadow);
  overflow: hidden;
  margin-bottom: 34px;
}
.videos-featured-media,
.video-tile-media {
  position: relative;
  background: #0f1217;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.video-card-thumb {
  display: block;
  min-height: 100%;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
}
.video-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(22,24,29,.08), rgba(22,24,29,.3));
}
.video-card-play-icon {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 76px;
  height: 76px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--st-slate);
  display: grid;
  place-items: center;
  font-size: 28px;
  box-shadow: 0 12px 30px rgba(22,24,29,.18);
}
.videos-featured-content { padding: 32px; display: flex; flex-direction: column; justify-content: center; }
.videos-featured-content h2 { margin: 8px 0 12px; font-size: clamp(1.6rem, 2.8vw, 2.2rem); line-height: 1.15; }
.videos-featured-content p { margin: 0; color: var(--st-muted); }
.videos-featured-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }

.videos-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.video-tile {
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--st-shadow);
}
.video-tile-body { padding: 20px; }
.video-tile-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: .88rem;
  color: var(--st-muted);
  margin-bottom: 8px;
}
.video-tile h3 { margin: 0 0 10px; font-size: 1.08rem; line-height: 1.25; }
.video-tile p { margin: 0 0 14px; color: var(--st-muted); }
.video-tile-link { color: var(--st-amber); font-weight: 700; }

.video-modal[hidden] { display: none; }
.video-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
}
.video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15,18,23,.7);
  backdrop-filter: blur(4px);
}
.video-modal-dialog {
  position: relative;
  width: min(980px, calc(100% - 24px));
  margin: 5vh auto;
  background: #11151c;
  color: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(15,18,23,.35);
}
.video-modal-player iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}
.video-modal-title { padding: 16px 20px 22px; font-size: 1rem; }
.video-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
body.video-modal-open { overflow: hidden; }

@media (max-width: 980px) {
  .videos-featured-card { grid-template-columns: 1fr; }
  .videos-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .videos-grid { grid-template-columns: 1fr; }
  .videos-featured-content { padding: 22px; }
  .video-card-play-icon { width: 64px; height: 64px; font-size: 24px; }
}


.videos-page-section { padding-top: 10px; }
.videos-channel-card {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 28px;
  box-shadow: var(--st-shadow);
  overflow: hidden;
  margin-bottom: 34px;
}
.videos-channel-player-wrap { background: #0f1217; min-height: 420px; }
.videos-channel-player {
  display: block;
  width: 100%;
  min-height: 420px;
  height: 100%;
  border: 0;
}
.videos-channel-copy { padding: 32px; display: flex; flex-direction: column; justify-content: center; }
.videos-channel-copy h2 { margin: 8px 0 12px; font-size: clamp(1.6rem, 2.8vw, 2.2rem); line-height: 1.15; }
.videos-channel-copy p { margin: 0; color: var(--st-muted); }
.section-heading-tight { margin-bottom: 16px; }
.videos-carousel-shell {
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
}
.videos-carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(290px, 360px);
  gap: 22px;
}
.video-slide-card {
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--st-shadow);
  min-height: 100%;
}
.video-slide-media {
  position: relative;
  display: block;
  background: #0f1217;
}
.video-slide-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.video-slide-body { padding: 20px; }
.video-slide-card--channel {
  display: grid;
  place-items: stretch;
  background: linear-gradient(180deg, rgba(193,125,41,.08), rgba(193,125,41,.02));
}
.video-slide-channel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  min-height: 100%;
  padding: 24px;
  color: var(--st-slate);
  text-decoration: none;
}
.video-slide-channel strong { font-size: 1.4rem; }
.video-slide-channel span:not(.video-slide-channel-cta) { color: var(--st-muted); }
.video-slide-channel-kicker {
  display: inline-flex;
  align-self: flex-start;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  color: var(--st-amber);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.video-slide-channel-cta { color: var(--st-amber); font-weight: 700; }
@media (max-width: 980px) {
  .videos-channel-card { grid-template-columns: 1fr; }
  .videos-channel-player-wrap, .videos-channel-player { min-height: 340px; }
}
@media (max-width: 640px) {
  .videos-channel-copy { padding: 22px; }
  .videos-carousel-track { grid-auto-columns: minmax(260px, 86vw); }
  .videos-channel-player-wrap, .videos-channel-player { min-height: 280px; }
}


.service-recognition-card {
  display: grid;
  gap: 14px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid rgba(140,98,57,.16);
  background: linear-gradient(135deg, #fff8f1 0%, #ffffff 100%);
  box-shadow: 0 18px 44px rgba(22,24,29,.06);
}
.service-recognition-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 8px 14px;
  border-radius: 999px;
  background: #8c6239;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.service-recognition-card h2,
.service-recognition-card p {
  margin: 0;
}
.service-recognition-card .btn {
  width: fit-content;
}
.service-recognition-card-with-logo {
  grid-template-columns: minmax(150px, 190px) 1fr;
  align-items: center;
}
.service-recognition-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-recognition-logo {
  width: 100%;
  max-width: 180px;
  height: auto;
  filter: drop-shadow(0 14px 26px rgba(22,24,29,.10));
}
.service-recognition-copy {
  display: grid;
  gap: 14px;
}
@media (max-width: 720px) {
  .service-recognition-card {
    padding: 22px;
  }
  .service-recognition-card-with-logo {
    grid-template-columns: 1fr;
  }
  .service-recognition-logo {
    max-width: 160px;
  }
}


/* v1.12 premium process redesign */
.service-process-showcase {
  position: relative;
  align-items: stretch;
}
.service-process-showcase::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 58px;
  height: 1px;
  background: linear-gradient(90deg, rgba(169,110,40,0), rgba(169,110,40,.28) 14%, rgba(169,110,40,.28) 86%, rgba(169,110,40,0));
  pointer-events: none;
}
.process-card-premium {
  position: relative;
  overflow: hidden;
  padding: 26px 26px 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f9f5ee 100%);
  border: 1px solid rgba(169,110,40,.12);
  box-shadow: 0 22px 56px rgba(22,24,29,.06);
}
.process-card-premium::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, #D8A24C 0%, #A96E28 100%);
}
.process-card-premium::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -72px;
  top: -72px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(216,162,76,.16) 0%, rgba(216,162,76,0) 68%);
  pointer-events: none;
}
.process-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.process-step-chip {
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(169,110,40,.10);
  color: var(--st-bronze-dark);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.process-step-count {
  font-size: .88rem;
  font-weight: 900;
  letter-spacing: .16em;
  color: rgba(22,24,29,.34);
}
.process-card-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  margin-bottom: 18px;
  background: linear-gradient(135deg, rgba(216,162,76,.20) 0%, rgba(169,110,40,.10) 100%);
  border: 1px solid rgba(169,110,40,.16);
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.process-card-icon::before,
.process-card-icon::after {
  content: "";
  position: absolute;
  background: var(--st-bronze-dark);
  opacity: .78;
}
.process-card-icon::before {
  width: 22px;
  height: 2px;
  left: 16px;
  top: 20px;
  box-shadow: 0 7px 0 rgba(139,94,36,.78);
}
.process-card-icon::after {
  width: 2px;
  height: 22px;
  left: 26px;
  top: 16px;
}
.process-card-premium h3 {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.12;
}
.process-card-premium p {
  margin: 12px 0 0;
  color: var(--st-muted);
  line-height: 1.85;
}
.process-card-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(22,24,29,.08);
}
.process-card-line {
  width: 42px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #D8A24C 0%, #A96E28 100%);
  flex: 0 0 auto;
}
.process-card-note {
  font-size: .86rem;
  font-weight: 700;
  color: #5f646d;
}
.location-process-showcase::before {
  top: 56px;
}
@media (max-width: 1024px) {
  .service-process-showcase::before { display: none; }
}
@media (max-width: 767px) {
  .process-card-premium { padding: 22px; }
  .process-card-top { margin-bottom: 16px; }
  .process-card-footer { align-items: flex-start; }
}

/* v1.15 process timeline single line */
.service-process-showcase,
.service-benefit-grid.service-process-showcase.location-process-showcase {
  display: flex;
  flex-wrap: nowrap;
  gap: 18px;
  align-items: stretch;
}
.service-process-showcase::before,
.location-process-showcase::before {
  left: 4%;
  right: 4%;
  top: 38px;
  height: 2px;
  background: linear-gradient(90deg, rgba(169,110,40,0) 0%, rgba(169,110,40,.22) 12%, rgba(169,110,40,.34) 50%, rgba(169,110,40,.22) 88%, rgba(169,110,40,0) 100%);
}
.process-card-premium {
  flex: 1 1 0;
  min-width: 0;
  padding: 20px 18px 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfaf6 100%);
  box-shadow: 0 14px 34px rgba(22,24,29,.05);
}
.process-card-premium::before {
  display: none;
}
.process-card-premium::after {
  width: 110px;
  height: 110px;
  right: -46px;
  top: -46px;
  opacity: .85;
}
.process-card-top {
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 14px;
}
.process-step-chip {
  padding: 8px 11px;
  font-size: .72rem;
  letter-spacing: .11em;
  background: #fff;
  border: 1px solid rgba(169,110,40,.14);
  box-shadow: 0 8px 20px rgba(22,24,29,.04);
}
.process-step-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, #D8A24C 0%, #A96E28 100%);
  color: #fff;
  font-size: .78rem;
  letter-spacing: .06em;
  box-shadow: 0 12px 24px rgba(169,110,40,.22);
}
.process-card-icon {
  display: none;
}
.process-card-premium h3 {
  font-size: 1.08rem;
  line-height: 1.24;
  margin: 0;
}
.process-card-premium p {
  margin: 9px 0 0;
  font-size: .96rem;
  line-height: 1.62;
}
.process-card-footer {
  margin-top: 14px;
  padding-top: 12px;
}
.process-card-line {
  width: 28px;
}
.process-card-note {
  font-size: .78rem;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .service-process-showcase,
  .service-benefit-grid.service-process-showcase.location-process-showcase {
    gap: 14px;
  }
  .process-card-premium {
    padding: 18px 16px 16px;
  }
  .process-card-premium h3 {
    font-size: 1rem;
  }
  .process-card-premium p {
    font-size: .9rem;
  }
}

@media (max-width: 767px) {
  .service-process-showcase,
  .service-benefit-grid.service-process-showcase.location-process-showcase {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .service-process-showcase::before,
  .location-process-showcase::before {
    display: none;
  }
  .process-card-premium {
    padding: 20px 18px;
  }
}


/* v1.16 process direction arrows */
.process-step-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  align-self: center;
  margin-top: -6px;
  opacity: .95;
}
.process-step-arrow-line {
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(169,110,40,.22) 0%, rgba(169,110,40,.78) 100%);
}
.process-step-arrow-head {
  width: 9px;
  height: 9px;
  border-top: 2px solid #A96E28;
  border-right: 2px solid #A96E28;
  transform: rotate(45deg);
  margin-left: -2px;
}
@media (max-width: 1100px) {
  .process-step-arrow {
    flex-basis: 22px;
  }
  .process-step-arrow-line {
    width: 12px;
  }
  .process-step-arrow-head {
    width: 8px;
    height: 8px;
  }
}
@media (max-width: 767px) {
  .process-step-arrow {
    display: none;
  }
}


/* v1.17 solar benefits redesign */
.service-benefit-grid--solar {
  gap: 22px;
}
.service-benefit-card--solar {
  position: relative;
  overflow: hidden;
  padding: 30px 28px 26px;
  border-radius: 26px;
  border: 1px solid rgba(22,24,29,.06);
  background: #ffffff;
  box-shadow: none;
}
.service-benefit-card--solar::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #d8a24c 0%, #b77828 100%);
}
.service-benefit-card--solar::after {
  display: none;
}
.service-benefit-card--solar:nth-child(2)::before {
  background: linear-gradient(90deg, #cf8a2e 0%, #7b5a1f 100%);
}
.service-benefit-card--solar:nth-child(3)::before {
  background: linear-gradient(90deg, #4f6f52 0%, #243a2b 100%);
}
.service-benefit-card--solar:nth-child(2) {
  box-shadow: none;
}
.service-benefit-card--solar:nth-child(3) {
  box-shadow: none;
}
.service-benefit-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(169,110,40,.12);
  color: #7a5722;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(22,24,29,.05);
}
.service-benefit-pill::before {
  content: '';
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: linear-gradient(135deg, #d8a24c 0%, #a96e28 100%);
  box-shadow: 0 0 0 4px rgba(216,162,76,.12);
}
.service-benefit-card--solar h3 {
  margin: 0;
  font-size: 1.36rem;
  line-height: 1.22;
}
.service-benefit-card--solar p {
  margin: 12px 0 0;
  color: var(--st-muted);
  line-height: 1.78;
}
@media (max-width: 1024px) {
  .service-benefit-card--solar {
    padding: 26px 24px 22px;
  }
}
@media (max-width: 767px) {
  .service-benefit-grid--solar {
    gap: 16px;
  }
  .service-benefit-card--solar {
    padding: 24px 20px 20px;
    border-radius: 22px;
  }
  .service-benefit-card--solar h3 {
    font-size: 1.2rem;
  }
}


/* v1.20 solar benefits white bubbles */
.service-benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: #fff;
  color: #8b6427;
  border: 1px solid rgba(169,110,40,.14);
  box-shadow: none;
}
.service-benefit-icon svg {
  width: 26px;
  height: 26px;
  display: block;
}
.service-benefit-card--solar:nth-child(2) .service-benefit-icon {
  color: #845a1f;
  border-color: rgba(132,90,31,.16);
}
.service-benefit-card--solar:nth-child(3) .service-benefit-icon {
  color: #35553a;
  border-color: rgba(53,85,58,.16);
}
.service-benefit-card--solar h3 {
  margin-top: 0;
}

