@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;650;700&display=swap');

:root{--paper:#f5f2eb;--ink:#343c32;--muted:#72796a;--line:#dcded2;--sage:#7c8b70;--moss:#53634b;--sand:#e9e3d7;--clay:#a57757;--serif:Lora,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--moss);outline-offset:6px}.wrap{width:min(1220px,88%);margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:30;background:var(--paper);padding:15px}.skip:focus{top:20px}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;height:116px;border-bottom:1px solid var(--line)}.brand{display:block;width:194px;flex-shrink:0}.brand img{display:block;width:100%;height:auto}.header nav{display:flex;gap:30px;font-size:11px;color:#5d6756}.header nav a{padding-block:15px}.header nav a:hover{color:var(--clay)}.header-call{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600}.header-call>span:last-child{font-size:19px;margin-left:13px}.call-dot,.eyebrow i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sage)}
.hero{position:relative;display:grid;grid-template-columns:1fr 1.04fr;grid-template-rows:auto 1fr auto;gap:0 7%;padding-top:36px;min-height:785px}.hero-top{grid-column:1;display:flex;flex-direction:column;align-items:start;gap:18px;padding-top:30px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:1.8px;font-weight:600;color:#6f7b63}.edition{font-size:8px;letter-spacing:1.8px;color:#8c9282;display:none}.hero-heading{grid-column:1;padding:42px 0 64px;position:relative;z-index:1;align-self:center}h1{font-family:var(--serif);font-weight:400;font-size:clamp(54px,5.4vw,78px);letter-spacing:-3.6px;line-height:1.17;margin:0}h1 span{color:var(--sage);font-style:italic;white-space:nowrap}.hero-copy p{font-size:13px;line-height:1.95;color:var(--muted);margin:29px 0 29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 24px;background:var(--moss);color:#fff;font-size:11px;font-weight:500;border:0;border-radius:2px;cursor:pointer;transition:background .25s,transform .25s}.button:hover{background:#3e4f37;transform:translateY(-2px)}.button>span{font-size:20px;line-height:1;font-weight:400}.hero-whisper{display:block;font-size:9px;color:#929786;letter-spacing:.2px;margin-top:19px}.hero-image{grid-column:2;grid-row:1/3;position:relative;min-height:560px;margin:0 0 40px;background:var(--sand);border-radius:190px 5px 5px 5px;isolation:isolate}.hero-image:before{content:'';position:absolute;inset:28px -18px -18px 26px;background:#e7e1d4;border-radius:175px 3px 3px 3px;z-index:-1}.hero-image>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:58% center;border-radius:inherit;filter:saturate(.64) contrast(.93) brightness(1.04)}.image-label{position:absolute;bottom:25px;left:25px;display:flex;align-items:center;gap:9px;color:#fff;font-size:7px;letter-spacing:1.5px;text-shadow:0 1px 7px #0008}.image-dot{width:5px;height:5px;background:#fff;border-radius:50%}.image-down{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:37px;height:37px;background:#f5f2ebdf;color:var(--moss);border-radius:50%;font-size:19px}.temperature{position:absolute;left:-37px;top:40%;width:122px;height:122px;border-radius:50%;background:#e2e7d9f5;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 26px #354b2b0a;padding:12px;text-align:center}.temperature>span{font-size:6px;letter-spacing:1.3px;color:#687a59}.temperature strong{font-family:var(--serif);font-weight:400;font-size:15px;line-height:1.4;margin-top:8px;color:#4c5e40}.temperature>div{display:none}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:8px;letter-spacing:1.4px;color:#747f6a}.scroll-note{font-size:9px;letter-spacing:0;color:#919785}
.section{padding-block:105px}.section-heading{display:grid;grid-template-columns:.85fr 1.6fr 1fr;gap:35px;align-items:start;margin-bottom:60px}.section-heading .eyebrow{margin-top:12px;font-size:8px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.5vw,47px);letter-spacing:-1.6px;line-height:1.24;margin:0}h2 em{font-weight:400;color:var(--sage)}.section-heading>p{font-size:11px;line-height:1.9;color:var(--muted);margin:12px 0 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service{padding:30px 29px 25px;background:#eeeee5;border-radius:50px 3px 3px 3px}.service:nth-child(2){background:#e8ecdf}.service:nth-child(3){background:#eee8dd}.service-top{display:flex;justify-content:space-between;align-items:start;min-height:93px}.service-top>span{font-size:9px;color:#929a86}.service svg{width:62px;height:55px;fill:none;stroke:#7b8d6c;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.service:nth-child(3) svg{stroke:#a58b6d}.service h3{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:-.8px;line-height:1.3;margin:11px 0 17px}.service p{font-size:11px;line-height:1.95;color:#747c6c;min-height:110px;margin:0 0 24px}.service>a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cdd3c1;padding-top:19px;font-size:10px;color:#56664b}.service>a>span{font-size:18px}.service>a:hover{color:#3b512e}
.gallery{padding-top:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 25px}.gallery-item{margin:0}.gallery-frame{position:relative;aspect-ratio:5/4;background:#ebe7df;overflow:hidden;border-radius:3px}.gallery-item:nth-child(2) .gallery-frame,.gallery-item:nth-child(5) .gallery-frame{background:#e4e8de;border-radius:80px 3px 3px 3px}.gallery-item:nth-child(3) .gallery-frame,.gallery-item:nth-child(6) .gallery-frame{background:#ede5d9}.gallery-frame:after{content:'';position:absolute;width:85px;height:115px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50% 50% 45% 45%;border:1px solid #9ca38d35;pointer-events:none}.gallery-index{position:absolute;left:22px;top:20px;color:#9b9d8b;font-size:9px}.gallery-placeholder{height:100%;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px 15px;text-align:center}.gallery-placeholder>span:first-child{font-size:19px;color:#95a080;font-weight:400;margin-bottom:4px}.gallery-placeholder>span:nth-child(2){font-family:var(--serif);font-size:21px;line-height:1.25;color:#68745d}.gallery-placeholder small{font-size:7px;letter-spacing:.2px;color:#929685}.gallery-item figcaption{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#7b8270;line-height:1.7;margin-top:13px}.gallery-item figcaption>span:last-child{color:#a1a58e;font-size:8px}.gallery-photo-button{display:block;width:100%;height:100%;border:0;padding:0;cursor:zoom-in;background:none}.gallery-photo-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.gallery-photo-button:hover img{transform:scale(1.035)}.gallery-frame.has-photo:after{display:none}
.approach{padding:90px 0;background:#e8ecdf;position:relative}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%}.approach-title>.eyebrow{font-size:8px;margin-bottom:30px}.approach-title h2{font-size:43px;line-height:1.24}.approach-title h2 span{color:#839374;font-style:italic}.approach-title>p{font-size:12px;line-height:1.9;color:#7a846f;max-width:320px;margin-top:25px}.local{display:flex;align-items:center;gap:14px;margin-top:32px}.local>span{display:grid;place-items:center;background:#dce4d0;width:42px;height:42px;border-radius:50%;color:#7b8c6a;font-size:20px}.local>div{font-size:11px;color:#617452}.local small{display:block;font-size:9px;margin-top:7px;color:#8c967e}.steps article{display:flex;gap:27px;border-top:1px solid #c9d2bd;padding:29px 0 30px}.steps article>span{font-size:9px;color:#97a187;padding-top:5px}.steps h3{font-family:var(--serif);font-size:23px;letter-spacing:-.5px;font-weight:400;margin:0 0 14px}.steps p{font-size:11px;line-height:1.95;color:#78836e;max-width:350px;margin:0}.faq-list{margin-left:26%}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:25px;align-items:start;cursor:pointer;list-style:none;font-size:12px;line-height:1.6;padding:25px 0;color:#616f55}summary::-webkit-details-marker{display:none}summary>span{font-size:21px;font-weight:400;line-height:1;color:#99a286}details[open] summary>span{transform:rotate(45deg)}details p{font-size:11px;line-height:1.9;color:#7a8370;max-width:610px;padding-right:30px;margin:0 0 25px}
.contact{background:#eae5db;padding:40px 0 85px}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #d2d0c0;padding-bottom:26px}.contact-top .eyebrow{font-size:8px}.contact-top>span:last-child{font-size:8px;letter-spacing:1px;color:#8a907c}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:14%;padding-top:58px}.contact h2{font-size:58px;letter-spacing:-2px;line-height:1.18}.contact h2 span{color:#889479;font-style:italic}.contact-intro>p{max-width:315px;font-size:12px;line-height:1.9;color:#7b8370;margin:28px 0}.phone{display:flex;justify-content:space-between;align-items:center;gap:15px;font-family:var(--serif);font-size:31px;letter-spacing:-.8px;padding-bottom:19px;border-bottom:1px solid #c8cbb9;max-width:330px}.phone>span{font-family:Manrope,Arial,sans-serif;font-size:22px;color:#8e9b7e}.phone:hover{color:#7c8b70}.contact-email{display:block;margin-top:18px;font-size:11px;color:#78806e}.save-contact{display:inline-flex;gap:25px;font-size:9px;color:#929982;border-bottom:1px solid #bdc5ae;padding-bottom:7px;margin-top:29px}.contact-form h3{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:-.7px;margin:0 0 29px}.contact-form label{display:block;color:#6b7760;font-size:10px;line-height:1.7}.contact-form label>span{color:#a38368}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-bottom:23px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #bcc3ae;border-radius:0;background:transparent;padding:13px 0;color:#4a5b3d;font:11px Manrope,Arial,sans-serif}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#929986;opacity:1}.contact-form select{cursor:pointer}.contact-form select option{background:var(--paper)}.contact-form textarea{resize:vertical;min-height:104px;line-height:1.9}.form-note{font-size:9px;line-height:1.9;color:#87907a;margin:21px 0}.form-note a{text-decoration:underline}.contact-form .button{width:100%;padding:18px 22px}.form-status{color:#627653;font-size:11px;line-height:1.8;min-height:20px;margin-top:16px}#mail-fallback{border-top:1px solid #c8cbb9;padding-top:10px;margin-top:17px}#mail-fallback p{font-size:10px;line-height:1.9;color:#78866c}#mail-fallback a{text-decoration:underline}#mail-fallback textarea{font-size:11px}.copy-message{border:1px solid #b4bda7;background:transparent;padding:11px 16px;font-size:10px;color:#5b6d4b;cursor:pointer;margin-top:12px;border-radius:2px}footer{padding-block:38px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{width:170px}footer p{font-size:9px;color:#838c76;line-height:2}footer p>span{font-size:8px;color:#a2a78f}.back-top{font-size:10px;color:#7a866c}#gallery-dialog{border:0;padding:25px;background:var(--paper);max-width:90vw;max-height:90svh;overflow:auto;border-radius:3px}#gallery-dialog::backdrop{background:#293626df}#gallery-full{display:block;max-width:80vw;max-height:72svh;object-fit:contain}#gallery-close{position:absolute;top:0;right:2px;background:var(--paper);border:0;font-size:28px;color:var(--moss);width:32px;height:32px;cursor:pointer}#gallery-caption{font-size:12px;margin-bottom:0}
@media(min-width:1600px){.hero{min-height:825px}.hero-image{min-height:630px}}@media(max-width:1050px){.header nav{gap:18px}.brand{width:173px}.hero{gap:0 6%;min-height:740px}.hero-heading{padding:38px 0 45px}.hero h1{font-size:60px;letter-spacing:-2.8px}.hero-image{min-height:540px;border-top-left-radius:140px}.temperature{width:105px;height:105px;left:-28px}.temperature strong{font-size:13px}.hero-bottom{font-size:7px;gap:15px}.scroll-note{display:none}.section-heading{grid-template-columns:.75fr 1.5fr;gap:20px}.section-heading>p{grid-column:2}.service-grid{gap:18px}.service{padding:25px 22px}.service h3{font-size:23px;min-height:60px}.service p{min-height:145px;font-size:10px}.gallery-placeholder>span:nth-child(2){font-size:19px}.contact-grid{gap:8%}.contact h2{font-size:52px}.approach-grid{gap:9%}.approach-title h2{font-size:39px}}
@media(max-width:700px){.wrap{width:88%}.header{height:93px;gap:15px}.brand{width:150px}.header nav{display:none}.header-call{font-size:11px;gap:7px}.header-call>span:last-child{display:none}.call-dot{width:5px;height:5px}.hero{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;min-height:0;padding-top:25px;gap:0}.hero-top{grid-column:1;grid-row:1;padding-top:0}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-heading{grid-column:1;grid-row:2;padding:34px 0 39px}.hero h1{font-size:clamp(46px,12vw,68px);letter-spacing:-2.8px;line-height:1.17}.hero-copy p{font-size:12px;line-height:1.9;margin:23px 0 24px}.hero-copy .button{font-size:10px;gap:38px;padding:17px 20px}.hero-whisper{font-size:8px;margin-top:16px}.hero-image{grid-column:1;grid-row:3;min-height:370px;margin:0 0 31px 10px;border-top-left-radius:110px}.hero-image:before{inset:17px -10px -12px 17px;border-top-left-radius:100px}.hero-image>img{object-position:58% center}.temperature{left:-22px;top:45%;width:98px;height:98px}.temperature>span{font-size:5.5px}.temperature strong{font-size:12px;margin-top:6px}.image-label{font-size:5.7px;letter-spacing:.8px;left:19px;bottom:22px;max-width:230px;gap:7px}.image-down{height:30px;width:30px;bottom:15px;right:13px;font-size:17px}.hero-bottom{grid-column:1;grid-row:4;gap:9px;justify-content:space-between;padding:23px 0;font-size:6px;letter-spacing:.35px}.section{padding-block:66px}.section-heading{display:block;margin-bottom:32px}.section-heading .eyebrow{font-size:8px;margin-top:0;margin-bottom:24px}h2{font-size:35px;letter-spacing:-1.4px}.section-heading>p{font-size:11px;margin-top:20px}.service-grid{grid-template-columns:1fr;gap:20px}.service{padding:29px;border-radius:40px 3px 3px 3px}.service-top{min-height:67px}.service h3{font-size:28px;min-height:0;margin:14px 0 17px}.service p{min-height:0;font-size:12px;line-height:1.85;margin-bottom:23px}.service>a{font-size:10px}.gallery{padding-top:0}.gallery-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.gallery-frame{aspect-ratio:3/4}.gallery-item:nth-child(2) .gallery-frame,.gallery-item:nth-child(5) .gallery-frame{border-top-left-radius:50px}.gallery-frame:after{width:62px;height:90px}.gallery-index{top:17px;left:17px;font-size:8px}.gallery-placeholder{padding:20px 12px;gap:9px}.gallery-placeholder>span:first-child{font-size:17px;margin:0}.gallery-placeholder>span:nth-child(2){font-size:17px;line-height:1.3}.gallery-placeholder small{font-size:6px;line-height:1.8;max-width:110px}.gallery-item figcaption{font-size:7px;gap:8px;margin-top:10px}.gallery-item figcaption>span:last-child{font-size:7px}.approach{padding:65px 0}.approach-grid{grid-template-columns:1fr;gap:35px}.approach-title h2{font-size:36px}.approach-title>.eyebrow{margin-bottom:25px}.approach-title>p{font-size:12px}.local{margin-top:25px}.steps article{padding:25px 0;gap:23px}.steps h3{font-size:22px}.steps p{font-size:11px}.faq-list{margin-left:0}summary{font-size:12px;padding:23px 0}details p{font-size:11px}.contact{padding:29px 0 52px}.contact-top{gap:15px;padding-bottom:24px}.contact-top .eyebrow{font-size:6px;letter-spacing:1px}.contact-top>span:last-child{font-size:6px;letter-spacing:.6px;white-space:nowrap}.contact-grid{grid-template-columns:1fr;gap:44px;padding-top:37px}.contact h2{font-size:51px;letter-spacing:-1.8px}.contact-intro>p{font-size:12px;margin:24px 0}.phone{font-size:32px;max-width:none}.contact-email{font-size:11px}.save-contact{margin-top:23px}.contact-form{padding-top:29px;border-top:1px solid #d2d0c0}.contact-form h3{font-size:24px;margin-bottom:26px}.form-row{gap:17px;margin-bottom:22px}.contact-form input,.contact-form select,.contact-form textarea{font-size:11px}.form-note{font-size:9px}footer{padding-block:30px;flex-wrap:wrap;gap:25px}footer .brand{width:145px}.back-top{margin-left:auto;font-size:9px}footer p{order:3;flex-basis:100%;margin:0;font-size:8px}}@media(max-width:360px){.header .brand{width:136px}.header-call{font-size:10px}.hero h1{font-size:43px}.hero-bottom{font-size:5.5px}.form-row{grid-template-columns:1fr;gap:20px}.gallery-grid{gap:22px 12px}.gallery-placeholder>span:nth-child(2){font-size:15px}.contact-form h3{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
