/* Somefy's abstract companion: diffused light behind the page, never an overlay. */
body.has-site-guide{isolation:isolate}.has-site-guide>.nav,.has-site-guide>main,.has-site-guide>footer{position:relative;z-index:1}.site-guide{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict;opacity:0;transition:opacity 1.4s ease}.site-guide.is-ready{opacity:1}.guide-spirit,.guide-aura{position:absolute;left:0;top:0;width:400px;height:320px;will-change:transform;pointer-events:none}.guide-aura{width:660px;height:570px;background:radial-gradient(ellipse at 50% 50%,#58ba5818 0%,#58ba580a 38%,transparent 70%);filter:blur(20px)}.guide-spirit{filter:blur(33px);opacity:.82}.guide-heart,.guide-echo,.guide-spark{position:absolute;display:block;border-radius:45% 55% 62% 38%/48% 42% 58% 52%}.guide-heart{inset:55px 55px 40px 65px;background:radial-gradient(ellipse at 46% 46%,#8ac9807a,#58ba584a 48%,#58ba5800 78%);animation:guide-breathe 8s ease-in-out infinite alternate}.guide-echo{width:160px;height:155px;left:26px;top:90px;background:radial-gradient(ellipse,#58ba5866,transparent 72%);animation:guide-drift 11s ease-in-out infinite alternate}.guide-spark{width:78px;height:78px;left:264px;top:62px;background:radial-gradient(circle,#9ddf817d,#58ba582e 48%,transparent 74%);transform:translate(-8px,12px)}.guide-spirit[data-mood="ponder"] .guide-spark{animation:guide-ponder 2.6s ease-in-out infinite}.guide-spirit[data-mood="catchup"] .guide-heart{animation-duration:3s}.guide-anchor{--guide-focus:0;transition:box-shadow .85s ease}.guide-anchor.guide-attentive{box-shadow:0 0 0 1px #58ba5830,0 0 36px #58ba5817}.button.guide-anchor.guide-attentive{box-shadow:0 0 0 5px #58ba5812,0 0 38px #58ba5827}.has-site-guide .references,.has-site-guide .phone-showcase{background-color:rgb(42 40 40 / 52%)}.has-site-guide .services,.has-site-guide .contact{background-color:rgb(34 33 32 / 66%)}.has-site-guide .calculator{background-color:rgb(245 245 239 / 95%)}
@keyframes guide-breathe{0%{transform:rotate(-12deg) scale(.93,1.04);border-radius:45% 55% 62% 38%/48% 42% 58% 52%}100%{transform:rotate(13deg) scale(1.08,.94);border-radius:63% 37% 42% 58%/40% 65% 35% 60%}}@keyframes guide-drift{0%{transform:translate(4px,18px) scale(.9)}100%{transform:translate(48px,-24px) scale(1.1)}}@keyframes guide-ponder{0%,100%{transform:translate(-8px,12px) scale(.86)}24%{transform:translate(-34px,-8px) scale(1.03)}46%{transform:translate(-13px,-22px) scale(.93)}66%{transform:translate(-29px,-7px) scale(1)}82%{transform:translate(-15px,-18px) scale(.9)}}
@media(max-width:760px){.guide-spirit{width:300px;height:260px;filter:blur(29px);opacity:.72}.guide-heart{inset:40px 38px 32px 42px}.guide-echo{width:130px;height:120px;left:14px;top:80px}.guide-spark{width:64px;height:64px;left:198px;top:43px}.guide-aura{width:450px;height:430px;filter:blur(15px)}}@media(prefers-reduced-motion:reduce){.site-guide{display:none}.guide-anchor.guide-attentive,.button.guide-anchor.guide-attentive{box-shadow:none}.has-site-guide .references,.has-site-guide .phone-showcase{background-color:var(--bg)}.has-site-guide .services,.has-site-guide .contact{background-color:var(--deep)}.has-site-guide .calculator{background-color:var(--white)}}
.button.guide-anchor{transition:background .2s,transform .2s,box-shadow .85s ease}
.has-site-guide>.nav{z-index:10}
/* Raised, translucent milk-glass price calculator. */
.has-site-guide .calculator{background:transparent;color:var(--ink);border:0}
.has-site-guide .calculator>.wrap{position:relative;isolation:isolate;padding:clamp(28px,4.5vw,64px)}
.has-site-guide .calculator>.wrap::before{content:"";position:absolute;z-index:-1;inset:0;border:1px solid rgb(255 255 255 / 72%);border-radius:30px;background:linear-gradient(145deg,rgb(255 255 255 / 76%),rgb(255 255 255 / 54%) 48%,rgb(255 255 255 / 68%));-webkit-backdrop-filter:blur(30px) saturate(1.12);backdrop-filter:blur(30px) saturate(1.12);box-shadow:0 0 0 1px rgb(255 255 255 / 22%),0 0 92px 20px rgb(255 255 255 / 20%),0 34px 88px rgb(0 0 0 / 32%),inset 0 2px 0 rgb(255 255 255 / 96%),inset 0 -2px 0 rgb(255 255 255 / 38%),inset 0 0 36px rgb(255 255 255 / 14%)}
.has-site-guide .calculator>.wrap>.section-heading,.has-site-guide .calculator>.wrap>.calculator-layout{position:relative;z-index:1}
@media(max-width:760px){.has-site-guide .calculator>.wrap{padding:24px 20px}.has-site-guide .calculator>.wrap::before{border-radius:24px;box-shadow:0 0 0 1px rgb(255 255 255 / 20%),0 0 68px 15px rgb(255 255 255 / 17%),0 25px 64px rgb(0 0 0 / 30%),inset 0 2px 0 rgb(255 255 255 / 96%),inset 0 -2px 0 rgb(255 255 255 / 35%),inset 0 0 28px rgb(255 255 255 / 12%);-webkit-backdrop-filter:blur(24px) saturate(1.1);backdrop-filter:blur(24px) saturate(1.1)}}
/* Scroll-triggered green light follows the reader in either direction. */
.guide-scroll-heading{transition:color .12s linear,text-shadow .12s linear;color:var(--scroll-color,currentColor);text-shadow:var(--scroll-shadow,0 0 0 transparent)}
.guide-scroll-step{position:relative}
.guide-scroll-step::before{content:"";position:absolute;top:-1px;left:0;width:var(--step-width,0%);height:2px;background:var(--step-color,var(--green));box-shadow:var(--step-shadow,none);transition:width .12s linear,box-shadow .12s linear,background-color .12s linear;pointer-events:none}
.guide-scroll-step>span{transition:color .12s linear,text-shadow .12s linear;color:var(--step-color,var(--green));text-shadow:var(--step-shadow,0 0 0 transparent)}
@media(prefers-reduced-motion:reduce){.guide-scroll-heading,.guide-scroll-step::before,.guide-scroll-step>span{transition:none!important}}
.contact h2 .contact-word-window{display:block;width:100%;max-width:100%;height:1.18em;line-height:1.18;overflow:hidden;padding-bottom:.1em}
.contact h2 .contact-word{display:inline-block;max-width:100%;white-space:nowrap;color:var(--green);font-style:normal;transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .32s,filter .32s;transform:translateY(0);opacity:1}
.contact h2 .contact-word.word-out{transform:translateY(-65%);opacity:0;filter:blur(6px)}
.contact h2 .contact-word.word-in{transform:translateY(65%);opacity:0;transition:none;filter:blur(6px)}
.hero-stage .stage-card{cursor:default;background:rgb(25 26 25 / 72%);border:4px solid rgb(24 25 24 / 76%);border-radius:18px;outline:1px solid rgb(245 245 239 / 30%);outline-offset:-1px;box-shadow:0 0 54px rgb(88 186 88 / 21%),0 34px 78px rgb(0 0 0 / 62%),0 13px 29px rgb(0 0 0 / 38%),inset 0 2px 0 rgb(255 255 255 / 38%),inset 0 -2px 0 rgb(0 0 0 / 55%)}
.hero-stage .stage-card::after{content:"";position:absolute;z-index:1;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(140deg,rgb(255 255 255 / 9%),transparent 30%,rgb(12 14 12 / 16%));box-shadow:inset 0 1px 0 rgb(255 255 255 / 24%),inset 0 0 24px rgb(15 16 15 / 12%)}
.hero-stage .stage-card .hero-client{z-index:3}
.hero-stage .stage-c{border-color:rgb(24 25 24 / 76%)}
@media(max-width:760px){.hero-stage .stage-card{border-width:3px;border-radius:15px;box-shadow:0 0 38px rgb(88 186 88 / 19%),0 25px 58px rgb(0 0 0 / 60%),0 10px 22px rgb(0 0 0 / 38%),inset 0 2px 0 rgb(255 255 255 / 35%),inset 0 -2px 0 rgb(0 0 0 / 52%)}}


/* Keep the companion as a soft ambient glow; no expressive silhouettes. */
.guide-mist-shapes{display:none!important}
