




:root { --safe-b: env(safe-area-inset-bottom, 0px); }


@media (max-width:1179px), (pointer:coarse) {
  .blob { display:none !important; }
}

@media (max-width:1023px) {
  
  .slab, .slab__in, .vp { max-width:100%; }
}



@media (max-width:767px) {
  
  .topnav__actions > .btn { display:inline-flex; padding:11px 15px; font-size:12px; letter-spacing:.04em; }
  .topnav__actions .header__phone { display:none; }   
  .topnav__actions { gap:6px; }
  .topnav__bar { font-size:13px; }
  .topnav__bar a { min-height:44px; display:inline-flex; align-items:center; padding-inline:6px; }
}
@media (max-width:389px) {
  
  .topnav__actions > .btn { padding:10px 11px; font-size:11px; }
}


.burger span { background:currentColor; }


.topnav.is-scrolled + .mobile-nav { top:var(--header-h); }


@media (max-width:1179px) {
  .mobile-nav a { min-height:56px; display:flex; align-items:center; }
  .mobile-nav { padding-bottom:calc(var(--s-7) + var(--safe-b)); }
}




@media (max-width:1023px) {
  .sticky-cta { right:12px; bottom:calc(12px + var(--safe-b)); }
  
  .sticky-cta__say { width:clamp(150px,62vw,240px); }
  .sticky-cta__cloudtext {
    font-size:clamp(9px,2.7vw,12px); letter-spacing:.02em; padding-inline:9%;
  }
  .sticky-cta__mascot { width:60px; }
}

@media (pointer:coarse) {
  .sticky-cta.is-quiet .sticky-cta__say {
    opacity:0; transform:translateY(10px) scale(.9);
    animation:none; pointer-events:none;
  }
}



@media (max-width:767px) {
  
  .slider label {
    display:grid; grid-template-columns:1fr; justify-content:start;
    gap:2px; margin-bottom:var(--s-4);
  }
  .slider output { font-size:1.75rem; line-height:1; }

  
  .era__opts { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .era__opt { flex:none; }
  .era__pill { min-height:46px; white-space:normal; text-align:center; padding:6px 8px; }

  .calc__out { padding:var(--s-6) var(--s-4); }
  .calc__out .btn { width:100%; }
}


@media (pointer:coarse) {
  input[type=range] { height:48px; background:transparent; }
  input[type=range]::-webkit-slider-runnable-track {
    height:6px; border-radius:3px; background:rgba(0,0,0,.18);
  }
  input[type=range]::-webkit-slider-thumb { margin-top:-13px; }
  input[type=range]::-moz-range-track { height:6px; border-radius:3px; background:rgba(0,0,0,.18); }
  .s-pink input[type=range]::-webkit-slider-runnable-track,
  .s-void input[type=range]::-webkit-slider-runnable-track { background:rgba(255,255,255,.24); }
  .s-pink input[type=range]::-moz-range-track,
  .s-void input[type=range]::-moz-range-track { background:rgba(255,255,255,.24); }
}




@media (max-width:1179px) {
  .tindex__body { display:grid; grid-template-columns:1fr; gap:var(--s-6); }
  .tindex__list { display:flex; }

  .tindex__stage { display:grid; min-height:0; }
  .tpanel {
    grid-area:1/1; display:grid; grid-template-columns:1fr;
    gap:var(--s-5); padding:0; border-top:0;
    visibility:hidden; opacity:0;
  }
  .tpanel.is-on { visibility:visible; opacity:1; }
  .tpanel__fig { height:auto; max-width:none; }
  .tpanel__fig .ph, .tpanel__fig img { aspect-ratio:16/10; height:auto; }
  .tpanel__c { margin-top:0; align-self:start; }
  .tpanel__c p { max-width:none; }
  .tpanel__n, .tpanel__c h3, .tpanel__c p, .tpanel__chip { opacity:1; transform:none; }
}
@media (max-width:767px) {
  .tix { gap:var(--s-3); padding:12px var(--s-3); min-height:52px; }
  .tix__n { font-size:1.125rem; min-width:1.5em; }
  .tix__t { font-size:.9375rem; }
  .tix::after { display:none; }          
  .tix.is-on { box-shadow:4px 4px 0 var(--cyan); }
  .tindex__head { gap:var(--s-4); }
  .tpanel__c h3 { font-size:var(--fs-h3); }
}

@media (min-width:768px) and (max-width:1179px) {
  .tpanel { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center; }
  .tpanel__fig .ph, .tpanel__fig img { aspect-ratio:4/5; }
}



@media (max-width:767px) {
  .reel__card { min-width:56px; }
  .reel__stack { bottom:calc(var(--reel-pad-b) + var(--safe-b)); }
}




@media (min-width:768px) and (max-width:1179px) {
  .calc { grid-template-columns:1fr 1fr; gap:var(--s-7); align-items:start; }
  .terr8__body { grid-template-columns:1fr 1fr; gap:var(--s-6); align-items:center; }
  .split--wide { grid-template-columns:1.1fr .9fr; }
  .form-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}



@media (max-width:767px) {
  
  .est10 .est10__h { white-space:normal; font-size:clamp(1.875rem, 1rem + 4.4vw, 2.75rem); }
  .est10__head { flex-direction:column; align-items:flex-start; gap:var(--s-3); }
  .towndrop__opts { grid-template-columns:1fr; }
}


@media (max-width:1023px) {
  input, select, textarea, .field input, .field select, .field textarea { font-size:16px; }
  .field input, .field select, .field textarea { padding:14px var(--s-4); min-height:52px; }
  .consent { font-size:13px; }
  .consent input { width:24px; height:24px; }
}




@media (pointer:coarse) {
  .btn { min-height:48px; }
  .btn--lg { min-height:54px; }
  .header__phone { min-height:44px; display:inline-flex; align-items:center; }
  .acc__b { min-height:56px; }
  .terrmap__go, .faq-link, .card__go {
    display:inline-flex; align-items:center; min-height:44px;
  }
  .reel__card, .proc__node, .tsk, .tix, .chip span, .need, .era__pill { touch-action:manipulation; }
  .towndrop__o { min-height:48px; }
  
  .topnav__link, .navdrop__trigger { min-height:44px; display:inline-flex; align-items:center; }
  .navdrop__panel a { min-height:52px; }
  .drawer__x { width:48px; height:48px; }
  
  .phone-ring + a, a[href^="tel:"] { min-height:44px; }
}



@media (max-width:767px) {
  
  .navdrop__panel em { font-size:13px; }
  .creds li { font-size:14px; }
  .form-note { font-size:13px; }
  .spray-hint {
    white-space:normal; text-align:center; max-width:min(88vw,340px);
    font-size:13px; padding:12px 18px; line-height:1.35;
  }
  .spray-cta { padding:16px var(--s-5); font-size:.9375rem; }
}




@media (pointer:coarse) and (max-width:767px) {
  .spray-hint { animation:none; }
}





@media (max-width:1179px) {
  
  .mobile-nav { padding-bottom:calc(var(--s-7) + var(--safe-b) + 190px); }
  
  .mobile-nav .btn {
    position:fixed; left:var(--gutter); right:var(--gutter);
    width:auto; margin:0; z-index:2;
    height:64px; min-height:0; padding-block:0;
  }
  .mobile-nav .btn--outline { bottom:calc(20px + var(--safe-b)); }
  .mobile-nav .btn--pink    { bottom:calc(98px + var(--safe-b)); }  
}
@media (max-width:767px) {
  .mobile-nav a:not(.btn) { font-size:1.625rem; min-height:52px; }
  .mobile-nav { gap:0; }
}



@media (max-width:767px)  { .sticky-cta__mascot { width:78px; } }
@media (min-width:768px) and (max-width:1179px) {
  .sticky-cta__mascot { width:104px; }
  .sticky-cta__say { width:clamp(180px,26vw,220px); }
  .sticky-cta__cloudtext { font-size:13px; }
}




@media (min-width:768px) and (max-width:1179px) {
  
  .hero-top { grid-template-columns:1fr; }
  .hero-top__aside {
    flex-direction:row; justify-content:flex-start;
    align-items:center; gap:var(--s-6); text-align:left;
  }
  .hero-top__aside .btn { order:1; flex:none; }
  .hero-top__aside .phone-ring { order:2; }
}




@media (max-width:1179px) {
  .drag-orb, .drag-orb.is-static, .drag-orb.is-on { display:none; }
}



@media (max-width:1179px) {
  
  .tindex__head {
    display:grid; grid-template-columns:1fr auto;
    align-items:center; gap:var(--s-4) var(--s-5);
  }
  .tindex__head h2 .ex-pink { display:block; }
  .tindex__seal { justify-self:end; align-self:center; }

  
  .tpanel {
    grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
    gap:clamp(16px,3vw,32px); align-items:center;
  }
  .tpanel__fig .ph, .tpanel__fig img { aspect-ratio:3/4; }
}
@media (max-width:767px) {
  .tindex__seal { width:clamp(84px,20vw,104px); }
  .tindex__seal-n { font-size:1.5rem; }
  .tindex__seal text { font-size:8.5px; letter-spacing:.1em; }
  .tpanel__c h3 { font-size:1.125rem; line-height:1.15; }
  .tpanel__c p { font-size:.875rem; line-height:1.45; margin-top:var(--s-3); }
  .tpanel__n { font-size:1rem; margin-bottom:6px; }
  .tpanel__chip { margin-top:var(--s-4); font-size:9.5px; padding:5px 9px; }
}



@media (max-width:767px) {
  
  .calc__out, .calc__out.is-hung {
    transform:none; translate:none; scale:none;
    animation:none; will-change:auto; transition:none;
  }
  .calc__out::before, .calc__out::after { display:none; }

  
  .calc { gap:var(--s-5); }
  .calc__controls { gap:var(--s-5); }
  .calc__out { padding:var(--s-5) var(--s-4); }
  .calc__money { font-size:clamp(3rem,17vw,4.5rem); }
  .calc__label { margin-bottom:var(--s-3); font-size:10px; letter-spacing:.12em; }
  .calc__sub { font-size:10px; }
  .calc .lede { font-size:var(--fs-small); }
}



@media (max-width:767px) {
  
  .info .head.split { display:block; }
  .info .head.split > div:first-child { margin-bottom:var(--s-4); }
  .info__switch { justify-self:stretch !important; align-items:stretch; }
  .swx { width:100%; }
  .swx__o { flex:1 1 0; }
  .swx__o span { text-align:center; padding:12px 6px; font-size:1rem; }

  
  .info__card { padding:var(--s-4); }
  .meters { gap:11px; }
  .meter { grid-template-columns:1fr auto; gap:2px 10px; align-items:baseline; }
  .meter__k { font-size:.8125rem; line-height:1.25; }
  .meter__k em { display:block; font-size:.6875rem; line-height:1.2; }
  .meter__v { font-size:1.125rem; }
  .meter__bar { height:7px; margin-top:3px; }
  .meters__key { margin-top:12px; font-size:9.5px; letter-spacing:.1em; }
  .info__line { font-size:.8125rem; line-height:1.45; }
  .info__card figcaption b { font-size:1rem; }
  .info__card figcaption em { font-size:.8125rem; }
}



@media (max-width:1179px) {
  .terr8__head { grid-template-columns:1fr; gap:var(--s-4); }
  .terr8__lede { max-width:none; }
}
@media (max-width:767px) {
  
  .terrfig figcaption { order:-1; margin-bottom:var(--s-4); }
  .terrfig { align-items:stretch; }
  .terrmap__go { justify-content:flex-start; }
}




@media (min-width:768px) and (max-width:1179px) {
  .faq-slab .split--wide { grid-template-columns:1fr; gap:var(--s-7); }
  .faq-aside {
    display:grid; grid-template-columns:minmax(0,1fr) auto;
    gap:var(--s-4) var(--s-7); align-items:center;
  }
  .faq-aside > h2       { grid-column:1; grid-row:1; }
  .faq-aside > .lede    { grid-column:1; grid-row:2; max-width:52ch; }
  .faq-aside > .btn-row { grid-column:1; grid-row:3; }
  .faq-aside > .faq-foamie {
    grid-column:2; grid-row:1 / 4;
    width:min(280px,30vw); margin-top:0; align-self:center;
  }
}

@media (max-width:767px) {
  .faq-slab .split--wide { display:flex; flex-direction:column; gap:var(--s-6); }
  .faq-aside { display:contents; }
  .faq-slab .acc { order:2; }
  .faq-slab .faq-foamie { order:3; margin-top:var(--s-5); align-self:center; }
  .faq-slab .lede { max-width:none; }
}



@media (min-width:768px) and (max-width:1179px) {
  
  .est10 .split--wide { grid-template-columns:1fr; gap:var(--s-7); }
  .est10__panel { align-self:stretch; }
  .est10 .est10__h { white-space:normal; }
}



@media (max-width:767px) {
  .footer .logo-chip { width:132px; padding:10px; }
  .footer__grid > div:first-child > p:first-of-type { max-width:none !important; }
  .footer__grid > div:first-child > p:last-of-type { display:block; }
}







@media (max-width:767px)  { .hero-shot { aspect-ratio:1672/941; } }
@media (min-width:768px) and (max-width:1179px) { .hero-shot { aspect-ratio:1448/1086; } }
.hero-shot picture { display:block; width:100%; height:100%; }


.scrollx__stage,
.scrollx__stage.is-ready {
  --hero-r:clamp(12px,2.2vw,26px);
  border-radius:calc(var(--hero-r) * (1 - min(var(--p) / .82, 1)) / var(--scale));
}



@media (max-width:767px) {
  .mobile-nav .btn { font-size:.9375rem; letter-spacing:.04em; }
}



@media (max-width:767px) {
  
  [data-calc] .split { gap:var(--s-5); }
  [data-calc] .display-m br { display:none; }
  [data-calc] .display-m, [data-calc] .lede { max-width:none; }
  [data-calc] .calc__controls { max-width:none !important; margin-top:20px !important; }

  
  .era__opts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .era__opt { flex:none; }
  .era__pill {
    flex-direction:column; justify-content:center; gap:5px;
    height:100%; min-height:66px; padding:9px 3px;
    white-space:normal; text-align:center;
    font-size:9.5px; letter-spacing:.04em; line-height:1.1;
  }
  .era__pill svg { width:20px; height:22px; flex:none; }

  
  .calc__controls { gap:var(--s-4); }
  .calc { gap:var(--s-4); }
  .era { margin-bottom:0; }
}



@media (max-width:767px) {
  
  .tindex__body > *, .tindex__side, .tindex__list, .tindex__stage, .tpanel { min-width:0; }

  .tindex__list {
    flex-direction:row; flex-wrap:nowrap;
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x proximity; gap:8px;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
    margin-inline:calc(var(--slab-pad-x) * -1);
    padding:4px var(--slab-pad-x) 10px;
  }
  .tindex__list::-webkit-scrollbar { display:none; }
  .tix {
    flex:0 0 auto; width:auto; scroll-snap-align:start;
    grid-template-columns:auto auto; align-items:center;
    padding:11px 14px; min-height:48px;
  }
  .tix__t { white-space:nowrap; }
  .tix.is-on { padding-bottom:calc(11px + 6px); }

  
  .tpanel { grid-template-columns:minmax(0,1fr); gap:var(--s-5); }
  .tpanel__fig { max-width:none; width:100%; }
  
  .tpanel__fig .ph, .tpanel__fig img { aspect-ratio:4/5; width:100%; }
  .tpanel__c h3 { font-size:var(--fs-h3); }
  .tpanel__c p  { font-size:var(--fs-small); }
}



@media (min-width:768px) and (max-width:1179px) {
  
  .tindex__stage { max-width:940px; margin-inline:auto; width:100%; }
  .tpanel {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(32px,5vw,60px); align-items:center; justify-items:stretch;
  }
  .tpanel__fig { align-self:center; }
  .tpanel__c   { align-self:center; }
}



@media (max-width:1179px) {
  
  .info .head h2 br, .terr8__head h2 br { display:none; }
  .terr8__lede, .terr8__head p { max-width:none; }
}
@media (max-width:767px) {
  .info .head h2, .terr8__head h2 { font-size:clamp(1.75rem,7.6vw,2.25rem); }
}



@media (max-width:767px) {
  
  .terrfig figcaption {
    border-top:0; padding-top:0;
    margin:0 0 var(--s-5);
  }
  .terrmap__go { border-bottom:0; padding-bottom:0; }
  .terr8__head { gap:var(--s-3); }
  
  .terrfig { margin-bottom:var(--s-6); }
  .terr8__body { gap:var(--s-6); }
  .terr8__stack { padding-right:0; }
}




@media (max-width:1179px) {
  .faq-slab .split--wide { gap:var(--s-5) !important; }
  .faq-aside h2 { margin-bottom:var(--s-3); }
  .faq-slab .faq-aside .lede { margin:0 0 var(--s-4); }
  .faq-aside .btn-row { margin-top:0; }
}
@media (min-width:768px) and (max-width:1179px) {
  .faq-aside { gap:var(--s-3) var(--s-7); align-items:start; }
  .faq-aside > .faq-foamie { align-self:center; }
}
@media (max-width:767px) {
  .faq-slab .split--wide { gap:var(--s-4) !important; align-items:stretch; }
  .faq-slab .faq-aside .lede { margin-bottom:var(--s-3); }
  .faq-aside h2 { margin-bottom:var(--s-2); }
}



@media (min-width:768px) and (max-width:1179px) {
  .est10__left, .est10 .lede, .est10 .steps { max-width:none; width:100%; }
  .est10 .steps__b p { max-width:none; }
  
  .est10 .trustrow {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--s-3);
  }
  .est10 .trustrow__i { justify-content:center; padding:8px 14px 8px 7px; }
}



@media (max-width:767px) {
  .footer__grid > div:first-child > .logo { margin-bottom:2px !important; }
  .footer__grid > div:first-child > p:first-of-type { margin-top:0; }
}






@media (max-width:833px) {
  :root { --header-h:78px; --pill-scrolled-h:70px; }
  .topnav .logo-chip { height:70px; }
  .topnav.is-scrolled .logo-chip { height:56px; }
}
@media (min-width:834px) and (max-width:1179px) {
  .topnav .logo-chip { height:90px; }   
  .topnav.is-scrolled .logo-chip { height:62px; }
}
@media (max-width:1179px) {
  
  .mobile-nav { padding-top:var(--s-4); }
}
@media (min-width:834px) and (max-width:1179px) {
  :root { --pill-scrolled-h:74px; }
}
@media (max-width:1179px) {
  .topnav.is-scrolled .topnav__pill { height:var(--pill-scrolled-h); }
  
  .topnav.is-scrolled + .mobile-nav { top:var(--pill-scrolled-h); }
}



@media (max-width:1179px) {
  
  .mobile-nav a:not(.btn) {
    font-family:var(--font-core); font-weight:600;
    font-size:1.125rem; letter-spacing:0; text-transform:none;
  }
  .mobile-nav .btn {
    font-family:var(--font-core); font-weight:700;
    font-size:var(--fs-small); letter-spacing:.03em; text-transform:uppercase;
    border-bottom:0;
  }
}
@media (max-width:767px) {
  .mobile-nav a:not(.btn) { font-size:1.0625rem; min-height:48px; padding-block:var(--s-2); }
  .mobile-nav .btn { font-size:.875rem; }
}




@media (min-width:768px) and (max-width:1179px) {
  .sticky-cta__mascot { width:83px; }              
  .sticky-cta__say { width:clamp(150px,21vw,178px); }
  .sticky-cta__cloudtext { font-size:12px; }
}



@media (max-width:767px) {
  .era__pill { border-radius:var(--r-2); }
}



@media (max-width:767px) {
  
  .tpanel__c h3 br { display:none; }
  .tpanel__c h3 { max-width:none; }
}



.m-narrow { display:none; }
@media (max-width:767px) {
  .m-wide { display:none; }
  .m-narrow { display:inline; }
}



@media (max-width:767px) {
  .footer__grid > div:first-child > p:last-of-type { width:100%; max-width:none; }
}

.f-addr { display:block; }
.f-addr > span { display:block; }
@media (max-width:767px) {
  .f-addr > span { display:inline; }
  .f-addr > span:first-child::after { content:", "; }
}




@media (min-width:768px) and (max-width:1023px) {
  .split--stack-pad { grid-template-columns:1fr; gap:var(--s-7); }
}


@media (max-width:899px) {
  .split > .btn-row[style*="flex-end"] { justify-content:flex-start !important; }
}


@media (max-width:599px) {
  .sidecard--lead { box-shadow:inset 0 0 0 var(--keyline) var(--ink), 5px 5px 0 var(--cyan); }
  .sidecard--call { box-shadow:5px 5px 0 var(--pink); }
  .svc__block > h2 { font-size:clamp(1.625rem,6.4vw,2.125rem); }
  .steps { gap:var(--s-3); }
  .step { padding:var(--s-4); }
  .step__n { font-size:2rem; }
}


@media (max-width:1179px) {
  .tablewrap { margin-inline:0; }
  .matrix td .shot { width:120px; }
}
@media (max-width:599px) {
  .matrix td .shot { width:96px; }
  .matrix th, .matrix td { padding:var(--s-3); }
  .matrix thead th { font-size:1rem; }
}


@media (pointer:coarse) {
  .crumb a { min-height:32px; display:inline-flex; align-items:center; }
  .linklist a { min-height:48px; }
}


@media (max-width:360px) {
  :root { --slab-pad-x:14px; }

  
  .split > *, .split--wide > *, .est10__grid > *, .est10__left, .est10__panel,
  .calc, .calc__controls, .calc__out, .areaform, .areaform > *,
  .needs, .needs > *, .wstep, .estwiz__panel, .panel { min-width:0; }

  
  .slider label { grid-template-columns:1fr; }
  .era { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .needs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .btn.btn--lg { width:100%; }
}
