:root{--ink:#10201b;--green:#173f32;--forest:#0c2f25;--sage:#dde8de;--cream:#f7f3eb;--paper:#fffdf8;--gold:#dca759;--line:#d9ded6;--radius:22px;--shadow:0 22px 55px rgba(17,42,34,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:84px;display:flex;align-items:center;padding:0 clamp(22px,5vw,76px);gap:36px;position:sticky;top:0;background:rgba(255,253,248,.94);backdrop-filter:blur(18px);z-index:20;border-bottom:1px solid rgba(23,63,50,.08)}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{width:42px;height:42px;border-radius:50% 50% 50% 18%;display:grid;place-items:center;background:var(--green);color:white;font:700 23px Georgia,serif}.brand strong{display:block;font-size:15px;letter-spacing:.16em;line-height:1.15}.brand small{display:block;font-size:11px;letter-spacing:.08em;color:#607069}.site-header nav{display:flex;gap:28px;font-size:14px;font-weight:650}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--gold);transition:.25s}.site-header nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--green);color:#fff;padding:15px 23px;border-radius:999px;font-weight:750;font-size:14px;box-shadow:0 10px 24px rgba(23,63,50,.18);transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#205642}.button-small{padding:11px 19px}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.14fr .86fr;align-items:center;gap:5vw;padding:70px clamp(22px,7vw,110px);overflow:hidden;background:radial-gradient(circle at 7% 90%,#edf1e8 0,transparent 28%),var(--cream)}.hero-content{max-width:700px}.eyebrow{text-transform:uppercase;color:#9b6b2c;font-size:12px;letter-spacing:.2em;font-weight:800;margin:0 0 18px}.hero h1,.section h2,.feature h2,.contact h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.04em;line-height:1.06;margin:0}.hero h1{font-size:clamp(49px,6.2vw,89px)}.hero h1 em{color:var(--green);font-weight:500}.hero-copy{max-width:590px;font-size:clamp(17px,1.6vw,21px);color:#52615b;margin:26px 0}.hero-actions{display:flex;align-items:center;gap:28px;margin:32px 0}.text-link{font-size:14px;font-weight:750;border-bottom:1px solid #93a198;padding-bottom:3px}.hero-note{font-size:13px;color:#52615b;display:flex;align-items:center;gap:9px}.hero-note span{display:grid;place-items:center;width:23px;height:23px;background:var(--sage);border-radius:50%;color:var(--green);font-weight:bold}.hero-visual{position:relative;width:100%;max-width:490px;justify-self:end;display:grid;gap:14px}.hero-image-wrap,.hero-secondary-image{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#e9e1d3}.hero-image-wrap img,.hero-secondary-image img{height:auto;object-fit:contain}.hero-secondary-image{width:100%}
.reviews{background:#f8f3e9}.reviews-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:35px;margin-bottom:42px}.reviews-heading h2{font-size:clamp(38px,5vw,67px);max-width:760px}.google-rating{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(30,51,43,.08)}.google-rating strong{font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1}.google-rating small{grid-column:1/-1;color:#64716c;margin-top:4px}.review-stars{color:#d99a2b;letter-spacing:.12em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{display:flex;min-height:245px;padding:30px;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(30,51,43,.06)}.review-card blockquote{margin:22px 0 32px;font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.4;color:#203d33}.review-card p{margin:auto 0 0}.review-card strong,.review-card small{display:block}.review-card small{margin-top:3px;color:#73807b;font-size:12px}.reviews-link{display:table;margin:30px auto 0;border-bottom:1px solid #9b6b2c;padding-bottom:3px;color:#734d1f;font-weight:750;font-size:14px}
.levels{background:var(--forest);color:white;padding:28px clamp(22px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:30px}.levels p{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#c9d9d0}.level-list{display:flex;gap:clamp(16px,3.6vw,53px);font:500 clamp(21px,2.3vw,34px) Georgia,serif}.section{padding:110px clamp(22px,7vw,110px)}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:12vw;margin-bottom:58px}.section-heading h2,.feature h2,.contact h2{font-size:clamp(39px,4.5vw,64px)}.section-heading>p{color:#607069;margin:0 0 7px;max-width:460px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:31px 27px 34px;background:white;min-height:330px;transition:.25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:transparent}.service-number{position:absolute;right:22px;top:19px;font-size:11px;color:#91a198}.service-icon{width:53px;height:53px;border-radius:16px;display:grid;place-items:center;background:var(--sage);color:var(--green);font:500 27px Georgia,serif;margin-bottom:47px}.service-card h3{font:500 23px Georgia,serif;line-height:1.2;margin:0 0 15px}.service-card p{font-size:14px;color:#64716b;margin:0}
.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--sage);padding:0}.feature-image{min-height:760px}.feature-image img{height:100%;object-fit:cover}.feature-copy{padding:90px clamp(28px,7vw,105px)}.feature-copy>h2{margin-bottom:42px}.step{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:22px 0;border-top:1px solid rgba(23,63,50,.18)}.step b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-size:13px}.step h3{margin:0 0 3px;font-size:16px}.step p{margin:0;color:#51645b;font-size:14px}.button-dark{margin-top:28px}
.resources{background:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{border:1px solid var(--line);padding:0;background:var(--cream);border-radius:18px;overflow:hidden;cursor:pointer;position:relative}.gallery-item img{aspect-ratio:1;object-fit:contain;background:var(--cream);transition:transform .45s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item:after{content:"View";position:absolute;right:13px;bottom:13px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 13px;font-weight:700;font-size:11px;opacity:0;transform:translateY(6px);transition:.25s}.gallery-item:hover:after{opacity:1;transform:none}.gallery-item:nth-child(n+9){display:none}.gallery.expanded .gallery-item{display:block}.gallery-more{display:block;margin:35px auto 0;border:1px solid var(--line);background:white;border-radius:999px;padding:12px 21px;font-weight:700;color:var(--green);cursor:pointer}
.contact{position:relative;overflow:hidden;background:var(--green);color:white;padding:110px clamp(22px,10vw,160px)}.contact-inner{max-width:850px;position:relative;z-index:1}.contact .eyebrow{color:#efc988}.contact h2{font-size:clamp(46px,6vw,82px)}.contact-inner>p:not(.eyebrow){color:#c8d8d0;font-size:18px;max-width:640px}.contact-actions{display:flex;align-items:center;gap:35px;margin-top:38px}.button-light{background:white;color:var(--green);box-shadow:none}.button-light:hover{background:#f5ead9}.phone{display:flex;flex-direction:column}.phone small{color:#b9ccc3;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.phone strong{font-size:21px}.contact-decoration{position:absolute;right:-30px;bottom:-220px;font:700 520px/1 Georgia,serif;color:rgba(255,255,255,.035)}
footer{background:#081d17;color:#a9bbb3;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:39px clamp(22px,7vw,110px);font-size:12px}footer .brand{color:white}footer .brand small{color:#a9bbb3}footer p:nth-of-type(1){text-align:center}footer p:last-child{text-align:right}.brand-light .brand-mark{background:#fff;color:var(--green)}
.lightbox{width:min(900px,90vw);border:0;padding:0;border-radius:18px;box-shadow:0 30px 100px #0008;background:#fff}.lightbox::backdrop{background:rgba(3,15,11,.82);backdrop-filter:blur(5px)}.lightbox img{max-height:85vh;object-fit:contain}.lightbox button{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;border:0;background:#fffe;font-size:25px;cursor:pointer}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.site-header nav,.header-cta{display:none}.menu-toggle{display:block}.site-header.open nav{display:flex;position:absolute;top:83px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:auto}.hero-content{padding-top:20px}.hero-visual{max-width:560px;justify-self:center}.reviews-heading{grid-template-columns:1fr}.google-rating{justify-self:start}.review-grid{grid-template-columns:1fr 1fr}.review-card:last-child{grid-column:1/-1}.service-grid{grid-template-columns:1fr 1fr}.feature{grid-template-columns:1fr}.feature-image{min-height:450px;max-height:650px}.gallery{grid-template-columns:repeat(3,1fr)}footer{grid-template-columns:1fr;text-align:left;gap:16px}footer p:nth-of-type(1),footer p:last-child{text-align:left;margin:0}}
@media(max-width:640px){.site-header{height:72px}.hero{padding-top:45px}.hero-actions,.contact-actions{align-items:flex-start;flex-direction:column}.hero-visual{margin-top:10px}.levels{align-items:flex-start;flex-direction:column}.level-list{width:100%;flex-wrap:wrap}.section{padding-top:78px;padding-bottom:78px}.section-heading{grid-template-columns:1fr;gap:20px}.review-grid{grid-template-columns:1fr}.review-card:last-child{grid-column:auto}.review-card{min-height:220px}.service-grid{grid-template-columns:1fr}.service-card{min-height:270px}.gallery{grid-template-columns:1fr 1fr}.feature-copy{padding-top:70px;padding-bottom:70px}.contact{padding-top:80px;padding-bottom:80px}}
.header-qr{display:flex;align-items:center;gap:8px;padding:4px 9px 4px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;flex:0 0 auto}.header-qr img{width:54px;height:54px;object-fit:contain}.header-qr span{font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:#607069}.header-qr strong{font-size:11px;color:var(--green)}
@media(max-width:1160px){.site-header{gap:22px}.site-header nav{gap:20px}.header-qr span{display:none}.header-qr{padding:4px}}
@media(max-width:640px){.site-header{gap:10px}.site-header.open nav{top:71px}.header-qr img{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}
