/* Shared layout primitives for Emergency Pest Squad. Brand styling lives in squad.css. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--font-body);text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1{font-size:var(--text-title)}h2{font-size:var(--text-heading)}h3{font-size:21px}p{color:var(--muted)}figure{margin:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.wrap{width:min(var(--content-width),90%);margin-inline:auto;padding-block:76px}.skip{position:absolute;left:20px;top:-100px;z-index:99;background:var(--white);padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header{position:relative;z-index:10}.site-header-inner{display:flex;align-items:center;gap:30px;height:100%;margin:auto}.logo{display:flex;align-items:center;gap:12px;font-weight:700;line-height:1.1;white-space:nowrap}.brand-mark{width:46px;height:46px}.brand-wordmark,.brand-wordmark>span{display:block}.header nav{display:flex;align-items:center;gap:28px;margin-inline:auto}.header nav a{padding:10px 0;border-bottom:1px solid transparent;font-size:14px}.header nav a:hover,.header nav a[aria-current=page]{border-color:currentColor}.menu-toggle{display:none;border:0;background:none;color:var(--ink)}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:none}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--brand);color:var(--white);border:0;border-radius:3px;padding:15px 22px;font-size:14px;font-weight:600;min-height:48px;transition:background 180ms,transform 180ms}.nav-cta:hover,.button:hover{background:var(--brand-dark);transform:translateY(-1px)}.button-small{padding:11px 18px}.button:disabled{opacity:.65;cursor:wait}.header-call,.text-link,.quiet-button{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;min-height:44px}.text-link,.quiet-button{border-bottom:1px solid currentColor}.plain{border:0;background:none;color:inherit;padding:0}
.page-intro h1{max-width:860px;margin-bottom:24px}.page-intro p{font-size:19px;max-width:640px;margin:0}.section-image{width:100%;height:100%;object-fit:cover}.service-photo,.article-hero{width:min(var(--content-width),90%);margin:0 auto;height:430px}.service-photo img,.article-hero img{width:100%;height:100%;object-fit:cover}.detail-layout,.article-layout{display:grid}.detail-layout aside,.article-takeaways{align-self:start;position:sticky;top:24px}.prose a:not(.button){text-decoration:underline}.prose li{color:var(--muted)}.prose h2{margin-top:40px}.article-takeaways ul{list-style:none;padding:0}.article-takeaways li{padding:15px 0;border-top:1px solid var(--line)}.article-takeaways h2{font-size:26px}.article-sources ul{list-style:none;padding:0}.article-sources li{padding:10px 0;font-size:14px}.article-sources a{display:inline-flex;align-items:center;gap:8px}.article-related{border-top:1px solid var(--line);padding-top:28px}.article-related a{display:grid;grid-template-columns:1fr auto;gap:6px 18px;border-bottom:1px solid var(--line);padding:18px 0;text-decoration:none}.article-related a span,.article-related a strong{grid-column:1}.article-related a span{color:var(--muted)}.article-related .icon{grid-column:2;grid-row:1/3;align-self:center}
details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600}details p{margin:12px 0 0}
.contact-layout{display:grid}form{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{font-size:14px;font-weight:500}input,select,textarea{display:block;width:100%;border:1px solid var(--line-strong);border-radius:3px;padding:13px;background:var(--white);color:var(--ink);margin-top:8px}textarea{resize:vertical}.full{grid-column:1/-1}.checkbox{display:flex;align-items:start;gap:10px;font-size:13px}.checkbox input{width:auto;margin-top:5px}.checkbox a{text-decoration:underline}.trap{position:absolute;left:-10000px}.form-status{font-size:14px;margin:0}.muted{color:var(--muted)}
.pest-check{display:grid;grid-template-columns:1.1fr .9fr;gap:50px}.check-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check-option{display:grid;grid-template-columns:1fr 20px;text-align:left;gap:6px 12px}.check-option span{font-weight:600}.check-option small{grid-column:1;color:var(--muted)}.check-option .icon{grid-column:2;grid-row:1/3;align-self:center}.check-result{align-self:start;position:sticky;top:24px}.pest-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:14px}
.home-pests{width:min(var(--content-width),90%);margin-inline:auto}.home-pests-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.home-pests-heading h2{margin:0}.home-pests-all{display:inline-flex;gap:12px;align-items:center;font-size:14px;border-bottom:1px solid var(--line);padding:10px 0}.pest-choice-grid{display:grid}.pest-choice-art{display:grid;place-items:center}.pest-choice h3{display:flex;justify-content:space-between;gap:14px;line-height:1.3}.pest-icon{object-fit:contain}.identification-prompt{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.identification-prompt p{margin:0}.identification-prompt a{display:inline-flex;align-items:center;gap:10px;font-size:14px}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.guide-photo{overflow:hidden;aspect-ratio:3/2}.guide-image{width:100%;height:100%;object-fit:cover;transition:transform 250ms}.guide-link:hover .guide-image{transform:scale(1.02)}.guide-time{font-size:13px;margin:20px 0 10px}.guide-link h3{display:flex;align-items:start;gap:15px;justify-content:space-between;font-size:22px;line-height:1.35}.guide-link h3 .icon{margin-top:4px}
.site-footer{color:var(--cream)}.footer-wrap{padding-block:50px 30px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #ffffff30;padding-bottom:35px}.footer-top p{max-width:30ch;margin:0}.footer-top .brand-wordmark{font-size:22px}.footer-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding-top:25px;font-size:13px}.footer-bottom>span{margin-right:auto}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:800px){.header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:16px 5%;background:var(--cream);border-bottom:1px solid var(--line)}.header nav.open{display:grid;gap:0}.header nav a{padding:15px 0;border-bottom:1px solid var(--line)}.menu-toggle{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin-left:auto}.header .nav-cta{display:none}}
@media(max-width:720px){.wrap{padding-block:50px}form{grid-template-columns:1fr}.home-pests-heading{display:block}.home-pests-all{margin-top:18px}.identification-prompt{align-items:start;flex-direction:column;gap:8px}.guide-grid{grid-template-columns:1fr;gap:30px}.footer-top{align-items:flex-start;flex-direction:column}.footer-bottom{gap:16px}.footer-bottom>span{width:100%}.service-photo,.article-hero{height:270px}.detail-layout,.article-layout{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
