/*
Theme Name: ISP Residential
Description: Independent residential internet theme with a shared LPagery-ready hero.
Version: 0.2.4
Requires at least: 6.6
Requires PHP: 8.2
License: GPL-2.0-or-later
Text Domain: isp-residential
*/
:root{--isp-ink:#0a1a33;--isp-blue:#006be6;--isp-cyan:#00b2d6;--isp-muted:#526276;--isp-line:#d7e3ee;--isp-shell:1240px}*{box-sizing:border-box}body{margin:0;color:var(--isp-ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:#005ac7}img{max-width:100%;height:auto}button,input,select{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--isp-blue);outline-offset:4px}[hidden]{display:none!important}.isp-shell{width:min(var(--isp-shell),calc(100% - 48px));margin-inline:auto}.isp-skip{position:absolute;top:-80px;left:12px;z-index:100;background:#fff;padding:12px}.isp-skip:focus{top:12px}.isp-header{padding:22px 0;border-bottom:1px solid var(--isp-line);background:#fff}.isp-header .isp-shell{display:flex;justify-content:space-between;align-items:center;gap:20px}.isp-wordmark{font-size:clamp(1.05rem,2vw,1.4rem);font-weight:800;letter-spacing:-.04em;text-decoration:none;color:var(--isp-ink)}.isp-wordmark span{color:var(--isp-blue)}.isp-header nav{display:flex;gap:22px;font-size:.9rem}.isp-header nav a{text-decoration:none;color:var(--isp-ink)}.isp-hero{padding:54px 0 64px;background:radial-gradient(ellipse at 80% 25%,#00b2ff12,transparent 45%),linear-gradient(145deg,#f6fbfd,#edf6fa);border-bottom:1px solid var(--isp-line)}.isp-hero-copy{text-align:center;max-width:1000px;margin:0 auto 38px}.isp-eyebrow{color:#0057bd;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800;margin:0 0 12px}.isp-hero h1{font-size:clamp(2.5rem,5vw,4.35rem);line-height:1.06;letter-spacing:-.055em;margin:0 auto 20px;text-wrap:balance}.isp-lede{max-width:820px;margin:auto;font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--isp-muted);line-height:1.65}.isp-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.isp-media-column{min-width:0}.isp-video{aspect-ratio:16/9;background:linear-gradient(145deg,#0a1a33,#103a67);border-radius:20px;overflow:hidden;color:#fff;border:1px solid #54c9ff55;box-shadow:0 20px 48px #0a1a3318;display:grid;place-items:center}.isp-video video{width:100%;height:100%;object-fit:contain;background:#07162b}.isp-video-placeholder{text-align:center;padding:28px;line-height:1.5}.isp-video-placeholder span{display:block;font-size:2rem;margin-bottom:12px}.isp-transcript{font-size:.9rem;margin:12px 0 0}.isp-side-copy{padding:24px 4px}.isp-side-copy h2{font-size:1.7rem;letter-spacing:-.035em;line-height:1.2;margin:0 0 12px}.isp-side-copy p,.isp-side-copy li{color:var(--isp-muted)}.isp-section{padding:70px 0}.isp-section h2{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.04em;line-height:1.15;margin:0 0 18px}.isp-section-intro{max-width:720px;color:var(--isp-muted)}.isp-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.isp-benefit{padding:28px;border:1px solid var(--isp-line);border-radius:18px;background:#fff}.isp-benefit b{display:inline-grid;place-items:center;width:38px;height:38px;background:#eaf4ff;border-radius:10px;color:#0057bd;font-size:1.15rem}.isp-benefit h3{font-size:1.15rem;margin:18px 0 10px;line-height:1.3}.isp-benefit p{color:var(--isp-muted);font-size:.95rem;margin:0}.isp-local{border-top:1px solid var(--isp-line);background:#f7fafc}.isp-local-image{width:100%;max-height:440px;object-fit:cover;border-radius:18px;margin-bottom:26px}.isp-content{max-width:820px;margin:auto}.isp-content details{padding:18px 0;border-bottom:1px solid var(--isp-line)}.isp-content summary{font-weight:700;cursor:pointer}.isp-footer{background:#0a1a33;color:#dae7f7;padding:35px 0;font-size:.85rem}.isp-footer a{color:#a9dcff}.isp-footer .isp-shell{display:flex;justify-content:space-between;gap:24px}.isp-editor-content{max-width:900px;margin:50px auto;padding:0 24px}.isp-unavailable{border:1px solid var(--isp-line);padding:25px;border-radius:15px;background:white}@media(max-width:900px){.isp-hero-grid{grid-template-columns:1fr;gap:28px}.isp-hero-copy{margin-bottom:30px}.isp-hero{padding-top:38px}.isp-benefits{grid-template-columns:1fr}.isp-header nav a:first-child{display:none}.isp-section{padding:48px 0}}@media(max-width:600px){.isp-shell{width:calc(100% - 32px)}.isp-header{padding:18px 0}.isp-header nav{gap:12px;font-size:.78rem}.isp-hero h1{font-size:clamp(2.15rem,9.8vw,3rem)}.isp-hero{padding-bottom:42px}.isp-footer .isp-shell{display:block}.isp-side-copy{padding-top:20px}.isp-benefit{padding:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}



/* Supplied ISP identity, shared header and footer. */
.isp-header .isp-wordmark{order:2;flex:0 0 auto;line-height:0}.isp-header nav{order:1}.isp-brand-logo{display:block;width:104px;height:104px;object-fit:contain;border-radius:8px}.isp-footer .isp-shell{align-items:center}.isp-footer-brand{flex:0 0 auto}.isp-footer .isp-brand-logo{width:112px;height:112px}@media(max-width:600px){.isp-header .isp-brand-logo{width:72px;height:72px}.isp-header nav a:first-child{display:inline}.isp-header nav{flex-wrap:wrap;gap:8px 14px}.isp-footer-brand{display:inline-block;margin-bottom:16px}}


/* Compact global ISP brand header. */
.isp-header.isp-branded-header{position:relative;isolation:isolate;overflow:hidden;padding:18px 0 22px;border-bottom:3px solid #16a9f2;background:#fff}
.isp-branded-header::before{content:"";position:absolute;z-index:-1;inset:auto -12% -145px;width:124%;height:190px;border-radius:50% 50% 0 0;background:linear-gradient(110deg,#eefaff,#e3f4ff);transform:rotate(-3deg);pointer-events:none}
.isp-branded-header .isp-shell{gap:24px;position:relative}
.isp-branded-header .isp-header-brand{display:flex;align-items:center;gap:18px;min-width:0;text-decoration:none;color:var(--isp-ink);flex:0 1 auto}
.isp-branded-header .isp-brand-logo{width:80px;height:80px;flex:0 0 80px;object-fit:contain;border-radius:0}
.isp-header-brand-copy{display:block;border-left:1px solid #a5b1bf;padding-left:20px;min-width:0}
.isp-header-brand-name{display:block;font-weight:800;font-size:clamp(20px,2.3vw,30px);letter-spacing:-.045em;line-height:1.15;white-space:nowrap}
.isp-header-brand-name span{color:#0076f5}
.isp-header-tagline{position:relative;display:table;margin-top:9px;padding-bottom:10px;color:#6b7581;font-size:12px;font-weight:750;letter-spacing:.26em;line-height:1.3;white-space:nowrap}
.isp-header-tagline::after{content:"";position:absolute;bottom:0;left:26%;width:60%;height:7px;border-top:4px solid #4cce00;border-radius:50%;transform:rotate(-3deg)}
.isp-header-trust{display:flex;align-items:center;gap:14px;flex:0 0 auto;padding:11px 22px 11px 14px;border-radius:999px;background:linear-gradient(105deg,#4ad000 0%,#23af58 35%,#0078ff 85%);box-shadow:0 7px 16px #057bb51c;color:#fff;font-size:clamp(14px,1.55vw,20px);font-weight:650;line-height:1.2;white-space:nowrap;cursor:default}
.isp-header-trust-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#fff;color:#44b900;font-size:28px;font-weight:800;line-height:1}
.isp-header-trust-text{border-left:1px solid #ffffff80;padding-left:14px}
@media(max-width:1000px) and (min-width:601px){.isp-branded-header .isp-header-brand{gap:12px}.isp-branded-header .isp-brand-logo{width:64px;height:64px;flex-basis:64px}.isp-header-brand-copy{padding-left:14px}.isp-header-brand-name{font-size:20px}.isp-header-tagline{font-size:10px;letter-spacing:.18em}.isp-header-trust{gap:10px;padding:10px 16px 10px 10px;font-size:14px}.isp-header-trust-icon{width:30px;height:30px;flex-basis:30px;font-size:23px}.isp-header-trust-text{padding-left:10px}.isp-branded-header .isp-shell{gap:16px}}
@media(max-width:760px) and (min-width:601px){.isp-header-trust{display:none}.isp-header-brand-name{font-size:26px}}
@media(max-width:600px){.isp-header.isp-branded-header{padding:12px 0;border-bottom-width:2px}.isp-branded-header .isp-shell{gap:0}.isp-branded-header .isp-header-brand{gap:12px}.isp-branded-header .isp-brand-logo{width:56px;height:56px;flex-basis:56px}.isp-header-brand-copy{padding-left:12px}.isp-header-brand-name{font-size:clamp(14px,4.3vw,23px);letter-spacing:-.045em}.isp-header-tagline,.isp-header-trust{display:none}.isp-branded-header::before{bottom:-155px}}
