/*
Theme Name: Stews Sewer Premium
Theme URI: https://stewssewer.com/
Author: Stews Sewer
Description: Custom responsive drain cleaning website using original brand logos and real job photos. Includes accessible scroll reveals and photo gallery.
Version: 1.9.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: stews-sewer-premium
*/
:root{--red:#dc1022;--black:#080f11;--text:#10191c;--muted:#536067}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.5;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fa941a;outline-offset:4px}button{cursor:pointer}img{max-width:100%;display:block}.wrap{max-width:1280px;width:calc(100% - 96px);margin:auto}.topbar{background:var(--black);color:white;font-size:13px;padding:9px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}header{position:sticky;top:0;background:#fff;z-index:20;box-shadow:0 2px 12px #00000010}.header-inner{height:94px;display:flex;align-items:center;gap:25px}.logo{width:252px;height:80px;object-fit:contain;transition:transform .25s}header.compact .logo{transform:scale(.93)}nav{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:700}nav a{padding:12px 0;border-bottom:2px solid transparent}nav a:hover,nav a.active{color:var(--red);border-color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--red);border:2px solid var(--red);border-radius:5px;padding:16px 24px;color:white;font-weight:700;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#cd0b1b;border-color:#cd0b1b}.header-call{font-size:14px;padding:12px 16px;white-space:nowrap}.outline{background:transparent}.outline:hover{background:#ef172723}.menu{display:none}.hero{position:relative;background:var(--black);color:#fff;overflow:hidden;min-height:530px;display:flex;align-items:center}.hero picture{position:absolute;inset:0}.hero picture img{width:100%;height:100%;object-fit:cover;object-position:75% 45%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080f11 0%,#080f11ed 30%,#080f1175 58%,#080f1100 100%)}.hero-content{position:relative;z-index:1;padding-top:48px;padding-bottom:32px}.eyebrow{font-weight:800;font-size:13px;letter-spacing:2px;margin:0 0 12px;display:flex;gap:15px;align-items:center}.red,h1 span,h2 span{color:var(--red)}h1{font-size:clamp(36px,4.35vw,62px);line-height:1.02;letter-spacing:-1.8px;font-weight:900;margin:0 0 22px;max-width:850px}h2{font-size:clamp(28px,3vw,40px);line-height:1.13;letter-spacing:-1.3px;margin:0 0 24px;font-weight:850}h3{font-size:17px;line-height:1.3;margin:0 0 8px}p{margin:0 0 16px}.hero-copy{font-size:18px;line-height:1.4;max-width:490px}.actions{display:flex;gap:15px;flex-wrap:wrap;margin:26px 0}.trust{display:flex;gap:40px;font-size:13px;font-weight:700;line-height:1.3;margin-top:30px}.trust>span{display:flex;align-items:center;gap:12px}.trust b{font-size:36px}.section{padding:45px 0}.services{background:#f7f8fa}.rule{display:inline-block;width:28px;height:2px;background:var(--red)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{display:flex;align-items:flex-start;gap:20px;padding:26px;background:white;border:1px solid transparent;border-radius:9px;box-shadow:0 5px 25px #27333d05;transition:transform .25s,border-color .25s}.service-icon{font-size:52px;font-weight:bold;color:var(--red);line-height:1}.service-card p{font-size:14px;max-width:380px;margin:0;color:#39454a}.service-card .arrow{display:block;color:var(--red);font-size:24px;margin-top:8px}.pipe-motif{width:100%;height:28px;margin-top:16px;color:var(--red)}.pipe-motif path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:1200;stroke-dashoffset:1200}.pipe-motif.draw path{stroke-dashoffset:0;transition:stroke-dashoffset 1.3s ease-out}.dark{background:var(--black);color:#fff}.work{background:linear-gradient(120deg,#0b1416,#080f11)}.section-intro{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:8px}.section-intro>p{max-width:390px;font-size:15px;color:#d0d6d8}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.photo{background:#121d20;border:1px solid #ffffff14;padding:0;color:white;border-radius:7px;overflow:hidden;text-align:left;width:100%}.photo .photo-image{overflow:hidden;display:block}.photo img{width:100%;height:240px;object-fit:cover;transition:transform .25s}.photo .caption{display:block;padding:12px;font-size:13px;min-height:63px}.gallery-hint{text-align:center;font-size:12px;color:#a9b5b9;margin:24px 0 0}.gallery-hint span{color:var(--red)}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:30px}.values article{display:flex;gap:14px}.values i{flex-shrink:0;background:var(--red);color:white;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:27px;font-style:normal}.values h3{font-size:15px}.values p{font-size:13px;color:#465158;margin:0}.area{background:#f5f6f7}.area-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.area-grid p{max-width:540px;color:#536067}.area-card{background:white;border-radius:9px;border-left:3px solid var(--red);padding:30px}.area-card>span{font-size:38px;color:var(--red)}.area-card a{color:#d50d1e;font-weight:700}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-grid>div>p{max-width:440px;color:#d0d6d8}.preview-note{margin-top:30px;max-width:430px;background:#172124;border-left:3px solid var(--red);padding:18px;font-size:13px;color:#c9d1d4}.preview-note strong{color:white}.preview-note p{margin:8px 0 0}.request-form{background:#172124;padding:28px;border-radius:9px}.request-form h3{font-size:24px;margin-bottom:22px}label{display:block;font-size:13px;font-weight:700;margin-bottom:15px}input,select,textarea{width:100%;min-width:0;display:block;background:white;border:1px solid #a0adb2;border-radius:4px;padding:11px;color:#10191c;margin-top:5px;min-height:46px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:12px;color:#c7d0d3}.request-form .button{width:100%}#form-status:not(:empty){padding:16px;margin-top:15px;border:1px solid #61737a;border-radius:5px;font-size:14px;overflow-wrap:anywhere}footer{padding:30px 0 18px;border-top:1px solid #ffffff15}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:50px;font-size:13px}.footer-grid img{width:260px;height:92px;object-fit:contain}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.footer-grid p{margin:8px 0}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ffffff20;margin-top:28px;padding-top:18px;font-size:11px;display:flex;justify-content:space-between;gap:20px}.text-button{border:0;background:none;color:inherit;padding:0}.mobile-sticky{display:none}.skip{position:fixed;top:-100px;left:10px;background:white;color:black;z-index:100;padding:15px}.skip:focus{top:10px}dialog{border:0;padding:22px;border-radius:9px;max-width:min(90vw,820px);max-height:90dvh;background:#111c20;color:white;overflow:auto}dialog::backdrop{background:#000c}#photo-dialog img{max-height:65dvh;margin:0 auto;object-fit:contain}#photo-dialog p{margin:15px 0}.dialog-close{display:block;margin:0 0 15px auto;border:1px solid #76858b;background:#203035;color:white;border-radius:4px;font-size:27px;width:44px;height:44px}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.photo-controls button{background:var(--red);color:#fff;border:0;font-size:22px;border-radius:4px;width:48px;height:44px}#privacy-dialog{max-width:580px}.motion-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .45s ease-out,transform .45s ease-out;transition-delay:var(--delay,0ms)}.motion-ready .reveal.visible{opacity:1;transform:none}@media(hover:hover){.photo:hover img{transform:scale(1.035)}.service-card:hover{transform:translateY(-4px);border-color:var(--red)}}@media(max-width:1150px){.wrap{width:calc(100% - 56px)}.header-inner{gap:18px}.logo{width:210px}nav{gap:14px;font-size:12px}.header-call{padding:10px}.values{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){nav{display:none;position:absolute;top:94px;left:0;right:0;background:white;padding:16px 28px;box-shadow:0 8px 12px #0002;font-size:16px}nav.open{display:grid;grid-template-columns:1fr 1fr}.header-call{margin-left:auto}.menu{display:flex;background:none;border:0;flex-direction:column;gap:5px;padding:12px;min-width:44px;min-height:44px;justify-content:center}.menu span{width:24px;height:3px;background:var(--text)}.section-intro{display:block}.section-intro>p{max-width:600px}.contact-grid{gap:30px}.gallery{gap:12px}.photo img{height:180px}}@media(max-width:700px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 36px)}.topbar{display:none}.header-inner{height:78px;gap:8px}.logo{width:180px;height:64px}.header-call{font-size:11px;min-height:42px;padding:8px;gap:4px}.menu{padding:8px;min-width:38px}nav{top:78px}.hero{min-height:520px}.hero:after{background:linear-gradient(90deg,#080f11f5,#080f11d4 48%,#080f1150),linear-gradient(0deg,#080f11,transparent 40%)}.hero picture img{object-position:70% 50%}.hero-content{padding-top:32px;padding-bottom:30px}.eyebrow{font-size:11px;letter-spacing:1.3px}h1{font-size:clamp(31px,7.7vw,49px);letter-spacing:-1.2px;line-height:1.05}.hero-copy{font-size:16px;max-width:390px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .button{font-size:12px;padding:12px 9px;gap:8px;min-height:56px}.trust{justify-content:space-between;gap:10px;font-size:11px}.trust>span{gap:8px}.trust b{font-size:29px}.section{padding:32px 0}h2{font-size:29px;letter-spacing:-.9px}.service-grid{gap:12px}.service-card{display:block;padding:18px 14px}.service-icon{font-size:38px;margin-bottom:12px}.service-card h3{font-size:16px}.service-card p{font-size:13px}.gallery{grid-template-columns:repeat(3,1fr);gap:10px}.photo img{height:135px}.photo .caption{font-size:11px;padding:8px;min-height:80px}.section-intro>p{font-size:14px}.values{gap:24px 15px}.values article{display:block}.values i{margin-bottom:12px}.values p{font-size:12px}.area-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.area-card{padding:24px}.request-form{padding:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>a{grid-column:1/-1}.footer-grid img{width:210px;height:70px}.footer-bottom{font-size:10px;align-items:center}.mobile-sticky{display:flex;position:fixed;bottom:12px;left:18px;right:18px;z-index:18;box-shadow:0 4px 20px #0004;padding:12px 20px;min-height:48px}body{padding-bottom:76px}footer{padding-bottom:25px}#contact{scroll-margin-top:0}}@media(max-width:370px){.wrap{width:calc(100% - 28px)}.logo{width:146px}.header-call{font-size:10px}.gallery{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr;gap:0}.trust{font-size:10px}.trust b{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-ready .reveal{opacity:1;transform:none}.pipe-motif path{stroke-dashoffset:0}.photo:hover img,.service-card:hover{transform:none}}

/* Gallery: photographs only, without visible captions. */
.photo .caption{display:none!important}.photo{line-height:0}.photo .photo-image{line-height:0}.photo img{height:240px}
@media(max-width:900px){.photo img{height:180px}}
@media(max-width:700px){.photo img{height:135px}}

/* v1.4: Enlarged gallery viewer displays photographs without captions. */

/* v1.5 logo arrival: light, nonblocking, and responsive. */
.stews-intro{position:fixed;inset:0;z-index:99999;background:#07090b;display:grid;place-items:center;pointer-events:none;overflow:hidden;opacity:1}
.stews-intro-logo-wrap{position:relative;width:min(78vw,520px);max-width:520px;transform-origin:center center;will-change:transform,opacity;filter:drop-shadow(0 0 0 transparent)}
.stews-intro-logo{width:100%;height:auto;display:block;object-fit:contain;position:relative;z-index:1}
.stews-intro-glow{position:absolute;inset:-9px;border:2px solid #ff283e;border-radius:18px;box-shadow:0 0 10px #ff1b36,0 0 28px #ed092b, inset 0 0 13px #fa183b;opacity:0;transform:scale(.92);pointer-events:none}
.stews-intro.is-tracing .stews-intro-glow{animation:stews-trace .7s ease-out forwards}
.stews-intro.is-tracing .stews-intro-logo-wrap{animation:stews-pulse .7s ease-out forwards}
.stews-intro.is-departing .stews-intro-glow{opacity:0;transition:opacity .22s ease-out}
.stews-intro.is-finished{opacity:0;transition:opacity .24s ease-out}
@keyframes stews-trace{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:scale(.94)}50%{opacity:1}100%{opacity:1;clip-path:inset(0 0 0 0);transform:scale(1)}}
@keyframes stews-pulse{0%{filter:drop-shadow(0 0 0 transparent)}100%{filter:drop-shadow(0 0 17px #e81739aa)}}
@media(prefers-reduced-motion:reduce){.stews-intro{display:none!important}}

/* v1.7: illuminate the red ink inside the actual logo, not just the border. */
.stews-intro-logo{filter:saturate(1.2) contrast(1.06);}
.stews-intro.is-tracing .stews-intro-logo{animation:stews-red-ink-pop .85s ease-out both;}
.stews-intro.is-departing .stews-intro-logo{filter:saturate(1.4) contrast(1.12) drop-shadow(0 0 7px #f20c30) drop-shadow(0 0 17px #d90029);}
@keyframes stews-red-ink-pop{
  0%{filter:saturate(1) contrast(1) drop-shadow(0 0 0 transparent)}
  40%{filter:saturate(1.7) contrast(1.16) drop-shadow(0 0 5px #ff2144) drop-shadow(0 0 22px #ef092e)}
  75%{filter:saturate(1.6) contrast(1.14) drop-shadow(0 0 10px #ff2144) drop-shadow(0 0 29px #ef092e)}
  100%{filter:saturate(1.4) contrast(1.12) drop-shadow(0 0 7px #f20c30) drop-shadow(0 0 17px #d90029)}
}
@media(prefers-reduced-motion:reduce){.stews-intro-logo{filter:none!important}}

/* v1.8: Cross-platform vector arrows, never emoji glyphs. */
.ui-arrow{display:inline-block;vertical-align:-.2em;flex:none;width:1.1em;height:1.1em;stroke:currentColor;fill:none}.ui-arrow-left{transform:rotate(180deg)}.button .icon-arrow,.mobile-sticky .icon-arrow{display:inline-flex;align-items:center}.values i .ui-arrow{width:27px;height:27px}.photo-controls button .ui-arrow{width:23px;height:23px}.area-card a .ui-arrow,.footer-grid a .ui-arrow{width:16px;height:16px}

/* v1.9: Honeypot hidden from visitors and assistive tech. */
.stews-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
