/* boiseleakdetection.com */
@font-face{font-family:"Sora";src:url(/files/type/sora-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Manrope";src:url(/files/type/manrope-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Manrope";src:url(/files/type/manrope-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --tone-ground:#2A2622;
  --tone-deep:#1F1C19;
  --tone-panel:#332E29;
  --tone-seam:#4A423A;
  --tone-text:#EFE8E1;
  --tone-soft:#D9D0C7;
  --tone-dim:#BFB4A8;
  --tone-rose:#D6AEB4;
  --tone-amber:#E9CFA6;
  --tone-amber-ink:#2A2117;
  --tone-cool:#A9CFE6;
  --face-display:"Sora","Segoe UI",system-ui,sans-serif;
  --face-text:"Manrope","Segoe UI",system-ui,sans-serif;
  --gap-1:.5rem;--gap-2:.85rem;--gap-3:1.3rem;--gap-4:2rem;--gap-5:3.2rem;--gap-6:5rem;
  --measure:66ch;--frame:72rem;--edge:14px;--pill:999px;
  color-scheme:dark;
}

/* base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--tone-ground);color:var(--tone-text);font:400 1.0625rem/1.68 var(--face-text);padding-bottom:4.6rem}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--tone-amber);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:#F3DFBF}
:focus-visible{outline:2px solid var(--tone-amber);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--face-display);font-weight:600;line-height:1.16;letter-spacing:-.012em;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,1.3rem + 2.8vw,3.05rem)}
h2{font-size:clamp(1.45rem,1.1rem + 1.3vw,2rem)}
h3{font-size:1.18rem;letter-spacing:0}
p,ul,ol{margin:0}
.bo_skip{position:absolute;left:-999px;top:0;background:var(--tone-amber);color:var(--tone-amber-ink);padding:.6rem 1rem;z-index:50}
.bo_skip:focus{left:1rem}

/* frame */
.bo_frame{max-width:var(--frame);margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.bo_prose{max-width:var(--measure);display:grid;gap:var(--gap-3)}
.bo_prose h2{margin-top:var(--gap-3)}
.bo_prose--wide{max-width:none}
.bo_prose--wide > p,.bo_prose--wide > ul,.bo_prose--wide > ol,.bo_prose--wide > h2{max-width:var(--measure)}
.bo_band .bo_prose > h2:first-child{margin-top:0}
.bo_prose h3{margin-top:var(--gap-1)}
.bo_prose ul,.bo_prose ol{padding-left:1.25rem;display:grid;gap:.45rem}
.bo_prose li::marker{color:var(--tone-rose)}
.bo_prose strong{color:#FFF6EC;font-weight:700}
.bo_prose blockquote{margin:0;padding:.2rem 0 .2rem 1rem;border-left:2px solid var(--tone-rose);color:var(--tone-soft)}

/* top bar */
.bo_top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(31,28,25,.94);backdrop-filter:none;border-bottom:1px solid var(--tone-seam)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--tone-deep)}
.bo_top_row{display:flex;align-items:center;gap:var(--gap-2);min-height:4.1rem}
.bo_mark{display:flex;align-items:center;gap:.6rem;color:var(--tone-text);text-decoration:none;font:600 1.02rem var(--face-display);margin-right:auto}
.bo_mark svg{width:30px;height:30px}
.bo_navlist{display:flex;gap:1.15rem;list-style:none;padding:0;align-items:center}
.bo_navlist a{color:var(--tone-soft);text-decoration:none;font-weight:700;font-size:.93rem}
.bo_navlist a:hover,.bo_navlist a[aria-current="page"]{color:var(--tone-text)}
.bo_toptel{color:var(--tone-amber-ink);background:var(--tone-amber);text-decoration:none;font-weight:700;font-size:.92rem;padding:.5rem .95rem;border-radius:var(--pill);white-space:nowrap}
.bo_menubtn{display:none;background:none;border:1px solid var(--tone-seam);color:var(--tone-text);border-radius:10px;padding:.45rem .7rem;font:700 .9rem var(--face-text);cursor:pointer}
@media (max-width:68em){
  .bo_menubtn{display:inline-block}
  .bo_drawer{position:absolute;left:0;right:0;top:100%;background:var(--tone-deep);border-bottom:1px solid var(--tone-seam);padding:var(--gap-2) max(18px,env(safe-area-inset-right,0px)) var(--gap-3) max(18px,env(safe-area-inset-left,0px))}
  .bo_drawer[hidden]{display:none!important}
  .bo_navlist{flex-direction:column;align-items:flex-start;gap:.85rem}
}
@media (min-width:68.01em){.bo_drawer[hidden]{display:block!important}}
@media (max-width:34em){.bo_toptel{font-size:.84rem;padding:.45rem .75rem}.bo_mark span{font-size:.92rem}}

/* crumbs */
.bo_crumbs{font-size:.86rem;color:var(--tone-dim);padding-top:var(--gap-3)}
.bo_crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.bo_crumbs li+li::before{content:"/";margin-right:.35rem;color:var(--tone-seam)}
.bo_crumbs a{color:var(--tone-soft)}

/* hero */
.bo_hero{padding-block:var(--gap-4) var(--gap-5)}
.bo_hero_grid{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--gap-4);align-items:center}
.bo_hero_grid > *{min-width:0}
@media (max-width:52em){.bo_hero_grid{grid-template-columns:1fr}}
.bo_eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tone-rose);font-weight:700}
.bo_hero h1 span{display:inline-block;animation:bo_rise 1.4s cubic-bezier(.2,.7,.2,1) both}
.bo_hero h1 span:nth-child(2){animation-delay:.18s}.bo_hero h1 span:nth-child(3){animation-delay:.36s}
@keyframes bo_rise{from{transform:translateY(.25em);opacity:.35}to{transform:none;opacity:1}}
.bo_lead{color:var(--tone-soft);font-size:1.12rem;max-width:56ch}
.bo_hero_copy{display:grid;gap:var(--gap-3)}
.bo_scene{border-radius:22px;overflow:hidden;background:var(--tone-deep);border:1px solid var(--tone-seam)}
.bo_scene svg{width:100%}

/* call */
.bo_callwrap{display:grid;gap:.5rem;justify-items:start}
.bo_call{position:relative;display:inline-flex;align-items:center;gap:.6rem;background:var(--tone-amber);color:var(--tone-amber-ink);text-decoration:none;font-weight:700;padding:.85rem 1.3rem;border-radius:var(--pill);max-width:100%}
.bo_call:hover{color:var(--tone-amber-ink);background:#F1DBB8}
.bo_call svg{width:18px;height:18px;flex:none}
.bo_num{font-weight:700;white-space:nowrap}
.bo_call::after{content:"";position:absolute;inset:-5px;border-radius:inherit;box-shadow:0 0 0 2px var(--tone-amber);opacity:0;animation:bo_glow 7s ease-out infinite 2s;pointer-events:none}
.bo_call.bo_still::after{animation:none}
@keyframes bo_glow{0%{opacity:.5;transform:scale(1)}30%,100%{opacity:0;transform:scale(1.07)}}
.bo_holdnote{font-size:.9rem;color:var(--tone-dim);max-width:46ch}

/* bands */
.bo_band{padding-block:var(--gap-5)}
.bo_band--deep{background:var(--tone-deep)}
.bo_band--panel{background:var(--tone-panel)}
.bo_split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--gap-4);align-items:start}
@media (max-width:52em){.bo_split{grid-template-columns:1fr}}
.bo_aside_title{position:sticky;top:6rem}
.bo_aside_title p{color:var(--tone-dim);margin-top:var(--gap-2);max-width:34ch}

/* notice tiles */
.bo_tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr));gap:var(--gap-3)}
.bo_tile{background:var(--tone-panel);border:1px solid var(--tone-seam);border-radius:var(--edge);padding:var(--gap-3);display:grid;gap:.5rem;align-content:start}
.bo_band--panel .bo_tile{background:var(--tone-ground)}
.bo_tile h3{font-size:1.05rem}
.bo_tile p{color:var(--tone-soft);font-size:.98rem}
.bo_tile a{font-weight:700}

/* steps */
.bo_steps{list-style:none;padding:0;display:grid;gap:var(--gap-3);counter-reset:bo_n}
.bo_steps li{display:grid;grid-template-columns:2.4rem 1fr;gap:var(--gap-2);counter-increment:bo_n}
.bo_steps li::before{content:counter(bo_n);width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:var(--tone-panel);border:1px solid var(--tone-rose);color:var(--tone-rose);font:600 1rem var(--face-display)}
.bo_steps li > div{display:grid;gap:.2rem}

/* banner */
.bo_strip{margin-block:var(--gap-5);border-radius:20px;background:linear-gradient(120deg,#3A332D,#2F2A25);border:1px solid var(--tone-seam);padding:var(--gap-4);display:flex;flex-wrap:wrap;gap:var(--gap-3);align-items:center;justify-content:space-between}
.bo_strip p.bo_strip_q{font:600 clamp(1.2rem,1rem + .8vw,1.55rem)/1.25 var(--face-display);max-width:28ch}

/* faq */
.bo_faq{display:grid;gap:var(--gap-2);max-width:var(--measure)}
.bo_faq details{background:var(--tone-panel);border:1px solid var(--tone-seam);border-radius:var(--edge);padding:.9rem 1.1rem}
.bo_faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.bo_faq summary::-webkit-details-marker{display:none}
.bo_faq summary::after{content:"+";color:var(--tone-rose);font:600 1.2rem var(--face-display)}
.bo_faq details[open] summary::after{content:"\2013"}
.bo_faq details > div{margin-top:.6rem;color:var(--tone-soft);display:grid;gap:.6rem}
.bo_faqgroup{display:grid;gap:var(--gap-2);margin-top:var(--gap-4)}
.bo_faqgroup h2{font-size:1.3rem}

/* area list */
.bo_areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--gap-2);list-style:none;padding:0}
.bo_areas li{border-top:1px solid var(--tone-seam);padding-top:.7rem}
.bo_areas small{display:block;color:var(--tone-dim);font-size:.85rem}
.bo_zipline{font-size:.88rem;color:var(--tone-dim);margin-top:var(--gap-3);max-width:var(--measure)}

/* post list */
.bo_posts{display:grid;gap:var(--gap-4)}
.bo_postgroup h2{font-size:1.25rem;color:var(--tone-rose);margin-bottom:var(--gap-2)}
.bo_postgroup ul{list-style:none;padding:0;display:grid;gap:var(--gap-2)}
.bo_postgroup li{border-left:2px solid var(--tone-seam);padding-left:1rem}
.bo_postgroup li a{font-weight:700;font-size:1.06rem}
.bo_postgroup li p{color:var(--tone-dim);font-size:.95rem}
.bo_byline{color:var(--tone-dim);font-size:.9rem}

/* big number (call page) */
.bo_bignum{display:grid;gap:.6rem;background:var(--tone-panel);border:1px solid var(--tone-seam);border-radius:22px;padding:var(--gap-4);max-width:36rem}
.bo_bignum a{font:600 clamp(1.8rem,1.2rem + 3vw,2.8rem) var(--face-display);color:var(--tone-amber);text-decoration:none}
.bo_hours{font-weight:700}

/* figure */
.bo_fig{margin:0;border-radius:18px;overflow:hidden;background:var(--tone-deep);border:1px solid var(--tone-seam)}
.bo_fig figcaption{font-size:.86rem;color:var(--tone-dim);padding:.7rem 1rem}

/* footer */
.bo_foot{background:var(--tone-deep);border-top:1px solid var(--tone-seam);padding-block:var(--gap-5) var(--gap-4);margin-top:var(--gap-5);font-size:.95rem}
.bo_foot_cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:var(--gap-4)}
@media (max-width:52em){.bo_foot_cols{grid-template-columns:1fr 1fr}}
@media (max-width:34em){.bo_foot_cols{grid-template-columns:1fr}}
.bo_foot h2{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tone-rose);margin-bottom:.6rem}
.bo_foot ul{list-style:none;padding:0;display:grid;gap:.35rem}
.bo_foot a{color:var(--tone-soft);text-decoration:none}
.bo_foot a:hover{color:var(--tone-text);text-decoration:underline}
.bo_nap{color:var(--tone-soft);display:grid;gap:.3rem}
.bo_whatnum{margin-top:var(--gap-4);border:1px solid var(--tone-seam);border-radius:var(--edge);padding:var(--gap-3);color:var(--tone-soft);font-size:.9rem;display:grid;gap:.5rem;max-width:62rem}
.bo_whatnum strong{color:var(--tone-text);font-family:var(--face-display);font-weight:600;font-size:.98rem}
.bo_copy{margin-top:var(--gap-3);color:var(--tone-dim);font-size:.85rem}

/* sticky call strip */
.bo_callstrip{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--tone-deep);border-top:1px solid var(--tone-seam);padding:.55rem max(14px,env(safe-area-inset-right,0px)) calc(.55rem + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.bo_callstrip span{font-size:.82rem;color:var(--tone-dim)}
.bo_callstrip a{background:var(--tone-amber);color:var(--tone-amber-ink);text-decoration:none;font-weight:700;padding:.6rem 1rem;border-radius:var(--pill);font-size:.95rem;white-space:nowrap}
@media (min-width:52.01em){.bo_callstrip{display:none}body{padding-bottom:0}}

/* scene motion */
.bo_lamp{animation:bo_drift 16s ease-in-out infinite}
@keyframes bo_drift{0%,100%{transform:translateX(-60px)}50%{transform:translateX(30px)}}
.bo_drop{animation:bo_drip 3.4s ease-in-out infinite}
@keyframes bo_drip{0%{transform:translateY(0);opacity:0}15%{opacity:1}88%{transform:translateY(52px);opacity:1}100%{transform:translateY(56px);opacity:0}}
.bo_paused .bo_lamp,.bo_paused .bo_drop{animation-play-state:paused}
.bo_settle{animation:bo_settle .9s ease-out both}
@keyframes bo_settle{from{transform:translateY(10px)}to{transform:none}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
