:root {
  --mint:#a8dcc5;--mint-soft:#edf7f1;--forest:#23483f;--yellow:#ffd438;
  --ink:#1d2926;--muted:#596761;--line:#dedfd7;--cream:#f7f2e8;
  --ivory:#fcfaf4;--white:#fff;--shadow:0 24px 70px rgba(22,61,53,.1);
  --container:1220px;--header-height:78px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 18px)}
body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--ivory);font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;text-rendering:optimizeLegibility}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

.skip-link{position:fixed;top:10px;left:18px;z-index:100;transform:translateY(-160%);border:1px solid rgba(35,72,63,.18);border-radius:999px;background:var(--mint-soft);color:var(--forest);padding:10px 16px;font-weight:800;transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}

.site-header{position:sticky;top:0;z-index:40;display:flex;min-height:var(--header-height);align-items:center;gap:30px;border-bottom:1px solid rgba(22,61,53,.1);background:rgba(252,250,244,.94);padding:9px max(22px,calc((100vw - var(--container))/2));backdrop-filter:blur(16px)}
.brand{display:inline-flex;min-width:max-content;align-items:center;gap:11px;margin-right:auto}
.brand-logo{width:56px;height:56px;flex:0 0 auto;border-radius:15px;box-shadow:0 8px 24px rgba(22,61,53,.1);object-fit:cover}
.brand-copy{display:grid;gap:0;line-height:1.25}
.brand-copy strong{font-size:15px;font-weight:800;letter-spacing:-.025em}
.brand-copy small{color:var(--muted);font-size:10px;font-weight:600}
.nav{display:flex;align-items:center;gap:clamp(15px,1.65vw,24px);color:#40534d;font-size:13px;font-weight:700}
.nav a{position:relative;padding:10px 0}
.nav a::after{position:absolute;right:0;bottom:5px;left:0;height:2px;border-radius:99px;background:var(--forest);content:"";transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}
.nav-cta-mobile{display:none}
.header-cta,.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:0;border-radius:999px;cursor:pointer;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.header-cta{min-height:44px;border:1px solid rgba(35,72,63,.18);padding:10px 17px;background:var(--yellow);color:var(--forest);font-size:13px}
.header-cta:hover,.btn:hover{transform:translateY(-2px)}
.btn{padding:12px 21px;font-size:14px}
.btn-yellow{background:var(--yellow);box-shadow:0 12px 28px rgba(173,132,0,.16);color:#17231f}
.btn-yellow:hover{background:#ffca0a}
.btn-white{border:1px solid rgba(22,61,53,.18);background:transparent;color:var(--forest)}
.btn-white:hover{background:#fff}
.menu-btn{display:none;width:46px;height:46px;flex:0 0 auto;place-items:center;border:1px solid rgba(22,61,53,.18);border-radius:50%;background:#fff;cursor:pointer}
.menu-btn span{display:block;width:18px;height:2px;margin:3px auto;border-radius:99px;background:var(--forest);transition:transform .2s ease,opacity .2s ease}
.menu-btn[aria-expanded=true] span:first-child{transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-5px) rotate(-45deg)}

.hero{position:relative;display:grid;min-height:600px;grid-template-columns:minmax(0,.96fr) minmax(470px,1.04fr);gap:clamp(36px,4.4vw,64px);align-items:center;max-width:1380px;margin:0 auto;padding:clamp(38px,4.3vw,60px) clamp(22px,4.8vw,66px) 54px}
.hero::before{position:absolute;top:11%;left:-6%;z-index:-1;width:270px;height:270px;border-radius:50%;background:var(--mint-soft);content:""}
.hero-copy{grid-column:1;grid-row:1;max-width:590px}
.hero-copy.reveal{opacity:1;transform:none}
.hero-media{position:relative;grid-column:2;grid-row:1;height:clamp(420px,36vw,510px);overflow:hidden;border-radius:24px 24px 90px 24px;box-shadow:var(--shadow)}
.hero-media::before{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 64%,rgba(15,43,37,.2));content:"";pointer-events:none}
.hero-media::after{position:absolute;top:22px;right:22px;z-index:2;width:29px;height:29px;border:8px solid var(--yellow);border-radius:50%;content:""}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:55% center}
.hero-badge{position:absolute;right:20px;bottom:20px;z-index:2;display:grid;max-width:235px;gap:2px;border-radius:16px;background:rgba(252,250,244,.94);box-shadow:0 14px 34px rgba(22,61,53,.18);padding:13px 16px;backdrop-filter:blur(12px)}
.hero-badge strong{color:var(--forest);font-size:14px;font-weight:800}
.hero-badge span{color:var(--muted);font-size:11px;font-weight:600}
.eyebrow{margin:0 0 13px;color:#28554b;font-size:12px;font-weight:800;letter-spacing:.095em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--forest)}
h1{max-width:620px;margin-bottom:18px;font-size:clamp(52px,4.5vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.02}
h2{margin-bottom:18px;font-size:clamp(35px,3.7vw,52px);font-weight:700;letter-spacing:-.035em;line-height:1.08}
h3{margin-bottom:10px;font-size:20px;font-weight:750;letter-spacing:-.035em;line-height:1.25}
.lead{max-width:560px;margin-bottom:23px;color:#52615c;font-size:16px;line-height:1.62}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:25px}
.trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0;padding:0;list-style:none}
.trust-row li{position:relative;color:#3d514b;padding:5px 0 5px 20px;font-size:13px;font-weight:700;line-height:1.4}
.trust-row li::before{position:absolute;top:50%;left:0;color:#2f6659;content:"✓";font-size:13px;font-weight:900;line-height:1;transform:translateY(-52%)}

.section,.quote,.footer{padding-right:max(22px,calc((100vw - var(--container))/2));padding-left:max(22px,calc((100vw - var(--container))/2))}
.brand-intro{position:relative;z-index:1;display:grid;grid-template-columns:68px minmax(0,1fr);gap:20px;align-items:center;max-width:1040px;margin:-12px auto 10px;border-top:1px solid rgba(22,61,53,.14);border-bottom:1px solid rgba(22,61,53,.14);padding:20px 8px}
.brand-intro img{width:68px;height:68px;border-radius:18px}
.brand-intro .eyebrow{margin-bottom:4px}
.brand-intro h2{max-width:820px;margin-bottom:2px;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.045em}
.brand-intro p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}
.section{max-width:calc(var(--container) + 44px);margin:0 auto;padding-top:112px;padding-bottom:46px}
.section-heading{max-width:720px;margin-bottom:48px}
.section-heading.centered{margin-right:auto;margin-left:auto;text-align:center}
.section-heading p:not(.eyebrow){color:var(--muted);font-size:17px}

.pricing{padding-top:88px;padding-bottom:90px}
.pricing .section-heading{margin-bottom:40px}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,30px);align-items:stretch;max-width:1080px;margin:0 auto}
.price-card{position:relative;display:flex;min-width:0;flex-direction:column;border:1px solid rgba(35,72,63,.16);border-radius:24px;background:linear-gradient(145deg,#f5eddd 0%,#f8f4eb 62%,#eef7f1 100%);padding:30px clamp(24px,3vw,34px) 32px}
.price-card>span{width:max-content;margin-bottom:16px;border-radius:999px;background:var(--mint-soft);color:#28554b;padding:6px 11px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.price-card h3{margin-bottom:8px;font-size:25px}
.price-card>strong{display:block;margin-bottom:8px;color:var(--forest);font-size:clamp(42px,4vw,56px);font-weight:700;letter-spacing:-.065em;line-height:1}
.price-context{display:block;margin-bottom:20px;color:#68766f;font-size:12px;font-weight:650;line-height:1.4}
.price-card p{max-width:410px;margin-bottom:16px;color:var(--muted)}
.price-card.featured{border-color:rgba(35,72,63,.24);background:linear-gradient(145deg,var(--mint-soft),var(--ivory));box-shadow:0 25px 54px rgba(35,72,63,.13);color:var(--ink)}
.price-card:not(.featured){border-width:1px 0 0;border-color:var(--line);border-radius:0;background:transparent}
.price-card.featured>span{background:var(--yellow);color:var(--ink)}
.price-card.featured h3,.price-card.featured>strong{color:var(--forest)}
.price-card.featured p,.price-card.featured .price-points{color:var(--muted)}
.price-points{display:grid;gap:9px;margin:11px 0 0;padding:18px 0 0;border-top:1px solid rgba(22,61,53,.13);color:#53645f;font-size:14px;list-style:none}
.featured .price-points{border-top-color:rgba(35,72,63,.14)}
.price-points li{position:relative;padding-left:20px}
.price-points li::before{position:absolute;top:.72em;left:0;width:8px;height:3px;border-radius:99px;background:var(--yellow);content:""}
.price-action{display:inline-flex;width:max-content;min-height:46px;align-items:center;justify-content:center;border:1px solid rgba(35,72,63,.22);border-radius:999px;color:var(--forest);padding:11px 18px;font-size:14px;font-weight:800;line-height:1.25;text-align:center;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.price-action:hover{background:var(--mint-soft);transform:translateY(-2px)}
.price-action-primary{border-color:var(--yellow);background:var(--yellow);box-shadow:0 12px 28px rgba(173,132,0,.13);color:var(--ink)}
.price-action-primary:hover{background:#ffca0a}
.price-card-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(160px,1.2fr);gap:12px;align-items:center;margin-top:auto;padding-top:25px}
.price-card-actions .price-action{width:100%}
.price-inclusions-link{min-height:46px;border:0;background:transparent;color:var(--forest);padding:9px 4px;font-size:14px;font-weight:800;line-height:1.35;text-align:left;text-decoration:underline;text-decoration-color:rgba(35,72,63,.34);text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}
.price-inclusions-link:hover{text-decoration-color:var(--forest)}
.inclusions-panel{max-width:1080px;margin:26px auto 0;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(135deg,#173f36 0%,#285a4e 100%);box-shadow:0 24px 58px rgba(22,61,53,.18);padding:30px clamp(24px,3vw,36px) 28px}
.inclusions-panel[hidden]{display:none}
.inclusions-panel.is-opening{opacity:0;transform:translateY(10px)}
.inclusions-panel.is-visible{opacity:1;transform:none;transition:opacity 200ms ease,transform 200ms ease}
.inclusions-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.inclusions-heading .eyebrow{margin-bottom:5px;color:#bfe8d7}
.inclusions-heading h3{margin:0;color:#fff;font-size:clamp(25px,2.4vw,32px)}
.inclusions-heading h3:focus{outline:none}
.inclusions-close{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.inclusions-close:hover{background:rgba(255,255,255,.1)}
.inclusions-tabs{display:inline-flex;gap:5px;margin-bottom:24px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.09);padding:4px}
.inclusions-tabs button{min-height:40px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.8);padding:9px 17px;font-size:14px;font-weight:800;cursor:pointer}
.inclusions-tabs button[aria-pressed=true]{background:var(--yellow);box-shadow:0 7px 18px rgba(6,25,21,.22);color:var(--ink)}
.inclusions-content[hidden]{display:none}
.inclusions-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}
.inclusions-summary{grid-column:1/-1;margin:0 0 18px;border-left:3px solid var(--yellow);color:rgba(255,255,255,.76);padding:2px 0 2px 14px;font-size:15px}
.inclusions-summary strong{color:#fff}
.inclusions-group{border-top:1px solid rgba(255,255,255,.13);padding:15px 0 13px}
.inclusions-group-wide{grid-column:1/-1}
.inclusions-group h4{margin:0 0 8px;color:#fff;font-size:15px;letter-spacing:-.015em;line-height:1.35}
.inclusions-group ul{display:grid;gap:5px;margin:0;padding:0;list-style:none;color:rgba(255,255,255,.72);font-size:14px;line-height:1.5}
.inclusions-group li{position:relative;padding-left:15px}
.inclusions-group li::before{position:absolute;top:.67em;left:0;width:5px;height:5px;border-radius:50%;background:var(--yellow);content:""}
.inclusions-note{margin:12px 0 0;border-top:1px solid rgba(255,255,255,.13);padding:18px 0 0;color:rgba(255,255,255,.7);font-size:14px;line-height:1.55}
.inclusions-note a{color:var(--yellow);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.pricing-footnote{display:flex;max-width:1080px;align-items:center;justify-content:space-between;gap:24px;margin:22px auto 0;border-top:1px solid rgba(35,72,63,.14);padding:20px 2px 0}
.pricing-footnote p{margin:0;color:var(--muted);font-size:14px}
.pricing-footnote p strong{color:var(--forest)}
.pricing-footnote a{flex:0 0 auto;color:var(--forest);font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:4px}

.add-ons{max-width:none;background:var(--mint-soft);padding-top:94px;padding-bottom:94px}
.addon-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:clamp(40px,7vw,90px);align-items:center;max-width:var(--container);margin:0 auto}
.addon-panel .section-heading{margin-bottom:0}
.addon-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-content:center}
.addon-chip-grid span{position:relative;border-bottom:1px solid rgba(22,61,53,.16);color:var(--forest);padding:15px 0 15px 20px;font-size:15px;font-weight:700;line-height:1.35}
.addon-chip-grid span::before{position:absolute;top:50%;left:0;width:7px;height:7px;border-radius:50%;background:var(--yellow);content:"";transform:translateY(-50%)}

.work-photos{padding-top:116px}
.photo-placeholder-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px}
.photo-placeholder-grid article{position:relative;display:grid;min-height:215px;align-content:end;gap:7px;overflow:hidden;border-radius:20px;background:#e6e7e1;padding:23px}
.photo-placeholder-grid article::before{position:absolute;top:22px;right:22px;width:42px;height:42px;border:1px solid rgba(22,61,53,.13);border-radius:50%;content:"+";color:rgba(22,61,53,.42);font-size:24px;line-height:38px;text-align:center}
.photo-placeholder-grid article:nth-child(2),.photo-placeholder-grid article:nth-child(4){background:#edf0e9}
.photo-placeholder-grid article:first-child{min-height:444px;grid-row:span 2;background:#dce7e0}
.photo-placeholder-grid span{width:max-content;border-radius:999px;background:rgba(255,255,255,.72);color:#28554b;padding:5px 9px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.photo-placeholder-grid strong{color:var(--forest);font-size:19px;letter-spacing:-.035em}

.process{max-width:none;margin-top:72px;background:var(--cream);padding-top:96px;padding-bottom:100px}
.process .section-heading,.process-grid{max-width:var(--container);margin-right:auto;margin-left:auto}
.process-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr)}
.process-grid::before{position:absolute;top:21px;right:16.5%;left:5%;height:1px;background:rgba(22,61,53,.24);content:""}
.process-grid article{position:relative;padding-right:clamp(30px,5vw,70px)}
.process-grid span{position:relative;z-index:1;display:inline-grid;width:43px;height:43px;place-items:center;margin-bottom:24px;border:7px solid var(--cream);border-radius:50%;background:var(--yellow);box-shadow:0 0 0 1px rgba(22,61,53,.15);color:var(--forest);font-size:12px;font-weight:800}
.process-grid p{color:var(--muted)}

.reviews{padding-top:38px;padding-bottom:38px}
.reviews-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;margin-bottom:24px}
.reviews-heading-row .section-heading{max-width:760px;margin-bottom:0}
.reviews-heading-row h2{margin-bottom:0;font-size:clamp(36px,3.25vw,46px);line-height:1}
.reviews-heading-row .eyebrow{margin-bottom:7px}
.rating-summary{display:flex;align-items:baseline;gap:7px;color:var(--forest);white-space:nowrap}
.rating-score{font-size:32px;font-weight:800;letter-spacing:-.065em;line-height:1}
.rating-scale{color:var(--muted);font-size:11px;font-weight:800}
.rating-divider{width:1px;height:25px;align-self:center;margin:0 8px;background:var(--line)}
.rating-summary .stars{align-self:center;margin:0 5px 0 0;color:#765900;font-size:14px;letter-spacing:.08em;line-height:1}
.rating-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}
.rating-summary p strong{color:var(--forest);font-weight:800}
.review-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:16px}
.review-card{position:relative;display:flex;height:260px;min-height:260px;flex-direction:column;overflow:hidden;border:1px solid rgba(35,72,63,.12);border-radius:20px;background:var(--mint-soft);padding:24px 28px}
.review-card:nth-child(3){background:var(--cream)}
.review-card-featured{height:536px;min-height:536px;grid-row:span 2;background:var(--forest);color:#fff;padding:clamp(32px,3.4vw,42px)}
.review-card-featured::after{position:absolute;right:-48px;bottom:-65px;width:215px;height:215px;border:42px solid rgba(168,220,197,.11);border-radius:50%;content:""}
.review-card-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.review-card .stars{margin:0;color:#765900;font-size:17px;letter-spacing:.09em;line-height:1}
.review-card-featured .stars{color:var(--yellow)}
.review-number{color:rgba(35,72,63,.4);font-size:11px;font-weight:800;letter-spacing:.12em}
.review-card-featured .review-number{color:rgba(255,255,255,.38)}
.review-card blockquote{position:relative;z-index:1;max-width:590px;margin:0 0 20px;color:var(--forest);font-size:clamp(18px,1.65vw,21px);font-weight:650;letter-spacing:-.035em;line-height:1.34}
.review-card-featured blockquote{margin:auto 0 30px;color:#fff;font-size:clamp(29px,2.8vw,36px);line-height:1.25}
.reviewer{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:auto}
.reviewer-avatar{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--yellow);color:var(--forest);font-size:11px;font-weight:900;letter-spacing:.04em}
.reviewer div{display:grid;gap:1px;line-height:1.35}
.reviewer cite{color:var(--forest);font-size:13px;font-style:normal;font-weight:800}
.reviewer div span{color:var(--muted);font-size:12px}
.review-card-featured .reviewer cite{color:#fff}
.review-card-featured .reviewer div span{color:rgba(255,255,255,.65)}
.review-card>.review-card-top,.review-card>blockquote,.review-card>.reviewer{transition:opacity 325ms cubic-bezier(.4,0,.2,1),transform 325ms cubic-bezier(.4,0,.2,1)}
.review-card.review-content-exit>.review-card-top,.review-card.review-content-exit>blockquote,.review-card.review-content-exit>.reviewer{opacity:0;transform:translateY(-10px)}
.review-card.review-content-reset>.review-card-top,.review-card.review-content-reset>blockquote,.review-card.review-content-reset>.reviewer{opacity:0;transform:translateY(10px);transition:none}
@media(min-width:761px){
  .review-card:nth-child(2){height:320px;min-height:320px}
  .review-card:nth-child(3){height:200px;min-height:200px;padding-top:18px;padding-bottom:18px}
  .review-card:nth-child(3) .review-card-top{margin-bottom:12px}
  .review-card:nth-child(3) blockquote{margin-bottom:8px}
}
.quote{position:relative;display:grid;grid-template-columns:minmax(245px,.72fr) minmax(580px,1.6fr);gap:clamp(34px,5vw,72px);align-items:start;max-width:1380px;margin:96px auto 0;overflow:hidden;background:var(--mint);padding-top:clamp(62px,7vw,94px);padding-bottom:clamp(62px,7vw,94px)}
.quote::before{position:absolute;top:-125px;left:-90px;width:300px;height:300px;border:56px solid rgba(255,255,255,.18);border-radius:50%;content:""}
.quote-copy,.quote-form{position:relative;z-index:1}
.quote-copy{padding-top:10px}
.quote-copy h2{max-width:500px}
.quote-copy p:not(.eyebrow){max-width:450px;color:#315b52;font-size:16px}
.quote-benefits{display:grid;gap:12px;margin:30px 0 0;padding:0;list-style:none}
.quote-benefits li{position:relative;color:var(--forest);padding-left:28px;font-size:13px;font-weight:800}
.quote-benefits li::before{position:absolute;top:2px;left:0;display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:rgba(255,255,255,.72);content:"✓";font-size:11px}
.quote-form{display:block;min-width:0;border-radius:24px;background:#fff;box-shadow:0 24px 58px rgba(22,61,53,.16);padding:clamp(22px,3vw,36px)}
.quiz-progress-copy{display:flex;justify-content:space-between;gap:14px;margin-bottom:9px;color:var(--muted);font-size:12px;font-weight:800}
.quiz-progress{height:6px;overflow:hidden;border-radius:999px;background:var(--mint-soft)}
.quiz-progress span{display:block;width:16.667%;height:100%;border-radius:inherit;background:var(--yellow);transition:width .25s ease}
.quiz-step{padding-top:27px}
.quiz-step:not(.active){display:none}
.quiz-step-heading{margin-bottom:23px}
.quiz-step-heading h3{margin-bottom:5px;font-size:25px}
.quote h3[tabindex="-1"]:focus{outline:none}
.quiz-step-heading p{margin:0;color:var(--muted);font-size:13px}
.quiz-group{margin:0 0 22px;padding:0;border:0}
.quiz-group legend,.field-label,.quiz-field>span{display:block;width:100%;margin-bottom:9px;color:var(--forest);font-size:13px;font-weight:800}
.quiz-group legend small,.field-label small,.quiz-field>span small{color:var(--muted);font-weight:500}
.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.option-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-grid-frequency{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-grid-details{grid-template-columns:repeat(4,minmax(0,1fr))}
.option-grid-timing{grid-template-columns:repeat(4,minmax(0,1fr))}
.select-card,.select-chip{position:relative;display:block!important;min-width:0}
.select-card input,.select-chip input{position:absolute;width:1px!important;height:1px;min-height:0!important;opacity:0;pointer-events:none}
.select-card span{display:flex;min-height:50px;align-items:center;justify-content:center;border:1px solid #d8ded9;border-radius:12px;background:var(--ivory);color:var(--forest);padding:9px 10px;font-size:13px;font-weight:750;line-height:1.3;text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
.select-card input:checked+span,.select-chip input:checked+span{border-color:var(--forest);background:var(--mint-soft);box-shadow:inset 0 0 0 1px var(--forest)}
.select-card input:focus-visible+span,.select-chip input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:2px}
.select-card span:hover,.select-chip span:hover{transform:translateY(-1px)}
.addon-options{display:flex;flex-wrap:wrap;gap:8px}
.select-chip span{display:flex;min-height:40px;align-items:center;border:1px solid #d8ded9;border-radius:999px;background:var(--ivory);color:var(--forest);padding:8px 13px;font-size:12px;font-weight:750;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
.quote-form input,.quote-form textarea{width:100%;min-height:50px;border:1px solid #d8ded9;border-radius:11px;outline:none;background:#fdfdfb;color:var(--ink);padding:11px 13px}
.quote-form input:focus,.quote-form textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(168,220,197,.38)}
.quote-form textarea{min-height:92px;resize:vertical}
.quiz-zip{display:block;max-width:220px;margin-bottom:14px}
.date-field{display:grid;grid-template-rows:1fr;max-width:280px;margin:-9px 0 22px;opacity:1;transition:grid-template-rows .24s ease,opacity .2s ease}
.date-field[hidden]{display:grid;grid-template-rows:0fr;margin-bottom:0;opacity:0;overflow:hidden}
.date-field label{min-height:0;overflow:hidden}
.photo-field{margin-top:18px}
.photo-upload{display:flex!important;min-height:72px;align-items:center;justify-content:center;gap:9px;border:1px dashed #bdc9c2;border-radius:12px;background:var(--ivory);color:var(--forest);padding:14px;font-size:12px!important;text-align:center;cursor:pointer}
.photo-upload input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}
.photo-upload>span{font-size:22px;line-height:1;transform:rotate(90deg)}
.photo-count{margin:7px 0 0;color:var(--muted);font-size:11px}
.photo-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.photo-preview{position:relative;width:62px;height:62px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--mint-soft)}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-remove{position:absolute;top:3px;right:3px;display:grid!important;width:22px!important;height:22px;min-height:0!important;place-items:center;border:0;border-radius:50%;background:rgba(18,47,41,.88);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.phone-field{display:block;margin-top:14px}
.phone-consent{display:block;margin-top:7px;color:var(--muted);font-size:11px;font-weight:500;line-height:1.5}
.quote-privacy{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.quote-privacy a{color:var(--forest);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.quote-review-details{margin-top:22px;overflow:hidden;border:1px solid rgba(35,72,63,.12);border-radius:12px;background:var(--ivory)}
.quote-review-details:hover,.quote-review-details[open]{background:var(--ivory)}
.quote-review-details summary{min-height:50px;padding:14px 50px 13px 15px;font-size:13px;letter-spacing:0}
.quote-review-details summary::after{top:10px;right:12px;width:27px;height:27px;font-size:18px;line-height:24px}
.quote-review-details .quote-summary{margin:0 12px 12px}
.quote-summary{display:grid;gap:0;margin:0 0 22px;border:1px solid rgba(35,72,63,.1);border-radius:14px;background:var(--mint-soft);padding:3px 15px}
.quote-summary .summary-row{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border-bottom:1px solid rgba(35,72,63,.1);padding:11px 0}
.quote-summary .summary-row:last-child{border-bottom:0}
.summary-copy{min-width:0}
.quote-summary dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.quote-summary dd{overflow:hidden;margin:1px 0 0;color:var(--forest);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.summary-edit{border:0;background:transparent;color:var(--forest);padding:7px 4px;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.quiz-actions{display:flex;justify-content:space-between;gap:10px;margin-top:23px}
.quiz-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border:1px solid #d8ded9;border-radius:999px;background:#fff;color:var(--forest);padding:11px 18px;font-size:12px;font-weight:800;cursor:pointer;transition:transform .2s ease,background-color .2s ease}
.quiz-button:hover{transform:translateY(-1px)}
.quiz-primary{margin-left:auto;border-color:var(--yellow);background:var(--yellow);color:var(--ink)}
.quiz-button:disabled{cursor:wait;opacity:.68;transform:none}
.form-status{min-height:18px;margin:10px 0 -8px;color:#a83232;font-size:12px;font-weight:800}
.quote-success{display:grid;min-height:430px;place-items:center;padding:30px;text-align:center}
.quote-success[hidden]{display:none}
.quote-success h3{margin-bottom:8px;font-size:28px}
.quote-success p{max-width:400px;margin:0;color:var(--muted);font-size:14px}
.success-check{display:grid;width:62px;height:62px;place-items:center;margin:0 auto 18px;border-radius:50%;background:var(--yellow);color:var(--forest);font-size:28px;font-weight:800}

.areas{max-width:none;background:var(--cream);padding-top:88px;padding-bottom:84px}
.areas .section-heading{max-width:960px;margin-bottom:0}
.areas .section-heading p:not(.eyebrow){max-width:900px;margin:0 auto;color:#4e615b;font-size:clamp(16px,2vw,20px);line-height:1.9}
.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(48px,8vw,100px);padding-top:110px;padding-bottom:110px}
.faq .section-heading{position:sticky;top:calc(var(--header-height) + 32px);align-self:start;margin-bottom:0}
.faq-grid{display:grid;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);background:transparent;transition:background-color .2s ease}
details:hover,details[open]{background:var(--mint-soft)}
summary{position:relative;min-height:72px;cursor:pointer;color:var(--forest);padding:22px 52px 20px 18px;font-size:16px;font-weight:750;letter-spacing:-.025em;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{position:absolute;top:21px;right:18px;width:28px;height:28px;border:1px solid rgba(22,61,53,.2);border-radius:50%;content:"+";font-size:20px;line-height:25px;text-align:center;transition:transform .2s ease,background-color .2s ease}
details[open] summary::after{background:var(--yellow);transform:rotate(45deg)}
details p{margin:-5px 52px 0 18px;padding-bottom:24px;color:var(--muted)}

.brand-moment{position:relative;display:grid;grid-template-columns:190px 1fr;gap:clamp(30px,6vw,74px);align-items:center;max-width:var(--container);margin:0 auto 94px;overflow:hidden;border-radius:24px;background:var(--forest);padding:clamp(32px,5vw,58px)}
.brand-moment::after{position:absolute;right:-70px;bottom:-120px;width:280px;height:280px;border:55px solid rgba(255,212,56,.2);border-radius:50%;content:""}
.brand-moment img{position:relative;z-index:1;width:190px;height:190px;border-radius:34px;box-shadow:0 20px 42px rgba(6,25,21,.26)}
.brand-moment>div{position:relative;z-index:1}
.brand-moment .eyebrow{color:#ccebdd}
.brand-moment h2{max-width:720px;margin-bottom:12px;color:#fff}
.brand-moment p:not(.eyebrow){margin-bottom:0;color:rgba(255,255,255,.72);font-size:17px}

.footer{display:grid;grid-template-columns:1.35fr .7fr .5fr;gap:32px;background:#122f29;color:#fff;padding-top:44px;padding-bottom:46px}
.footer>div{display:grid;align-content:start;gap:7px}
.footer-brand{display:flex!important;align-items:center;gap:15px}
.footer-logo{width:58px;height:58px;border-radius:15px}
.footer p{max-width:330px;margin:0;color:rgba(255,255,255,.66);font-size:13px}
.footer b{margin-bottom:3px;color:#ccebdd;font-size:12px}
.footer a{width:max-content;color:rgba(255,255,255,.8);font-size:13px;font-weight:600}
.footer a:hover{color:var(--yellow)}
.floating-actions{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));z-index:35;display:none;gap:8px;transition:opacity .2s ease,transform .2s ease}
.floating-actions a{min-height:48px;flex:1;border:1px solid rgba(35,72,63,.18);border-radius:999px;background:var(--ivory);box-shadow:0 14px 32px rgba(22,61,53,.16);color:var(--forest);padding:12px 16px;font-size:14px;font-weight:800;text-align:center}
.floating-actions a:first-child{background:var(--yellow);color:var(--ink)}
.floating-actions.obscured{opacity:0;transform:translateY(14px);pointer-events:none}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1080px){
  .nav{gap:13px}.brand-copy small{display:none}
  .hero{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr)}
  h1{font-size:clamp(50px,5.8vw,62px)}
}

@media(max-width:1000px){
  :root{--header-height:72px}
  .site-header{min-height:var(--header-height);padding:7px 22px}
  .header-cta,.nav{display:none}.menu-btn{display:block}
  .nav.open{position:absolute;top:calc(100% + 8px);right:18px;left:18px;display:grid;gap:2px;border:1px solid rgba(22,61,53,.14);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:10px}
  .nav.open a{min-height:46px;border-radius:10px;padding:12px 14px}
  .nav.open a:hover,.nav.open a:focus-visible{background:var(--mint-soft)}.nav.open a::after{display:none}
  .nav.open .nav-cta-mobile{display:flex;align-items:center;justify-content:center;margin-top:8px;background:var(--yellow);color:var(--forest);font-weight:800;text-align:center}
  .nav.open .nav-cta-mobile:hover,.nav.open .nav-cta-mobile:focus-visible{background:#ffca0a}
  .hero{min-height:0;grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr);gap:34px;padding-top:42px}
  .hero-media{height:410px}.trust-row li:last-child{display:none}
  .process-grid,.quote{grid-template-columns:1fr}
  .process-grid{gap:28px}.process-grid::before{top:5px;bottom:5px;left:21px;width:1px;height:auto}.process-grid article{min-height:94px;padding:0 0 0 68px}.process-grid span{position:absolute;top:0;left:0;box-sizing:content-box}
  .quote{max-width:none;gap:34px}.quote-copy h2,.quote-copy p:not(.eyebrow){max-width:670px}.quote-copy{padding-top:0}.quote-benefits{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
  .faq{grid-template-columns:1fr}.faq .section-heading{position:static}
  .floating-actions{display:flex}body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
}

@media(min-width:761px) and (max-width:840px){
  .hero{grid-template-columns:1fr;gap:28px;padding:34px 20px 50px}
  .hero-copy,.hero-media{grid-column:1}
  .hero-copy{grid-row:1;max-width:660px}
  .hero-media{grid-row:2;height:320px;border-radius:20px 20px 52px 20px}
}

@media(max-width:760px){
  .hero{grid-template-columns:1fr;gap:28px;padding:34px 20px 50px}.hero-copy,.hero-media{grid-column:1}.hero-copy{grid-row:1;max-width:610px}.hero-media{grid-row:2;height:280px;border-radius:20px 20px 52px 20px}
  h1{font-size:clamp(40px,10.5vw,48px)}.lead{margin-bottom:21px;font-size:15px}.trust-row{display:none}
  .brand-intro{margin:10px 20px 0}.pricing-grid{grid-template-columns:1fr;gap:22px}.inclusions-panel{width:100%;margin:0}.addon-panel{grid-template-columns:1fr;gap:30px}
  .photo-placeholder-grid{grid-template-columns:1fr 1fr}.photo-placeholder-grid article:first-child{min-height:260px;grid-column:1/-1;grid-row:auto}.photo-placeholder-grid article:last-child{grid-column:1/-1}
  .reviews-heading-row{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.rating-summary{width:max-content;max-width:100%}.review-grid{grid-template-columns:1fr}.review-card,.review-card-featured{height:auto}.review-card-featured{min-height:430px;grid-row:auto}
  .quote-benefits{grid-template-columns:1fr;gap:8px}.option-grid-details{grid-template-columns:repeat(3,minmax(0,1fr))}.option-grid-timing{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-moment{grid-template-columns:118px 1fr;margin-right:20px;margin-left:20px}.brand-moment img{width:118px;height:118px;border-radius:24px}
  .footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}

@media(max-width:520px){
  :root{--header-height:66px}.site-header{padding:7px 16px}.brand-logo{width:50px;height:50px;border-radius:13px}.brand-copy strong{font-size:14px}.menu-btn{width:44px;height:44px}
  .hero{gap:21px;padding:25px 16px 39px}.hero .eyebrow{margin-bottom:8px;font-size:10px}h1{margin-bottom:13px;font-size:clamp(39px,11vw,44px);letter-spacing:-.035em;line-height:1.02}.lead{margin-bottom:15px;line-height:1.55}
  .hero-actions{display:grid;grid-template-columns:1.35fr .65fr;margin-bottom:0}.hero-actions .btn{width:100%;min-height:48px;padding-right:14px;padding-left:14px}.hero-media{height:225px}.hero-badge{right:12px;bottom:12px;max-width:205px;border-radius:13px;padding:9px 12px}.hero-badge strong{font-size:12px}.hero-badge span{font-size:9px}
  .brand-intro{grid-template-columns:54px 1fr;gap:13px;margin:8px 16px 0;padding:16px 0}.brand-intro img{width:54px;height:54px;border-radius:14px}.brand-intro .eyebrow,.brand-intro p:not(.eyebrow){display:none}.brand-intro h2{margin:0;font-size:18px;line-height:1.18}
  .section{padding-top:78px;padding-bottom:32px}.section-heading{margin-bottom:32px}h2{font-size:34px}.section-heading p:not(.eyebrow){font-size:15px}
  .pricing{padding-top:70px;padding-bottom:70px}.pricing .section-heading{margin-bottom:30px}.price-card,.price-card.featured{padding:27px 24px 28px}.price-card:not(.featured){padding-right:12px;padding-left:12px}.price-card>strong{font-size:44px}.price-card-actions{grid-template-columns:1fr;gap:7px;padding-top:21px}.price-card-actions .price-action{order:1}.price-inclusions-link{order:2;text-align:center}.inclusions-panel{border-radius:20px;padding:23px 20px}.inclusions-heading{margin-bottom:17px}.inclusions-tabs{display:grid;width:100%;grid-template-columns:1fr 1fr}.inclusions-tabs button{padding-right:10px;padding-left:10px}.inclusions-content{grid-template-columns:1fr;gap:0}.inclusions-group-wide{grid-column:auto}.inclusions-group ul{font-size:14px}.pricing-footnote{align-items:flex-start;flex-direction:column;gap:9px;padding-right:2px;padding-left:2px}
  .add-ons{padding-top:70px;padding-bottom:72px}.addon-chip-grid{gap:0 16px}.addon-chip-grid span{padding:13px 0 13px 17px;font-size:13px}.addon-chip-grid span::before{left:0}
  .photo-placeholder-grid{gap:10px}.photo-placeholder-grid article,.photo-placeholder-grid article:first-child{min-height:165px;border-radius:15px;padding:16px}.photo-placeholder-grid article:first-child{min-height:220px}.photo-placeholder-grid article::before{top:14px;right:14px;width:32px;height:32px;font-size:19px;line-height:28px}.photo-placeholder-grid strong{font-size:15px}
  .process{margin-top:42px;padding-top:72px;padding-bottom:72px}.process-grid article{padding-left:62px}
  .reviews{padding-top:48px;padding-bottom:54px}.reviews-heading-row h2{font-size:34px}.rating-score{font-size:30px}.review-card,.review-card-featured{min-height:0;border-radius:17px;padding:26px 22px}.review-card-featured{min-height:390px}.review-card-top{margin-bottom:27px}.review-card blockquote{font-size:20px}.review-card-featured blockquote{margin:auto 0 34px;font-size:29px}
  .quote{gap:26px;margin-top:58px;padding:64px 16px 78px}.quote-form{border-radius:17px;padding:20px}.quote-form label{grid-column:1/-1}.quiz-actions .quiz-button{min-height:50px}.option-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.option-grid-frequency,.option-grid-details{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid,.quote-summary{grid-template-columns:1fr}.quiz-step-heading h3{font-size:23px}.quote-success{min-height:360px;padding:18px}.photo-preview{width:58px;height:58px}
  .areas{padding-top:70px;padding-bottom:70px}.faq{gap:20px;padding-top:76px;padding-bottom:76px}summary{padding-left:4px}summary::after{right:4px}details p{margin-left:4px}
  .brand-moment{grid-template-columns:76px 1fr;gap:17px;margin:0 16px 64px;border-radius:18px;padding:25px 20px}.brand-moment img{width:76px;height:76px;border-radius:18px}.brand-moment h2{margin-bottom:0;font-size:25px}.brand-moment .eyebrow,.brand-moment p:not(.eyebrow){display:none}
  .footer{gap:24px 18px;padding:34px 20px 38px}.footer-brand{align-items:center}
}

@media(max-width:370px){
  .brand-copy strong{font-size:13px}h1{font-size:38px}.hero-actions{grid-template-columns:1fr}.hero-media{height:205px}
  .price-card-actions{gap:7px}.price-card-actions .price-action{min-height:46px;padding:10px 12px;font-size:13px}.price-inclusions-link{font-size:13px}
  .photo-placeholder-grid{grid-template-columns:1fr}.photo-placeholder-grid article,.photo-placeholder-grid article:first-child,.photo-placeholder-grid article:last-child{grid-column:auto;min-height:170px}
  .rating-summary{gap:5px}.rating-summary .stars{font-size:12px}.rating-divider{margin:0 5px}.rating-summary p{font-size:11px}
}

.privacy-page{padding-bottom:0}
.privacy-header{gap:16px}
.privacy-home-link{flex-shrink:0;font-size:12px}
.privacy-main{max-width:var(--container);margin:0 auto;padding:clamp(40px,6vw,76px) 24px 80px}
.privacy-heading{max-width:760px;margin-bottom:48px}
.privacy-heading h1{max-width:none;font-size:clamp(38px,6vw,64px)}
.privacy-date{margin-bottom:20px;color:var(--muted);font-size:13px}
.privacy-heading .lead{max-width:620px;margin-bottom:0}
.privacy-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:clamp(32px,6vw,76px)}
.privacy-toc{position:sticky;top:calc(var(--header-height) + 24px);display:grid;align-self:start;gap:7px;border-left:2px solid var(--mint);padding:6px 0 6px 20px}
.privacy-toc strong{margin-bottom:6px;color:var(--forest);font-size:13px}
.privacy-toc a{color:var(--muted);padding:3px 0;font-size:13px;line-height:1.5}
.privacy-toc a:hover{color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.privacy-content{min-width:0}
.privacy-content section{margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:24px;scroll-margin-top:calc(var(--header-height) + 24px)}
.privacy-content h2{margin-bottom:16px;font-size:clamp(23px,2.7vw,30px);line-height:1.25;letter-spacing:-.025em}
.privacy-content p,.privacy-content ul{margin-bottom:16px;color:var(--muted);font-size:15px;line-height:1.8}
.privacy-content ul{padding-left:22px}
.privacy-content li{margin-bottom:10px}
.privacy-content strong{color:var(--forest)}
.privacy-content a{overflow-wrap:anywhere;color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.privacy-content a:hover{color:var(--ink)}
.privacy-content section>:last-child{margin-bottom:0}
.privacy-content .privacy-contact{margin-bottom:0;border:0;border-radius:20px;background:var(--mint-soft);padding:28px}
.privacy-contact .eyebrow{font-size:11px}
@media(max-width:760px){
  .privacy-main{padding:38px 20px 56px}
  .privacy-heading{margin-bottom:30px}
  .privacy-layout{grid-template-columns:1fr;gap:32px}
  .privacy-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
  .privacy-toc strong{grid-column:1/-1}
}
@media(max-width:520px){
  .privacy-header{gap:10px}
  .privacy-home-link{min-height:42px;padding:8px 12px;font-size:11px}
  .privacy-main{padding-right:16px;padding-left:16px}
  .privacy-date{font-size:12px}
  .privacy-toc{gap:8px 12px;padding-left:14px}
  .privacy-toc a{font-size:12px}
  .privacy-content .privacy-contact{padding:22px}
  .privacy-page .footer{grid-template-columns:1fr}
  .privacy-page .footer a{max-width:100%;overflow-wrap:anywhere}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}
}
