/* plumbing v3 (11-07): same night/moon identity, one obvious Call, plain explanations, errors fixed. Loaded last. */
:root{--gold2:#f3d28f;--red2:#ff6b5f}
.strip{font-size:12.5px;line-height:1.35;padding:7px 14px}
@media (max-width:600px){.strip{font-size:11.5px;padding:6px 12px}}
/* header: name + menu on phones (the big Call lives in the hero), name wraps between words, 2 lines max */
.sm-bar .logo span{text-wrap:balance;overflow-wrap:normal!important;word-break:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.is-yours body .sm-bar .logo,html.is-yours header .logo{white-space:normal!important}
@media (max-width:900px){
 html body .sm-bar .acts{display:none!important}
 .sm-bar{padding:10px 18px;min-height:64px}
 .sm-bar .logo{font-size:16px;line-height:1.18;gap:10px;flex:1 1 auto}
 .sm-bar .logo:before{width:34px;height:34px}
 .sm-bar .menu-t{flex:none}
}

/* HERO */
.sm-hero .copy>.k{color:var(--gold);margin:0}
.who{font:600 clamp(30px,3.6vw,50px)/1.06 Fr,sans-serif;color:var(--gold2);letter-spacing:-.01em;margin:12px 0 0;text-wrap:balance;overflow-wrap:normal;max-width:600px;text-shadow:0 0 34px rgba(231,185,100,.22)}
.sm-hero h1{margin:14px 0 14px;font-size:clamp(44px,5.4vw,84px);max-width:none}
.sm-hero .lead{max-width:34ch}
.callbig{display:inline-flex;align-items:center;gap:14px;margin-top:24px;padding:14px 26px 14px 16px;border-radius:999px;background:var(--gold);color:var(--navy);text-decoration:none;box-shadow:0 14px 40px -12px rgba(231,185,100,.6),inset 0 -3px 0 rgba(0,0,0,.12);transition:transform .15s,box-shadow .2s}
.callbig:hover{box-shadow:0 18px 50px -12px rgba(231,185,100,.8),inset 0 -3px 0 rgba(0,0,0,.12)}
.callbig:active{transform:scale(.97)}
.callbig:focus-visible,.btn:focus-visible,.chip:focus-visible,.req input:focus-visible{outline:3px solid var(--water);outline-offset:3px}
.callbig svg{flex:none;width:46px;height:46px;padding:11px;border-radius:50%;background:var(--navy);fill:var(--gold)}
.callbig span{display:flex;flex-direction:column;line-height:1.05}
.callbig small{font:700 12px DM,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.callbig b{font:700 clamp(23px,2vw,28px) DM,sans-serif;letter-spacing:-.01em;white-space:nowrap;margin-top:3px}
.ticks{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;color:#c5cfdd;font-size:14.5px}
.ticks li{display:flex;align-items:center;gap:8px}
.ticks li:before{content:"";width:16px;height:16px;border-radius:50%;flex:none;background:#3ddc84 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-5' fill='none' stroke='%230a1424' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
/* the house lights up (glowing water version of the same picture) once the leak is fixed */
.stage>img.lit{opacity:0;transition:opacity 1.4s ease}
.sm-hero.fixed .stage>img.lit{opacity:1}
.sm-hero .badge{white-space:nowrap}

/* RIGHT NOW (urgent) */
.sm-now{background:linear-gradient(180deg,var(--navy) 0%,#140f1d 100%);padding:28px 4vw 64px}
.now-in{max-width:980px;margin:0 auto;border-radius:26px;padding:30px clamp(20px,3vw,40px);background:radial-gradient(120% 140% at 0% 0%,#3a1a24 0%,#1d1322 55%,#151020 100%);border:1px solid #5a2a33;box-shadow:0 30px 60px -30px rgba(255,90,78,.35)}
.sm-now .k{color:var(--red2)}
.sm-now h2{font:600 clamp(30px,3.6vw,48px)/1.02 Fr,sans-serif;margin:10px 0 18px;text-wrap:balance}
.sm-now ol{list-style:none;counter-reset:n;display:grid;gap:12px;margin:0 0 24px}
.sm-now li{counter-increment:n;position:relative;padding-left:44px;color:#e6d9de;line-height:1.5;font-size:16.5px}
.sm-now li:before{content:counter(n);position:absolute;left:0;top:-1px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ff5a4e26;border:1.5px solid var(--red2);color:#fff;font:700 14px DM,sans-serif}
.sm-now li b{color:#fff}
.btn.big{padding:16px 26px;font-size:17px;min-height:54px}
.btn.r{background:var(--red);color:#fff}
.btn.r.big{box-shadow:0 12px 30px -12px rgba(255,90,78,.7)}

/* THREE STEPS */
.sm-steps{background:#0c1729;padding:90px 4vw}
.sm-steps>.k{color:var(--gold)}
.sm-steps h2{font:600 clamp(38px,5vw,72px)/.98 Fr,sans-serif;letter-spacing:-.02em;margin:12px 0 34px}
.st{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px}
.st li{position:relative;background:#111f37;border:1px solid #213353;border-radius:22px;padding:26px 24px 24px}
.st i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy);font:700 19px Fr,sans-serif;font-style:normal;margin-bottom:16px;box-shadow:0 0 30px rgba(231,185,100,.3)}
.st h3{font:600 24px/1.1 Fr,sans-serif;margin-bottom:8px}
.st p{color:#b9c4d4;line-height:1.5;font-size:16px}

/* TOUR: showcase only. Inactive chapters stay readable (was .25 opacity) */
.chap .box{display:flex;gap:16px;align-items:flex-start;opacity:.55}
.chap .box .th{flex:none;width:64px;height:64px;object-fit:contain;filter:drop-shadow(8px 12px 8px rgba(0,0,0,.5))}
.chap p{margin-bottom:0}
.cam>img{filter:none}

/* SERVICES: showcase cards, no per-card button */
.card{cursor:default}
.card .go{color:#3c2c0c;font-weight:600}
.card .k{opacity:.7}
.sm-fix header p{color:#2a2008}

/* HELPER */
.sm-help .hl{color:#b9c4d4;margin:-14px 0 22px;font-size:16.5px}
.chip{min-height:48px}
.answer .btn{margin-top:4px}

/* CONTACT: details + one short call-back form + labelled samples */
.sm-trust{grid-template-columns:1fr 1fr;align-items:start}
.sm-trust .rev{grid-column:1/-1;grid-template-columns:1fr 1fr;align-content:start}
.sm-trust .rev .note{grid-column:1/-1}
.req{background:var(--navy);color:var(--ice);border-radius:24px;padding:28px;display:grid;gap:14px;box-shadow:0 30px 60px -30px rgba(10,20,36,.6)}
.req h3{font:600 28px/1.05 Fr,sans-serif}
.req>p{color:#b9c4d4;margin-top:-6px}
.req label{display:grid;gap:6px}
.req label span{font-size:13px;color:#a9b5c7;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.req label em{font-style:normal;text-transform:none;letter-spacing:0;color:#7f8ca0}
.req input{background:#14223a;border:1px solid #2a3d60;border-radius:12px;padding:14px;color:#fff;font:16px DM,sans-serif;min-height:50px;width:100%}
.req input::placeholder{color:#7f8ca0}
.req .err{color:#ffb4ab;min-height:1.2em;font-size:15px;margin:-4px 0}
.req .btn{justify-content:center;width:100%}
.req .demo{font-size:13px;color:#8d99ab;text-align:center}
.req .sent h3{margin-bottom:8px}.req .sent p{color:#c3cede;line-height:1.5}
.sm-trust dl a{color:#0e1a2e}

@media (max-width:900px){
 .sm-hero{padding:22px 20px 18px;gap:0}
 .sm-hero .copy{padding-bottom:6px}
 .moon{width:46px;height:46px;right:9%;top:auto;bottom:calc(18px + min(100vw - 40px, 420px) * .86)}
 .sm-hero h1{font-size:clamp(40px,11.6vw,50px);margin:12px 0 10px;max-width:none}
 .who{font-size:clamp(28px,8.4vw,34px);max-width:none}
 .sm-hero .lead{font-size:16.5px;line-height:1.45}
 .callbig{display:flex;width:100%;margin-top:18px;padding:12px 18px 12px 12px}
 .callbig b{font-size:clamp(21px,6.4vw,26px)}
 .ticks{font-size:14px;margin-top:14px}
 .sm-hero .stage{max-width:420px;margin-top:10px}
 .sm-now{padding:8px 16px 48px}
 .now-in{padding:24px 20px}
 .sm-now .btn.big{width:100%;justify-content:center}
 .sm-steps{padding:64px 20px}
 .st{grid-template-columns:1fr;gap:10px}
 .st li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:20px}
 .st i{grid-row:span 2;margin:0}
 .sm-steps .btn.big{width:100%;justify-content:center}
 .chap .box{gap:12px;padding:20px}
 .chap .box .th{width:52px;height:52px}
 .sm-trust{grid-template-columns:1fr;padding:64px 20px;gap:28px}
 .sm-trust .rev{grid-template-columns:1fr}
 .req{padding:22px}
 .sm-help{padding:64px 20px}
 .sm-fix{padding:64px 20px}
}
@media (max-width:360px){.callbig small{display:none}.callbig svg{width:40px;height:40px;padding:9px}}
@media (prefers-reduced-motion:reduce){.stage>img.lit{transition:none}}

@media (max-width:900px){.sm-hero h1 br.d{display:none}}
/* contrast fixes (all were under WCAG AA on live too) */
.btn.r{background:#c8352b}
.sm-trust dt{color:#4f5c72}
.rev .note,.rev cite{color:#56627a}
footer{color:#98a4b8}
