:root{--ink:#203c2c;--forest:#285238;--mist:#e8eee2;--sage:#e3ebd7;--paper:#fbfaf5;--muted:#52634f;--line:#d5ddcf;--fern-tint:#dce8d4;--font:'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{color:var(--ink);background:var(--paper);font-family:var(--font);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
::selection{background:var(--sage);color:var(--forest)}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6f5127;outline-offset:6px}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.wrap{width:min(1216px,calc(100% - 112px));margin-inline:auto}
.section{padding-block:100px}
.skip-link{position:fixed;z-index:50;top:12px;left:12px;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.topline{background:var(--forest);color:white;font-size:12px;padding-block:10px}
.topline .wrap{display:flex;justify-content:space-between;gap:20px}
.topline strong{font-weight:700;margin-left:6px}
.topline a:hover{text-decoration:underline}
.header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid #203c2c12}
.navigation{min-height:104px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.wordmark{display:inline-flex;align-items:center;gap:12px;font-size:22px;font-weight:800;line-height:1.05;letter-spacing:-1px;color:var(--forest);flex-shrink:0}
.brand-house{background:var(--forest);color:var(--sage);width:47px;height:52px;border-radius:15px 15px 5px 5px;display:grid;place-items:center;transform:rotate(-5deg)}
.brand-house .icon{width:31px;height:31px;stroke-width:1.6;transform:rotate(5deg)}
.brand-dot{color:#76935b}
.nav-links{list-style:none;display:flex;align-items:center;gap:31px;font-size:14px;font-weight:600}
.nav-links a:not(.button){padding-block:12px;border-bottom:2px solid transparent;transition:border-color .2s}
.nav-links a:not(.button):hover{border-color:var(--forest)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--forest);color:white;padding:17px 23px;border-radius:7px;font-size:15px;font-weight:650;line-height:1.5;transition:background .2s,transform .2s}
.button:hover{background:#193d28;transform:translateY(-2px)}
.button .icon{width:21px;height:21px}
.nav-cta{padding:13px 19px;gap:20px;font-size:14px}
.menu-button{display:none}
.hero{background:var(--sage);position:relative}
.hero-layout{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:55px;padding-block:64px 44px}
.eyebrow{font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;margin-bottom:22px;color:var(--forest)}
.hero .eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.07em}
.little-dot{width:8px;height:8px;background:var(--forest);border-radius:50%;flex-shrink:0}
h1,h2,h3{font-weight:750;line-height:1.08;letter-spacing:-.045em}
h1{font-size:clamp(72px,7.6vw,108px);letter-spacing:-.065em;line-height:1.01;color:var(--forest)}
h2{font-size:clamp(38px,3.5vw,48px)}
h3{font-size:23px;letter-spacing:-.035em}
.underlined{position:relative;z-index:1;display:inline-block}
.underlined:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:8px;background:#819d63;z-index:-1;border-radius:50%;transform:rotate(-2deg)}
.hero-intro{font-weight:600;font-size:18px;margin-top:30px;max-width:450px;line-height:1.65}
.hero-description{font-size:17px;margin-top:13px;max-width:450px;line-height:1.8;color:#3b5140}
.hero-button{margin-top:28px;padding-block:19px}
.hero-call{font-size:14px;margin-top:17px;color:#405542}
.hero-call a{font-weight:750;color:var(--forest);border-bottom:1px solid #28523880}
.hero-art{position:relative;padding-bottom:30px}
.art-frame{overflow:hidden;border-radius:160px 160px 22px 22px;background:#e3ebd7;aspect-ratio:1}
.art-frame img{width:100%;height:100%;object-fit:cover}
.home-sticker{position:absolute;right:-12px;top:0;display:flex;align-items:center;gap:9px;background:var(--forest);color:white;padding:16px 20px;transform:rotate(6deg);border-radius:9px;font-size:14px;line-height:1.4;box-shadow:5px 6px 0 #203c2c20}
.home-sticker .icon{width:31px;height:31px;color:var(--sage)}
.home-sticker strong{font-weight:750}
.art-caption{position:relative;z-index:2;background:var(--paper);border:1px solid #203c2c18;border-radius:8px;box-shadow:0 5px 0 #203c2c0d;max-width:350px;margin:-5px auto 0;padding:17px 26px;text-align:center;font-size:15px;line-height:1.6;transform:rotate(-3deg)}
.art-caption strong{font-size:16px;font-weight:750}
.hero-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-block:23px 27px;border-top:1px solid #203c2c28}
.hero-bottom>span{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:650}
.hero-bottom>span:first-child{justify-content:flex-start}
.hero-bottom>span:last-child{justify-content:flex-end}
.hero-bottom .icon{width:22px;height:22px;color:var(--forest)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:95px}
.intro-copy>p:not(.large-copy){color:var(--muted);font-size:16px;margin-top:18px}
.intro-copy>p.scope-note{border-left:3px solid var(--forest);padding-left:15px;color:var(--ink);font-size:14px;margin-top:23px}
.large-copy{font-size:23px;font-weight:600;line-height:1.5;letter-spacing:-.035em}
.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--forest);font-size:15px;font-weight:700;margin-top:24px;padding-bottom:5px;border-bottom:2px solid var(--forest)}
.text-link .icon{width:19px;height:19px}
.text-link:hover{color:#486f3e}
.help-section{background:#eff3e9}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px}
.section-top>p{font-size:16px;line-height:1.8;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cbd6c3;border-left:1px solid #cbd6c3}
.service{padding:31px 29px 27px;border-right:1px solid #cbd6c3;border-bottom:1px solid #cbd6c3;transition:background .2s}
.service:hover{background:#f8faf4}
.service-top{display:flex;justify-content:space-between;align-items:center;color:var(--forest);margin-bottom:28px}
.service-top .icon{width:37px;height:37px;stroke-width:1.3}
.service-top>span{font-size:12px;letter-spacing:.08em;font-weight:600;color:#607755}
.service h3{margin-bottom:14px}
.service>p{color:var(--muted);font-size:15px;line-height:1.85}
.service .service-examples{font-size:11px;font-weight:650;color:var(--forest);padding-top:22px;line-height:1.7}
.help-note{display:flex;align-items:center;gap:13px;margin-top:29px;font-size:14px;color:var(--muted)}
.help-note .icon{color:var(--forest)}
.help-note a{color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.how-section{background:var(--forest);color:white}
.how-heading{text-align:center;margin-bottom:55px}
.how-heading .eyebrow{color:var(--sage)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px;list-style:none}
.step-number{display:grid;place-items:center;width:48px;height:48px;background:var(--sage);color:var(--forest);font-size:22px;font-weight:750;border-radius:50%;margin-bottom:25px}
.steps li{position:relative}
.steps li:not(:last-child):after{content:'';position:absolute;top:23px;left:67px;right:-27px;border-top:1px dashed #a5bd96}
.steps h3{font-size:23px;margin-bottom:16px;letter-spacing:-.025em}
.steps p{font-size:15px;color:#e4eddf;line-height:1.9}
.how-bottom{border-top:1px solid #78966b;margin-top:42px;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.how-bottom p{font-size:14px;color:#e4eddf}
.how-bottom strong{color:white;font-weight:700}
.button-sage{background:var(--sage);color:var(--ink);flex-shrink:0}
.button-sage:hover{background:#eef4e5}
.family-section{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
.family-panel{background:var(--fern-tint);color:var(--forest);border-radius:9px;padding:37px;position:relative;text-align:center;transform:rotate(-2deg)}
.family-tag{display:table;border:1px solid #28523860;font-size:10px;font-weight:700;letter-spacing:.13em;border-radius:30px;padding:6px 12px;transform:rotate(2deg);margin:0 auto}
.family-illustration{width:270px;max-width:90%;height:200px;margin:23px auto 14px;display:block}
.family-panel>p{font-size:27px;line-height:1.3;font-weight:750;letter-spacing:-.04em}
.family-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;margin-top:22px}
.questions-section{border-top:1px solid var(--line)}
.questions-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.questions-layout>div>p:last-child{color:var(--muted);font-size:15px;margin-top:24px}
.questions-layout>div>p>a{color:var(--forest);font-weight:650;text-decoration:underline;text-underline-offset:4px}
.faq-list{border-top:1px solid #becbb4}
.faq-list details{border-bottom:1px solid #becbb4}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;list-style:none;cursor:pointer;font-size:17px;font-weight:600;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font-weight:400;color:var(--forest);font-size:25px;line-height:1;transition:transform .2s}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-answer{font-size:15px;color:var(--muted);padding:0 30px 24px 0;line-height:1.9}
.contact-section{background:var(--sage);overflow:hidden}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.contact-section h2{font-size:clamp(42px,4.3vw,59px);color:var(--forest)}
.contact-section h2 span{position:relative;display:inline-block}
.contact-section h2 span:after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:5px;background:#7b965e;transform:rotate(-2deg);border-radius:50%}
.contact-layout>div:first-child{position:relative}
.contact-layout>div>p:not(.eyebrow){margin-top:23px;font-size:16px}
.contact-flower{position:absolute;font-size:160px;line-height:1;color:#28523820;right:-30px;bottom:-50px;transform:rotate(15deg);pointer-events:none}
.contact-choices{position:relative;z-index:1;background:var(--paper);padding:10px 28px;border-radius:10px;box-shadow:6px 6px 0 #28523815}
.contact-choice{display:flex;align-items:center;gap:17px;padding:23px 0;border-bottom:1px solid var(--line)}
.contact-choice:last-child{border-bottom:0}
.contact-choice>span:nth-child(2){min-width:0;flex:1}
.contact-choice-icon{width:44px;height:44px;background:var(--mist);color:var(--forest);border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.contact-choice-icon .icon{width:22px;height:22px}
.contact-choice small{font-size:12px;display:block;color:var(--muted);margin-bottom:3px}
.contact-choice strong{font-size:19px;line-height:1.5;font-weight:700;color:var(--forest)}
.contact-choice:hover strong{text-decoration:underline;text-underline-offset:5px}
.contact-choice .phone-number{font-size:29px;font-weight:750;letter-spacing:-.045em}
.contact-choice .email-address{font-size:15px;overflow-wrap:anywhere}
.contact-choice>.icon{width:19px;height:19px;color:var(--forest)}
.footer{padding-block:42px 24px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:35px}
.footer-top>p{font-size:15px;line-height:1.6;color:var(--muted)}
.footer-top strong{color:var(--forest);font-size:18px;font-weight:700}
.back-top{font-size:13px;font-weight:600;color:var(--forest);padding-block:12px}
.footer-bottom{border-top:1px solid var(--line);padding-top:21px;display:flex;gap:20px;justify-content:space-between;color:var(--muted);font-size:11px}
@media(min-width:1600px){.hero-layout{padding-block:78px 56px}.hero-art{padding-bottom:40px}.hero-intro{margin-top:36px}}
@media(max-width:1100px){
.wrap{width:calc(100% - 72px)}
.nav-links{gap:23px;font-size:13px}.nav-cta{font-size:13px;padding:12px 16px;gap:14px}
.hero-layout{gap:35px}.hero-art{padding-bottom:20px}.home-sticker{right:-6px;font-size:12px;padding:13px 15px}.hero-intro{font-size:17px}.hero-description{font-size:16px}
.hero-bottom{gap:15px}.hero-bottom>span{font-size:11px;gap:7px}
.intro,.family-section,.contact-layout{gap:55px}.section{padding-block:80px}
.service{padding:28px 22px}.service h3{font-size:22px}.steps{gap:35px}.steps li:not(:last-child):after{right:-16px}.steps h3{font-size:21px}
.questions-layout{gap:50px}.contact-choices{padding-inline:22px}.contact-choice{gap:12px}.contact-choice .email-address{font-size:13px}.contact-choice .phone-number{font-size:27px}
}
@media(max-width:850px){
.topline .wrap>span{max-width:320px}.topline a{align-self:center;font-size:0}.topline a strong{font-size:13px;white-space:nowrap}
.navigation{min-height:90px;flex-wrap:wrap;gap:0}.wordmark{font-size:21px}.brand-house{width:43px;height:48px}
.menu-button:not([hidden]){display:flex;align-items:center;gap:7px;background:none;border:0;padding:12px 0 12px 15px;color:var(--forest);font-size:15px;font-weight:600;cursor:pointer}
.nav-links{width:100%;justify-content:center;flex-wrap:wrap;padding-block:15px 22px;gap:20px}
.navigation.js-nav .nav-links{display:none}.navigation.js-nav .nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
.navigation.js-nav .nav-links a:not(.button){display:block;padding:14px 0}.navigation.js-nav .nav-links .button{margin-top:10px}
.hero-layout{gap:26px;padding-block:45px 30px}h1{font-size:72px}.hero .eyebrow{font-size:9px}.hero-intro{font-size:16px}.hero-description{font-size:15px;line-height:1.8}.hero-button{font-size:13px;padding:16px;gap:13px}.hero-call{font-size:12px}
.art-frame{border-radius:100px 100px 15px 15px}.art-caption{font-size:12px;padding:12px 14px;max-width:290px}.art-caption strong{font-size:13px}.home-sticker{top:-15px;padding:12px;gap:7px;font-size:11px}.home-sticker .icon{width:25px;height:25px}
.hero-bottom>span{font-size:10px}.hero-bottom .icon{width:20px;height:20px}
.intro{gap:35px}.large-copy{font-size:21px}.intro-copy>p:not(.large-copy){font-size:15px}h2{font-size:38px}.eyebrow{font-size:10px}
.section-top{gap:28px}.section-top>p{font-size:14px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service .service-examples{font-size:11px}
.steps{gap:25px}.steps h3{font-size:20px;line-height:1.25}.steps p{font-size:14px}.how-bottom{align-items:flex-start}.how-bottom p{max-width:300px}.how-bottom .button{font-size:13px;padding:15px 17px;gap:15px}
.family-section{gap:40px}.family-panel{padding:28px 20px}.family-panel>p{font-size:23px}.family-illustration{height:170px;margin-top:13px}.family-copy>p:not(.eyebrow){font-size:15px}
.questions-layout{grid-template-columns:.85fr 1.15fr;gap:35px}.questions-layout h2{font-size:34px}.faq-list summary{font-size:15px}.faq-answer{font-size:14px}
.contact-layout{gap:30px}.contact-section h2{font-size:43px}.contact-layout>div>p:not(.eyebrow){font-size:14px}.contact-choice-icon{width:37px;height:37px}.contact-choices{padding-inline:18px}.contact-choice{gap:10px}.contact-choice strong{font-size:16px}.contact-choice .phone-number{font-size:25px}.contact-choice .email-address{font-size:12px}.contact-choice>.icon{width:16px;height:16px}
}
@media(max-width:620px){
html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.section{padding-block:58px}
.topline{font-size:10px;padding-block:8px;text-align:center}.topline .wrap{justify-content:center;width:calc(100% - 24px)}.topline .wrap>span{max-width:none}.topline a{display:none}
.navigation{min-height:82px}.wordmark{font-size:20px;gap:10px}.brand-house{height:44px;width:40px;border-radius:12px 12px 4px 4px}.brand-house .icon{width:28px;height:28px}.menu-button:not([hidden]){font-size:14px}
.hero-layout{grid-template-columns:1fr;gap:45px;padding-top:37px;padding-bottom:31px}.hero .eyebrow{font-size:10px;letter-spacing:.045em;margin-bottom:21px}h1{font-size:clamp(66px,17.5vw,100px)}
.hero-intro{font-size:18px;margin-top:28px;max-width:100%}.hero-description{font-size:16px;max-width:100%;margin-top:12px}.hero-button{font-size:15px;padding:17px 20px;gap:24px;margin-top:23px}.hero-call{font-size:14px;margin-top:16px}
.hero-art{width:min(100%,430px);margin-inline:auto;padding:0 8px 10px}.art-frame{border-radius:110px 110px 14px 14px}.home-sticker{top:-5px;right:0;font-size:13px;padding:12px 17px}.home-sticker .icon{width:27px;height:27px}.art-caption{font-size:13px;max-width:300px;margin-top:-10px;padding:15px 20px}.art-caption strong{font-size:14px}
.hero-bottom{grid-template-columns:1fr;gap:12px;padding-block:24px}.hero-bottom>span,.hero-bottom>span:first-child,.hero-bottom>span:last-child{justify-content:flex-start;font-size:13px;gap:12px}.hero-bottom .icon{width:21px;height:21px}
h2{font-size:38px;letter-spacing:-.05em}.eyebrow{font-size:10px;margin-bottom:17px}.intro{grid-template-columns:1fr;gap:25px}.large-copy{font-size:23px}.intro-copy>p:not(.large-copy){font-size:16px}.text-link{font-size:14px;gap:12px;margin-top:21px;line-height:1.7}
.section-top{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-top h2{font-size:36px}.section-top>p{font-size:16px}.section-top>p br{display:none}
.service-grid{grid-template-columns:1fr}.service{padding:25px;display:grid;grid-template-columns:43px minmax(0,1fr);column-gap:18px}.service-top{grid-column:1;grid-row:1 / 4;flex-direction:column;align-items:center;justify-content:flex-start;gap:17px;margin:0}.service-top .icon{width:34px;height:34px}.service-top>span{font-size:10px}.service h3{grid-column:2;font-size:23px;line-height:1.2;margin-bottom:13px}.service>p{grid-column:2;font-size:16px;line-height:1.8}.service .service-examples{padding-top:16px;font-size:11px}.help-note{align-items:flex-start;font-size:14px;gap:12px}.help-note .icon{margin-top:3px}
.how-heading{text-align:left;margin-bottom:37px}.how-heading .eyebrow{font-size:9px;letter-spacing:.06em}.how-heading h2{font-size:37px}.steps{grid-template-columns:1fr;gap:32px}.steps li{padding-left:66px}.step-number{position:absolute;left:0;top:0;width:43px;height:43px;font-size:20px}.steps li:not(:last-child):after{top:58px;bottom:-15px;left:21px;right:auto;border-top:0;border-left:1px dashed #a5bd96}.steps h3{font-size:23px;line-height:1.2;margin:0 0 13px}.steps p{font-size:16px;line-height:1.8}.how-bottom{flex-direction:column;margin-top:31px;padding-top:26px;gap:22px}.how-bottom p{max-width:100%;font-size:15px}.how-bottom strong{display:block}.how-bottom .button{font-size:15px;padding:16px 20px;gap:20px}
.family-section{grid-template-columns:1fr;gap:37px}.family-panel{order:2;margin:10px 7px 0;padding:27px 20px 32px}.family-panel>p{font-size:27px}.family-illustration{height:180px;margin-top:18px}.family-copy>p:not(.eyebrow){font-size:16px;margin-top:21px}
.questions-layout{grid-template-columns:1fr;gap:29px}.questions-layout h2{font-size:38px}.questions-layout>div>p:last-child{margin-top:20px;font-size:15px}.faq-list summary{font-size:17px;padding-block:21px;gap:18px}.faq-answer{font-size:16px;padding-right:10px}
.contact-layout{grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:43px}.contact-layout>div>p:not(.eyebrow){font-size:16px}.contact-layout>div>p br{display:none}.contact-flower{right:0;font-size:135px;bottom:-21px}.contact-choices{padding:3px 20px}.contact-choice{gap:12px;padding-block:24px}.contact-choice-icon{width:39px;height:39px}.contact-choice strong{font-size:18px}.contact-choice .phone-number{font-size:28px}.contact-choice .email-address{font-size:13px}.contact-choice small{font-size:11px}.contact-choice>.icon{width:16px;height:16px}
.footer{padding-top:33px}.footer-top{flex-wrap:wrap;gap:25px;padding-bottom:27px}.footer-top>p{order:3;width:100%;font-size:15px}.back-top{margin-left:auto;font-size:12px}.footer-bottom{flex-direction:column;gap:9px;font-size:11px}
}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}h1{font-size:65px}.hero .eyebrow{font-size:9px}.hero-button{font-size:14px;padding-inline:16px;gap:16px}h2,.section-top h2{font-size:33px}.service{padding:23px 18px;gap:12px}.service h3{font-size:21px}.contact-choices{padding-inline:14px}.contact-choice{gap:9px}.contact-choice .phone-number{font-size:25px}.contact-choice .email-address{font-size:12px}.contact-choice>.icon{display:none}.contact-choice strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.button:hover{transform:none}}
