/* Eclipse Marketing — site styles (chat widget styles live in eclipse-chat.css) */
:root{
  --void:#030304;--night:#07070a;--deep:#0d0d11;--panel:#111116;--line:#212129;--line-2:#2e2e38;
  --gold:#efc46e;--flare:#fff3d6;--ember:#e8892b;--ink:#17140c;--white:#f4f2ee;--ash:#a8a6ae;--mist:#75737c;
  --display:'Panchang','Arial Black',Arial,sans-serif;--body:'Satoshi','Helvetica Neue',Arial,sans-serif;
  --r-lg:28px;--r-md:18px;--r-sm:10px;--head:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--void);color:var(--white);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:8px;font-weight:700}
.skip:focus{top:12px}
h1,h2,h3{margin:0;font-weight:700;line-height:1.12}
h1,h2{font-family:var(--display);letter-spacing:-.01em;overflow-wrap:break-word}
h2{font-size:clamp(26px,3.4vw,42px)}
h3{font-size:19px}
p{margin:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:700;font-size:15px;line-height:1.2;border:1px solid var(--gold);transition:background .2s,box-shadow .25s,transform .2s;cursor:pointer}
.btn i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--gold)}
.btn i svg{width:12px;height:12px}
.btn:hover{background:#f7d28a;box-shadow:0 0 0 6px rgba(239,196,110,.14),0 10px 40px rgba(239,196,110,.25)}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--line-2)}
.btn-ghost:hover{background:rgba(255,255,255,.04);border-color:var(--gold);box-shadow:none}
.btn-sm{padding:10px 18px;font-size:14px}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-weight:700}
.text-link i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid currentColor}
.text-link i svg{width:11px;height:11px}
.text-link:hover{color:var(--flare)}

/* Header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(3,3,4,.72);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.06);padding-top:env(safe-area-inset-top)}
.nav{height:var(--head);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px}
.brand svg{width:36px;height:36px}
.brand span{font-family:var(--display);font-size:15px;letter-spacing:.2em;text-transform:uppercase;line-height:1}
.brand small{display:block;font-family:var(--body);font-size:9.5px;letter-spacing:.42em;color:var(--gold);margin-top:5px;font-weight:700}
.nav nav{display:flex;align-items:center;gap:30px;font-size:15px;color:#cfcdd4}
.nav nav a:not(.btn):hover{color:var(--gold)}
.nav .nav-cta{color:var(--ink)}
.menu{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;position:relative;cursor:pointer}
.menu span{position:absolute;left:13px;right:13px;height:1.6px;background:var(--white);transition:transform .25s,top .25s}
.menu span:first-child{top:17px}.menu span:last-child{top:25px}
.menu[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

/* Hero: the eclipse */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - var(--head));display:grid;place-items:center;text-align:center;padding:48px 24px 72px;
  background:radial-gradient(ellipse 70% 55% at 50% 34%,#1a1307 0%,#08070a 52%,var(--void) 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(transparent,var(--void));z-index:-1}
.stars{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-inner{display:flex;flex-direction:column;align-items:center;width:100%}
.eclipse{--s:min(40svh,62vw,430px);width:var(--s);height:var(--s);position:relative;margin-bottom:calc(var(--s) * .02)}
.eclipse>*{position:absolute}
.corona{inset:-38%;border-radius:50%;
  background:radial-gradient(circle closest-side,rgba(255,243,214,.9) 0 43%,rgba(239,196,110,.55) 45.5%,rgba(232,137,43,.2) 58%,rgba(232,137,43,.07) 76%,transparent 100%)}
.corona::before,.corona::after{content:"";position:absolute;border-radius:50%;
  -webkit-mask:radial-gradient(circle closest-side,transparent 42%,#000 46%,rgba(0,0,0,.45) 68%,transparent 100%);
          mask:radial-gradient(circle closest-side,transparent 42%,#000 46%,rgba(0,0,0,.45) 68%,transparent 100%)}
.corona::before{inset:0;background:conic-gradient(from 0deg,transparent 0deg,transparent 11deg,rgba(255,236,196,0.37) 13deg,transparent 15deg,transparent 22deg,rgba(255,236,196,0.26) 25deg,transparent 28deg,transparent 35deg,rgba(255,236,196,0.14) 38deg,transparent 41deg,transparent 54deg,rgba(255,236,196,0.16) 56deg,transparent 58deg,transparent 71deg,rgba(255,236,196,0.17) 75deg,transparent 79deg,transparent 88deg,rgba(255,236,196,0.48) 91deg,transparent 95deg,transparent 110deg,rgba(255,236,196,0.49) 113deg,transparent 115deg,transparent 122deg,rgba(255,236,196,0.23) 126deg,transparent 130deg,transparent 139deg,rgba(255,236,196,0.24) 141deg,transparent 142deg,transparent 161deg,rgba(255,236,196,0.34) 164deg,transparent 166deg,transparent 182deg,rgba(255,236,196,0.33) 184deg,transparent 187deg,transparent 194deg,rgba(255,236,196,0.20) 196deg,transparent 197deg,transparent 214deg,rgba(255,236,196,0.24) 217deg,transparent 220deg,transparent 235deg,rgba(255,236,196,0.24) 238deg,transparent 241deg,transparent 260deg,rgba(255,236,196,0.22) 263deg,transparent 267deg,transparent 282deg,rgba(255,236,196,0.45) 285deg,transparent 288deg,transparent 306deg,rgba(255,236,196,0.49) 308deg,transparent 311deg,transparent 318deg,rgba(255,236,196,0.41) 321deg,transparent 324deg,transparent 332deg,rgba(255,236,196,0.14) 335deg,transparent 338deg,transparent 360deg);filter:blur(2px);animation:turn 240s linear infinite}
.corona::after{inset:-10%;background:conic-gradient(from 0deg,transparent 0deg,transparent 20deg,rgba(255,236,196,0.23) 22deg,transparent 25deg,transparent 40deg,rgba(255,236,196,0.18) 44deg,transparent 47deg,transparent 66deg,rgba(255,236,196,0.18) 71deg,transparent 75deg,transparent 92deg,rgba(255,236,196,0.23) 93deg,transparent 95deg,transparent 111deg,rgba(255,236,196,0.26) 116deg,transparent 120deg,transparent 131deg,rgba(255,236,196,0.23) 134deg,transparent 136deg,transparent 143deg,rgba(255,236,196,0.11) 145deg,transparent 148deg,transparent 156deg,rgba(255,236,196,0.25) 158deg,transparent 160deg,transparent 168deg,rgba(255,236,196,0.16) 170deg,transparent 172deg,transparent 192deg,rgba(255,236,196,0.18) 194deg,transparent 195deg,transparent 210deg,rgba(255,236,196,0.26) 214deg,transparent 219deg,transparent 238deg,rgba(255,236,196,0.17) 241deg,transparent 243deg,transparent 255deg,rgba(255,236,196,0.29) 259deg,transparent 263deg,transparent 272deg,rgba(255,236,196,0.13) 274deg,transparent 276deg,transparent 285deg,rgba(255,236,196,0.21) 288deg,transparent 291deg,transparent 301deg,rgba(255,236,196,0.17) 303deg,transparent 304deg,transparent 316deg,rgba(255,236,196,0.29) 320deg,transparent 323deg,transparent 340deg,rgba(255,236,196,0.21) 343deg,transparent 346deg,transparent 360deg);filter:blur(4px);animation:turn 320s linear infinite reverse}
.sun,.moon{inset:11.2%;border-radius:50%}
.sun{background:radial-gradient(circle,#fff 0 58%,var(--flare) 78%,var(--gold) 100%);box-shadow:0 0 50px 16px rgba(255,226,160,.55),0 0 140px 60px rgba(239,196,110,.22);opacity:0}
.moon{background:radial-gradient(circle at 38% 36%,#101014,#000 64%);box-shadow:inset -6px -8px 24px rgba(0,0,0,.9)}
.ring{inset:0;width:100%;height:100%;filter:drop-shadow(0 0 6px rgba(239,196,110,.45))}
.diamond{left:79%;top:21%;width:34%;height:34%;transform:translate(-50%,-50%);mix-blend-mode:screen;pointer-events:none;
  background:radial-gradient(circle closest-side,#fff 0 7%,rgba(255,243,214,.8) 16%,rgba(239,196,110,.28) 38%,transparent 72%);animation:breathe 7s ease-in-out 3s infinite}
.diamond::before,.diamond::after{content:"";position:absolute;left:50%;top:50%;width:150%;height:2px;transform:translate(-50%,-50%) rotate(-12deg);background:linear-gradient(90deg,transparent,rgba(255,243,214,.8),transparent);filter:blur(.5px)}
.diamond::after{transform:translate(-50%,-50%) rotate(78deg);width:90%}
.wordmark{width:min(400px,76vw);height:auto;position:relative;z-index:2;margin-top:4px}
.hero h1{font-size:clamp(22px,3vw,38px);max-width:22ch;margin:28px auto 0;line-height:1.18}
.hero-lede{color:var(--ash);font-size:clamp(16px,1.6vw,19px);max-width:46ch;margin:16px auto 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}

/* Intro sequence: the moon slides into totality once on load */
.moon{animation:moon-in 2.2s cubic-bezier(.25,.7,.25,1) .15s both}
.sun{animation:sun-out 2.35s linear .15s both}
.corona{animation:corona-in 2.8s ease-out both}
.ring{animation:fade-late 2.8s ease-out both}
.diamond{animation:flash 3s ease-out both,breathe 7s ease-in-out 3s infinite}
.wordmark{animation:rise .9s ease-out 1.9s both}
.hero h1{animation:rise .9s ease-out 2.05s both}
.hero-lede{animation:rise .9s ease-out 2.2s both}
.hero-actions{animation:rise .9s ease-out 2.35s both}
@keyframes moon-in{from{transform:translateX(-68%)}to{transform:none}}
@keyframes sun-out{0%,82%{opacity:1}100%{opacity:0}}
@keyframes corona-in{0%,66%{opacity:0;transform:scale(.88)}100%{opacity:1;transform:none}}
@keyframes fade-late{0%,70%{opacity:0}100%{opacity:1}}
@keyframes flash{0%,72%{opacity:0;transform:translate(-50%,-50%) scale(.2)}84%{opacity:1;transform:translate(-50%,-50%) scale(1.7)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.72}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes turn{to{transform:rotate(360deg)}}

/* Section headings */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px}
.sec-head p{color:var(--ash);max-width:40ch}

/* Services overview */
.services{padding:96px 0 110px;background:linear-gradient(var(--void),var(--night))}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card{height:100%;display:flex;flex-direction:column;border-radius:var(--r-md);overflow:hidden;background:var(--panel);border:1px solid var(--line);transition:border-color .25s,box-shadow .25s}
.svc-art{display:block;padding:14px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse 80% 70% at 70% 30%,#1c150a,#0a0a0d 72%)}
.svc-art svg{width:100%;height:auto;aspect-ratio:3/2;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.svc-body{display:flex;flex-direction:column;gap:10px;padding:24px 24px 22px;flex:1}
.svc-body p{color:var(--ash);font-size:15.5px;flex:1}
.svc-more{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;font-weight:700;color:var(--gold)}
.svc-more i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(239,196,110,.5);transition:background .25s,color .25s}
.svc-more svg{width:13px;height:13px}
.svc-card:hover{border-color:rgba(239,196,110,.55);box-shadow:0 18px 60px -20px rgba(239,196,110,.28)}
.svc-card:hover .svc-art svg{transform:scale(1.035)}
.svc-card:hover .svc-more i{background:var(--gold);color:var(--ink)}

/* Service details: hidden until a card is clicked, then shown in a pop-up panel */
.svc-dialog{width:min(1120px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid rgba(239,196,110,.28);border-radius:var(--r-lg);
  background:var(--night);color:var(--white);overflow:auto;overscroll-behavior:contain;box-shadow:0 40px 120px -20px rgba(0,0,0,.9),0 0 80px rgba(239,196,110,.08)}
.svc-dialog::backdrop{background:rgba(3,3,4,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.svc-dialog[open]{animation:pop .32s cubic-bezier(.2,.8,.2,1)}
.svc-dialog[open]::backdrop{animation:fade .3s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
html.dialog-open{overflow:hidden}
.dialog-close{position:sticky;top:16px;float:right;margin:16px 16px -60px 0;z-index:5;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--line-2);background:rgba(7,7,10,.85);backdrop-filter:blur(8px);color:var(--white);cursor:pointer;transition:border-color .2s,color .2s}
.dialog-close svg{width:16px;height:16px}
.dialog-close:hover{border-color:var(--gold);color:var(--gold)}
.js .detail{display:none}
.js .detail.is-active{display:block}
.detail{padding:clamp(28px,5vw,64px) 0;position:relative;overflow:hidden}
.detail .wrap{padding-left:clamp(22px,5vw,64px);padding-right:clamp(22px,5vw,64px)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,56px);align-items:center}
.detail-art{position:relative;border-radius:var(--r-lg);padding:clamp(18px,3vw,30px);border:1px solid var(--line);
  background:radial-gradient(ellipse 75% 70% at 72% 28%,#211709,#0b0b0e 70%);overflow:hidden}
.detail-art svg{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:3/2}
.detail-art::before{content:"";position:absolute;right:-22%;top:-40%;width:78%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(239,196,110,.14);box-shadow:0 0 80px rgba(239,196,110,.06) inset;pointer-events:none}
.detail-copy h2{margin-bottom:14px}
.detail-lede{font-size:clamp(18px,1.8vw,21px);color:var(--white);font-weight:500;margin-bottom:12px}
.detail-copy>p:not(.detail-lede):not(.fit):not(.pairs){color:var(--ash);max-width:56ch}
.list-title{font-family:var(--body);font-size:15px;color:var(--gold);margin:28px 0 12px}
.included{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.included li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.45}
.included li::before{content:"";position:absolute;left:0;top:.18em;width:13px;height:13px;background:var(--gold);
  clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.fit{margin-top:24px;padding:14px 18px;border-radius:var(--r-sm);background:rgba(239,196,110,.06);border:1px solid rgba(239,196,110,.2);font-size:15.5px;color:#dcd9df}
.fit strong{display:block;color:var(--gold);font-size:13px;margin-bottom:2px}
.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:26px}
.back{display:inline-flex;align-items:center;gap:8px;color:var(--ash);font-size:15px;font-weight:500;background:none;border:0;padding:6px 0;cursor:pointer}
.back svg{width:14px;height:14px}
.back:hover{color:var(--white)}
.pairs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;font-size:14px}
.pairs span{color:var(--mist);margin-right:4px}
.pairs a{padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);color:#d6d4da}
.pairs a:hover{border-color:var(--gold);color:var(--gold)}

/* Process */
.process{padding:104px 0;background:var(--deep);border-top:1px solid var(--line)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.steps::before{content:"";position:absolute;top:48px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--line-2) 15%,rgba(239,196,110,.5) 85%,transparent)}
.steps li{position:relative}
.steps svg{width:96px;height:96px;margin-bottom:22px;background:var(--deep);border-radius:50%}
.step-no{display:block;font-size:13px;color:var(--gold);font-weight:700;margin-bottom:6px}
.steps h3{margin-bottom:8px}
.steps p{color:var(--ash);font-size:15.5px;max-width:34ch}

/* Partner */
.partner{padding:104px 0;background:var(--night);border-top:1px solid var(--line)}
.partner-grid{display:grid;grid-template-columns:.9fr 1fr;gap:64px;align-items:center}
.partner-img{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px -30px rgba(40,90,200,.35)}
.partner-copy h2{margin-bottom:18px}
.partner-copy p{color:var(--ash);margin-bottom:14px;max-width:48ch}
.partner-copy .text-link{margin-top:8px}

/* FAQ */
.faq{padding:104px 0;background:var(--void);border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.faq-intro p{color:var(--ash);margin-top:16px;max-width:34ch}
.faq-intro a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.questions details{border-bottom:1px solid var(--line)}
.questions details:first-child{border-top:1px solid var(--line)}
.questions summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:700;font-size:17px}
.questions summary::-webkit-details-marker{display:none}
.questions summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);
  background:linear-gradient(var(--gold),var(--gold)) center/11px 1.6px no-repeat,linear-gradient(var(--gold),var(--gold)) center/1.6px 11px no-repeat;transition:transform .25s}
.questions details[open] summary::after{transform:rotate(45deg)}
.questions summary:hover{color:var(--gold)}
.questions details p{color:var(--ash);padding:0 48px 22px 0}

/* Contact */
.contact{position:relative;overflow:hidden;padding:110px 0 120px;background:radial-gradient(ellipse 60% 60% at 15% 100%,#1d1407,var(--night) 70%);border-top:1px solid var(--line)}
.contact::before{content:"";position:absolute;left:-12%;bottom:-62%;width:min(760px,90vw);aspect-ratio:1;border-radius:50%;background:#000;border:1.5px solid rgba(239,196,110,.55);
  box-shadow:0 0 60px rgba(239,196,110,.25),0 0 180px rgba(232,137,43,.12)}
.contact-grid{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.contact-copy h2{margin-bottom:16px}
.contact-copy>p{color:var(--ash);max-width:40ch;margin-bottom:30px}
.contact-line{display:flex;flex-direction:column;padding:14px 0;border-top:1px solid var(--line);font-weight:700;font-size:18px;word-break:break-word}
.contact-line:last-child{border-bottom:1px solid var(--line)}
.contact-line span{font-size:13px;color:var(--mist);font-weight:500}
.contact-line:hover{color:var(--gold)}
#inquiry{background:rgba(17,17,22,.86);backdrop-filter:blur(8px);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);display:grid;gap:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#inquiry label{display:grid;gap:8px;font-size:14px;font-weight:700;color:#dedce2}
.optional{color:var(--mist);font-weight:500}
#inquiry :is(input,select,textarea){width:100%;padding:13px 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:#0a0a0d;font-size:16px;font-weight:400;color:var(--white);transition:border-color .2s,box-shadow .2s}
#inquiry :is(input,textarea)::placeholder{color:#7d7b84}
#inquiry :is(input,select,textarea):focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(239,196,110,.18)}
#inquiry select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
#inquiry textarea{resize:vertical;min-height:110px}
#inquiry .btn{justify-self:start;margin-top:4px}
.form-note{font-size:13px;color:var(--mist)}
.form-note:empty{display:none}
#form-status{color:#e6c98f}

/* Footer */
.site-foot{background:var(--void);border-top:1px solid var(--line);padding:56px 0 calc(110px + env(safe-area-inset-bottom))}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start}
.foot-mark{width:200px;height:auto;margin-bottom:10px}
.site-foot p{color:var(--mist);font-size:14px}
.site-foot nav,.foot-contact{display:grid;gap:10px;font-size:15px;color:#cfcdd4}
.site-foot a:hover{color:var(--gold)}
.foot-base{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--mist)}
.foot-base a{display:inline-flex;align-items:center;gap:6px}
.foot-base svg{width:13px;height:13px}

/* Thank-you page */
.confirmation-page{min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse 60% 50% at 50% 30%,#1a1307,var(--void) 70%)}
.confirmation{text-align:center;padding:60px 24px;max-width:640px}
.confirmation img{width:min(220px,60vw);margin:0 auto 34px}
.confirmation h1{font-size:clamp(26px,4vw,40px);margin-bottom:16px}
.confirmation p{color:var(--ash);margin-bottom:28px}
.confirmation-contact{margin-top:36px;font-size:15px}
.confirmation-contact a{color:var(--gold)}

/* Responsive */

/* Mobile call button in the header */
.call-head{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);place-items:center;margin-left:auto}
.call-head svg{width:20px;height:20px}
.call-head:hover{background:rgba(239,196,110,.1)}

/* About: local + areas we serve */
.local{padding:104px 0;background:var(--void);border-top:1px solid var(--line)}
.local-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.local-copy h2{margin-bottom:18px}
.local-copy p{color:var(--ash);margin-bottom:14px;max-width:52ch}
.local-copy .text-link{margin-top:8px}
.local-areas{padding:28px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line)}
.local-areas h3{margin-bottom:16px}
.towns{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.towns li{padding:6px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:14.5px;color:#dcd9df}
.local-areas p{color:var(--mist);font-size:14.5px}

/* THZ partner work list */
.partner-work{margin:6px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partner-work summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-weight:700;color:var(--gold)}
.partner-work summary::-webkit-details-marker{display:none}
.partner-work summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-weight:500;transition:transform .2s}
.partner-work[open] summary::after{transform:rotate(45deg)}
.partner-work .included{margin-bottom:22px}
.partner-work .btn{margin-bottom:22px}
.partner-copy .partner-visit{margin-top:0;color:var(--ash);font-weight:500}
.partner-copy .partner-visit:hover{color:var(--gold)}

/* Free Google check offer */
.offer{padding:72px 0;background:linear-gradient(180deg,#120d05,var(--night));border-top:1px solid rgba(239,196,110,.25);border-bottom:1px solid rgba(239,196,110,.25)}
.offer-grid{display:flex;align-items:center;justify-content:space-between;gap:48px}
.offer h2{margin-bottom:14px}
.offer p{color:#d6d3da;max-width:60ch}
.offer .btn{flex:none}

@media (max-width:1020px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .detail-grid,.partner-grid,.faq-grid,.contact-grid,.local-grid{grid-template-columns:1fr;gap:40px}
  .offer-grid{flex-direction:column;align-items:flex-start;gap:28px}
  .detail-grid{gap:28px}
  .detail-art{max-width:640px}
  .partner-img{max-width:520px}
}
@media (max-width:820px){
  .menu{display:block}
  .call-head{display:grid}
  .nav{gap:12px}
  .nav nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;background:rgba(3,3,4,.97);border-bottom:1px solid var(--line);display:none}
  .nav nav.open{display:flex}
  .nav nav a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
  .nav nav .btn{margin-top:18px;justify-content:center}
  .sec-head{flex-direction:column;align-items:flex-start;gap:14px}
  .steps{grid-template-columns:1fr;gap:36px}
  .steps::before{top:0;bottom:0;left:48px;right:auto;width:1px;height:auto;background:linear-gradient(transparent,var(--line-2) 10%,rgba(239,196,110,.5) 90%,transparent)}
  .steps li{padding-left:124px;min-height:96px}
  .steps svg{position:absolute;left:0;top:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid>div:first-child{grid-column:1/-1}
}
@media (max-width:620px){
  body{font-size:16px}
  .hero{min-height:calc(100svh - var(--head));padding:24px 20px 48px}
  .eclipse{--s:min(30svh,56vw)}
  .wordmark{width:min(300px,72vw)}
  .hero h1{margin-top:18px}
  .hero-lede{margin-top:12px}
  .hero-actions{margin-top:22px}
  .hero-actions .btn{padding:13px 20px}
  /* Compact round chat button on phones so it never covers page content */
  #ec-chat .ec-launch{font-size:0!important;gap:0;width:58px;height:58px;padding:0;justify-content:center;border-radius:50%}
  #ec-chat .ec-launch .ec-mark{width:34px;height:34px}
  .services,.process,.partner,.faq,.local{padding:72px 0}
  .offer{padding:56px 0}
  .offer .btn{align-self:stretch;justify-content:center}
  .local-areas{padding:22px}
  .svc-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0;border:0}
  .dialog-close{top:calc(12px + env(safe-area-inset-top));margin:12px 12px -56px 0}
  .detail{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom))}
  .detail-art{margin-right:48px}
  .contact{padding:80px 0 90px}
  .svc-grid{grid-template-columns:1fr}
  .included{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  #inquiry .btn{justify-self:stretch;justify-content:center}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%;max-width:340px}
  .hero-actions .btn{justify-content:center}
  .steps li{padding-left:100px}
  .steps svg{width:76px;height:76px}
  .steps::before{left:38px}
  .foot-base{flex-direction:column;align-items:flex-start}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .site-foot nav{display:flex;flex-wrap:wrap;gap:12px 22px}
}
@media (max-width:620px) and (max-height:700px){
  .eclipse{--s:min(26svh,50vw)}
  .wordmark{width:min(240px,64vw)}
  .hero h1{font-size:20px}
  .hero-lede{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
