:root{--green:#193c30;--deep:#102b22;--lime:#e0edaa;--paper:#f7f6ef;--white:#fffefa;--ink:#202e28;--muted:#5d6861;--line:#d7dbce;--radius:18px;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #799442;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.06;letter-spacing:-.045em}p+p{margin-top:16px}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;background:var(--green);color:var(--white);border:1px solid transparent;border-radius:7px;font-size:15px;font-weight:700;line-height:1.3;text-decoration:none;text-align:center;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.small{min-height:46px;padding:12px 17px;font-size:14px}.button.light{background:var(--lime);color:var(--green)}.button.light:hover{background:#eff9c6}.skip-link{position:fixed;top:-100px;left:16px;padding:12px;background:white;z-index:50}.skip-link:focus{top:10px}.availability{min-height:38px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:7px 15px;background:var(--green);color:var(--white);font-size:13px;line-height:1.5}.status-dot{height:6px;width:6px;background:var(--lime);border-radius:50%}.availability-extra{color:#c6d3bd;margin-left:10px}.site-header{background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:18px;font-weight:800;letter-spacing:-.035em;white-space:nowrap;line-height:1.3}.brand-mark{width:43px;height:48px;border:2px solid var(--green);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:25px;line-height:.9;letter-spacing:-.08em;transform:rotate(-4deg)}.brand-mark span{font-size:9px;letter-spacing:.15em;margin-top:5px}.brand-sub{display:block;font-size:9px;letter-spacing:.14em;margin-top:4px}nav{display:flex;gap:20px;align-items:center}nav a{font-size:13px;text-decoration:none;padding-block:13px;white-space:nowrap}nav a:hover{text-decoration:underline}.header-actions{display:flex;align-items:center;gap:18px}.header-phone{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;padding-block:14px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-block:36px 32px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--green);margin-bottom:23px}.hero h1{font-size:clamp(52px,5.25vw,78px);font-weight:600;line-height:1.01}.hero h1 span{color:#65783d}.hero-intro{font-weight:700;font-size:20px;margin-top:28px}.hero-body{max-width:460px;font-size:16px;color:var(--muted);margin-top:10px;margin-bottom:27px}.hero-links{display:flex;gap:15px;align-items:center;margin-top:14px;font-size:14px;font-weight:600}.hero-links a{padding-block:10px}.hero-links span{color:#a6ac9e}.micro{font-size:12px;color:var(--muted);margin-top:18px;letter-spacing:.025em}.hero-photo{height:510px;position:relative;border-radius:var(--radius);overflow:hidden;background:#c6d3ad}.hero-photo>img{width:100%;height:100%;object-position:42% center}.hero-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,28,19,.74));pointer-events:none}.hero-photo figcaption{position:absolute;bottom:28px;left:30px;right:20px;z-index:1;color:white;display:flex;flex-direction:column;gap:13px;font-size:24px;line-height:1.2;letter-spacing:-.03em}.photo-label{font-size:10px;font-weight:700;letter-spacing:.16em}.photo-tag{position:absolute;top:24px;right:23px;border:1px solid #ffffff8a;border-radius:30px;padding:9px 15px;color:white;background:#16312450;font-size:10px;letter-spacing:.1em}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:28px;gap:24px}.facts p{border-top:1px solid var(--line);padding-top:23px;margin:0}.facts strong{display:block;font-size:16px}.facts span{font-size:13px;color:var(--muted)}.mobile-bar{display:none}
@media(min-width:1600px){.hero{gap:80px}.hero-photo{height:610px}}
@media(max-width:1220px){.wrap{width:calc(100% - 64px)}.header-inner{gap:16px;flex-wrap:wrap;padding-block:16px}.header-actions{margin-left:auto}nav{order:3;width:100%;justify-content:center;gap:34px;border-top:1px solid var(--line);padding-top:8px;margin-top:2px}nav a{padding-block:6px}.hero{gap:32px}.hero-photo{height:540px}html{scroll-padding-top:165px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.availability{font-size:12px}.availability-extra{display:none}.header-inner{min-height:78px;padding-block:14px;gap:12px;flex-wrap:wrap}.brand{font-size:17px}.brand-mark{width:35px;height:40px;font-size:22px}.brand-sub{font-size:8px}.header-actions{display:none}.menu-toggle{display:flex;align-items:center;gap:9px;background:none;border:1px solid var(--line);border-radius:5px;padding:10px 13px;min-height:44px;font-size:14px;margin-left:auto}nav{display:none;flex-direction:column;align-items:stretch;gap:0;order:3;width:100%;padding-block:8px;margin:0}nav.is-open{display:flex}nav a{font-size:16px;min-height:44px;padding:9px 4px}.hero{grid-template-columns:1fr;gap:28px;padding-block:35px 25px}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:20px}.hero h1{font-size:clamp(47px,11.5vw,74px)}.hero-intro{font-size:18px;margin-top:22px}.hero-body{font-size:16px;margin-bottom:22px}.hero-links{font-size:13px;gap:11px;margin-top:8px}.micro{margin-top:8px}.hero-photo{height:370px}.hero-photo>img{object-position:45% center}.hero-photo figcaption{left:23px;bottom:23px;font-size:23px}.photo-tag{top:18px;right:18px}.facts{grid-template-columns:1fr;gap:0;padding-bottom:25px}.facts p{padding:16px 0;display:flex;flex-direction:column}.facts span{font-size:14px}.facts strong{font-size:17px}.mobile-bar{position:fixed;z-index:30;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--line);padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr 1fr 2.4fr;align-items:center;gap:5px}.mobile-bar>a{display:flex;min-height:48px;align-items:center;justify-content:center;text-decoration:none;font-size:14px;font-weight:700}.mobile-bar .button{padding:10px;font-size:13px}body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}html{scroll-padding-top:100px}}
.section{padding-block:64px}.section h2{font-size:clamp(36px,3.6vw,52px);font-weight:600;line-height:1.08}.section h3{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.035em}.section p{color:var(--muted)}.section .eyebrow{color:var(--green)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px}.section-heading>p{max-width:340px;font-size:16px;padding-bottom:4px}.section-heading .eyebrow,.center-heading .eyebrow{margin-bottom:17px}.services{background:#ebeede;border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.service-card{background:var(--white);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.service-image{position:relative;height:220px}.service-image img{width:100%;height:100%;object-position:50% 40%}.service-image:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#15281a80)}.service-image>span{position:absolute;bottom:19px;left:24px;color:white;font-size:11px;font-weight:700;letter-spacing:.12em;z-index:1}.service-content{padding:24px;flex:1;display:flex;flex-direction:column}.service-content>p{font-size:16px;line-height:1.6;margin-top:12px}.service-content h3{font-size:25px;min-height:60px}.service-detail{margin-block:12px}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;font-weight:600;font-size:14px}summary::-webkit-details-marker{display:none}summary:after{content:"+";flex-shrink:0;font-size:22px;font-weight:400;line-height:1}details[open]>summary:after{content:"−"}details p{font-size:15px;margin-top:12px}.service-detail summary{border-bottom:1px solid var(--line);padding-bottom:8px}.service-bottom{margin-top:auto;display:flex;flex-direction:column;gap:16px}.service-bottom>span{font-size:13px;font-weight:600;color:var(--muted)}.service-bottom .button{min-height:47px;font-size:13px;align-self:flex-start}.training-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.training-grid>article{display:flex;gap:20px;border-top:1px solid #c3cbb9;padding-top:26px}.training-grid .index{font-size:12px;font-weight:700;border:1px solid #c3cbb9;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.training-grid h3{font-size:22px}.training-grid p{font-size:15px;margin-top:12px}.training-grid .button{background:none;color:var(--green);padding:9px 0;min-height:44px;border-radius:0;text-decoration:underline;text-underline-offset:5px}.training-grid .button:hover{transform:none}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:28px 0 0}.steps li{border-top:1px solid var(--line);padding-top:24px}.steps li>span{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;background:var(--lime);color:var(--green);font-size:13px;margin-bottom:24px}.steps h3{font-size:22px;line-height:1.25;margin-bottom:14px}.steps p{font-size:15px}.section-cta{display:flex;justify-content:center;margin-top:28px}.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.approach{padding-top:25px}.approach-photo{position:relative;min-height:500px;height:100%;overflow:hidden;border-radius:var(--radius)}.approach-photo img{width:100%;height:100%;position:absolute;inset:0}.approach-photo figcaption{position:absolute;bottom:0;padding:60px 27px 25px;left:0;right:0;background:linear-gradient(transparent,#102b22d9);color:white;font-size:13px}.split p:not(.eyebrow){margin-top:20px}.split .button{margin-top:25px}.split h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}.stay{background:var(--green);color:var(--paper)}.stay .eyebrow{color:var(--lime)}.stay p{color:#d2ddce}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:28px}.day-card{padding:36px;background:#254839;border:1px solid #43604e;border-radius:var(--radius)}.day-card h3{font-size:27px;margin-bottom:23px}.day-card>div{display:flex;gap:24px;padding:21px 0;border-top:1px solid #45614e}.day-card>div>span{font-size:12px;margin-top:5px;color:var(--lime)}.day-card strong{display:block;color:var(--white);font-size:18px;margin-bottom:5px}.day-card p{font-size:15px}.stay-notes{padding-top:8px}.stay-notes h3{font-size:26px}.stay-notes dl{margin:25px 0 0}.stay-notes dt{font-weight:600;font-size:16px;margin-top:18px}.stay-notes dd{margin:4px 0 0;color:#d2ddce;font-size:15px}.center-heading{text-align:center;margin-bottom:28px}.center-heading>p:last-child{margin-top:15px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card{border:1px solid var(--line);border-radius:var(--radius);padding:35px;background:var(--white);display:flex;flex-direction:column}.price-card.featured{background:#e8efcc;border-color:#c4ce9e}.price-label{font-size:10px;letter-spacing:.1em;font-weight:700;margin-bottom:21px}.price-card h3{font-size:24px}.price-card .price{font-size:60px;letter-spacing:-.06em;color:var(--green);line-height:1.2;margin:23px 0}.price span{font-size:13px;letter-spacing:0;color:var(--muted);margin-left:10px}.price-card>p:not(.price){font-size:15px}.price-note{font-size:12px;color:var(--muted);margin-top:auto;padding-top:26px}.pricing-footnote{text-align:center;font-size:14px;margin-top:24px}.reviews{background:#ecefe3;border-block:1px solid var(--line)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.review-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.review-dog{display:flex;align-items:center;gap:17px}.review-dog img{width:72px;height:72px;border-radius:50%;object-position:50% 35%}.review-card:nth-child(2) .review-dog img{object-fit:cover;object-position:50% 50%;transform:scale(1);border:5px solid #e4d5c4}.review-dog h3{font-size:20px}.review-dog p{font-size:13px;margin-top:4px}.review-card blockquote{font-size:28px;font-family:Georgia,serif;letter-spacing:-.02em;line-height:1.3;margin:22px 0 20px;min-height:0}.review-card summary{font-size:13px;border-top:1px solid var(--line);padding-top:14px}.full-review{font-size:15px;line-height:1.8}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}.faq-layout>div:first-child>p:not(.eyebrow){margin:25px 0;max-width:340px}.faq-list details{border-bottom:1px solid var(--line);padding:17px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:16px;line-height:1.5;gap:28px}.faq-list p{padding:3px 24px 7px 0;line-height:1.75}.about{background:#e5e9d9}.about-photo{height:480px;border-radius:var(--radius);overflow:hidden}.about-photo img{width:100%;height:100%}.about-lead{font-size:25px!important;line-height:1.3;color:var(--green)!important;font-weight:600;letter-spacing:-.025em}.signature{font-family:Georgia,serif;font-style:italic;font-size:25px;color:var(--green);display:block;margin-top:24px}.instagram .section-heading{align-items:center}.social-link{font-size:15px;min-height:44px;display:flex;align-items:center}.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.instagram-grid a{border-radius:12px;overflow:hidden;aspect-ratio:1}.instagram-grid img{width:100%;height:100%;transition:transform .3s}.instagram-grid a:hover img{transform:scale(1.04)}.contact{background:var(--green);color:var(--white)}.contact-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:48px;align-items:center}.contact .eyebrow{color:var(--lime)}.contact h2{font-size:clamp(44px,4.5vw,66px)}.contact-copy>p:not(.eyebrow){max-width:340px;color:#d2ddce;margin-top:22px}.contact-methods{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.contact-methods a{min-height:44px;display:flex;align-items:center;text-decoration:none}.contact-methods a:first-child{font-size:29px;font-weight:500;letter-spacing:-.035em}.contact-methods a:last-child{font-size:17px;border-bottom:1px solid #718578}.location-list{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid #45614e;margin-top:24px;padding-top:20px}.location-list h3{font-size:17px;font-weight:600;letter-spacing:0}.location-list p{font-size:14px;color:#d2ddce;margin-top:10px}.contact-copy .contact-note{font-size:12px;margin-top:14px!important}.contact-copy .contact-hours{font-size:14px;margin-top:29px!important}.socials{display:flex;gap:24px;margin-top:15px}.socials a{min-height:44px;display:flex;align-items:center;font-size:14px}.request-panel{border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:30px;scroll-margin-top:12px;min-width:0}.form-heading .eyebrow{color:var(--green);font-size:10px;display:block;margin-bottom:12px}.form-heading h3{font-size:31px}.form-heading p{margin-top:8px;font-size:13px}.demo-notice{margin-top:20px;background:#e9eddc;border:1px solid #d4dcc0;padding:12px 14px;border-radius:7px;font-size:12px;color:#4c5e43!important;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin-top:26px}.form-grid label{display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:7px;min-width:0}.form-grid input,.form-grid select{width:100%;min-width:0;min-height:47px;border:1px solid #bdc8b7;border-radius:5px;padding:10px 12px;background:var(--white);color:var(--ink);font-size:16px}.form-grid input[type=date]{min-height:48px;appearance:none;-webkit-appearance:none}.form-grid .full{grid-column:1/-1}.field-hint{font-size:11px;font-weight:400;color:var(--muted)}.form-submit{width:100%;margin-top:23px}.form-submit:disabled{opacity:.65;cursor:wait;transform:none}.form-alternative{font-size:12px;text-align:center;margin-top:18px}.form-alternative a{display:inline-block;min-height:44px;align-content:center}.form-status:not(:empty),#form-status:not(:empty){padding:15px;border:1px solid #c2d296;border-radius:5px;margin-top:20px;background:#e8efcc;font-size:14px;color:var(--green)}#form-status.error{background:#f5e8df;border-color:#d7b9a7;color:#754523}footer{background:var(--deep);color:var(--white);padding-block:42px 23px}.footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr .45fr;gap:30px;align-items:start}.footer-main .brand-mark{border-color:var(--lime);color:var(--lime)}.footer-main p{font-size:13px;color:#c3cfbd}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start}.footer-main>div a{font-size:13px;text-decoration:none;min-height:36px;display:flex;align-items:center;overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a8bba2;border-top:1px solid #385344;margin-top:34px;padding-top:21px}
@media(max-width:1220px){.hero h1{font-size:clamp(48px,5.1vw,67px)}.split{gap:45px}.service-content{padding:24px 20px}.service-content h3{font-size:23px}.service-image{height:220px}.price-card{padding:27px}.price-card .price{font-size:49px}.price span{display:block;margin:4px 0 0}.contact-grid{gap:45px}.request-panel{padding:28px}.faq-layout{gap:48px}.footer-main{grid-template-columns:1fr 1fr}.hero-photo{height:490px}}
@media(max-width:760px){.section{padding-block:44px}.section h2{font-size:36px;line-height:1.12}.hero h1{font-size:clamp(38px,9.6vw,68px)}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:100%;margin-top:20px;font-size:16px}.section .eyebrow{font-size:10px;letter-spacing:.12em}.service-grid,.training-grid,.split,.stay-grid,.pricing-grid,.review-grid,.faq-layout,.contact-grid{grid-template-columns:1fr}.service-grid{gap:24px}.service-image{height:240px}.service-content{padding:25px}.service-content h3{font-size:25px;min-height:60px}.service-content>p,.service-detail p,.training-grid p,.steps p,.day-card p,.stay-notes dd,.price-card>p:not(.price),.full-review,.faq-list p{font-size:16px}.service-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.service-bottom>span{font-size:12px}.service-bottom .button{padding:12px;font-size:12px;max-width:155px}.training-grid{gap:25px;margin-top:30px}.training-grid>article{gap:15px}.training-grid h3{font-size:22px}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.steps h3{font-size:20px}.steps li>span{margin-bottom:17px}.section-cta{margin-top:28px}.split{gap:30px}.approach{padding-top:0}.approach-photo{height:350px;min-height:350px}.approach-photo figcaption{font-size:12px}.stay-grid{gap:30px;margin-top:28px}.day-card{padding:27px}.day-card>div{gap:15px}.stay-notes{padding:0}.price-card{padding:30px}.price-label{font-size:10px;margin-bottom:12px}.price-card h3{font-size:26px}.price-card .price{font-size:57px;margin:15px 0}.price span{display:inline;font-size:13px;margin-left:8px}.price-note{font-size:13px;padding-top:20px}.review-card{padding:25px}.review-card blockquote{font-size:27px;min-height:0}.review-card summary{font-size:14px}.faq-layout{gap:30px}.faq-list details{padding:14px 0}.faq-list summary{font-size:16px}.about-photo{height:380px}.about-lead{font-size:24px!important}.instagram-grid{grid-template-columns:1fr 1fr;gap:12px}.social-link{margin-top:10px}.contact-grid{gap:35px}.contact h2{font-size:48px}.contact-methods a:first-child{font-size:28px}.contact-methods a:last-child{font-size:16px;overflow-wrap:anywhere;max-width:100%}.location-list{gap:20px}.location-list p{font-size:14px}.request-panel{padding:24px 20px}.form-heading h3{font-size:28px}.form-grid{grid-template-columns:1fr;gap:18px}.form-grid label{font-size:14px}.form-heading p{font-size:14px}.demo-notice{font-size:12px}.field-hint{font-size:12px}.form-alternative{font-size:12px}.footer-main{grid-template-columns:1fr;gap:20px}.footer-main p{font-size:14px}.footer-main>div a{font-size:14px;min-height:44px}.footer-bottom{flex-direction:column;gap:7px;font-size:12px}footer{padding-top:35px}summary{gap:15px}.review-dog p{font-size:14px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.steps{grid-template-columns:1fr}.brand{font-size:15px}.menu-toggle{padding-inline:10px}.hero-photo{height:315px}.service-bottom{flex-direction:column;align-items:flex-start}.location-list{grid-template-columns:1fr}.price span{font-size:12px}.hero-links{gap:9px;font-size:12px}}
.hero-links a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){html{scroll-padding-bottom:calc(95px + env(safe-area-inset-bottom))}.brand{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep each introductory paragraph attached to its heading. */
#services .section-heading,
#how-it-works .section-heading {
  display: block;
  margin-bottom: 28px;
}
#services .section-heading > p,
#how-it-works .section-heading > p {
  max-width: 62ch;
  margin: 14px 0 0;
  padding: 0;
}

/* Compact questionnaire and consistent vertical rhythm. */
[hidden]{display:none!important}
.form-heading h3{font-size:28px}.form-heading p{font-size:14px;margin-top:8px}
.quiz-progress{margin-top:22px}.quiz-progress>span{font-size:12px;font-weight:700;letter-spacing:.025em;color:var(--muted)}
.progress-track{height:4px;border-radius:4px;background:#dce2ce;margin-top:9px;overflow:hidden}.progress-track>span{display:block;width:25%;height:100%;background:var(--green);transition:width .2s}
.quiz-step{border:0;padding:0;margin:24px 0 0;min-inline-size:0;min-height:225px;width:100%}
.quiz-step legend{padding:0;width:100%;font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.035em;color:var(--ink)}
.quiz-step legend:focus{outline:none}.quiz-step .question-help{font-size:14px;line-height:1.5;margin:10px 0 20px;color:var(--muted)}
.choice-grid{display:grid;gap:10px}.size-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{position:relative;cursor:pointer;min-width:0}
.choice input{position:absolute;opacity:0;width:1px;height:1px;left:50%;top:50%;margin:0}
.choice>span{display:flex;align-items:center;justify-content:center;min-height:72px;padding:14px 8px;border:1px solid #bcc8ad;border-radius:8px;background:var(--white);color:var(--green);font-size:16px;font-weight:600;line-height:1.35;transition:background .15s,border-color .15s;overflow-wrap:anywhere}
.choice:hover>span{background:#edf2e0}.choice input:checked+span{background:var(--green);border-color:var(--green);color:var(--white)}.choice input:focus-visible+span{outline:3px solid #799442;outline-offset:3px}
.needs-choices{grid-template-columns:1fr 1fr}.needs-choices .choice>span{min-height:60px;font-size:14px;padding:12px;text-align:center}.needs-choices .choice:last-child{grid-column:1/-1}
.quiz-field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;min-width:0}.quiz-field input,.quiz-field select{width:100%;min-width:0;min-height:48px;border:1px solid #bdc8b7;border-radius:6px;padding:10px 12px;background:var(--white);font-size:16px;color:var(--ink)}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-fields .full{grid-column:1/-1}
.quiz-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.quiz-next{min-width:145px;min-height:48px}.quiz-back,.quiz-restart{border:0;background:none;padding:10px 0;min-height:44px;color:var(--green);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.quiz-back{margin-right:auto}.quiz-restart{margin-top:12px}.quiz-next:disabled{opacity:.65;cursor:wait;transform:none}
.request-panel .demo-notice{background:none;border:0;border-radius:0;padding:0;margin:18px 0 0;font-size:12px;line-height:1.5;color:var(--muted)!important}.form-alternative{margin-top:6px;font-size:12px}
#form-status:not(:empty){font-size:15px;line-height:1.6;margin-top:20px}.contact-copy .eyebrow{margin-bottom:16px}.contact-copy>p:not(.eyebrow){margin-top:16px}.contact-copy .contact-hours{margin-top:18px!important}.contact-copy .socials{margin-top:8px}
@media(min-width:761px){.review-card{height:100%}.service-content>p{min-height:103px}.hero-intro{margin-top:22px}.hero-body{margin-bottom:22px}.hero-links{margin-top:8px}.hero .micro{margin-top:8px}.approach-photo{min-height:460px}}
@media(max-width:760px){.hero{padding-block:28px 24px;gap:24px}.hero-photo{height:340px}.section-heading{margin-bottom:24px}.section-heading>p{margin-top:16px}.service-content h3{min-height:0}.service-image{height:215px}.service-content{padding:22px}.split{gap:26px}.split p:not(.eyebrow){margin-top:16px}.approach-photo{min-height:320px;height:320px}.about-photo{height:340px}.contact-grid{gap:28px}.request-panel{padding:24px 20px}.quiz-step{margin-top:22px;min-height:220px}.quiz-step legend{font-size:23px}.contact-fields{grid-template-columns:1fr;gap:14px}.quiz-actions{margin-top:20px;padding-top:18px}.choice>span{font-size:15px;min-height:66px}.needs-choices{grid-template-columns:1fr}.needs-choices .choice>span{min-height:48px;justify-content:flex-start;text-align:left;padding:12px 14px}.quiz-progress{margin-top:20px}.form-heading h3{font-size:26px}.quiz-next{min-width:130px}.form-alternative{line-height:1.5}.form-alternative a{min-height:44px}.review-card{padding:24px}}
@media(max-width:360px){.size-choices{gap:7px}.choice>span{font-size:14px;padding-inline:5px}.quiz-step legend{font-size:22px}.request-panel{padding:22px 16px}.quiz-next{min-width:120px;padding-inline:15px}}
