/* Website design system (Claude 2026-10-13). Brand colors come from :root vars set per site. No external fonts or libraries. */
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:#13202e;background:#fff;line-height:1.55;font-size:17px}
img,svg{max-width:100%}a{color:var(--brand)}h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800}h2{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:800}h3{font-size:1.15rem;font-weight:700}
.wrap{width:min(1200px,100% - 40px);margin:0 auto}.sec{padding:clamp(48px,7vw,96px) 0}.sec.alt{background:#f4f7fa}.narrow{max-width:760px}.center{text-align:center}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.ic{width:28px;height:28px;flex:0 0 auto}.ic.sm{width:18px;height:18px}.ic.xl{width:180px;height:180px;stroke-width:1.1}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--accent);margin:0 0 12px}
.eyebrow a{color:inherit;text-decoration:none}.eyebrow.dark{color:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:12px;font-weight:700;text-decoration:none;border:2px solid transparent;
  cursor:pointer;font:inherit;font-weight:700;font-size:.98rem;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}.btn.big{padding:15px 24px;font-size:1.05rem}
.btn.hot{background:var(--hot);color:var(--hot-ink,#1d0d00);box-shadow:0 10px 26px -10px var(--hot)}.btn.hot:hover{box-shadow:0 16px 34px -10px var(--hot)}
.btn.brand{background:var(--brand);color:#fff}.btn.light{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.35)}
.btn.ghost{color:var(--brand);border-color:#d5dde6}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid #e6ebf0}
.hdr-in{display:flex;align-items:center;gap:20px;height:72px}.logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--brand);text-decoration:none;font-size:1.1rem}
.logo-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-size:.9rem;letter-spacing:.02em}
.logo.light{color:#fff}.nav{display:flex;gap:4px;margin-left:12px}.nav>a,.dd-btn{padding:10px 12px;border-radius:10px;color:#2b3a4a;text-decoration:none;font-weight:600;background:none;border:0;font:inherit;font-weight:600;cursor:pointer}
.nav>a:hover,.dd-btn:hover{background:#f1f4f8}.hdr-cta{margin-left:auto;display:flex;gap:10px}
.dd{position:relative}.dd-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid #e6ebf0;border-radius:14px;box-shadow:0 24px 50px -20px rgba(15,42,68,.35);
  padding:10px;width:620px;grid-template-columns:1fr 1fr;gap:2px}.dd:hover .dd-menu,.dd.open .dd-menu{display:grid}
.dd-menu a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:9px;color:#1d2b39;text-decoration:none;font-weight:600;font-size:.94rem}
.dd-menu a:hover{background:#f1f6f9;color:var(--brand)}.dd-menu .ic{color:var(--accent)}
.menu-btn{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer}.menu-btn span{display:block;height:2px;background:var(--brand);margin:6px 8px;border-radius:2px}
/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(900px 500px at 85% -10%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 60%),
  radial-gradient(700px 500px at -10% 110%,color-mix(in srgb,var(--hot) 35%,transparent),transparent 60%),var(--brand);padding:clamp(56px,8vw,110px) 0}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:44px 44px;mask-image:linear-gradient(180deg,#000,transparent 85%)}
.hero.sm{padding:clamp(44px,6vw,80px) 0}.hero-in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,56px);align-items:center}
.hero .lead-p{font-size:clamp(1.05rem,1.6vw,1.25rem);color:#d8e6f2;max-width:620px}.hero a{color:#fff}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}.chips{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0;color:#cfe3ef;font-size:.95rem}
.chips li{display:flex;gap:6px;align-items:center}.chips .ic{color:var(--accent)}
.hero-art{display:grid;place-items:center;color:color-mix(in srgb,var(--accent) 80%,#fff);filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));opacity:.95}
.offer{display:inline-flex;gap:8px;align-items:center;background:var(--hot);color:var(--hot-ink,#1d0d00);font-weight:800;border-radius:999px;padding:8px 16px;margin-top:6px}
/* forms */
.lead{background:#fff;color:#13202e;border-radius:20px;padding:24px;box-shadow:0 30px 70px -30px rgba(0,0,0,.55);display:grid;gap:12px}
.lead h3{font-size:1.25rem;margin:0}.lead label{display:grid;gap:4px;font-size:.85rem;font-weight:600;color:#3c4b5b}
.lead input,.lead select,.lead textarea{font:inherit;font-size:1rem;padding:11px 12px;border:1.5px solid #d4dce5;border-radius:10px;width:100%;background:#fbfcfd}
.lead input:focus,.lead select:focus,.lead textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.consent{display:flex!important;grid-template-columns:none;gap:8px;align-items:flex-start;font-weight:500!important}
.consent input{width:auto;margin-top:3px}.hp{position:absolute!important;left:-5000px}.lead .btn{justify-content:center}.note{font-size:.88rem;color:#5d6b7a}
.lead.compact{padding:20px}.lead.compact textarea{min-height:70px}
/* blocks */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-40px;position:relative}
.stat{background:#fff;border:1px solid #e6ebf0;border-radius:18px;padding:20px;box-shadow:0 18px 40px -26px rgba(15,42,68,.4)}
.stat b{display:block;font-size:2.2rem;color:var(--brand);letter-spacing:-.03em}.stat span{color:#5d6b7a;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:24px}
.card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:18px;border:1px solid #e6ebf0;text-decoration:none;color:inherit;background:#fff;
  transition:transform .18s,box-shadow .18s,border-color .18s}.card:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(15,42,68,.5);border-color:var(--accent)}
.card .ic{color:#fff;background:linear-gradient(135deg,var(--brand),var(--accent));padding:9px;width:46px;height:46px;border-radius:13px}
.card p{margin:0;color:#4d5c6b}.more{margin-top:auto;display:flex;gap:6px;align-items:center;color:var(--accent);font-weight:700}
.card .more .ic{background:none;color:var(--accent);padding:0;width:18px;height:18px;border-radius:0}
.logo-img{height:46px;width:auto;display:block}.ftr .logo-img{height:56px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.mascot{width:100%;max-width:560px;height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.hero.brand{padding-top:clamp(150px,22vw,280px)}
.hero-mascot{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(1100px,96%);height:auto;opacity:.95;pointer-events:none;
  mix-blend-mode:screen;filter:saturate(1.15) drop-shadow(0 0 40px color-mix(in srgb,var(--accent) 45%,transparent));
  -webkit-mask-image:radial-gradient(ellipse 48% 50% at 50% 42%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 48% 50% at 50% 42%,#000 58%,transparent 100%)}
.mascot{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 45%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 45%,#000 55%,transparent 100%);mix-blend-mode:screen}
.hero .eyebrow{display:inline-block;background:rgba(255,255,255,.92);color:var(--brand);padding:5px 12px;border-radius:999px;position:relative;z-index:1}
.hero .eyebrow a{color:var(--brand)}.hero-copy,.hero-form{position:relative;z-index:1}
@media (max-width:620px){.hero.brand{padding-top:130px}.hero-mascot{width:150%}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:start}
.ticks{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}.ticks li{display:flex;gap:10px;align-items:flex-start}.ticks .ic{color:var(--accent);margin-top:3px}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:14px}.steps>div{background:#fff;border-radius:18px;padding:20px;border:1px solid #e3e9ef}
.steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--hot);color:var(--hot-ink,#1d0d00);margin-bottom:8px}.steps p{margin:0;color:#4d5c6b}
.inds{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:22px}
.ind{padding:20px;border-radius:16px;background:#f4f7fa;border-left:4px solid var(--accent)}.ind p{margin:0;color:#4d5c6b}
.faq{display:grid;gap:10px;max-width:860px}.faq details{border:1px solid #e3e9ef;border-radius:14px;padding:16px 18px;background:#fff}
.faq summary{font-weight:700;cursor:pointer}.faq p{margin:10px 0 0;color:#4d5c6b}
.band{background:linear-gradient(120deg,var(--brand),color-mix(in srgb,var(--brand) 70%,var(--accent)));color:#fff;padding:clamp(44px,6vw,72px) 0}
.band-in{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}.band p{color:#d6e6f1;margin:0}.band-cta{display:flex;gap:12px;flex-wrap:wrap}
.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.plan,.plan-box{border:1px solid #e3e9ef;border-radius:18px;padding:22px;background:#fff}
.plan-box{background:#f4f7fa;margin-top:10px}.chips-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid #dbe3ea;text-decoration:none;color:#1d2b39;font-weight:600;font-size:.92rem}
.chip:hover{border-color:var(--accent);color:var(--brand)}.big-phone{font-size:2rem;font-weight:800}.prose p{max-width:70ch}
/* coverage map (broad view) */
.cov{background:radial-gradient(800px 500px at 75% 40%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%),#06111f;color:#fff;padding:clamp(56px,7vw,96px) 0}
.cov-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center}.cov p{color:#c9d8e6}
.cov-stats{display:flex;gap:28px;margin:18px 0 6px}.cov-stats b{display:block;font-size:2.2rem;letter-spacing:-.03em}.cov-stats span{color:#9fb4c8;font-weight:600}
.cov-map{width:100%;height:auto;display:block;filter:drop-shadow(0 0 30px color-mix(in srgb,var(--accent) 35%,transparent))}
.cov-lab{fill:#fff;font:600 15px Inter,system-ui,sans-serif;paint-order:stroke;stroke:#06111f;stroke-width:4px}
@media (max-width:1020px){.cov-in{grid-template-columns:1fr}}
/* footer */
.ftr{background:#0b1622;color:#b8c6d3;padding:56px 0 24px;font-size:.95rem}.ftr a{color:#dbe7f1;text-decoration:none}.ftr a:hover{color:#fff}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}.ftr h4{color:#fff;margin:0 0 10px}.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.ftr-legal{border-top:1px solid #1f2d3b;margin-top:28px;padding-top:16px;font-size:.84rem;color:#8396a8}
.mbar{display:none}
/* responsive */
@media (max-width:1020px){.nav,.hdr-cta{display:none}.menu-btn{display:block}.hdr.open .nav{display:grid;position:absolute;top:72px;left:0;right:0;background:#fff;padding:12px 20px;border-bottom:1px solid #e6ebf0}
  .hdr.open .dd-menu{display:grid;position:static;width:auto;grid-template-columns:1fr;box-shadow:none;border:0;padding:0 0 0 8px}
  .hero-in,.split{grid-template-columns:1fr}.hero-art{display:none}.stats{grid-template-columns:1fr 1fr}.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){body{font-size:16px;padding-bottom:64px}.row2{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr}
  .mbar{display:grid;grid-template-columns:1fr 1.2fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid #dfe5ec;box-shadow:0 -10px 30px -18px rgba(0,0,0,.4)}
  .mbar a{display:flex;gap:6px;justify-content:center;align-items:center;padding:14px 6px;font-weight:800;text-decoration:none;color:var(--brand)}
  .mbar a.hot{background:var(--hot);color:var(--hot-ink,#1d0d00)}.hero-cta .btn{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* shared additions 2026-10-13: byline, Angi block, focus landing pages */
.logo-txt small{display:block;font-size:.68rem;font-weight:600;opacity:.7;letter-spacing:.02em}
.angi{background:#f4f7fa;padding:clamp(48px,7vw,88px) 0}.angi-in{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(24px,4vw,56px);align-items:center}
.angi-card{background:#fff;border-radius:20px;padding:26px;border:1px solid #e3e9ef;box-shadow:0 24px 50px -30px rgba(15,42,68,.45)}
.angi-card b .ic{width:40px;height:40px;color:var(--hot)}
.lp-pains{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.lp-pains>div{padding:22px;border-radius:18px;background:#fff;border:1px solid #e3e9ef}.lp-pains h3{margin-bottom:6px}.lp-pains p{margin:0;color:#4d5c6b}
.lp-sticky{position:sticky;top:90px}
/* launch copy round 2026-10-14: story text, warning signs, mid-page call-to-action strip */
.prose p{font-size:1.08rem;line-height:1.7;color:#33414f;margin:0 0 16px}.prose h2{margin-bottom:14px}
.signs{margin:6px 0 22px;padding:18px 20px;border-radius:16px;background:#f4f7fa;border:1px solid #e3e9ef}.signs h3{margin:0 0 10px}.signs .ticks{margin:0}
.cta-strip{background:color-mix(in srgb,var(--hot) 14%,#fff);border-block:1px solid color-mix(in srgb,var(--hot) 35%,#fff);padding:18px 0}
.cta-strip-in{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.cta-strip b{font-size:1.1rem}
.cta-strip span{display:flex;gap:10px;flex-wrap:wrap}
.t-b .prose p{color:#c3d0dd}.t-b .signs{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.t-b .cta-strip{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.t-c .signs,.t-c .cta-strip{border-radius:0;border:2px solid #0d0f12}
@media (max-width:620px){.cta-strip span,.cta-strip .btn{width:100%;justify-content:center}}
/* energy front page: send one bill (2026-10-14) */
.bill-form .bill-sub{margin:-4px 0 12px;color:#4d5c6b;font-size:.95rem;line-height:1.5}.t-b .bill-form .bill-sub{color:#9fb1c4}
.bill-form input[type=file]{padding:10px;border:1px dashed #b9c6d3;border-radius:12px;width:100%;background:rgba(127,127,127,.06)}
/* family of companies (2026-10-14) */
.fam-intro{font-size:1.1rem;line-height:1.7;max-width:820px;color:#33414f}
.fam-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
.fam-card{padding:24px;border-radius:18px;background:#fff;border:1px solid #e3e9ef}.fam-card.here{border:2px solid var(--accent)}
.fam-card h3{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.fam-card p{color:#4d5c6b}
.fam-badge{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--hot);color:var(--hot-ink,#fff);border-radius:999px;padding:4px 10px}
.fam-here{font-weight:800;color:var(--accent)}
.fam-owners{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 6px}
.fam-owner{display:flex;gap:12px;align-items:center;padding:12px 18px 12px 12px;border-radius:999px;background:#fff;border:1px solid #e3e9ef}
.fam-owner b{display:block}.fam-owner span{color:#4d5c6b;font-size:.92rem}
.fam-init{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800}
.fam-story{max-width:820px;font-style:italic;color:#4d5c6b;line-height:1.7}
.t-b .fam-owner{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.t-b .fam-owner span,.t-b .fam-story{color:#9fb1c4}
.t-c .fam-owner{border-radius:0;border:2px solid #0d0f12}
.t-b .fam-intro{color:#c3d0dd}.t-b .fam-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.t-b .fam-card p{color:#9fb1c4}
.t-c .fam-card{border-radius:0;border:2px solid #0d0f12;box-shadow:8px 8px 0 #0d0f12}
@media (max-width:760px){.fam-cards{grid-template-columns:1fr}}
.t-b .lp-pains>div{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.t-b .lp-pains p{color:#9fb1c4}
.t-c .lp-pains>div{border-radius:0;border:2px solid #0d0f12;box-shadow:8px 8px 0 #0d0f12}
@media (max-width:1020px){.angi-in{grid-template-columns:1fr}.lp-pains{grid-template-columns:1fr}.lp-sticky{position:static}}
.hero-sub{font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:700;margin:-4px 0 10px;opacity:.95}
.hero-emblem{display:block;width:clamp(150px,17vw,210px);height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 30%;border-radius:50%;margin:0 0 18px;
  border:4px solid #fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 45%,transparent),0 24px 50px -16px rgba(0,0,0,.6)}
.t-b .hero-emblem{border-color:rgba(255,255,255,.25);box-shadow:0 0 60px -6px var(--accent),0 0 0 1px rgba(255,255,255,.15)}
.t-c .hero-emblem{border-radius:0;border:2px solid #0d0f12;box-shadow:8px 8px 0 var(--hot)}
.t-b h1,.t-c h1{font-size:clamp(2.6rem,6vw,5rem)}
/* real logo files (TT 2026-10-13): logo image replaces the text mark in the header */
.hdr .logo-img{height:52px}.hdr .logo-img~.logo-mark,.hdr .logo-img~.logo-txt{display:none}
.t-b .hdr .logo-img{background:#fff;border-radius:12px;padding:3px 10px;height:50px}
.hero-emblem{border:0!important;border-radius:0!important;box-shadow:none!important;aspect-ratio:auto;object-fit:contain;width:clamp(170px,19vw,250px);
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.t-b .hero-emblem{filter:drop-shadow(0 0 40px color-mix(in srgb,var(--accent) 60%,transparent))}
.t-c .hero-emblem{filter:none}
.hdr-in{height:80px}.hdr .logo-img{height:64px}.t-b .hdr .logo-img{height:60px}
@media (max-width:620px){.hdr .logo-img{height:50px}}
@media (max-width:1020px){.hdr.open .nav{top:80px}}
/* hero photo + showcase band (user art 2026-10-13) */
body .hero.has-bg{background:linear-gradient(90deg,rgba(4,8,16,.86) 0%,rgba(4,8,16,.5) 45%,rgba(4,8,16,.3) 100%),var(--hero-bg) 40% 45%/cover no-repeat,#05080f;
  padding:clamp(70px,10vw,140px) 0}
body .hero.has-bg::before,body .hero.has-bg::after{display:none}
.showcase{position:relative;min-height:clamp(340px,46vw,560px);display:flex;align-items:center;color:#fff;
  background:linear-gradient(90deg,rgba(4,8,16,.9) 0%,rgba(4,8,16,.55) 40%,rgba(4,8,16,0) 70%),var(--sc-bg) right center/cover no-repeat,#0b1220}
.sc-in{max-width:1200px}.sc-in h2{max-width:560px;font-size:clamp(1.9rem,4vw,3.2rem)}.sc-in p{max-width:520px;color:#d6e2ee}
.showcase .eyebrow{background:rgba(255,255,255,.12);color:#fff;padding:5px 12px;border-radius:999px;display:inline-block}
.t-c .showcase{border-block:2px solid #0d0f12}.t-c .showcase .eyebrow{border:0;background:var(--hot);color:var(--hot-ink);border-radius:0}
@media (max-width:620px){.showcase{background:linear-gradient(180deg,rgba(4,8,16,.35),rgba(4,8,16,.92) 60%),var(--sc-bg) 70% top/cover no-repeat,#0b1220;align-items:flex-end;padding:180px 0 36px}
  body .hero.has-bg{background:linear-gradient(180deg,rgba(4,8,16,.55),rgba(4,8,16,.95) 55%),var(--hero-bg) 60% top/cover no-repeat,#05080f}}

.t-b .hero-emblem{width:clamp(200px,22vw,300px)}
body .hero.has-bg h1{text-shadow:0 4px 30px rgba(0,0,0,.6)}
@media (min-width:1021px){.showcase{background-size:auto,auto 100%;background-color:#16181c}}
/* five pillars */
.pillars{padding:clamp(28px,4vw,44px) 0;background:#f4f7fa;border-bottom:1px solid #e6ebf0}
.pil-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.pil{display:grid;gap:4px;padding:16px;border-radius:16px;background:#fff;border:1px solid #e3e9ef}.pil .ic{color:var(--hot)}
.pil b{font-size:1.08rem;letter-spacing:-.01em}.pil span{color:#4d5c6b;font-size:.9rem;line-height:1.35}
.pil:last-child{background:var(--brand);color:#fff;border-color:var(--brand)}.pil:last-child span{color:#cfe0ee}.pil:last-child b{font-size:1.5rem}
.t-b .pillars{background:#070b14;border-color:rgba(255,255,255,.06)}.t-b .pil{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.t-b .pil span{color:#9fb1c4}
.t-b .pil:last-child{background:linear-gradient(135deg,var(--hot),color-mix(in srgb,var(--hot) 60%,#ffd166));color:var(--hot-ink)}.t-b .pil:last-child span{color:inherit;opacity:.85}.t-b .pil:last-child .ic{color:inherit}
.t-c .pillars{background:#f6f4ef;border-bottom:2px solid #0d0f12}.t-c .pil-row{gap:0;border:2px solid #0d0f12}
.t-c .pil{border-radius:0;border:0;border-right:2px solid #0d0f12;background:#fff}.t-c .pil:last-child{border-right:0;background:var(--hot);color:var(--hot-ink)}
.t-c .pil:last-child span{color:inherit}.t-c .pil:last-child .ic{color:inherit}
@media (max-width:1020px){.pil-row{grid-template-columns:1fr 1fr}.pil:last-child{grid-column:1/-1}.t-c .pil{border-right:0;border-bottom:2px solid #0d0f12}}
.portal-card{background:#f4f7fa;border:1px solid #e3e9ef;border-radius:20px;padding:26px;position:sticky;top:96px}
.portal-card .hero-cta{margin:16px 0 8px}.nav-portal{display:none}
.t-b .portal-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.t-c .portal-card{border-radius:0;border:2px solid #0d0f12;box-shadow:8px 8px 0 #0d0f12;background:#fff}
@media (max-width:1280px){.hdr-cta .btn.ghost:first-child{display:none}.nav-portal{display:inline-block}}
@media (max-width:1020px){.portal-card{position:static}}
/* social */
.soc{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #d5dde6;color:var(--brand);text-decoration:none}
.soc:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.ftr .social{display:flex;gap:8px;align-items:center;margin-top:10px}.ftr .social b{color:#fff;margin-right:4px}
.ftr .soc{border-color:#2a3a4b;color:#dbe7f1}.ftr .soc:hover{background:#fff;color:#0b1622}
.share-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:22px 0 30px;border-top:1px solid #e6ebf0;font-weight:600;color:#4d5c6b}
.share-follow{margin-left:auto}
.t-b .share-row{border-color:rgba(255,255,255,.08);color:#9fb1c4}.t-b .soc{border-color:rgba(255,255,255,.18);color:#fff}
.t-c .share-row{border-top:2px solid #0d0f12;color:#0d0f12}.t-c .soc{border-radius:0;border-color:#0d0f12;color:#0d0f12}
@media (max-width:620px){.share-follow{margin-left:0;flex-basis:100%}}
.kw-sec{padding:6px 0 0}.kw{color:#4d5c6b;margin:6px 0;max-width:90ch}.kw b{color:inherit}.t-b .kw{color:#9fb1c4}
/* wide wordmark logos (CC 2026-10-13) */
.hdr .logo-img.wide{height:auto;width:clamp(170px,19vw,250px)}.t-b .hdr .logo-img.on-dark{background:none;padding:0;border-radius:0}
.ftr .logo-img.on-dark{height:auto;width:230px;filter:none}.ftr .logo-img~.logo-mark,.ftr .logo-img~.logo-txt{display:none}
@media (max-width:620px){.hdr .logo-img.wide{width:170px}}

.start-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}.start-steps li{display:flex;gap:12px;align-items:flex-start}
.start-steps b{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:var(--hot);color:var(--hot-ink)}
.start-panel .btn{width:100%}
/* website assistant bubble (chat.js) */
.ccchat-bubble{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;gap:8px;align-items:center;border:0;border-radius:999px;padding:12px 18px;
  background:var(--hot);color:var(--hot-ink,#fff);font:inherit;font-weight:800;box-shadow:0 14px 34px -10px rgba(0,0,0,.55);cursor:pointer}
.ccchat-bubble.nudge{animation:ccnudge 1.2s ease 2}@keyframes ccnudge{30%{transform:translateY(-6px)}60%{transform:translateY(0)}}
.ccchat-dot{width:9px;height:9px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.3)}
.ccchat-panel{position:fixed;right:18px;bottom:18px;z-index:81;width:min(370px,calc(100vw - 24px));height:min(560px,calc(100vh - 100px));display:flex;flex-direction:column;
  background:#fff;color:#13202e;border-radius:18px;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);overflow:hidden;font-size:15px}
.ccchat-panel[hidden]{display:none}
.ccchat-head{display:grid;grid-template-columns:1fr auto;padding:12px 14px;background:var(--brand);color:#fff}.ccchat-head span{grid-column:1;font-size:.78rem;opacity:.8}
.ccchat-x{grid-row:1/3;grid-column:2;border:0;background:none;color:#fff;font-size:1.6rem;cursor:pointer;line-height:1}
.ccchat-log{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f4f7fa}
.ccchat-msg{max-width:85%;padding:9px 12px;border-radius:14px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}
.ccchat-msg.bot{background:#fff;border:1px solid #e3e9ef;align-self:flex-start}.ccchat-msg.me{background:var(--brand);color:#fff;align-self:flex-end}
.ccchat-msg.typing{opacity:.6;font-style:italic}
.ccchat-slots{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px}.ccchat-slots:empty{display:none}.ccchat-slots-t{width:100%;font-size:.8rem;font-weight:700;padding-top:6px}
.ccchat-slots button{border:1px solid var(--accent);background:#fff;color:#13202e;border-radius:999px;padding:6px 10px;font:inherit;font-size:.82rem;cursor:pointer}
.ccchat-form{display:flex;gap:6px;padding:10px 12px;border-top:1px solid #e3e9ef}
.ccchat-form input{flex:1;min-width:0;font:inherit;padding:10px;border:1.5px solid #d4dce5;border-radius:10px}
.ccchat-form button{border:0;border-radius:10px;padding:0 14px;background:var(--hot);color:var(--hot-ink,#fff);font-weight:800;cursor:pointer}
.ccchat-foot{display:flex;flex-direction:column;gap:2px;padding:0 12px 10px;font-size:.75rem;color:#5d6b7a}.ccchat-foot a{font-weight:700;font-size:.85rem}
@media (max-width:620px){.ccchat-bubble{bottom:78px}.ccchat-panel{right:12px;bottom:12px;height:calc(100vh - 90px)}}
/* customer reviews */
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:18px 0}
.rv{margin:0;padding:18px;border-radius:16px;background:#fff;border:1px solid #e3e9ef;display:grid;gap:8px}
.rv-stars{color:#f5a623;letter-spacing:2px;font-size:1.1rem}.rv blockquote{margin:0;color:#2b3a4a}.rv figcaption{color:#5d6b7a;font-size:.88rem;font-weight:600}
.rv-sum{font-size:1.1rem}.reviews .center .btn{margin:4px}
.t-b .rv{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.t-b .rv blockquote{color:#dbe6f2}.t-b .rv figcaption{color:#9fb1c4}
.t-c .rv{border-radius:0;border:2px solid #0d0f12;box-shadow:6px 6px 0 #0d0f12}

/* logo prominence (user 2026-10-14: "our logo is not prominent on the websites") - taller header, bigger logos everywhere */
.hdr-in{height:96px}
.hdr .logo-img{height:78px}.t-b .hdr .logo-img{height:74px;padding:4px 12px}
.hdr .logo-img.wide{height:auto;width:clamp(240px,26vw,360px)}
.ftr .logo-img{height:84px}.ftr .logo-img.on-dark{width:300px}
@media (max-width:1100px){.hdr .logo-img.wide{width:clamp(200px,30vw,300px)}}
@media (max-width:620px){.hdr-in{height:76px}.hdr .logo-img{height:60px}.t-b .hdr .logo-img{height:58px}.hdr .logo-img.wide{width:210px}}
.hdr .logo{flex-shrink:0}.hdr .logo-img{max-width:none}@media (max-width:1280px){.nav>a,.dd-btn{padding:10px 8px}}
@media (max-width:1320px){.hdr-cta .btn.ghost{display:none}}@media (max-width:1200px){.nav .nav-portal{display:none}}
.trusted{margin-top:14px;color:#4d5c6b;font-size:.98rem}.trusted b{color:var(--brand);margin-right:6px}.t-b .trusted{color:#9fb1c4}.t-b .trusted b{color:#fff}

/* Emergency page (2026-10-15, design handoff): 911 banner + qualifying list; theme D recolours */
.emg-warn{background:#fdecec;border-bottom:1px solid #e5484d;color:#3b0d0e}.emg-warn p{margin:0;padding:16px 0;line-height:1.5}
.emg .eyebrow{color:#c62f35}.btn.red{background:#e5484d;color:#fff;border-color:#e5484d}.btn.red:hover{background:#c93d42}
.emg-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 0}
.emg-list>div{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:12px;border:1px solid #e3e9ef;background:#fff}
.emg-list .ic{color:#e5484d;flex-shrink:0;margin-top:2px}.emg-more .plan-box p{margin:0 0 10px}
@media (max-width:620px){.emg-list{grid-template-columns:1fr}}

/* Industry pages (2026-10-15): linked industry cards + pressures list */
a.ind-link{display:block;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}a.ind-link:hover{transform:translateY(-2px)}
.ind-link .more{margin-top:10px}.ind-press{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin-top:18px}
@media (max-width:620px){.ind-press{grid-template-columns:1fr}}
.t-d a.ind-link:hover{border-color:var(--d-acc);transform:none}

/* WIDE ASPECT (user 2026-10-15 "make all of websites wide aspect"): pages use wide screens instead of a 1200 px column.
   Gutters grow with the screen; paragraphs keep a readable line length; card grids auto-fill the extra width. */
.wrap{width:min(1800px,100% - clamp(40px,6vw,160px))}
.sc-in{max-width:none}
@media (min-width:1500px){.hero .lead-p{max-width:760px}.t-d .cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
  .t-b .cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.hero-mascot{width:min(1400px,90%)}}
/* LOGO ASPECT (user 2026-10-15 "the cc-teknologies logo ... is stretched up and down"): a logo is never distorted. Width-led
   logos (.wide / .on-dark) take their height from the image; any fixed box shows the whole logo without stretching. */
img.logo-img{object-fit:contain}
.logo-img.wide,.logo-img.on-dark,.t-d .ftr .logo-img.wide,.t-d .ftr .logo-img.on-dark{height:auto}