:root{--red:#c40000;--dark:#1b1b1b;--cream:#f8f5f2;--muted:#55504d;--line:#e5e5e5;--radius:20px;font-family:Nunito,Arial,sans-serif;color:var(--dark);background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:18px;line-height:1.65}a{color:var(--link);text-underline-offset:4px}a:hover{color:var(--link-hover)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #176eaa;outline-offset:5px}h1,h2,h3{font-family:'Red Hat Display',Arial,sans-serif;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5.2vw,4.5rem);margin:20px 0 24px;font-weight:800;max-width:940px}h2{font-size:clamp(2rem,3.4vw,3rem);margin:0 0 24px}h3{font-size:1.5rem;margin:0 0 14px}p{margin:0 0 20px}ul,ol{padding-left:24px}li{margin-bottom:9px}.wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:12px;z-index:10}.skip:focus{top:12px}.header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;color:var(--dark);font-family:Montserrat,Arial,sans-serif;font-weight:800;letter-spacing:-1px;font-size:28px;flex-shrink:0}.brand img{width:54px;height:54px;object-fit:contain;margin-right:9px}.brand span{color:var(--accent)}.desktop-nav{display:flex;align-items:center;gap:24px;font-size:15px;font-weight:700}.desktop-nav a{text-decoration:none;color:var(--dark)}.desktop-nav a[aria-current=page]{color:var(--accent);text-decoration:underline}.mobile-nav{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;background:var(--red);color:#fff!important;border:1px solid var(--red);border-radius:8px;padding:12px 22px;text-decoration:none;font:700 14px Montserrat,Arial,sans-serif;cursor:pointer}.button:hover{background:#9a0000;transform:translateY(-1px)}.button.outline{background:transparent;color:var(--dark)!important;border-color:var(--outline)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.eyebrow{text-transform:uppercase;font:700 12px Montserrat,Arial,sans-serif;letter-spacing:1.8px;color:var(--label);display:block}.hero{background:var(--cream);padding:76px 0 72px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:260px;height:260px;right:-110px;bottom:-150px;border:36px solid var(--ring);border-radius:50%;pointer-events:none}.hero.home .hero-copy{max-width:610px}.hero.home h1{font-size:clamp(2.9rem,5.1vw,4.2rem);line-height:1;letter-spacing:-.045em}.hero h1 span{color:var(--accent)}.hero p{max-width:760px;font-size:20px;color:var(--muted)}.hero.home p{font-size:19px}.pill-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px;font:600 12px Montserrat,Arial,sans-serif;color:var(--subtle)}.section{padding:76px 0}.section.alt{background:#f7f7f7}.section-intro{max-width:780px;margin-bottom:34px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.card p{font-size:17px;color:var(--muted)}.card .number{display:block;font:700 13px Montserrat,Arial,sans-serif;color:var(--accent);margin-bottom:22px}.card-link{font-size:15px;font-weight:800}.prose{max-width:820px}.prose h2{font-size:2rem;margin-top:46px}.prose h2:first-child{margin-top:0}.prose h3{margin-top:32px}.breadcrumbs{font-size:14px;padding:18px 0;color:var(--subtle)}.breadcrumbs ol{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumbs li{margin:0}.breadcrumbs li+li:before{content:'/';margin-right:10px;color:#777}.cta{background:var(--dark);color:#fff;border-radius:24px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:36px}.cta p{color:#d4ceca;max-width:680px}.cta h2{font-size:2.5rem}.footer{background:var(--dark);color:#ddd;padding:64px 0 104px;font-size:15px}.footer h2{font-size:30px;color:#fff}.footer h3{font-size:18px;color:#fff;letter-spacing:0}.footer a{color:#fff}.footer .grid{grid-template-columns:2fr 1fr 1fr}.footer ul{list-style:none;padding:0}.footer-bottom{border-top:1px solid #48413e;margin-top:35px;padding-top:22px;font-size:13px}.notice{padding:20px 24px;border-left:3px solid var(--red);background:var(--cream);border-radius:0 10px 10px 0}.contact-link{display:block;font-size:24px;font-weight:700;overflow-wrap:anywhere}.mobile-contact{display:none}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-weight:800;cursor:pointer}.faq details p{margin-top:14px}.steps{counter-reset:steps}.steps li{margin:18px 0}.text-link{font-weight:700}.source{font-size:14px;color:#666}.privacy-note{font-size:14px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-weight:700;font-size:16px}input,select,textarea{width:100%;font:inherit;font-size:17px;padding:12px;border:1px solid #a9a09b;border-radius:7px;background:#fff;color:var(--dark)}textarea{min-height:120px}.field{margin-bottom:20px}.full{grid-column:1/-1}.status{margin-top:20px;font-weight:700}.hidden{display:none!important}@media(max-width:1050px){.desktop-nav{gap:14px}.desktop-nav .nav-extra{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:78px}.brand{font-size:24px}.brand img{width:44px;height:44px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{font:700 14px Montserrat,Arial,sans-serif;cursor:pointer;padding:12px}.mobile-nav nav{position:absolute;left:0;right:0;top:78px;background:#fff;z-index:5;padding:20px;box-shadow:0 12px 20px #0002}.mobile-nav nav a{display:block;padding:12px;color:var(--dark)}.hero{padding:52px 0}.hero p{font-size:18px}.section{padding:52px 0}.grid,.grid.two,.footer .grid,.form-grid{grid-template-columns:1fr}.card{padding:26px}.cta{padding:30px;display:block}.cta h2{font-size:2rem}.cta .actions{margin-top:24px}.mobile-contact{position:fixed;z-index:8;bottom:0;left:0;right:0;display:flex;background:#fff;padding:9px 16px max(9px,env(safe-area-inset-bottom));box-shadow:0 -3px 20px #0001;gap:10px}.mobile-contact a{flex:1;padding:12px 8px;font-size:12px}.contact-link{font-size:21px}.pill-row{gap:14px}.footer{padding-bottom:110px}}@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .45s ease-out}.card,.button{transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #00000008}@keyframes arrive{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
.brand img{width:180px;height:89px;margin-right:0}@media(max-width:760px){.brand img{width:140px;height:69px}}

/* Carry the existing hero palette and geometry into navigation and home introduction. */
.header{background:var(--cream);border-bottom:1px solid var(--header-edge);position:relative;isolation:isolate;z-index:6}
.header:before{content:'';position:absolute;inset:12px auto 12px -36px;width:110px;border:16px solid var(--shape-faint);border-radius:32px;transform:rotate(-12deg);z-index:-1;pointer-events:none}
.header-inner{position:relative}
.desktop-nav{gap:8px}
.desktop-nav a{padding:10px 14px;border-radius:14px;transition:background .18s,color .18s}
.desktop-nav a:hover,.desktop-nav a[aria-current=page]{background:var(--active);color:var(--accent);text-decoration:none}
.desktop-nav a[href='/contact']{background:var(--red);color:#fff;border-radius:18px;padding-inline:20px}
.mobile-nav summary{border:1px solid var(--edge-bold);border-radius:14px;color:var(--accent);background:var(--control-surface)}
.hero.home+.section{background:var(--cream);position:relative;isolation:isolate;overflow:hidden;padding-top:48px;padding-bottom:88px}
.hero.home+.section:before{content:'';position:absolute;right:-90px;top:28px;width:270px;height:270px;border:36px solid var(--ring);border-radius:50%;pointer-events:none;z-index:-1}
.hero.home+.section:after{content:'';position:absolute;left:-100px;bottom:-90px;width:280px;height:240px;background:var(--shape-fill);border-radius:64px;transform:rotate(-16deg);pointer-events:none;z-index:-1}
.hero.home+.section h2{max-width:780px}
.hero.home+.section h2:before{content:'';display:block;width:58px;height:8px;margin-bottom:24px;background:var(--red);border-radius:8px}
.hero.home+.section .grid{gap:28px;position:relative}
.hero.home+.section .card{position:relative;overflow:hidden;border:1px solid var(--edge);border-radius:28px;background:var(--surface);box-shadow:0 9px 0 var(--shadow);padding:32px}
.hero.home+.section .card:before{content:'';position:absolute;right:-22px;top:-28px;width:110px;height:110px;border:16px solid var(--shape-faint);border-radius:32px;transform:rotate(15deg);pointer-events:none}
.hero.home+.section .number{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;margin-bottom:24px;border-radius:14px;background:var(--number-bg);color:var(--accent)}
.hero.home+.section .card-link{display:inline-block;border-bottom:2px solid var(--link-edge);padding-bottom:3px;text-decoration:none}
@media(max-width:1050px){.desktop-nav a{padding:10px}.desktop-nav{gap:2px}}
@media(max-width:760px){.mobile-nav nav{background:var(--cream);border:1px solid var(--edge);border-radius:0 0 24px 24px;box-shadow:0 12px 24px #2f160f14}.mobile-nav nav a{border-radius:12px;text-decoration:none}.mobile-nav nav a:hover,.mobile-nav nav a[aria-current=page]{background:var(--active);color:var(--accent)}.hero.home+.section{padding-top:36px;padding-bottom:60px}.hero.home+.section .card{padding:26px}.hero.home+.section .grid{gap:26px}.hero.home+.section:before{right:-160px}}
@media(prefers-reduced-motion:reduce){.desktop-nav a{transition:none}}

/* Blend the original logo into cream without altering its artwork. */
.brand img{mix-blend-mode:multiply}
/* Continue the hero's existing ring across the section boundary. */
.hero.home+.section:before{right:-110px;top:-182px;width:260px;height:260px;border:36px solid var(--ring)}

/* Shared public-page palette, cards, contact panels, and footer. */
body:is(.home-page.home-page,.inner-page) main>.section{background:var(--cream);position:relative;isolation:isolate;overflow:hidden}
body:is(.home-page.home-page,.inner-page) main>.section>.wrap{position:relative}
body:is(.home-page.home-page,.inner-page) main>.section:not(.hero+.section):before{content:'';position:absolute;width:240px;height:240px;right:-130px;top:48px;border:32px solid var(--shape-mid);border-radius:50%;z-index:-1;pointer-events:none}
body:is(.home-page.home-page,.inner-page) main>.section:nth-of-type(even):not(.hero+.section):before{left:-150px;right:auto;top:80px;border-radius:64px;transform:rotate(-16deg)}
body:is(.home-page.home-page,.inner-page) main>.section h2{max-width:820px}
body:is(.home-page.home-page,.inner-page) main>.section:not(.hero+.section)>.wrap>h2:before{content:'';display:block;width:58px;height:8px;margin-bottom:24px;background:var(--red);border-radius:8px}
body:is(.home-page.home-page,.inner-page) main>.section .grid{gap:28px}
body:is(.home-page.home-page,.inner-page) main>.section .card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--edge);border-radius:28px;box-shadow:0 9px 0 var(--shadow)}
body:is(.home-page.home-page,.inner-page) main>.section .card:before{content:'';position:absolute;right:-22px;top:-28px;width:110px;height:110px;border:16px solid var(--shape-faint);border-radius:32px;transform:rotate(15deg);pointer-events:none}
body:is(.home-page.home-page,.inner-page) main>.section .number{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 12px;margin-bottom:24px;border-radius:14px;background:var(--number-bg);color:var(--accent)}
body:is(.home-page.home-page,.inner-page) main>.section .card-link{display:inline-block;border-bottom:2px solid var(--link-edge);padding-bottom:3px;text-decoration:none}
body:is(.home-page.home-page,.inner-page) .cta{position:relative;isolation:isolate;overflow:hidden;background:var(--surface-alt);border:1px solid var(--edge-strong);border-radius:32px;color:var(--dark);box-shadow:0 10px 0 var(--shadow-alt)}
body:is(.home-page.home-page,.inner-page) .cta:after{content:'';position:absolute;width:240px;height:240px;right:-90px;bottom:-120px;border:32px solid var(--ring);border-radius:50%;z-index:-1;pointer-events:none}
body:is(.home-page.home-page,.inner-page) .cta p{color:var(--muted)}
body:is(.home-page.home-page,.inner-page) .cta .eyebrow{color:var(--label)!important}
body:is(.home-page.home-page,.inner-page) .cta .button{border-radius:16px;flex-shrink:0}
body:is(.home-page.home-page,.inner-page) .footer{position:relative;isolation:isolate;overflow:hidden;background:var(--surface-alt);color:var(--muted);border-top:1px solid var(--edge)}
body:is(.home-page.home-page,.inner-page) .footer:before{content:'';position:absolute;width:260px;height:260px;left:-160px;bottom:-140px;border:36px solid var(--ring);border-radius:64px;transform:rotate(-16deg);z-index:-1;pointer-events:none}
body:is(.home-page.home-page,.inner-page) .footer h2,body:is(.home-page.home-page,.inner-page) .footer h3{color:var(--dark)}
body:is(.home-page.home-page,.inner-page) .footer a{color:var(--label)}
body:is(.home-page.home-page,.inner-page) .footer-bottom{border-top:1px solid var(--edge-bold)}
body:is(.home-page.home-page,.inner-page) .mobile-contact{background:var(--cream);border-top:1px solid var(--edge)}
body:is(.home-page.home-page,.inner-page) .mobile-contact .button{border-radius:14px}
@media(max-width:760px){body:is(.home-page.home-page,.inner-page) main>.section .grid{gap:26px}body:is(.home-page.home-page,.inner-page) .cta{border-radius:28px}}

/* Keep the mobile Menu control while removing its disclosure icon. */
.mobile-nav summary{list-style:none}
.mobile-nav summary::marker{content:''}
.mobile-nav summary::-webkit-details-marker{display:none}

/* Carry the established hero geometry through every inner public page. */
body.inner-page{background:var(--cream)}
.inner-page .breadcrumbs{padding-block:20px 0}
.inner-page .hero>.wrap{position:relative;z-index:1}
.inner-page .hero:before{content:'';position:absolute;right:-80px;top:40px;width:240px;height:240px;border:32px solid var(--shape-faint);border-radius:64px;transform:rotate(-16deg);pointer-events:none}
.inner-page .hero .button{border-radius:16px}
.inner-page .hero+.section{padding-top:48px;padding-bottom:88px}
.inner-page .hero+.section:before{content:'';position:absolute;right:-110px;top:-182px;width:260px;height:260px;border:36px solid var(--ring);border-radius:50%;pointer-events:none;z-index:-1}
.inner-page .hero+.section:after{content:'';position:absolute;left:-100px;bottom:-90px;width:280px;height:240px;background:var(--shape-fill);border-radius:64px;transform:rotate(-16deg);pointer-events:none;z-index:-1}
.inner-page .hero+.section>.wrap>h2:before{content:'';display:block;width:58px;height:8px;margin-bottom:24px;background:var(--red);border-radius:8px}
.inner-page main>.section .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.inner-page .planning-grid .card h3{font-size:clamp(1.5rem,2.4vw,2rem);max-width:440px}
.inner-page .card p:last-child{margin-bottom:0}
@media(max-width:760px){.inner-page main>.section .grid{grid-template-columns:1fr}.inner-page .hero+.section{padding-top:36px;padding-bottom:60px}.inner-page .hero:before{right:-180px;top:60px}}

/* Reading panels and resource links use the same warm, rounded surfaces. */
.inner-page .button{border-radius:16px}
.inner-page .prose{max-width:960px;padding:40px;background:var(--surface);border:1px solid var(--edge);border-radius:28px;box-shadow:0 9px 0 var(--shadow)}
.inner-page .prose p:last-child{margin-bottom:0}
.inner-page .prose h2{font-size:clamp(1.6rem,2.5vw,2rem)}
.inner-page .prose li::marker{color:var(--accent);font-weight:800}
.inner-page .prose .steps li{padding-left:8px}
.inner-page .resource-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.inner-page .resource-links li{margin:0;background:var(--surface);border:1px solid var(--edge);border-radius:28px;box-shadow:0 9px 0 var(--shadow)}
.inner-page .resource-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px;padding:28px 32px;color:var(--dark);font-weight:800;text-decoration:none;border-radius:28px}
.inner-page .resource-links a:after{content:none;color:var(--accent);font-size:24px;flex-shrink:0}
.inner-page .resource-links a:hover{background:var(--shape-fill);color:var(--accent)}
.inner-page main>.section .grid:has(>.card:only-child){max-width:960px;grid-template-columns:1fr}
.inner-page main>.section .grid:has(>.card:last-child:nth-child(odd))>.card:last-child,.inner-page .resource-links:has(>li:last-child:nth-child(odd))>li:last-child{grid-column:1/-1}
@media(max-width:760px){.inner-page .prose{padding:26px}.inner-page .resource-links{grid-template-columns:1fr;gap:26px}.inner-page .resource-links a{padding:24px 26px;min-height:86px}}

/* Theme tokens preserve the approved cream palette in day mode. */
:root{color-scheme:light;--accent:#c40000;--surface:#fffcfa;--surface-alt:#efe4dc;--shadow:#eaded6;--shadow-alt:#e7d8cf;--edge:#c400001c;--edge-strong:#c4000020;--edge-bold:#c4000026;--link-edge:#c4000033;--ring:#c4000012;--shape-faint:#c4000009;--shape-fill:#c4000008;--shape-mid:#c400000b;--active:#c400000d;--number-bg:#c400000e;--header-edge:#c4000014;--label:#8a0000;--subtle:#625752;--outline:#b3aaa4;--link:#a30000;--link-hover:#770000;--control-surface:#fff8}
.header-controls{display:flex;align-items:center;gap:12px;min-width:0}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--edge-bold);border-radius:14px;background:var(--control-surface);color:var(--label);cursor:pointer}
.theme-toggle[hidden]{display:none}
.theme-toggle:hover{background:var(--active)}
.theme-toggle:focus-visible{outline:3px solid #176eaa;outline-offset:5px}
.theme-toggle svg{pointer-events:none}
.theme-sun{display:none}
html[data-theme=dark] .theme-moon{display:none}
html[data-theme=dark] .theme-sun{display:block}
@media(max-width:760px){.header-inner{gap:8px}.header-controls{gap:8px}.mobile-nav summary{padding:10px}}

/* Warm charcoal surfaces keep the existing layers, geometry and red action buttons. */
html[data-theme=dark]{color-scheme:dark;--cream:#181614;--dark:#f6eee7;--muted:#c8beb5;--line:#4b3d37;--accent:#ff978a;--surface:#24201e;--surface-alt:#211d1b;--shadow:#100e0d;--shadow-alt:#100e0d;--edge:#ff978a26;--edge-strong:#ff978a33;--edge-bold:#ff978a44;--link-edge:#ff978a66;--ring:#ff897924;--shape-faint:#ff897918;--shape-fill:#ff89790e;--shape-mid:#ff897914;--active:#ff978a16;--number-bg:#ff978a18;--header-edge:#ff978a26;--label:#ffad9f;--subtle:#c8beb5;--outline:#8a7569;--link:#ffad9f;--link-hover:#ffd0c6;--control-surface:#24201e;background:var(--cream)}
html[data-theme=dark] body{background:var(--cream)}
html[data-theme=dark] .brand img{filter:none;mix-blend-mode:normal}
html[data-theme=dark] .pill-row,html[data-theme=dark] .breadcrumbs,html[data-theme=dark] .source{color:var(--muted)}
html[data-theme=dark] .breadcrumbs li+li:before{color:var(--muted)}
html[data-theme=dark] .skip{background:var(--surface);color:var(--link)}
html[data-theme=dark] :is(a,button,summary,input,select,textarea):focus-visible{outline-color:#87bdf0}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--surface);color:var(--dark);border-color:var(--outline)}

/* Restrained homepage motion, using transform and opacity without moving the layout. */
@media(prefers-reduced-motion:no-preference){
  .hero.home .hero-copy{animation:none}
  .home-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;transition-delay:var(--reveal-delay,0ms)}
  .home-reveal.is-revealed,.home-reveal:focus-within{opacity:1;transform:translate3d(0,0,0)}
  body.home-page.home-page .card .number{transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s ease}
  body.home-page.home-page .button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
  @keyframes home-enter{from{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  @keyframes home-drift{from{transform:rotate(-16deg) translate3d(0,0,0)}to{transform:rotate(-13deg) translate3d(0,-12px,0)}}
  @keyframes home-breathe{from{opacity:.6}to{opacity:1}}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
  body.home-page.home-page .card:hover{transform:translate3d(0,-6px,0);box-shadow:0 12px 0 var(--shadow),0 18px 44px #00000022}
  body.home-page.home-page .card:hover .number{transform:translate3d(0,-2px,0);background:var(--active)}
  body.home-page.home-page .button:hover{transform:translate3d(0,-2px,0);box-shadow:0 10px 26px #c4000026}
}
@media(prefers-reduced-motion:reduce){
  .hero.home .hero-copy,.hero.home .hero-copy>*,.hero.home+.section:after,body.home-page.home-page main>.section:before{animation:none!important}
  .home-reveal{opacity:1!important;transform:none!important;transition:none!important}
  body.home-page.home-page .card,body.home-page.home-page .card .number,body.home-page.home-page .button{transition:none!important}
  body.home-page.home-page .card:hover,body.home-page.home-page .button:hover{transform:none}
}

/* Additive review experience: the existing palette, geometry, and responsive shell. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.reviews-hero{padding-top:64px;padding-bottom:68px}
.reviews-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:72px}
.reviews-hero h1{font-size:clamp(3.1rem,5.4vw,4.9rem);line-height:1.02;max-width:690px}
.reviews-hero .hero-copy>p:not(.privacy-note){max-width:620px;font-size:20px}
.reviews-hero .privacy-note{font-size:14px;max-width:610px;margin:16px 0 0}
.reviews-hero .pill-row{gap:12px 22px;margin-top:28px}
.review-story{position:relative;isolation:isolate;overflow:hidden;padding:40px 38px 28px;border:1px solid var(--edge-strong);border-radius:36px;background:var(--surface);box-shadow:0 12px 0 var(--shadow-alt)}
.review-story:before{content:'';position:absolute;width:260px;height:260px;border:32px solid var(--ring);border-radius:50%;right:-140px;top:-130px;z-index:-1}
.review-story:after{content:'';position:absolute;width:160px;height:160px;background:var(--shape-fill);border-radius:42px;left:-75px;bottom:-90px;transform:rotate(-16deg);z-index:-1}
.review-story-mark{display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:21px;background:var(--number-bg);color:var(--accent);margin-bottom:30px}
.review-story h2{font-size:clamp(2.25rem,3.5vw,3.2rem);margin:18px 0 22px}
.review-story p{color:var(--muted);font-size:17px;max-width:360px}
.review-story-bottom{border-top:1px solid var(--edge);margin-top:28px;padding-top:22px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:10px}
.review-story-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}
.review-pending:disabled{background:var(--surface)!important;border-color:var(--outline);color:var(--muted)!important;cursor:not-allowed;transform:none;box-shadow:none}
.review-actions .button{border-radius:16px;white-space:normal;text-align:center}
.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.reviews-heading h2{margin:14px 0 18px}
.reviews-heading .section-intro{margin:0}
.reviews-heading>.text-link{font-size:15px;flex-shrink:0}
.google-reviews-shell{padding:36px;border:1px solid var(--edge);border-radius:32px;background:var(--surface-alt);box-shadow:0 9px 0 var(--shadow)}
.review-status{display:flex;align-items:center;gap:26px;padding:20px 0;max-width:820px;margin:0 auto}
.review-state-icon{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border:1px solid var(--edge);border-radius:22px;color:var(--accent);background:var(--number-bg);flex-shrink:0}
.review-status h3{font-size:1.5rem;margin-bottom:12px}
.review-status p{font-size:17px;color:var(--muted);margin:0}
.review-status.sr-only{padding:0;margin:-1px}
.review-refresh-note{max-width:820px;margin:24px 0 0}
.review-overview{display:flex;align-items:center;gap:24px;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--edge)}
.review-score{white-space:nowrap;color:var(--muted)}
.review-score strong{font:800 52px/1 'Red Hat Display',Arial,sans-serif;letter-spacing:-.045em;color:var(--dark)}
.review-score-context strong{font-size:16px}.review-score-context p{font-size:14px;color:var(--muted);margin:4px 0 0}
.review-overview>.review-origin-link{margin-left:auto}
body.inner-page main>.section .google-review-card:before{display:none}
.google-review-card{box-shadow:none!important;align-self:start}
.review-author-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.review-author-row img{border-radius:50%;object-fit:cover;width:44px;height:44px}
.review-author-info{min-width:0}.review-author-info h3{font-family:Nunito,Arial,sans-serif;font-size:17px;letter-spacing:0;line-height:1.3;margin:0 0 4px;overflow-wrap:anywhere}
.review-date{font-size:13px;color:var(--muted)}
.review-stars{color:var(--accent);font-size:21px;letter-spacing:2px;display:block;margin-bottom:16px}
.google-review-card .review-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--dark);font-size:17px}
.review-reply{border-left:2px solid var(--link-edge);padding:2px 0 2px 18px;margin:24px 0}
.review-reply h4{font-size:14px;margin:0 0 8px}.review-reply p{font-size:15px;margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}
.review-origin-link{display:inline-block;font-size:13px;font-weight:700;margin-top:8px}
.review-source-note{font-size:13px;color:var(--muted);margin:30px 0 0;max-width:900px}
.review-load{margin-top:24px;border-radius:14px}.review-load:disabled{cursor:wait;transform:none}
.review-journey .card{padding-top:28px}.review-invitation{margin:32px 0 0;max-width:880px}
.home-review-panel{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;border:1px solid var(--edge);background:var(--surface-alt);border-radius:36px;padding:48px;box-shadow:0 10px 0 var(--shadow)}
.home-review-copy h2{margin-top:18px}.home-review-copy p{color:var(--muted);max-width:560px}
.home-review-invitation{border-left:1px solid var(--edge);padding-left:44px}
.home-review-invitation .review-state-icon{width:56px;height:56px;border-radius:18px;margin-bottom:20px}
.home-review-invitation h3{font-size:1.55rem}.home-review-invitation p{font-size:17px;color:var(--muted)}
.home-review-invitation .button{border-radius:16px}.home-review-invitation p.privacy-note{font-size:13px;margin:16px 0 0}
@media(max-width:1180px) and (min-width:1051px){.desktop-nav a[href='/reviews']{display:none}}
@media(max-width:1050px){.reviews-hero-grid{gap:36px;grid-template-columns:1.2fr 1fr}.review-story{padding:32px 28px}.home-review-panel{gap:36px;padding:36px}.home-review-invitation{padding-left:30px}.review-journey{grid-template-columns:repeat(3,minmax(0,1fr))}.review-journey .card{padding:24px}}
@media(max-width:760px){.reviews-hero{padding:44px 0 56px}.reviews-hero-grid{grid-template-columns:1fr;gap:38px}.reviews-hero h1{font-size:clamp(2.85rem,10vw,4.2rem)}.reviews-hero .hero-copy>p:not(.privacy-note){font-size:18px}.reviews-hero .pill-row{font-size:11px;gap:12px 18px}.review-story{border-radius:28px;padding:28px}.review-story h2{font-size:2.5rem}.review-story-mark{width:54px;height:54px;margin-bottom:24px}.reviews-heading{display:block}.reviews-heading>.text-link{display:inline-block;margin-top:18px}.google-reviews-shell{padding:26px 24px;border-radius:28px}.review-status{display:block;padding:4px 0}.review-status .review-state-icon{margin-bottom:22px;width:56px;height:56px;border-radius:18px}.review-status h3{font-size:1.4rem}.review-status p{font-size:16px}.review-overview{flex-wrap:wrap;gap:18px}.review-overview>.review-origin-link{margin-left:0;flex-basis:100%}.review-score strong{font-size:44px}.review-journey{grid-template-columns:1fr}.home-review-panel{grid-template-columns:1fr;gap:32px;border-radius:28px;padding:28px}.home-review-invitation{border-left:0;border-top:1px solid var(--edge);padding:28px 0 0}.review-actions .button{width:100%;padding-inline:16px}.reviews-hero .privacy-note{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.reviews-hero .hero-copy{animation:home-enter .65s cubic-bezier(.16,1,.3,1) both}.review-story{animation:review-story-enter .85s cubic-bezier(.16,1,.3,1) both}.review-status[data-loading]{animation:none}@keyframes review-story-enter{from{opacity:0;transform:translateY(16px) rotate(1deg)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.reviews-hero .hero-copy,.review-story{animation:none}.google-review-card,.review-actions .button,.review-load{transition:none}}






/* Approved house hero: desktop copy at left; mobile copy, house, then contact. */
.home-house-hero{padding:72px 0 66px;background:#faf8f1;font-family:Poppins,Arial,sans-serif;color:#111916}
.home-house-hero:after{display:none}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-rows:auto auto;column-gap:36px;align-items:center}
.home-house-hero .home-hero-copy{grid-column:1;grid-row:1;align-self:end;max-width:none;min-width:0}
.home-house-hero .hero-premises{display:flex;gap:12px;flex-wrap:wrap;font:700 11px Montserrat,Arial,sans-serif;letter-spacing:1.2px;color:#2c4037}
.hero-premises a+a{border-left:1px solid #c40000;padding-left:12px}
.home-house-hero .hero-copy h1{font:900 clamp(2.7rem,4.7vw,4.5rem)/1.03 'Red Hat Display',Arial,sans-serif;letter-spacing:-.05em;margin:25px 0 22px;color:#111916;max-width:none}
.home-house-hero h1 span{color:#c40000}
.home-house-hero .hero-copy p{font:400 18px/1.65 Poppins,Arial,sans-serif;color:#505960;max-width:490px;margin-bottom:0}
.home-hero-house{grid-column:2;grid-row:1/3;margin:0;min-width:0;align-self:center}
.house-art-window{position:relative;width:100%;aspect-ratio:1024/710;overflow:hidden;isolation:isolate;clip-path:polygon(0 21%,46% 0,100% 0,100% 100%,0 100%)}
.house-art-window img{position:absolute;display:block;left:0;top:-57.74648%;width:100%;height:auto;max-width:none}
.house-art-window .house-art-cutout{display:none}
.home-hero-contact{grid-column:1;grid-row:2;align-self:start;min-width:0;padding-top:28px}
.home-house-hero .hero-contact-actions{margin-top:0;gap:12px}
.home-house-hero .button{background:#c40000;border-color:#c40000;border-radius:12px;min-height:54px;font:700 12px/1.4 Montserrat,Arial,sans-serif;padding:16px 18px}
.home-house-hero .button:hover{background:#a00000;border-color:#a00000}
.home-house-hero .button.outline{background:transparent;border-color:#a7aaa0;color:#111916!important}
.home-house-hero .button.outline:hover{background:#c4000009;border-color:#c40000}
.hero-booking-link{display:inline-flex;gap:12px;align-items:center;margin-top:18px;font:600 12px/1.5 Montserrat,Arial,sans-serif;color:#8a0000;text-decoration-thickness:1px;text-underline-offset:5px}
html[data-theme=dark] .home-house-hero{background:var(--cream);color:var(--dark)}
html[data-theme=dark] .home-house-hero .hero-copy h1{color:var(--dark)}
html[data-theme=dark] .home-house-hero h1 span{color:var(--accent)}
html[data-theme=dark] .home-house-hero .hero-copy p,html[data-theme=dark] .home-house-hero .hero-premises{color:var(--muted)}
html[data-theme=dark] .home-house-hero .button.outline{color:var(--dark)!important;border-color:var(--outline)}
html[data-theme=dark] .home-house-hero .hero-booking-link{color:var(--link)}
html[data-theme=dark] .home-hero-house{filter:drop-shadow(0 18px 18px #0003)}
html[data-theme=dark] .house-art-window{clip-path:none;overflow:visible}
html[data-theme=dark] .house-art-window .house-art-poster{display:none}
html[data-theme=dark] .house-art-window .house-art-cutout{display:block;top:0;height:100%;object-fit:contain}
@media(max-width:1050px) and (min-width:761px){.home-house-hero{padding:60px 0}.home-hero-grid{column-gap:22px;grid-template-columns:1fr 1fr}.home-house-hero .hero-copy h1{font-size:clamp(2.4rem,4.65vw,3.2rem)}.home-house-hero .hero-copy p{font-size:16px}.home-house-hero .hero-premises{font-size:9px;gap:9px}.hero-premises a+a{padding-left:9px}}
@media(max-width:760px){
 .home-house-hero{padding:36px 0 38px}
 .home-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:24px}
 .home-house-hero .home-hero-copy{grid-column:1;grid-row:1}
 .home-house-hero .hero-premises{font-size:9px;gap:9px;letter-spacing:.85px}
 .hero-premises a+a{padding-left:9px}
 .home-house-hero .hero-copy h1{font-size:clamp(2.25rem,10.8vw,4rem);margin:20px 0 16px;letter-spacing:-.045em}
 .home-house-hero .hero-copy p{font-size:15px;line-height:1.65;max-width:100%}
 .home-hero-house{grid-column:1;grid-row:2;width:calc(100% + 24px);max-width:calc(100% + 24px);margin-inline:-12px}
 .home-hero-contact{grid-column:1;grid-row:3;padding-top:0}
 .home-house-hero .hero-contact-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .home-house-hero .hero-contact-actions .button{width:100%;min-height:52px;font-size:12px;padding-inline:14px}
 .home-house-hero .hero-booking-link{margin-top:17px}
}
@media(prefers-reduced-motion:reduce){.home-house-hero .hero-copy>*{animation:none!important}.home-house-hero .button{transition:none!important}}

/* Supplied transparent cutaways for residential, food service and hospitality. */
.property-art{position:relative;aspect-ratio:1448/1086;overflow:hidden;width:100%}
.property-art img{display:block;width:100%;height:auto}
.property-art-restaurant{aspect-ratio:1448/850}
.property-art-restaurant img{position:absolute;top:-20%;left:0}
.property-art-resort{aspect-ratio:1448/1000}
.property-art-resort img{position:absolute;top:-7%;left:0}
.property-hero{padding:56px 0 64px;font-family:Poppins,Arial,sans-serif}
.property-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto auto;gap:0 40px;align-items:center}
.property-hero-copy{grid-column:1;grid-row:1;align-self:end;min-width:0;max-width:none}
.property-hero .hero-copy h1{font:800 clamp(2.5rem,4vw,3.9rem)/1.06 'Red Hat Display',Arial,sans-serif;letter-spacing:-.045em;margin:22px 0;max-width:none}
.property-hero .hero-copy p{font:400 17px/1.7 Poppins,Arial,sans-serif;margin:0;max-width:540px}
.property-hero-illustration{grid-column:2;grid-row:1/3;min-width:0;margin:0;filter:drop-shadow(0 16px 14px #0002)}
.property-hero-contact{grid-column:1;grid-row:2;align-self:start;padding-top:26px}
.property-hero-contact .actions{margin-top:0}
@media(max-width:1050px) and (min-width:761px){.property-hero-grid{gap:0 24px}.property-hero .hero-copy h1{font-size:clamp(2.2rem,4.1vw,3rem)}.property-hero .hero-copy p{font-size:16px}}
@media(max-width:760px){
 .property-hero{padding:34px 0 44px}
 .property-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:24px}
 .property-hero-copy{grid-column:1;grid-row:1}
 .property-hero .hero-copy h1{font-size:clamp(2.25rem,9.5vw,3.5rem);margin:18px 0}
 .property-hero .hero-copy p{font-size:16px}
 .property-hero-illustration{grid-column:1;grid-row:2;width:calc(100% + 16px);max-width:calc(100% + 16px);margin-inline:-8px}
 .property-hero-contact{grid-column:1;grid-row:3;padding-top:0}
 .property-hero-contact .actions{display:grid;grid-template-columns:1fr;gap:10px}
 .property-hero-contact .button{width:100%;text-align:center}
}

/* Interactive house: native links remain usable without JavaScript. */
.hero-premises a{color:inherit;text-decoration:none;padding-block:10px}
.hero-premises a:hover{color:var(--accent);text-decoration:underline}
.home-house-hero .house-art-window{aspect-ratio:3/2;clip-path:none;overflow:visible}
.house-art-window .interactive-house-image{position:relative;top:0!important;left:0;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transform-origin:var(--zoom-x,50%) var(--zoom-y,50%)}
html[data-theme=light] .house-art-window .interactive-house-image{clip-path:polygon(0 21%,46% 0,100% 0,100% 100%,0 100%)}
.house-hotspots{position:absolute;inset:0}
.house-hotspot{position:absolute;left:var(--left);top:var(--top);width:var(--width);height:var(--height);border:2px solid transparent;border-radius:48%;min-width:44px;min-height:44px;text-decoration:none;display:flex;align-items:flex-end;justify-content:center;color:var(--dark)}
.house-hotspot span{position:absolute;top:100%;white-space:nowrap;background:var(--cream);border:1px solid var(--accent);border-radius:20px;padding:4px 9px;font:600 10px Montserrat,Arial,sans-serif;opacity:0;transform:translateY(-5px);pointer-events:none}
.house-hotspot:hover,.house-hotspot:focus-visible{border-color:#ff7c68;box-shadow:0 0 0 5px #c4000030;background:#c400000d}
.house-hotspot:hover span,.house-hotspot:focus-visible span{opacity:1;transform:none}
.house-hint{font:500 11px/1.5 Montserrat,Arial,sans-serif;color:var(--muted);text-align:center;margin-top:10px}
.pest-room-hero{background:var(--cream)}
.room-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:center}
.room-copy h1{font-weight:900;font-size:clamp(2.5rem,4.7vw,4.5rem)}
.room-copy .eyebrow{margin-top:24px}.room-back{font:600 12px Montserrat,Arial,sans-serif}
.room-scene{margin:0;overflow:visible;background:transparent;border:0;border-radius:0}
.room-scene img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

.room-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.room-nav a{padding:10px 16px;border:1px solid var(--line);border-radius:24px;text-decoration:none;font:600 12px Montserrat,Arial,sans-serif}
.room-nav a[aria-current=page]{background:var(--red);color:white;border-color:var(--red)}
main>.section{content-visibility:auto;contain-intrinsic-size:auto 600px}
@media(prefers-reduced-motion:no-preference){
 .house-hotspot,.house-hotspot span{transition:opacity .18s,transform .18s,box-shadow .18s,border-color .18s}
 html:not(.room-native-transition) .room-scene img{animation:enter-room .55s cubic-bezier(.22,1,.36,1)}
 @keyframes enter-room{from{transform:translateY(12px) scale(1.035);opacity:0}to{transform:none;opacity:1}}
}
.room-scene img{mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent);-webkit-mask-composite:source-in}
@media(max-width:760px){.room-grid{grid-template-columns:1fr;gap:24px}.room-scene{grid-row:2}.room-copy h1{font-size:2.8rem}.house-hint{font-size:10px}.house-hotspot span{font-size:9px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Matching image snapshots let supported browsers carry the house into its room. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .interactive-house-image,.room-scene img{view-transition-name:pest-room-art}
 ::view-transition-group(root){animation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
 ::view-transition-group(pest-room-art){animation-duration:.7s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
 ::view-transition-old(pest-room-art){animation:room-art-out .55s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:normal}
 ::view-transition-new(pest-room-art){animation:room-art-in .7s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:normal}
 @keyframes room-art-out{to{opacity:0;transform:scale(1.18)}}
 @keyframes room-art-in{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){
 .interactive-house-image,.room-scene img{view-transition-name:none}
 ::view-transition-old(pest-room-art),::view-transition-new(pest-room-art){animation:none}
}

.room-native-transition .room-scene img{animation:none}

/* Hospitality campaign: editorial layout in the existing BioShield themes. */
.campaign-hero{padding-bottom:0}.campaign-hero:after{display:none}.campaign-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center}.campaign-hero-copy{position:relative;z-index:1}.campaign-hero h1{font-size:clamp(3.1rem,5.7vw,5.9rem);line-height:.98;letter-spacing:-.055em;margin:24px 0}.campaign-hero h1 span{color:var(--accent)}.campaign-hero-copy>p{max-width:550px;font-size:18px}.campaign-hero .campaign-micro{font:600 11px Montserrat,Arial,sans-serif;letter-spacing:.6px;margin:24px 0;color:var(--muted)}.campaign-hero-art{position:relative;min-width:0}.campaign-hero-art img{display:block;width:108%;max-width:none;margin-left:-5%;height:auto;filter:drop-shadow(0 20px 20px #0002)}.campaign-art-caption{display:block;text-align:center;font:600 11px Montserrat,Arial,sans-serif;letter-spacing:1px;color:var(--muted);margin-top:14px}.campaign-promise{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:56px;padding-top:24px;padding-bottom:24px;font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.3px}.campaign-split{display:grid;grid-template-columns:1fr 1.6fr;gap:80px}.campaign-split>.eyebrow{padding-top:10px;max-width:240px}.campaign-opening .campaign-lead{font-size:23px;line-height:1.5;color:var(--dark)}.campaign-scope{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:40px}.campaign-scope article{border-top:2px solid var(--accent);padding-top:24px}.campaign-scope article>span{font:700 12px Montserrat,Arial,sans-serif;color:var(--label)}.campaign-scope h3{margin:24px 0 16px;font-size:25px}.campaign-scope p{font-size:16px;color:var(--muted)}.campaign-deliverables{display:grid;grid-template-columns:1fr 2fr;gap:32px;border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.campaign-deliverables strong{font-family:Montserrat,Arial,sans-serif;font-size:14px}.campaign-deliverables p{font-size:16px;margin:0}.campaign-comparison{background:#211f1c;color:#f8f5f2}.campaign-compare-intro{max-width:850px}.campaign-comparison .eyebrow{color:#ffb3aa}.campaign-compare-intro p{color:#c9c2bb;max-width:720px}.campaign-compare-table{overflow:auto;margin-top:40px;border:1px solid #56504a;border-radius:16px}.campaign-compare-table table{width:100%;border-collapse:collapse;font-size:16px}.campaign-compare-table caption{padding:18px;text-align:left;font:600 12px Montserrat,Arial,sans-serif;color:#c9c2bb}.campaign-compare-table th,.campaign-compare-table td{padding:24px;text-align:left;vertical-align:top;border-top:1px solid #56504a;min-width:175px}.campaign-compare-table td{min-width:240px;color:#d2ccc5}.campaign-compare-table th:last-child,.campaign-compare-table td:last-child{background:#542825;color:#fff0ed;border-left:2px solid #ec6d61}.campaign-compare-table thead{font:700 13px Montserrat,Arial,sans-serif}.campaign-compare-close{font-size:20px;margin:28px 0 0;color:#ffb9b2}.campaign-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:35px}.campaign-price-card{border:1px solid var(--line);border-radius:20px;padding:30px;display:flex;flex-direction:column;background:var(--cream)}.campaign-price-card.featured{border:2px solid var(--accent)}.campaign-price-card h3{font-size:24px;margin-top:22px}.campaign-price{font:800 clamp(1.7rem,3vw,2.4rem) 'Red Hat Display',Arial,sans-serif;color:var(--accent);line-height:1.2;margin:20px 0}.campaign-price span{display:block;font:500 13px Poppins,Arial,sans-serif;color:var(--muted);margin-top:10px}.campaign-price-card p,.campaign-price-card li{font-size:15px}.campaign-price-card ul{flex:1}.campaign-price-card .button{margin-top:20px}.campaign-price-note{font-size:14px;margin-top:24px;color:var(--muted)}.campaign-price-pending{border:1px dashed var(--outline);padding:32px;border-radius:18px}.campaign-price-pending h3{margin-top:16px}.campaign-outcomes{list-style:none;padding:0;margin:0}.campaign-outcomes li{border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 24px}.campaign-outcomes strong{display:block;font-family:'Red Hat Display',Arial,sans-serif;font-size:24px;margin-bottom:8px}.campaign-outcomes span{display:block;color:var(--muted)}.campaign-faq{max-width:920px}.campaign-faq .source{margin-top:30px}.campaign-final{background:var(--cream);border-top:3px solid var(--accent);border-radius:0 0 24px 24px;padding:56px}.campaign-final h2{font-size:clamp(2.8rem,5vw,4.5rem);margin:24px 0}.campaign-final p{max-width:660px;color:var(--muted)}.campaign-index-card{display:flex;align-items:center;gap:50px;background:var(--cream);border:1px solid var(--line);border-radius:22px;padding:45px;text-decoration:none;color:var(--dark)}.campaign-index-card h2{margin:24px 0}.campaign-index-card p{max-width:820px;color:var(--muted)}.campaign-index-mark{font-size:60px;color:var(--accent)}
@media(max-width:1100px){.desktop-nav{gap:16px}.campaign-hero-grid{grid-template-columns:1.1fr 1fr}.campaign-split{gap:40px}.campaign-scope{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.campaign-hero-grid,.campaign-split{grid-template-columns:1fr;gap:28px}.campaign-hero-copy{display:contents}.campaign-hero-copy>.eyebrow{grid-row:1}.campaign-hero h1{grid-row:2;margin:0;font-size:clamp(3.4rem,12vw,5rem)}.campaign-hero-copy>p:not(.campaign-micro){grid-row:3;margin:0}.campaign-hero-art{grid-row:4}.campaign-hero-art img{width:100%;margin:0}.campaign-hero .actions{grid-row:5;margin:0}.campaign-hero .campaign-micro{grid-row:6;margin:0}.campaign-art-caption{margin-top:6px}.campaign-promise{flex-direction:column;gap:12px;margin-top:30px}.campaign-scope{gap:22px}.campaign-scope h3{font-size:22px}.campaign-scope p{font-size:15px}.campaign-deliverables{grid-template-columns:1fr;gap:14px}.campaign-split>.eyebrow{max-width:none}.campaign-opening .campaign-lead{font-size:21px}.campaign-price-grid{grid-template-columns:1fr}.campaign-final{padding:30px}.campaign-index-card{padding:28px;gap:20px}.campaign-index-mark{font-size:35px}}
@media(prefers-reduced-motion:reduce){.campaign-hero-art img{animation:none;transition:none}}

.campaign-saving{color:var(--label);font:700 12px Montserrat,Arial,sans-serif;padding:10px 14px;border-radius:8px;background:var(--ring);margin:2px 0 0}

@media(max-width:760px){.campaign-compare-table{overflow:visible}.campaign-compare-table table,.campaign-compare-table tbody,.campaign-compare-table tr{display:block}.campaign-compare-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.campaign-compare-table caption{display:block;white-space:normal;font-size:11px}.campaign-compare-table th,.campaign-compare-table td{display:block;min-width:0;width:100%;padding:18px;border-top:0}.campaign-compare-table tbody tr+tr{border-top:1px solid #56504a}.campaign-compare-table th{padding-bottom:4px;font-size:18px}.campaign-compare-table td:before{display:block;font:700 10px Montserrat,Arial,sans-serif;letter-spacing:.7px;margin-bottom:8px;text-transform:uppercase}.campaign-compare-table td:nth-child(2):before{content:'In-house routines'}.campaign-compare-table td:last-child:before{content:'With the BioShield campaign';color:#ffc9c1}.campaign-compare-table td:last-child{border-left:2px solid #ec6d61;margin:0 16px 20px;width:calc(100% - 32px);border-radius:0 8px 8px 0}}

.campaign-hero,.campaign-opening,.campaign-comparison,.campaign-price-card,.campaign-faq,.campaign-outcomes,.campaign-final,.campaign-scope,.campaign-deliverables{font-family:Poppins,Arial,sans-serif}

/* Campaign hero without illustration. */
.campaign-hero-grid{display:block}.campaign-hero-copy{display:block;max-width:900px}.campaign-hero h1{max-width:900px}.campaign-hero-copy>p{max-width:690px}

/* Campaign visual polish: deliberate spacing after the illustration was removed. */
@media(max-width:760px){
 .campaign-hero{padding-top:64px}
 .campaign-hero-grid,.campaign-promise{width:calc(100% - 56px)}
 .campaign-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
 .campaign-hero-copy>.eyebrow{line-height:1.8;letter-spacing:1.5px;max-width:300px}
 .campaign-hero h1{margin:0;font-size:clamp(2.65rem,11.2vw,3.9rem);line-height:1.06;letter-spacing:-.045em}
 .campaign-hero-copy>p:not(.campaign-micro){margin:0;font-size:17px;line-height:1.85;max-width:36ch}
 .campaign-hero .actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%;margin:4px 0 0}
 .campaign-hero .actions .button{min-height:56px;padding:16px 20px;text-align:center;line-height:1.5}
 .campaign-hero .campaign-micro{margin:0;line-height:1.9;letter-spacing:.4px}
 .campaign-promise{margin-top:44px;padding-top:28px;padding-bottom:30px;gap:18px;line-height:1.7}
}

@media(max-width:760px){
 .campaign-scope{grid-template-columns:1fr;gap:28px}
 .campaign-scope article{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:16px;padding-top:24px}
 .campaign-scope article>span{grid-row:1/3;align-self:start;padding-top:5px}
 .campaign-scope h3{margin:0 0 14px;font-size:24px;line-height:1.2}
 .campaign-scope p{grid-column:2;margin:0;font-size:16px;line-height:1.8}
 .campaign-final .actions{display:grid;grid-template-columns:1fr;gap:12px}
 .campaign-final .button{width:100%;min-height:54px;line-height:1.5;text-align:center}
}

.campaign-compare-intro>.eyebrow,.campaign-faq>.eyebrow,.campaign-split>div>.eyebrow{margin-bottom:20px}
@media(max-width:760px){.campaign-final h2{font-size:clamp(2.1rem,9vw,3rem);line-height:1.12;letter-spacing:-.04em}}

.campaign-price-card .campaign-saving{margin:0 0 12px;line-height:1.6}

/* Switch navigation before the expanded link list crowds tablet widths. */
@media(min-width:761px) and (max-width:1000px){
 .desktop-nav{display:none}.mobile-nav{display:block}
 .mobile-nav summary{font:700 14px Montserrat,Arial,sans-serif;cursor:pointer;padding:12px}
 .mobile-nav nav{position:absolute;left:32px;right:32px;top:100px;z-index:20;padding:20px}
 .mobile-nav nav a{display:block;padding:12px;color:var(--dark)}
}

@media(min-width:761px) and (max-width:1000px){
 .mobile-nav summary{border:1px solid var(--edge-bold);border-radius:14px;color:var(--accent);background:var(--control-surface)}
 .mobile-nav nav{background:var(--cream);border:1px solid var(--edge);border-radius:0 0 24px 24px;box-shadow:0 12px 24px #2f160f14}
 .mobile-nav nav a{border-radius:12px;text-decoration:none}
 .mobile-nav nav a:hover,.mobile-nav nav a[aria-current=page]{background:var(--active);color:var(--accent)}
}

/* Privacy controls use the existing theme and remain clear of mobile contact actions. */
.legal-links{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:20px;align-items:center}.legal-links button{font:inherit;background:none;border:0;padding:8px 0;color:var(--label);text-decoration:underline;cursor:pointer}.privacy-banner[hidden]{display:none}.privacy-banner{position:fixed;z-index:100;bottom:22px;left:22px;right:22px;max-width:740px;padding:24px;background:var(--surface);color:var(--dark);border:1px solid var(--edge-bold);border-radius:22px;box-shadow:0 10px 45px #0005}.privacy-banner h2{font-size:24px;margin:0 0 10px}.privacy-banner p{font-size:15px;color:var(--muted);margin-bottom:16px}.privacy-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.privacy-actions .button{min-height:46px}.privacy-actions a{font-size:15px}.privacy-actions button:disabled{opacity:.6;cursor:default}.legal-copy h2{scroll-margin-top:24px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:760px){.privacy-banner{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));padding:20px;max-height:72dvh;overflow:auto}.privacy-actions .button{flex:1 1 135px;padding:12px;font-size:13px}.legal-links{gap:8px 16px}}

/* Make the initial privacy choice readable before showing an update toast. */
html.privacy-choice-open #pwa-update{display:none!important}

/* Repeated home root class keeps the previous :has(.hero.home) specificity. */

/* Defer distant home sections while preserving their DOM, search and accessibility. */
@supports(content-visibility:auto){body.home-page main>.section{content-visibility:auto;contain-intrinsic-size:auto 700px}}

/* BioShield public brand system: palette, type hierarchy, shield pattern and quiet surfaces. */
:root{
 --brand-red:#c40000;
 --brand-display:'Red Hat Display',Arial,sans-serif;
 --brand-label:Montserrat,Arial,sans-serif;
 --brand-body:Poppins,Arial,sans-serif;
 --brand-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 280'%3E%3Cpath d='M120 18C89 43 60 50 24 56v91c0 58 40 93 96 119 56-26 96-61 96-119V56c-36-6-65-13-96-38Z' fill='none' stroke='%23c40000' stroke-width='9'/%3E%3Cpath d='M120 42C93 62 72 68 46 74v73c0 44 29 73 74 96 45-23 74-52 74-96V74c-26-6-47-12-74-32Z' fill='none' stroke='%23c40000' stroke-width='2'/%3E%3C/svg%3E");
 --cream:#faf8f1;--dark:#18201b;--muted:#505750;
 --surface:#fffefb;--surface-alt:#f0eee6;--line:#dcded7;
 --edge:#18201b1c;--edge-strong:#18201b26;--edge-bold:#18201b35;
 --label:#9c0000;--subtle:#596158;--outline:#828a80;
}
html[data-theme=dark]{
 --cream:#151a17;--dark:#f4f5ee;--muted:#c2c9c1;
 --surface:#1c231e;--surface-alt:#202921;--line:#3b483d;
 --edge:#f4f5ee24;--edge-strong:#f4f5ee32;--edge-bold:#f4f5ee40;
 --accent:#ffaaa4;--label:#ffaaa4;--subtle:#c2c9c1;
 --outline:#8b9b8b;--link:#ffaaa4;--link-hover:#ffd3cf;
}
body.brand-system{font-family:var(--brand-body);font-size:17px;line-height:1.75;background:var(--cream)}
.brand-system :is(h1,h2,h3,h4){font-family:var(--brand-display);text-wrap:balance}
.brand-system :is(.eyebrow,.number,.button,.desktop-nav,.hero-premises,.pill-row,.mobile-nav summary){font-family:var(--brand-label)}
.brand-system .eyebrow{font-size:11px;line-height:1.6;letter-spacing:.16em}
.brand-system .desktop-nav{font-size:12px;gap:1px}
.brand-system .desktop-nav a{padding:11px 10px;border-radius:10px}
.brand-system .desktop-nav a[href='/contact']{background:var(--brand-red);border-radius:12px;padding-inline:18px}
.brand-system .header{border-bottom-color:var(--edge)}
.brand-system .header-inner{min-height:104px}
.brand-system main>.section{padding-block:88px}
.brand-system .section-intro{max-width:65ch;line-height:1.8}
.brand-system .card p,.brand-system .prose{line-height:1.8}
.brand-system .hero p{line-height:1.75}
.brand-system .button,.brand-system.inner-page .button,
body.brand-system:is(.home-page.home-page,.inner-page) .cta .button,
body.brand-system:is(.home-page.home-page,.inner-page) .mobile-contact .button{
 border-radius:12px;min-height:50px;letter-spacing:0;text-align:center
}
.brand-system .button:not(.outline):not(:disabled){background:var(--brand-red);border-color:var(--brand-red)}
.brand-system .button:not(.outline):not(:disabled):hover{background:#9e0000;border-color:#9e0000}
.brand-system .button.outline:hover{background:var(--active)}
body.brand-system:is(.home-page.home-page,.inner-page) main>.section .card,
.brand-system.inner-page .prose,.brand-system.inner-page .resource-links li,
.brand-system .review-story,.brand-system .google-reviews-shell,.brand-system .home-review-panel{
 border-radius:20px;box-shadow:none;border-color:var(--edge);background:var(--surface)
}
body.brand-system:is(.home-page.home-page,.inner-page) main>.section .number{
 min-width:36px;min-height:32px;height:auto;padding:4px 8px;margin-bottom:24px;
 border-radius:7px;background:var(--number-bg);font-size:11px;letter-spacing:.06em
}
body.brand-system:is(.home-page.home-page,.inner-page) main>.section .card-link{
 font-family:var(--brand-label);font-size:12px;line-height:1.6;font-weight:700;
 border-bottom:1px solid var(--link-edge);padding-bottom:5px
}
body.brand-system:is(.home-page.home-page,.inner-page) main>.section .card:hover{
 transform:none;box-shadow:none;border-color:var(--outline)
}
body.brand-system:is(.home-page.home-page,.inner-page) main>.section>.wrap>h2:before{
 width:40px;height:3px;border-radius:0;margin-bottom:24px
}
body.brand-system:is(.home-page.home-page,.inner-page) .cta{
 padding:48px;border-radius:24px;background:var(--surface-alt);box-shadow:none;border-color:var(--edge)
}
.brand-system .home-house-hero{background:var(--cream)}
.brand-system .home-house-hero .hero-copy h1{color:var(--dark)}
.brand-system .home-house-hero .hero-copy p,.brand-system .home-house-hero .hero-premises{color:var(--muted)}
.brand-system .home-house-hero .button.outline{color:var(--dark)!important;border-color:var(--outline)}
.brand-system .hero-booking-link{font-family:var(--brand-label)}
body.brand-system:is(.home-page.home-page,.inner-page) .footer{background:var(--surface-alt);border-color:var(--edge)}
.brand-system .footer .brand-promise{font-family:var(--brand-display);font-size:21px;line-height:1.3;color:var(--dark);max-width:25ch}
.brand-system .footer p{max-width:48ch}
.brand-system .footer h3{font-family:var(--brand-label);font-size:12px;letter-spacing:.04em}
.brand-system .privacy-banner{font-family:var(--brand-body);border-radius:16px;box-shadow:0 8px 36px #0002}
.brand-system .privacy-banner h2{font-family:var(--brand-display)}
.brand-system .campaign-price-card,.brand-system .campaign-index-card{border-radius:20px;box-shadow:none;background:var(--surface)}
body.brand-system:is(.home-page.home-page,.inner-page) main>.section.campaign-comparison{background:var(--surface-alt);color:var(--dark)}
.brand-system .campaign-comparison .eyebrow,.brand-system .campaign-compare-close{color:var(--label)}
.brand-system .campaign-compare-intro p,.brand-system .campaign-compare-table caption,.brand-system .campaign-compare-table td{color:var(--muted)}
.brand-system .campaign-compare-table,.brand-system .campaign-compare-table :is(th,td){border-color:var(--edge-bold)}
.brand-system .campaign-compare-table th:last-child,.brand-system .campaign-compare-table td:last-child{background:var(--active);color:var(--dark);border-left:2px solid var(--accent)}
.brand-system .campaign-compare-table td:last-child:before{color:var(--label)}
@media(prefers-reduced-motion:no-preference){
 .brand-system .home-house-hero .hero-copy>*{animation:none}
 .brand-system .button,.brand-system .card{transition:background-color .18s ease,border-color .18s ease,color .18s ease}
 .brand-system .button:hover{transform:none;box-shadow:none}
}
@media(max-width:1050px){.brand-system .desktop-nav{font-size:11px}.brand-system .desktop-nav a{padding-inline:8px}}
@media(max-width:760px){
 body.brand-system{font-size:16px}
 .brand-system .header-inner{min-height:84px}
 .brand-system .mobile-nav nav{top:84px}
 .brand-system main>.section{padding-block:60px}
 body.brand-system:is(.home-page.home-page,.inner-page) .cta{padding:28px;border-radius:20px}
 .brand-system .footer .brand-promise{font-size:20px}
 .brand-system .privacy-banner{border-radius:14px}
}


/* GSAP progressively enhances native content; no hidden-content loading state. */
html[data-motion=gsap] .hero:after,html[data-motion=gsap] main>.section:before,html[data-motion=gsap] main>.section:after{translate:0 var(--shape-shift,0px)}
html[data-motion=gsap] .hero .hero-copy,html[data-motion=gsap] .hero .hero-copy>*,html[data-motion=gsap] .review-story{animation:none}
html[data-motion=gsap] .button,html[data-motion=gsap] .card,html[data-motion=gsap] .house-hotspot{transition-property:background,border-color,box-shadow,color;transition-duration:.2s}
html[data-motion=gsap] body.home-page.home-page .card:hover,html[data-motion=gsap] body.home-page.home-page .button:hover,html[data-motion=gsap] .button:hover{transform:none}
@media(prefers-reduced-motion:reduce){html[data-motion=gsap] .hero:after,html[data-motion=gsap] main>.section:before,html[data-motion=gsap] main>.section:after{translate:none}}

/* Keep the desktop app bar steady while the selected public page dissolves in. */
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
 body.brand-system>.header{view-transition-name:site-navigation}
 body.brand-system>main{view-transition-name:public-content}
 html:not(.room-native-transition) body.brand-system>main{animation:public-page-in .28s ease-out both}
 ::view-transition-group(site-navigation),::view-transition-group(public-content){animation:none}
 ::view-transition-old(site-navigation){animation:none;opacity:0}
 ::view-transition-new(site-navigation){animation:none;mix-blend-mode:normal}
 ::view-transition-old(public-content){animation:public-page-out .22s ease-out both;mix-blend-mode:normal}
 ::view-transition-new(public-content){animation:public-page-in .34s cubic-bezier(.2,.7,.3,1) both;mix-blend-mode:normal}
 .desktop-nav>a{transition:color .2s,background-color .2s,border-color .2s;text-underline-offset:8px}
}
@keyframes public-page-out{to{opacity:0}}
@keyframes public-page-in{from{opacity:0}to{opacity:1}}

/* Selected completed visits; only pre-masked, de-identified data is rendered. */
.treatment-highlights{padding:88px 0;background:var(--surface-alt);color:var(--dark);border-top:1px solid var(--edge)}
.treatment-highlights-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:32px}.treatment-highlights-heading h2{margin:18px 0 0;scroll-margin-top:140px}.treatment-highlights-heading>p{max-width:34ch;margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.treatment-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.treatment-highlight{display:flex;flex-direction:column;padding:28px;border:1px solid var(--edge-bold);border-radius:24px;background:var(--surface)}
.treatment-highlight-status{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-bottom:24px;border-radius:999px;padding:6px 10px;background:var(--active);color:var(--label);font:700 10px/1.5 Montserrat,sans-serif;letter-spacing:.02em}.treatment-highlight h3{font-size:23px;line-height:1.25;margin:0 0 12px}.treatment-highlight-property{font-size:12px;color:var(--muted);margin:0 0 28px;line-height:1.7}
.treatment-highlight-details{display:grid;gap:8px;margin:0 0 24px;font-size:12px;line-height:1.6}.treatment-highlight-details>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.treatment-highlight-details dt{color:var(--muted);flex-shrink:0}.treatment-highlight-details dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}
.treatment-highlight-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--edge)}.treatment-highlight-contact>span:first-child{font-size:11px;color:var(--muted)}.treatment-highlight-phone{white-space:nowrap;font:700 14px/1.5 Montserrat,sans-serif;letter-spacing:.06em}.treatment-highlight-mask{filter:blur(1.5px);opacity:.65;user-select:none;padding-inline:2px}.treatment-highlights-link{display:inline-block;margin-top:28px;font:700 12px/1.8 Montserrat,sans-serif}
@media(max-width:1000px){.treatment-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.treatment-highlights{padding:56px 0}.treatment-highlights-heading{display:block;margin-bottom:24px}.treatment-highlights-heading h2{font-size:32px;margin-bottom:18px}.treatment-highlights-grid{grid-template-columns:1fr;gap:14px}.treatment-highlight{padding:24px}.treatment-highlight h3{font-size:23px}.treatment-highlight-status{margin-bottom:18px}}

/* Direct contact floats independently of the photographic hero. */
.contact-fab{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:45;font-family:var(--brand-body,Poppins,Arial,sans-serif)}
.contact-fab-toggle{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;min-width:56px;padding:15px 20px;border:1px solid #ffffff5c;border-radius:999px;background:#c40000ed;box-shadow:0 5px 20px #0003;color:#fff;font:700 12px var(--brand-label,Montserrat,Arial,sans-serif);cursor:pointer;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.contact-fab-toggle>svg{width:24px;height:24px;flex-shrink:0}.contact-fab-toggle:hover{background:#a60000}.contact-fab-close{display:none;font:400 30px/24px Arial,sans-serif}.contact-fab-toggle[aria-expanded=true]>svg{display:none}.contact-fab-toggle[aria-expanded=true] .contact-fab-close{display:block}.contact-fab-options[hidden]{display:none}
.contact-fab-options{position:absolute;bottom:calc(100% + 12px);right:0;width:min(286px,calc(100vw - 32px));padding:18px;border:1px solid var(--edge-bold,#d9d3ce);border-radius:24px;background:var(--surface,#f8f5f2);box-shadow:0 12px 40px #0003;color:var(--dark,#181614)}
.contact-fab-options>p{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--muted,#55504d)}
.contact-fab-options>a{display:flex;align-items:center;gap:12px;min-height:50px;padding:12px 14px;border-radius:14px;border:1px solid var(--edge-bold,#d9d3ce);color:var(--dark,#181614);text-decoration:none;font:700 12px var(--brand-label,Montserrat,Arial,sans-serif);line-height:1.5}
.contact-fab-options>a+a{margin-top:8px}.contact-fab-options>a:hover{background:var(--active,#c4000010);color:var(--label,#c40000)}.contact-fab-options>a>svg{width:20px;height:20px;flex-shrink:0}
html.privacy-choice-open .contact-fab,body.booking-open .contact-fab,body:has(.mobile-nav[open]) .contact-fab,body:has(#pwa-update:not([hidden])) .contact-fab{display:none}
@media(max-width:760px){.contact-fab{right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}.contact-fab-toggle{width:56px;height:56px;padding:15px}.contact-fab-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-fab-toggle[aria-expanded=true] .contact-fab-close{line-height:24px}body:has(:is(input,select,textarea,[contenteditable=true]):focus) .contact-fab{display:none}}
@media(prefers-reduced-motion:no-preference){.contact-fab-options{transform-origin:bottom right;animation:contact-fab-reveal .2s cubic-bezier(.22,.61,.36,1) backwards}.contact-fab-toggle,.contact-fab-options>a{transition:background-color .18s ease,border-color .18s ease,color .18s ease}@keyframes contact-fab-reveal{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}}
