/* Del Sol Electric theme. Ported from the approved reference build (reference/delsol-electric-homepage.html); class names carry a dse- prefix. */
@font-face{font-family:"Archivo";src:url(../fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
[hidden]{display:none !important}
body{margin:0}
a{color:inherit}
.dse{--ink:#141210;--ink-2:#3B3732;--mute:#5E5952;--paper:#FFFFFF;--steel:#EEECE7;--rule:#D3CFC7;--night:#151311;--night-2:#1F1C19;--sun-hot:#FF8A0A;--sun-gold:#FCD93E;--gutter:clamp(16px,4.4vw,64px);--sun:radial-gradient(circle at 50% 56%,#F3F57D 0%,#F9E24A 18%,#FDC836 36%,#FFAE27 56%,#FF920F 78%,#FF7C00 100%);font-family:"Archivo","Helvetica Neue",Helvetica,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
.dse *,.dse *::before,.dse *::after{box-sizing:border-box}
.dse img{max-width:100%}
/* WordPress prints width/height attributes; keep ratios without outranking any component rule */
:where(.dse img){height:auto}
.dse-ico{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- HERO ---------- */
.dse-hero{--fg:#141210;--fg-2:#4A4540;--hero-bg:#FFFFFF;--h1:min(8.4vw,10.6vh,116px);--bh:min(112px,12.5vh);--hero-h:min(100svh,900px);position:relative;display:flex;flex-direction:column;height:min(100vh,900px);height:min(100svh,900px);overflow:hidden;background:var(--hero-bg);color:var(--fg);transition:background-color .6s ease,color .6s ease}
.dse-hero.is-dark{--fg:#F3F1EC;--fg-2:#BDB8AF;--hero-bg:#131110}

.dse-bar{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1600px;margin:0 auto;padding:min(18px,2vh) var(--gutter) 0}
.dse-bar-logo{display:block;flex:0 0 auto;line-height:0}
.dse-bar-logo img{display:block;height:min(76px,8.4vh);width:auto}
.dse-bar-logo .dse-logo-day{mix-blend-mode:multiply}
.dse-bar-logo .dse-logo-night{display:none}
.dse-hero.is-dark .dse-bar-logo .dse-logo-day{display:none}
.dse-hero.is-dark .dse-bar-logo .dse-logo-night{display:block}
.dse-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);margin-left:auto;margin-right:clamp(8px,1.4vw,20px)}
.dse-nav a{position:relative;text-decoration:none;font-weight:650;font-size:15px;padding:12px 0}
.dse-nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.dse-nav a:hover::after,.dse-nav a:focus-visible::after{transform:scaleX(1)}
.dse-bar-actions{display:flex;align-items:center;gap:10px}
.dse-bar-call{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:2px solid currentColor;border-radius:8px;background:var(--hero-bg);text-decoration:none;font-weight:800;font-size:16px;letter-spacing:.01em;transition:background-color .2s,color .2s}
.dse-bar-call:hover{background:var(--fg);color:var(--hero-bg)}
.dse-menu-btn{display:none;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid currentColor;border-radius:8px;background:var(--hero-bg);color:inherit;cursor:pointer;padding:0;transition:background-color .6s ease}
.dse-menu-btn .dse-ico{width:22px;height:22px}

.dse-hero-body{position:relative;flex:1 1 auto;min-height:0;width:100%;max-width:1600px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"lockup lockup" "cord cord" "panel readout";row-gap:min(26px,3vh);column-gap:clamp(20px,2.4vw,36px);padding:min(10px,1.4vh) var(--gutter) min(30px,3.4vh)}

.dse-lockup{grid-area:lockup;align-self:end;position:relative;z-index:1}
.dse-h1-wrap{position:relative;font-size:var(--h1);isolation:isolate}
.dse-sun-wrap{--d:min(5.05em,31vw,520px);--cx:7.9em;position:absolute;z-index:-1;left:calc(var(--cx) - var(--d) / 2);top:50%;width:var(--d);height:var(--d);margin-top:calc(var(--d) * -.4);pointer-events:none}
.dse-sun{display:block;width:100%;height:100%;border-radius:50%;background:var(--sun);transition:filter .7s ease}
.dse-sun.is-dark{filter:grayscale(1) brightness(.4)}
/* sun window: desktop only, shows the active service photo */
.dse-sun-slot{display:none;grid-area:sun;position:relative;z-index:1;align-self:center;justify-self:end;width:var(--sun-d);height:var(--sun-d);pointer-events:none}
.dse-sw-sun{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 28%,#F6F27A 0%,#FCD43C 22%,#FFB52A 44%,#FF940F 70%,#FF7A00 100%);box-shadow:0 0 90px -10px rgba(255,160,30,.45);transition:filter .7s ease,box-shadow .7s ease}
.dse-sw-sun.is-dark{filter:grayscale(1) brightness(.4);box-shadow:none}
.dse-sw-win{position:absolute;inset:7%;border-radius:50%;overflow:hidden;background:#1C1A18;transform:translateZ(0)}
.dse-sw-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .5s ease,transform 1.1s ease}
.dse-sw-img.is-on{opacity:1;transform:none}
.dse-sw-win::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(255,170,40,0) 64%,rgba(255,160,30,.32) 84%,rgba(255,140,10,.9) 100%);transition:opacity .7s ease}
.dse-hero.is-dark .dse-sw-win::after{opacity:0}
.dse-h1{margin:0;font-weight:900;font-stretch:125%;font-size:1em;line-height:.88;letter-spacing:-.028em}
.dse-h1 .dse-l{display:block}
.dse-sub{position:relative;z-index:1;margin:min(22px,2.4vh) 0 0;max-width:27em;font-size:clamp(16px,1.35vw,19px);line-height:1.45;font-weight:500;color:var(--fg-2);text-wrap:pretty;transition:color .6s ease}

.dse-cord-row{--plug-in:33px;grid-area:cord;position:relative;z-index:3;justify-self:start;display:flex;align-items:center;width:calc(var(--gutter) + var(--h1) * 9.1);max-width:calc(100% + var(--gutter));margin-left:calc(var(--gutter) * -1)}
.dse-cord-row::before{content:"";position:absolute;right:100%;top:50%;width:50vw;height:7px;margin-top:-3.5px;background:var(--fg);transition:background-color .6s ease,box-shadow .2s ease}
.dse-cord{position:relative;flex:1 1 auto;min-width:24px;height:7px;background:var(--fg);border-radius:0 2px 2px 0;transition:background-color .6s ease,box-shadow .2s ease;overflow:hidden}
.dse-cord-current{position:absolute;inset:0;animation:dse-flow 2.8s linear infinite;transition:opacity .2s ease}
.dse-cord-current::before{content:"";position:absolute;top:0;bottom:0;left:-18%;width:18%;background:linear-gradient(90deg,rgba(255,138,10,0),#FF8A0A 45%,#FFE45A 55%,rgba(255,138,10,0))}
.dse-cord.is-off .dse-cord-current{display:none}
.dse-cord::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#FF7A00,#FF9A12 45%,#FFC93A 85%,#FFE45A);transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}
@keyframes dse-flow{from{transform:translateX(0)}to{transform:translateX(118%)}}
.dse-plug{position:relative;z-index:1;flex:0 0 auto;width:68px;height:34px;margin-left:-2px;margin-right:0;color:var(--fg);fill:currentColor;transition:margin-right .2s cubic-bezier(.4,0,.2,1),color .6s ease}
.dse-plug .dse-rib{fill:var(--hero-bg);transition:fill .6s ease}
.dse-call-btn{position:relative;z-index:2;flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px;margin-left:6px;border-radius:8px;background:var(--fg);color:var(--hero-bg);text-decoration:none;font-weight:800;font-size:clamp(16px,1.3vw,19px);white-space:nowrap;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
/* hover: plug slides in (cord stretches with it), power floods the wire, then the button lights */
.dse-cord-row:hover .dse-plug,.dse-cord-row:focus-within .dse-plug{margin-right:calc(var(--plug-in) * -1);transition:margin-right .24s cubic-bezier(.3,.8,.3,1),color .6s ease}
.dse-cord-row:hover .dse-cord-current,.dse-cord-row:focus-within .dse-cord-current{opacity:0}
.dse-cord-row:hover .dse-cord::after,.dse-cord-row:focus-within .dse-cord::after{transform:scaleX(1);transition:transform .5s cubic-bezier(.5,0,.3,1) .2s}
.dse-cord-row:hover::before,.dse-cord-row:focus-within::before{background:#FF7A00;box-shadow:0 0 12px rgba(255,138,10,.6);transition:background-color .15s ease .12s,box-shadow .3s ease .12s}
.dse-cord-row:hover .dse-cord,.dse-cord-row:focus-within .dse-cord{box-shadow:0 0 14px rgba(255,150,20,.65);transition:box-shadow .4s ease .4s}
.dse-cord-row:hover .dse-call-btn,.dse-cord-row:focus-within .dse-call-btn{background:var(--sun-hot);color:#141210;box-shadow:0 0 0 4px rgba(255,138,10,.24),0 10px 34px -6px rgba(255,138,10,.75);transition:background-color .18s ease .62s,color .18s ease .62s,box-shadow .35s ease .62s}

/* breaker panel */
.dse-panel{grid-area:panel;position:relative;z-index:3;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#EFEDE8,#E1DED7);border:1px solid #CBC7BE;border-radius:10px;padding:12px 24px 14px;color:#141210;box-shadow:inset 0 1px 0 #fff,0 18px 34px -26px rgba(20,18,16,.45)}
.dse-screw{position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFFFFF,#B4B0A6 72%);box-shadow:inset 0 0 0 1px #A29E94}
.dse-screw::after{content:"";position:absolute;left:1.5px;right:1.5px;top:50%;height:1.5px;margin-top:-.75px;background:#86827A;transform:rotate(-38deg)}
.dse-screw--tl{top:7px;left:7px}.dse-screw--tr{top:7px;right:7px}.dse-screw--bl{bottom:7px;left:7px}.dse-screw--br{bottom:7px;right:7px}
.dse-panel-head{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-weight:800;font-stretch:75%;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.dse-panel-head .dse-ico{width:15px;height:15px;stroke-width:2.4}
.dse-breakers{display:flex;align-items:flex-end;gap:22px}
.dse-brk-group{display:flex;flex-direction:column;gap:7px}
.dse-brk-group-label{display:block;padding-bottom:4px;border-bottom:1.5px solid #B4B0A6;text-align:center;font-weight:700;font-stretch:75%;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#5E5952}
.dse-brk-row{display:flex;gap:10px}
.dse-brk{--w:64px;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dse-brk--2p{--w:116px}
.dse-brk-body{position:relative;display:block;width:var(--w);height:var(--bh);border-radius:6px;background:linear-gradient(180deg,#2C2926,#191715);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 2px 0 #0A0908,0 8px 14px -6px rgba(20,18,16,.5)}
.dse-brk-slot{position:absolute;left:50%;top:23%;bottom:23%;width:46%;transform:translateX(-50%);border-radius:4px;background:#0B0A09;box-shadow:inset 0 2px 5px rgba(0,0,0,.7)}
.dse-brk--2p .dse-brk-slot{width:68%}
.dse-brk-handle{position:absolute;left:3px;right:3px;top:50%;bottom:3px;border-radius:3px;background:linear-gradient(180deg,#F6F5F1,#C9C6BE);box-shadow:0 2px 0 rgba(0,0,0,.45),inset 0 -2px 0 rgba(0,0,0,.08);transition:top .3s cubic-bezier(.34,1.56,.64,1),bottom .3s cubic-bezier(.34,1.56,.64,1)}
.dse-brk--2p .dse-brk-handle::after{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:2px;margin-left:-1px;background:rgba(0,0,0,.22)}
.dse-brk.is-on .dse-brk-handle{top:3px;bottom:50%}
.dse-brk-body{transition:box-shadow .3s ease}
.dse-brk.is-on .dse-brk-body{box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 2px 0 #0A0908,0 0 0 2px #FF8A0A,0 6px 22px -4px rgba(255,138,10,.6)}
.dse-brk-on,.dse-brk-off{position:absolute;left:0;right:0;text-align:center;font-weight:800;font-stretch:75%;font-size:11px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:#6E6961;transition:color .25s ease,text-shadow .25s ease}
.dse-brk-on{top:8%}.dse-brk-off{bottom:8%}
.dse-brk.is-on .dse-brk-on{color:#FF9A1F;text-shadow:0 0 10px rgba(255,138,10,.75)}
.dse-brk.is-on .dse-brk-off{color:#3E3A35}
.dse-brk-tape{display:block;padding:4px 8px 3px;border:1.5px solid #141210;border-radius:2px;background:#FFFFFF;color:#141210;font-weight:800;font-stretch:75%;font-size:12px;line-height:1.2;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;transition:background-color .2s ease,color .2s ease}
.dse-brk.is-on .dse-brk-tape{background:#141210;color:#FFFFFF}
.dse-brk:hover .dse-brk-handle{filter:brightness(1.06)}
.dse-brk:focus{outline:none}
.dse-brk:focus-visible .dse-brk-body{outline:3px solid #FF8A0A;outline-offset:3px}

/* readout */
.dse-readout{grid-area:readout;position:relative;z-index:3;display:flex;align-items:stretch;gap:clamp(16px,1.8vw,26px);min-width:0}
.dse-ro-stack{flex:1 1 auto;min-width:0;display:grid;align-items:center}
.dse-ro{grid-area:1/1;visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
.dse-ro.is-on{visibility:visible;opacity:1;transform:none;transition:opacity .35s ease .08s,transform .35s ease .08s,visibility 0s}
.dse-ro-tag{margin:0 0 6px;font-weight:800;font-stretch:75%;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.dse-ro-title{margin:0;font-weight:900;font-stretch:112%;font-size:clamp(22px,2vw,30px);line-height:1;letter-spacing:-.015em}
.dse-ro-line{margin:8px 0 0;max-width:32em;font-size:16px;line-height:1.45;color:var(--fg-2);text-wrap:pretty}
.dse-ro-list{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;list-style:none}
.dse-ro-list li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650}
.dse-ro-list li::before{content:"";width:12px;height:3px;border-radius:2px;background:currentColor}
.dse-ro-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-weight:800;font-size:15px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.dse-ro-link .dse-ico{width:17px;height:17px}

/* mobile menu */
.dse-menu{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;padding:min(18px,2vh) var(--gutter) 24px;background:#131110;color:#F3F1EC}
.dse-menu-top{display:flex;align-items:center;justify-content:space-between}
.dse-menu-top img{display:block;height:min(76px,8.4vh);width:auto}
.dse-menu-close{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid currentColor;border-radius:8px;background:none;color:inherit;cursor:pointer;padding:0}
.dse-menu-nav{display:flex;flex-direction:column;margin:auto 0}
.dse-menu-nav a{display:block;padding:10px 0;border-bottom:1.5px solid #34302B;text-decoration:none;font-weight:900;font-stretch:112%;font-size:clamp(26px,7.4vw,44px);line-height:1.1;letter-spacing:-.015em}
.dse-menu-call{display:flex;align-items:center;justify-content:center;gap:10px;height:56px;border-radius:8px;background:#FF8A0A;color:#141210;text-decoration:none;font-weight:800;font-size:17px}

/* load: breaker flips on, sun warms up */
.dse-hero.is-boot .dse-brk.is-on .dse-brk-handle{animation:dse-flipOn .42s cubic-bezier(.34,1.56,.64,1) .55s backwards}
.dse-hero.is-boot .dse-brk.is-on .dse-brk-on{animation:dse-onGlow .3s ease .75s backwards}
.dse-hero.is-boot .dse-sun-wrap,.dse-hero.is-boot .dse-sun-slot{animation:dse-sunUp 1.2s cubic-bezier(.2,.8,.2,1) .6s backwards}
.dse-hero.is-boot .dse-cord-current{animation-delay:1s}
@keyframes dse-flipOn{from{top:50%;bottom:3px}to{top:3px;bottom:50%}}
@keyframes dse-onGlow{from{color:#6E6961;text-shadow:none}}
@keyframes dse-sunUp{from{transform:scale(.9);filter:grayscale(1) brightness(.9)}}

/* ---------- SECTIONS ---------- */
.dse-wrap{max-width:1312px;margin:0 auto;padding:0 var(--gutter)}
.dse-sec{padding:clamp(72px,9.5vw,136px) 0}
.dse-sec--steel{background:var(--steel)}
.dse-sec--night{background:var(--night);color:#F3F1EC}
.dse-tape{display:inline-flex;align-items:center;padding:6px 10px 5px;border-radius:2px;background:var(--ink);color:#FFFFFF;font-weight:800;font-stretch:75%;font-size:13px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase}
.dse-sec--night .dse-tape{background:var(--sun-hot);color:#141210}
.dse-h2{margin:18px 0 0;font-weight:900;font-stretch:112%;font-size:clamp(36px,5.4vw,76px);line-height:.94;letter-spacing:-.028em;text-wrap:balance}
.dse-lede{margin:0;max-width:34em;font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.dse-sec--night .dse-lede{color:#C9C4BB}

.dse-svc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(24px,3.2vw,56px);row-gap:clamp(28px,3.6vw,52px);align-items:start}
.dse-svc-head{grid-column:1 / span 10}
.dse-svc-media{grid-column:1 / span 7;margin:0;position:relative}
.dse-svc-copy{grid-column:8 / span 5;display:flex;flex-direction:column;gap:26px}
.dse-svc--flip .dse-svc-media{grid-column:6 / span 7;grid-row:2}
.dse-svc--flip .dse-svc-copy{grid-column:1 / span 5;grid-row:2}
.dse-svc-photo{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px}
.dse-svc-callout{position:relative;width:min(88%,470px);margin:-64px 0 0 auto;margin-right:-1px;padding:22px 26px 24px;border-radius:6px;background:var(--ink);color:#F3F1EC;font-size:17px;line-height:1.45}
.dse-svc--flip .dse-svc-callout{margin:-64px auto 0 -1px}
.dse-svc-callout strong{display:block;margin-bottom:6px;color:var(--sun-gold);font-weight:900;font-stretch:112%;font-size:22px;line-height:1.1;letter-spacing:-.01em}
.dse-svc-callout a{font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;white-space:nowrap}
.dse-svc-callout a:hover{color:var(--sun-gold)}
.dse-list{margin:0;padding:0;list-style:none;columns:2;column-gap:28px}
.dse-list li{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-top:1.5px solid var(--rule);break-inside:avoid;font-weight:650;font-size:16px;line-height:1.35}
.dse-list li::before{content:"";flex:0 0 14px;height:3px;border-radius:2px;background:var(--ink);transform:translateY(-4px)}
.dse-cred{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:10px 14px;border:2px solid var(--ink);border-radius:6px;font-weight:750;font-size:15px}
.dse-cred-dot{width:10px;height:10px;border-radius:50%;background:var(--sun-hot);box-shadow:0 0 0 3px #FFE1B8}
.dse-svc-aside{margin:0;position:relative}
.dse-svc-aside img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:6px}
.dse-svc-aside figcaption{position:absolute;left:12px;bottom:12px}

.dse-spec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(24px,3.2vw,56px);row-gap:20px;align-items:end}
.dse-spec-head-title{grid-column:1 / span 7}
.dse-spec-head .dse-lede{grid-column:8 / span 5}
.dse-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.8vw,40px);margin-top:clamp(36px,5vw,64px)}
.dse-spec{display:flex;flex-direction:column;overflow:hidden;border:1px solid #36312C;border-radius:10px;background:var(--night-2)}
.dse-spec-photo{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}
.dse-spec-body{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.6vw,36px)}
.dse-spec h3{margin:4px 0 0;font-weight:900;font-stretch:112%;font-size:clamp(26px,2.5vw,36px);line-height:1;letter-spacing:-.02em}
.dse-spec p{margin:0;font-size:17px;line-height:1.5;color:#C9C4BB}
.dse-spec .dse-list li{border-top-color:#3A3631;color:#F3F1EC}
.dse-spec .dse-list li::before{background:var(--sun-hot)}
.dse-spec .dse-tape{align-self:flex-start}

.dse-std{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,88px);align-items:center}
.dse-std-intro{display:flex;flex-direction:column;gap:22px}
.dse-std-intro .dse-h2{margin:0}
.dse-std-intro .dse-tape{align-self:flex-start}
.dse-door{position:relative;padding:clamp(22px,2.8vw,38px);border:1px solid #CBC7BE;border-radius:12px;background:linear-gradient(180deg,#EFEDE8,#E1DED7);box-shadow:inset 0 1px 0 #fff,0 26px 48px -30px rgba(20,18,16,.45)}
.dse-sched{overflow:hidden;border:2px solid var(--ink);border-radius:4px;background:#FFFFFF}
.dse-sched-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:11px 18px;background:var(--ink);color:#FFFFFF;font-weight:800;font-stretch:75%;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.dse-sched-head span:last-child{color:#BDB8AF}
.dse-sched-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none}
.dse-ckt{display:flex;align-items:flex-start;gap:14px;padding:18px;border-bottom:1.5px solid var(--rule)}
.dse-ckt:nth-child(odd){border-right:1.5px solid var(--rule)}
.dse-ckt:nth-last-child(-n+2){border-bottom:0}
.dse-ckt-no{flex:0 0 34px;height:34px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:4px;font-weight:800;font-size:15px;line-height:1}
.dse-ckt-name{display:block;font-weight:900;font-stretch:112%;font-size:19px;line-height:1.15;letter-spacing:-.01em}
.dse-ckt-desc{display:block;margin-top:4px;font-size:15px;line-height:1.4;color:var(--mute)}

.dse-contact-head{display:flex;flex-direction:column;align-items:flex-start}
.dse-contact-head .dse-h2{position:relative;z-index:2}
.dse-big-call{position:relative;z-index:1;display:inline-block;margin-top:clamp(30px,4.4vw,60px);isolation:isolate;text-decoration:none;font-weight:900;font-stretch:112%;font-size:clamp(34px,10.4vw,132px);line-height:1;letter-spacing:-.025em;white-space:nowrap}
.dse-big-call-sun{position:absolute;z-index:-1;right:-.32em;top:50%;width:2.6em;height:2.6em;margin-top:-1.26em;border-radius:50%;background:var(--sun);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dse-big-call:hover .dse-big-call-sun{transform:scale(1.05)}
.dse-contact-cord{position:relative;z-index:2;display:flex;align-items:center;gap:0;width:calc(100% + var(--gutter));max-width:calc(var(--gutter) + 980px);margin:clamp(14px,1.6vw,22px) 0 0 calc(var(--gutter) * -1)}
.dse-contact-cord .dse-cord{background:var(--ink)}
.dse-contact-cord .dse-plug{color:var(--ink)}
.dse-contact-cord .dse-plug .dse-rib{fill:var(--steel)}
.dse-contact-cord-text{flex:0 0 auto;margin-left:10px;font-weight:900;font-stretch:112%;font-size:clamp(18px,2vw,28px);letter-spacing:-.01em}
.dse-contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);margin-top:clamp(44px,6vw,80px);align-items:start}
.dse-facts{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.dse-fact{display:flex;gap:16px;padding:20px 0;border-top:1.5px solid var(--rule)}
.dse-fact:last-child{border-bottom:1.5px solid var(--rule)}
.dse-fact .dse-ico{width:22px;height:22px;margin-top:2px}
.dse-fact-k{display:block;margin:0 0 2px;font-weight:800;font-stretch:75%;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.dse-fact-v{display:block;font-weight:700;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.dse-fact a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.dse-fact a:hover{text-decoration-color:var(--sun-hot)}
.dse-form{display:grid;gap:18px;padding:clamp(22px,2.8vw,36px);border:2px solid var(--ink);border-radius:10px;background:#FFFFFF}
.dse-form-title{margin:0;font-weight:900;font-stretch:112%;font-size:24px;line-height:1.1;letter-spacing:-.01em}
.dse-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dse-field{display:grid;gap:7px}
.dse-field label{font-weight:700;font-size:15px}
.dse-field input,.dse-field textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #8F8A82;border-radius:6px;background:#FFFFFF;color:var(--ink);font:inherit;font-size:16px}
.dse-field textarea{min-height:140px;resize:vertical}
.dse-field input:focus,.dse-field textarea:focus{outline:3px solid var(--sun-hot);outline-offset:1px;border-color:var(--ink)}
.dse-send{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;border:0;border-radius:8px;background:var(--ink);color:#FFFFFF;font:inherit;font-weight:800;font-size:17px;cursor:pointer;transition:background-color .2s,color .2s}
.dse-send:hover,.dse-send:focus-visible{background:var(--sun-hot);color:#141210}
.dse-form-note{margin:0;font-size:15px;color:var(--mute)}
.dse-form-note a{font-weight:800;color:var(--ink)}
.dse-sent{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.8vw,36px);border:2px solid var(--ink);border-radius:10px;background:#FFFFFF}
.dse-sent strong{font-weight:900;font-stretch:112%;font-size:28px;line-height:1.1}
.dse-sent p{margin:0;font-size:17px;color:var(--ink-2)}

.dse-foot{border-top:7px solid var(--ink);padding:clamp(48px,6vw,80px) 0 28px;background:#FFFFFF}
.dse-foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,3vw,48px)}
.dse-foot-brand img{display:block;width:150px;height:auto;mix-blend-mode:multiply}
.dse-foot-brand p{margin:16px 0 0;max-width:18em;font-size:15px;color:var(--ink-2)}
.dse-foot-col h2{margin:0 0 14px;font-weight:800;font-stretch:75%;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.dse-foot-col ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.dse-foot-col a{display:inline-block;padding:6px 0;text-decoration:none;font-weight:650;font-size:15px;line-height:1.35}
.dse-foot-col a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.dse-foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:clamp(40px,5vw,64px);padding-top:20px;border-top:1.5px solid var(--rule);font-size:14px;color:var(--mute)}
.dse-foot-base a{color:var(--ink);font-weight:700}

/* ---------- RESPONSIVE ---------- */
@media (min-width:1100px){
  .dse-hero{--h1:min(6.6vw,10.6vh,104px);--sun-d:min(36vw,620px,calc(var(--hero-h) - 380px))}
  .dse-hero-body{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"lockup lockup sun" "cord cord sun" "panel readout readout"}
  .dse-sun-slot{display:block}
  .dse-h1-wrap>.dse-sun-wrap{display:none}
}
@media (min-width:1100px) and (max-height:600px){
  .dse-hero{--h1:min(8.4vw,10.6vh,116px)}
  .dse-hero-body{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"lockup lockup" "cord cord" "panel readout"}
  .dse-sun-slot{display:none}
  .dse-h1-wrap>.dse-sun-wrap{display:block}
}
@media (max-width:1079px){
  .dse-nav{display:none}
  .dse-menu-btn{display:inline-flex}
}
@media (max-width:899px) and (min-width:721px) and (min-height:521px){
  .dse-hero-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"lockup" "cord" "panel" "readout";grid-template-rows:minmax(0,1fr) auto auto auto}
  .dse-panel{justify-self:start}
  .dse-sun-wrap{--d:min(5.05em,38vw);margin-top:calc(var(--d) * -.3)}
}
@media (max-width:720px){
  .dse-hero{--h1:min(11.2vw,7.3vh);--bh:min(84px,10.5vh);height:min(100vh,740px);height:min(100svh,740px)}
  .dse-bar{gap:12px;padding-top:min(12px,1.6vh)}
  .dse-bar-logo img,.dse-menu-top img{height:min(54px,8.4vh)}
  .dse-bar-call{width:46px;padding:0;justify-content:center}
  .dse-bar-call-num{display:none}
  .dse-hero-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:"lockup" "panel" "readout" "cord";align-content:space-between;row-gap:min(14px,1.8vh);padding:min(16px,2.2vh) var(--gutter) min(16px,2.2vh)}
  .dse-lockup{align-self:start}
  .dse-sun-wrap{--d:5em;--cx:7.4em;margin-top:calc(var(--d) * -.32)}
  .dse-sub{font-size:15px;margin-top:min(14px,1.8vh);max-width:21em}
  .dse-cord-row{width:auto;max-width:none;justify-self:stretch}
  .dse-plug{width:54px;height:27px}
  .dse-cord-row{--plug-in:28px}
  .dse-call-btn{height:52px;padding:0 18px;font-size:16px}
  .dse-panel{padding:10px 12px 12px}
  .dse-panel-head{margin-bottom:6px;font-size:11px}
  .dse-breakers{gap:12px}
  .dse-brk-group--main{flex:3.4 1 0;min-width:0}
  .dse-brk-group--spec{flex:2.6 1 0;min-width:0}
  .dse-brk-row{gap:8px}
  .dse-brk{flex:1 1 0;min-width:0}
  .dse-brk-body{width:100%}
  .dse-brk-tape{font-size:11px;padding:3px 6px 2px;font-stretch:62%}
  .dse-brk-group-label{font-size:10px}
  .dse-screw{display:none}
  .dse-readout{display:block}
  .dse-ro-tag,.dse-ro-list{display:none}
  .dse-ro-title{display:inline;font-size:17px;letter-spacing:0}
  .dse-ro-line{display:inline;margin:0 0 0 6px;font-size:15px}
  .dse-ro-link{display:flex;margin-top:6px;font-size:14px}
  .dse-svc,.dse-spec-head{grid-template-columns:minmax(0,1fr)}
  .dse-svc-head,.dse-svc-media,.dse-svc-copy,.dse-svc--flip .dse-svc-media,.dse-svc--flip .dse-svc-copy,.dse-spec-head-title,.dse-spec-head .dse-lede{grid-column:1 / -1;grid-row:auto}
  .dse-svc-callout,.dse-svc--flip .dse-svc-callout{width:auto;margin:-36px 12px 0 12px}
  .dse-list{columns:1}
  .dse-spec-grid,.dse-std,.dse-contact-grid,.dse-form-row{grid-template-columns:minmax(0,1fr)}
  .dse-sched-grid{grid-template-columns:minmax(0,1fr)}
  .dse-ckt:nth-child(odd){border-right:0}
  .dse-ckt:nth-last-child(2){border-bottom:1.5px solid var(--rule)}
  .dse-contact-cord .dse-plug{width:48px;height:24px}
  .dse-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dse-foot-brand{grid-column:1 / -1}
}
@media (max-width:420px){
  .dse-foot-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:360px){
  .dse-brk-tape{font-size:10px;letter-spacing:.03em;padding:3px 4px 2px}
}
@media (max-height:620px){
  .dse-sub{display:none}
}
@media (max-height:620px) and (max-width:720px){
  .dse-brk-group-label,.dse-ro-link{display:none}
}
@media (max-height:520px) and (min-width:721px){
  .dse-hero{--h1:min(8.4vw,9.2vh,116px)}
  .dse-hero-body{row-gap:2.4vh}
  .dse-panel{padding:10px 18px 12px}
  .dse-panel-head,.dse-brk-group-label,.dse-ro-tag,.dse-ro-list{display:none}
  .dse-cord-row .dse-call-btn{height:44px}
  .dse-bar-call,.dse-menu-btn{min-height:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){
  .dse *,.dse *::before,.dse *::after{animation:none !important;transition-duration:.01ms !important}
}
/* ---------- THEME ADDITIONS (not in the reference build) ---------- */

/* logged-in admins: keep the hero above the fold under the admin bar */
.admin-bar .dse-hero{height:min(calc(100svh - 32px),900px)}
@media (max-width:782px){.admin-bar .dse-hero{height:min(calc(100svh - 46px),900px)}}
@media (max-width:720px){.admin-bar .dse-hero{height:min(calc(100svh - 46px),740px)}}

.dse-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:12px 16px;border-radius:8px;background:var(--ink);color:#fff;font-weight:800;text-decoration:none}
.dse-skip:focus{top:12px}

/* header bar on posts and pages */
.dse-pagehead{--fg:#141210;--fg-2:#4A4540;--hero-bg:#FFFFFF;position:relative;z-index:6;padding-bottom:min(18px,2vh);background:var(--hero-bg);color:var(--fg)}
.dse-pagehead .dse-menu{position:fixed}
@media (max-width:720px){
  .dse-pagehead .dse-bar-call{width:46px;padding:0;justify-content:center}
}

/* posts and plain pages */
.dse-article{--fg:#141210;--hero-bg:#FFFFFF;padding:clamp(40px,6vw,88px) 0 clamp(72px,9.5vw,136px)}
.dse-narrow{max-width:calc(680px + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}
.dse-article .dse-h2{font-size:clamp(34px,4.6vw,60px)}
.dse-post-meta{margin:16px 0 0;font-weight:800;font-stretch:75%;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.dse-post-photo{margin:clamp(28px,4vw,44px) 0 0}
.dse-post-photo img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:6px}
.dse-prose{margin-top:clamp(28px,4vw,44px);font-size:18px;line-height:1.6;color:var(--ink-2)}
.dse-prose>*{margin:0 0 1.1em}
.dse-prose>*:last-child{margin-bottom:0}
.dse-prose h2,.dse-prose h3,.dse-prose h4{margin:1.6em 0 .5em;color:var(--ink);font-weight:900;font-stretch:112%;line-height:1.1;letter-spacing:-.015em}
.dse-prose h2{font-size:28px}.dse-prose h3{font-size:23px}.dse-prose h4{font-size:19px}
.dse-prose strong{color:var(--ink)}
.dse-prose a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.dse-prose a:hover{text-decoration-color:var(--sun-hot)}
.dse-prose ul,.dse-prose ol{padding-left:1.3em}
.dse-prose li{margin:.3em 0}
.dse-prose img{border-radius:6px}
.dse-post-cta{width:100%;max-width:none;margin:clamp(40px,6vw,64px) 0 0}
.dse-post-cta .dse-call-btn{margin-left:6px}
@media (max-width:720px){
  .dse-post-cta .dse-plug{width:54px;height:27px}
  .dse-post-cta{--plug-in:28px}
  .dse-post-cta .dse-call-btn{height:52px;padding:0 18px;font-size:16px}
}
.dse-post-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:clamp(40px,6vw,64px);padding-top:20px;border-top:1.5px solid var(--rule);font-weight:800;font-size:15px}
.dse-post-nav a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

/* post listing (archives, search, blog index) */
.dse-postlist{margin:clamp(28px,4vw,44px) 0 0;padding:0;list-style:none}
.dse-postlist li{padding:22px 0;border-top:1.5px solid var(--rule)}
.dse-postlist li:last-child{border-bottom:1.5px solid var(--rule)}
.dse-postlist a{text-decoration:none;font-weight:900;font-stretch:112%;font-size:clamp(22px,2.4vw,28px);line-height:1.1;letter-spacing:-.015em}
.dse-postlist a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.dse-postlist p{margin:8px 0 0;font-size:16px;color:var(--ink-2)}
.dse-pagination{display:flex;gap:16px;margin-top:28px;font-weight:800}

/* contact card: CRM embed slot and its no-embed fallback */
.dse-form-embed{min-width:0}
.dse-form-embed label{font-weight:700;font-size:15px;color:var(--ink)}
.dse-form-embed input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),
.dse-form-embed textarea,.dse-form-embed select{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #8F8A82;border-radius:6px;background:#FFFFFF;color:var(--ink);font:inherit;font-size:16px}
.dse-form-embed textarea{min-height:140px;resize:vertical}
.dse-form-embed input:focus,.dse-form-embed textarea:focus,.dse-form-embed select:focus{outline:3px solid var(--sun-hot);outline-offset:1px;border-color:var(--ink)}
.dse-form-embed button[type=submit],.dse-form-embed input[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:100%;height:56px;border:0;border-radius:8px;background:var(--ink);color:#FFFFFF;font:inherit;font-weight:800;font-size:17px;cursor:pointer;transition:background-color .2s,color .2s}
.dse-form-embed button[type=submit]:hover,.dse-form-embed button[type=submit]:focus-visible,.dse-form-embed input[type=submit]:hover,.dse-form-embed input[type=submit]:focus-visible{background:var(--sun-hot);color:#141210}
.dse-form-embed iframe{display:block;width:100%;border:0}
.dse-form-intro{margin:0;font-size:17px;line-height:1.5;color:var(--ink-2)}
.dse-send{text-decoration:none}
