:root{--paper:#fbfaf5;--forest:#193f31;--deep:#123529;--text:#273d30;--muted:#40513c;--line:#d9dfd0;--sage:#eef1e5;--lime:#e7edc8;--terra:#9f5137;--serif:Lora,Georgia,serif;--sans:Onest,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}a,button,input,select,textarea,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9b512f}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4e713d;outline-offset:2px}::selection{background:#d8e6b5;color:var(--forest)}img{display:block;max-width:100%;height:auto}.wrap{width:min(1280px,calc(100% - 104px));margin-inline:auto;}.section{padding-block:96px}.eyebrow{display:block;color:var(--terra);font-size:16px;font-weight:600;line-height:1.7;letter-spacing:1.6px;text-transform:none}h1,h2,h3,p{margin:0;font-size:20px}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.18;color:var(--forest);font-synthesis:none}h1{font-size:clamp(44px,4.55vw,68px);letter-spacing:-2.2px}h2{font-size:clamp(36px,3.5vw,50px);letter-spacing:-1.5px}h3{font-family:var(--sans);font-size:29px;font-weight:600;letter-spacing:-.25px}h1 em,h2 em{font-weight:500;color:#425b37}h2 em{font-style:normal}p{font-size:20px;line-height:1.8;color:var(--muted)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:56px;padding:15px 23px;border:1px solid var(--forest);border-radius:8px;background:var(--forest);color:#fffef5;font-size:18px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s,box-shadow .2s}.btn:hover{background:#28543b;box-shadow:0 8px 22px #193f3112;transform:translateY(-2px)}.btn svg,.link-arrow svg{width:19px;height:19px;flex-shrink:0}.btn.secondary{background:transparent;color:var(--forest);border-color:#bdc8b3}.btn.secondary:hover{background:#edf1e3}.btn.light{background:var(--lime);color:var(--forest);border-color:var(--lime)}.link-arrow{display:inline-flex;align-items:center;gap:14px;font-size:17px;font-weight:600;color:var(--forest);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.link-arrow:hover{color:#6f5836}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-200%);background:#fff;padding:12px 20px;z-index:100;border:2px solid var(--forest)}.skip-link:focus{transform:none}
/* Calm, legible navigation. */
.site-header{height:96px;position:sticky;top:0;z-index:30;background:#fbfaf5f7;backdrop-filter:blur(16px);border-bottom:1px solid #dce2d38a}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:25px}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:50px;height:57px}.brand-wordmark{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.2;color:var(--forest)}.brand-wordmark small{font-family:var(--sans);display:block;font-size:12px;line-height:1.7;letter-spacing:1.1px;margin-top:5px;color:#4d6146;font-weight:500}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{display:flex;align-items:center;min-height:48px;font-size:18px;font-weight:600;color:#264432;position:relative;white-space:nowrap}.main-nav a:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:#7b8b58;transform:scaleX(0);transition:transform .2s;transform-origin:left}.main-nav a:hover:after,.main-nav a[aria-current=location]:after{transform:scaleX(1)}.header-cta{font-size:17px;min-height:50px;padding:13px 18px;font-weight:600}.menu-button{display:none;font-size:17px;font-weight:600}.mobile-nav-contact{display:none}
/* Intro: readable type and real farm photography, without text over busy imagery. */
.hero{padding:56px 0 62px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:58px;align-items:center}.hero-copy .eyebrow{display:flex;gap:10px;align-items:center;color:#536847}.hero-copy .eyebrow:before{content:'';width:7px;height:7px;background:#829356;border-radius:50%}.hero h1{margin-top:20px;max-width:630px}.hero p{font-size:20px;line-height:1.85;margin-top:24px;max-width:465px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.hero-subline{display:flex;align-items:center;gap:9px;color:#56664d;font-size:16px;line-height:1.7;margin-top:22px;font-weight:500}.hero-subline svg{width:17px;height:17px;flex-shrink:0}.hero-visual{position:relative;padding:0 0 32px 22px;min-width:0}.hero-main{width:100%;height:550px;object-fit:cover;object-position:54% 57%;border-radius:190px 190px 16px 16px}.hero-inset{position:absolute;left:-20px;bottom:0;width:215px;height:165px;object-fit:cover;object-position:40% 50%;border:7px solid var(--paper);border-radius:14px;box-shadow:0 12px 25px #12352915}.photo-signature{position:absolute;bottom:0;right:6px;color:#4c6146;font-size:16px;line-height:1.5;padding:9px 0 0 10px;max-width:230px}.photo-signature span{display:block;font-family:var(--serif);font-size:22px;color:var(--forest);margin-bottom:3px}.hero-seal{position:absolute;right:-18px;top:40px;background:var(--lime);width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--forest);box-shadow:0 6px 20px #193f3110;transform:rotate(12deg)}.hero-seal svg{width:42px;height:42px}.quick-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0;gap:26px}.fact{display:flex;align-items:center;gap:17px}.fact>svg{width:31px;height:31px;stroke:#6b8053;flex-shrink:0}.fact strong{display:block;color:var(--forest);font-size:17px;font-weight:500;line-height:1.5}.fact span{display:block;font-size:16px;line-height:1.7;color:#52654a;margin-top:3px;font-weight:500}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:42px}.section-heading h2{margin-top:14px;max-width:680px}.section-heading p{max-width:365px;font-size:19px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.experience{background:#fffef9;border:1px solid #e0e4d6;border-radius:13px;overflow:hidden;display:flex;flex-direction:column}.experience-media{overflow:hidden;position:relative}.experience-media img{width:100%;height:265px;object-fit:cover;transition:transform .6s}.experience:hover img{transform:scale(1.035)}.experience:nth-child(2) img{object-position:center 60%}.experience-count{position:absolute;top:15px;left:15px;width:40px;height:40px;background:#fffef5e8;display:grid;place-items:center;border-radius:50%;font-family:var(--serif);font-size:17px;color:var(--forest)}.experience-content{padding:30px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.experience-content h3{font-size:28px;max-width:300px;letter-spacing:-.3px}.experience-content p{font-size:18px;line-height:1.85;margin-top:17px;margin-bottom:22px}.experience-content .link-arrow{margin-top:auto;font-size:17px;font-weight:600}.care-section{background:#edf0e2;padding:78px 0}.care-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:88px;align-items:center}.care-visual{position:relative}.care-visual>img{height:480px;width:100%;object-fit:cover;object-position:48% 50%;border-radius:14px 140px 14px 14px}.image-note{position:absolute;bottom:22px;left:22px;background:#fffef5f2;color:var(--forest);font-size:16px;padding:11px 17px;border-radius:6px;font-weight:500}.care-copy h2{margin-top:17px}.care-copy p{margin-top:24px;max-width:480px;font-size:20px}.care-copy .link-arrow{margin-top:28px;font-size:17px;font-weight:600}.care-line{border-top:1px solid #c7d1b9;padding-top:20px;margin-top:28px;font-size:16px;color:#415b3b;line-height:1.75;font-weight:500}.care-line svg{height:18px;width:18px;vertical-align:-3px;margin-right:7px}
/* A short, useful visit path. */
.plan-section{padding:70px 0 0}.plan-header{display:flex;align-items:center;gap:25px;margin-bottom:28px}.plan-header h2{font-family:var(--sans);font-size:23px;font-weight:500;letter-spacing:-.5px;flex-shrink:0}.plan-header:after{content:'';width:100%;height:1px;background:var(--line)}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.plan-step{display:grid;grid-template-columns:35px 1fr;gap:16px;font-size:20px}.plan-number{font-family:var(--serif);font-size:29px;color:#8b623d;line-height:1.2}.plan-step h3{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:0}.plan-step p{font-size:18px;line-height:1.8;margin-top:10px;max-width:300px;font-weight:500}.gallery-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-auto-rows:215px;gap:16px}.gallery-item{display:block;position:relative;padding:0;border:0;background:#e3e8d6;overflow:hidden;border-radius:10px;cursor:zoom-in}.gallery-item:first-child{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s}.gallery-item:hover img{transform:scale(1.035);filter:brightness(1.04)}.gallery-zoom{position:absolute;bottom:12px;right:12px;height:34px;width:34px;border-radius:50%;background:#fffef4ee;color:var(--forest);display:grid;place-items:center;font-size:22px;line-height:1}.gallery-item:nth-child(6){grid-column:span 3;max-height:260px;grid-row:auto}.gallery-item:nth-child(6) img{object-position:center 60%}.gallery-item[hidden]{display:none}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:24px}.gallery-bottom p{font-size:20px;max-width:550px;line-height:1.8;font-weight:500}.gallery-bottom a{text-decoration:underline;text-underline-offset:3px}.gallery-bottom .btn{font-size:17px;padding:11px 19px;min-height:48px;flex-shrink:0;font-weight:600}.gallery-grid.expanded .gallery-item:nth-child(n+7){grid-column:span 1;grid-row:auto}.gallery-grid.expanded .gallery-item:last-child{grid-column:span 3}.visit-section{background:#f0f1e7;padding:88px 0}.visit-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:88px;align-items:start}.visit-copy h2{margin:15px 0 23px}.visit-copy>p{font-size:19px;max-width:455px}.price-list{margin:28px 0 22px}.price-row{padding:21px 0;border-bottom:1px solid #cfd8c1;display:flex;align-items:center;justify-content:space-between;gap:25px}.price-row strong{font-size:18px;line-height:1.6;font-weight:600;display:block;color:var(--forest)}.price-row small{display:block;font-size:16px;color:#52654a;line-height:1.7;margin-top:3px;font-weight:500}.price-row>span{font-size:16px;color:#465f3e;line-height:1.7;max-width:130px;text-align:right;font-weight:500}.visit-note{font-size:16px!important;line-height:1.8!important;color:#4b6043;font-weight:500}.call-card{margin-top:25px;padding:20px 23px;border:1px solid #c5d0b8;border-radius:8px;display:flex;align-items:center;gap:17px}.call-card>svg{width:27px;height:27px;stroke:#4d6c3f;flex-shrink:0}.call-card span{display:block;font-size:16px;color:#52654a;line-height:1.7;font-weight:500}.call-card strong{display:block;font-size:21px;font-weight:500;color:var(--forest);line-height:1.5;margin-top:4px}.call-card:hover{background:#e7edda}.booking{background:#fffef9;border:1px solid #dce3d1;border-radius:14px;padding:38px;box-shadow:0 18px 40px #233e2407}.booking h3{font-size:31px}.booking-intro{font-size:18px;line-height:1.8;margin:13px 0 25px}.field{margin-top:19px}.field label{display:block;font-size:17px;color:#284733;font-weight:600;line-height:1.7;margin-bottom:8px}.optional{font-weight:500;color:#596b51;font-size:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;min-height:56px;padding:14px 15px;border:1px solid #7a8d6c;border-radius:6px;background:#fbfcf6;color:#233f2e;font-size:16px;line-height:1.5}.field textarea{resize:vertical;min-height:110px}.field input::placeholder,.field textarea::placeholder{color:#687260;opacity:1}.booking>.btn{width:100%;margin-top:24px;font-size:17px;font-weight:600}.form-note{font-size:16px;line-height:1.8;margin-top:17px;color:#52654a;font-weight:500}.form-result{font-size:16px;line-height:1.8;color:var(--forest);font-weight:500}.form-result:not(:empty){padding:15px;margin-top:17px;background:#edf3df;border-radius:6px}.form-result a{text-decoration:underline;text-underline-offset:3px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-copy h2{margin-top:16px}.faq-copy p{font-size:19px;line-height:1.8;margin-top:22px;max-width:340px}.faq-copy .link-arrow{margin-top:22px;font-size:17px;font-weight:600}.faq-list details{padding:22px 0;border-bottom:1px solid var(--line)}.faq-list details:first-child{padding-top:0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:25px;color:var(--forest);font-size:19px;line-height:1.7;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:26px;line-height:1.3;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:18px;line-height:1.85;margin-top:15px;max-width:95%}
/* Final invitation and contact details. */
.contact-panel{border-radius:15px;background:var(--forest);padding:58px;display:grid;grid-template-columns:1.1fr 1fr;gap:75px;color:#fffdf4}.contact-panel .eyebrow{color:#e1e7bd}.contact-panel h2{color:#fffdf4;margin-top:18px;font-size:42px;line-height:1.2}.contact-panel p{color:#e1e8d4;font-size:18px;margin-top:20px;line-height:1.8}.contact-links{padding-top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}.contact-links>a{color:#fffdf4;font-size:18px;line-height:1.7;display:flex;align-items:center;gap:14px;overflow-wrap:anywhere;max-width:100%}.contact-links svg{width:21px;height:21px;flex-shrink:0;stroke:#dbe5b8}.contact-links .map-link{font-size:16px;color:#e0e7c5;text-decoration:underline;text-underline-offset:4px;font-weight:500}.contact-links .contact-note{font-size:16px;color:#e1e8d4;margin:0;font-weight:500}.site-footer{margin-top:50px;padding:33px 0 38px;border-top:1px solid var(--line)}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer .brand-mark{width:42px;height:48px}.site-footer .brand-wordmark{font-size:25px}.site-footer p{font-size:20px;color:#54664b;font-weight:500}.site-footer .link-arrow{font-size:17px;font-weight:500}.mobile-action{display:none}#lightbox{border:0;padding:65px 80px 45px;margin:0;position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#10291af7;color:#fffef5;z-index:100}#lightbox::backdrop{background:#10291a;}#lightbox[open]{display:flex;justify-content:center;align-items:center;flex-direction:column}#lightbox img{max-width:100%;max-height:calc(100dvh - 155px);object-fit:contain;min-height:0;width:auto}#lightbox p{color:#fffef5;font-size:20px;text-align:center;line-height:1.7;margin-top:17px;font-weight:500}#lightbox button{position:absolute;display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff65;color:#fffef5;border-radius:50%;width:48px;height:48px;font-size:27px;line-height:1}.lb-close{right:22px;top:17px}.lb-prev{left:17px;top:50%}.lb-next{right:17px;top:50%}[hidden]{display:none!important}
@media(min-width:1600px){.hero{padding-top:70px;padding-bottom:75px}.hero-main{height:610px}.hero h1{font-size:70px}.hero p{font-size:20px}.hero-grid{gap:85px}}
@media(max-width:1160px){.wrap{width:calc(100% - 72px);}.header-inner{gap:20px}.main-nav{gap:18px}.main-nav a{font-size:18px;font-weight:600}.brand-wordmark{font-size:26px}.brand-mark{width:45px;height:52px}.header-cta{font-size:17px;padding:13px 16px;font-weight:600}.hero-grid{gap:38px;grid-template-columns:1fr 1fr}.hero h1{font-size:55px}.hero-main{height:535px}.hero-inset{width:180px;height:145px}.photo-signature{font-size:16px;max-width:200px}.hero-actions .btn{font-size:17px;padding:14px 18px;font-weight:600}.hero-seal{right:-12px;width:75px;height:75px}.care-grid,.visit-grid,.faq-grid{gap:50px}.experience-content{padding:24px}.experience-media img{height:230px}.contact-panel{gap:40px;padding:45px}.contact-links>a{font-size:18px}.gallery-grid{grid-auto-rows:190px}.fact{gap:12px}.fact strong{font-size:16px}.fact span{font-size:16px;font-weight:500}}
@media(max-width:1180px){.site-header{height:86px}.header-inner{position:relative}.main-nav{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fffef8;padding:12px;border:1px solid #d6dfcb;border-radius:12px;box-shadow:0 18px 40px #193f3120;max-height:calc(100dvh - 115px);overflow:auto}.main-nav.open{display:flex}.main-nav a{font-size:18px;min-height:58px;padding:14px 16px;border-radius:6px;border-bottom:1px solid #edf1e4;font-weight:600}.main-nav a:hover{background:#edf2e2}.main-nav a:after{display:none}.mobile-nav-contact{display:block;padding:15px 16px 5px}.mobile-nav-contact span{font-size:16px;color:#53644c}.mobile-nav-contact a{font-size:18px;min-height:45px;padding:0;border:0}.header-cta{margin-left:auto;font-size:17px;font-weight:600}.menu-button{display:inline-flex;align-items:center;gap:12px;border:1px solid #bdc9b0;border-radius:8px;background:#f0f3e6;color:#24442e;min-height:49px;padding:12px 15px;font-size:17px;font-weight:600}.menu-icon{width:19px;display:flex;flex-direction:column;gap:6px}.menu-icon i{height:2px;background:currentColor;width:19px;transition:transform .2s}.menu-button[aria-expanded=true] .menu-icon i:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-4px) rotate(-45deg)}.hero h1{font-size:47px;letter-spacing:-1.4px}.hero-grid{gap:25px}.hero p{font-size:20px}.hero-main{height:510px}.hero-visual{padding-left:10px}.hero-inset{left:-8px;width:155px;height:130px}.photo-signature{max-width:175px;font-size:16px}.photo-signature span{font-size:19px}.hero-actions{gap:10px}.hero-actions .btn{font-size:17px;padding:13px 16px;font-weight:600}.hero-subline{font-size:16px;font-weight:500}.quick-facts{gap:20px}.fact{align-items:flex-start;gap:10px}.fact>svg{width:25px;height:25px;margin-top:5px}.section{padding-block:75px}.section-heading{gap:35px}.section-heading p{max-width:310px;font-size:19px}.experience-grid{gap:18px}.experience-content{padding:22px}.experience-content h3{font-size:28px;letter-spacing:-.3px}.experience-content p{font-size:18px}.care-grid{gap:35px}.care-visual>img{height:450px}.care-copy p{font-size:20px}.care-copy h2{font-size:39px}.plan-grid{gap:23px}.plan-step{gap:11px;grid-template-columns:28px 1fr;font-size:20px}.plan-step p{font-size:18px;font-weight:500}.visit-grid{gap:35px}.booking{padding:28px}.visit-copy h2{font-size:41px}.price-row{gap:17px}.price-row strong{font-size:18px;font-weight:600}.price-row>span{font-size:16px;max-width:115px;font-weight:500}.faq-grid{gap:40px}.faq-copy h2{font-size:40px}.contact-panel h2{font-size:37px}.contact-panel{padding:38px;gap:30px}.contact-links>a{font-size:18px}.footer-grid{gap:20px}.site-footer p{font-size:20px;font-weight:500}}
@media(max-width:720px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 40px);}body{font-size:17px}.section{padding-block:65px}.eyebrow{font-size:16px;letter-spacing:1.3px}h1{font-size:43px;letter-spacing:-1.5px}h2{font-size:36px;letter-spacing:-1px}p{font-size:20px}.site-header{height:82px}.header-inner{gap:12px}.header-cta{display:none;font-size:17px;font-weight:600}.brand-mark{width:44px;height:50px}.brand-wordmark{font-size:26px}.brand-wordmark small{font-size:12px;letter-spacing:.85px}.menu-button{min-height:46px;padding:11px 13px;font-size:17px;gap:10px;font-weight:600}.main-nav{left:-7px;right:-7px;padding:10px;top:calc(100% + 7px)}.hero{padding:36px 0 34px}.hero-grid{display:flex;flex-direction:column;gap:35px;align-items:stretch}.hero h1{font-size:clamp(41px,10.4vw,60px);max-width:550px;line-height:1.15;margin-top:18px}.hero p{font-size:20px;line-height:1.85;margin-top:21px;max-width:500px}.hero-actions{margin-top:26px;gap:11px}.hero-actions .btn{font-size:17px;padding:15px 19px;min-height:55px;font-weight:600}.hero-subline{font-size:16px;margin-top:17px;font-weight:500}.hero-visual{padding:0 0 28px 13px;width:100%;max-width:540px;align-self:center}.hero-main{height:410px;object-position:center 60%;border-radius:150px 150px 12px 12px}.hero-inset{width:160px;height:120px;left:0;border-width:5px;border-radius:10px}.photo-signature{max-width:180px;font-size:16px;padding-top:11px;right:0}.photo-signature span{font-size:20px}.hero-seal{right:-3px;top:22px;width:67px;height:67px}.hero-seal svg{width:33px;height:33px}.quick-facts{grid-template-columns:1fr;padding:24px 0;gap:20px}.fact{align-items:center;gap:17px}.fact>svg{margin:0;width:29px;height:29px}.fact strong{font-size:17px}.fact span{font-size:16px;margin-top:2px;font-weight:500}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-top:12px;max-width:480px}.section-heading p{margin-top:20px;max-width:490px;font-size:19px}.experience-grid{grid-template-columns:1fr;gap:25px}.experience-media img{height:270px}.experience-content{padding:25px}.experience-content h3{font-size:28px;max-width:none;letter-spacing:-.3px}.experience-content p{font-size:18px;margin-top:14px;line-height:1.85}.experience-content .link-arrow{font-size:17px;font-weight:600}.care-section{padding:55px 0}.care-grid{grid-template-columns:1fr;gap:35px}.care-copy{grid-row:1}.care-copy h2{font-size:36px}.care-copy p{font-size:20px;margin-top:21px;max-width:none}.care-copy .link-arrow{margin-top:22px;font-size:17px;font-weight:600}.care-line{font-size:16px;line-height:1.8;font-weight:500}.care-visual>img{height:340px;border-radius:12px 100px 12px 12px;object-position:center 40%}.image-note{font-size:16px;left:17px;bottom:17px;max-width:calc(100% - 34px);padding:9px 13px;font-weight:500}.plan-section{padding-top:50px}.plan-header{gap:20px;margin-bottom:25px}.plan-header h2{font-size:22px;flex-shrink:1;max-width:240px;line-height:1.4}.plan-header:after{max-width:100px}.plan-grid{grid-template-columns:1fr;gap:26px}.plan-step{grid-template-columns:35px 1fr;gap:16px;font-size:20px}.plan-number{font-size:30px}.plan-step h3{font-size:20px;font-weight:600}.plan-step p{font-size:18px;max-width:none;margin-top:8px;line-height:1.8;font-weight:500}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:155px;gap:10px}.gallery-item{border-radius:8px}.gallery-item:first-child{grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(6){grid-column:span 2;max-height:none}.gallery-grid.expanded .gallery-item:nth-child(n+7){grid-column:span 1}.gallery-grid.expanded .gallery-item:last-child{grid-column:span 1}.gallery-zoom{height:32px;width:32px;font-size:21px;bottom:10px;right:10px}.gallery-bottom{align-items:flex-start;flex-direction:column;gap:20px}.gallery-bottom p{font-size:20px;font-weight:500}.gallery-bottom .btn{width:100%;font-size:17px;font-weight:600}.visit-section{padding:60px 0}.visit-grid{grid-template-columns:1fr;gap:35px}.visit-copy h2{font-size:36px;max-width:430px}.visit-copy>p{font-size:19px;max-width:none}.price-row strong{font-size:18px;font-weight:600}.price-row small{font-size:16px;font-weight:500}.price-row>span{font-size:16px;max-width:110px;font-weight:500}.visit-note{font-size:16px!important;font-weight:500}.call-card{margin-top:22px;padding:18px}.call-card strong{font-size:22px}.booking{padding:28px 22px;border-radius:12px}.booking h3{font-size:29px}.booking-intro{font-size:18px}.field label{font-size:17px;font-weight:600}.field input,.field select,.field textarea{font-size:16px;padding:13px 11px}.field-row{gap:12px}.form-note{font-size:16px;font-weight:500}.booking>.btn{font-size:17px;padding-inline:15px;font-weight:600}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-copy h2{font-size:36px}.faq-copy p{font-size:19px;max-width:none}.faq-copy .link-arrow{font-size:17px;font-weight:600}.faq-list summary{font-size:19px;font-weight:500}.faq-list details p{font-size:18px;max-width:none}.contact-panel{grid-template-columns:1fr;padding:35px 25px;gap:25px;border-radius:12px}.contact-panel h2{font-size:34px;max-width:440px}.contact-panel p{font-size:18px;max-width:none}.contact-links{gap:20px;padding-top:0}.contact-links>a{font-size:18px;gap:12px}.contact-links .map-link{font-size:16px;font-weight:500}.contact-links .contact-note{font-size:16px;font-weight:500}.site-footer{margin-top:35px;padding:28px 0 105px}.footer-grid{align-items:flex-start;flex-direction:column;gap:21px}.site-footer p{font-size:20px;font-weight:500}.mobile-action{position:fixed;left:0;right:0;bottom:0;z-index:35;background:#fffef7f7;border-top:1px solid #d3ddc5;box-shadow:0 -5px 25px #163d2e0b;padding:10px 20px calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;transform:translateY(120%);transition:transform .25s;visibility:hidden}.mobile-action.visible{transform:none;visibility:visible}.mobile-action .btn{flex:1;min-height:49px;padding:12px 15px;font-size:17px;font-weight:600}.mobile-action .btn.secondary{flex:0 0 56px;padding:12px}.mobile-action .btn.secondary svg{width:21px;height:21px}#lightbox{padding:67px 15px 100px}#lightbox img{max-height:calc(100dvh - 205px)}#lightbox p{font-size:20px;line-height:1.7;font-weight:500}.lb-prev,.lb-next{top:auto;bottom:25px}.lb-prev{left:calc(50% - 58px)}.lb-next{right:calc(50% - 58px)}}
@media(max-width:380px){.wrap{width:calc(100% - 32px);}.header-inner{gap:10px}.brand-wordmark{font-size:24px}.brand-mark{width:39px;height:47px}.brand-wordmark small{font-size:12px;letter-spacing:.75px}.menu-button{font-size:17px;padding:10px 11px;gap:8px;font-weight:600}.hero h1{font-size:39px}.hero-actions .btn{font-size:17px;padding:14px 16px;font-weight:600}.hero-actions{gap:10px}.hero-inset{width:140px;height:112px}.photo-signature{max-width:160px;font-size:16px}.photo-signature span{font-size:18px}.hero-main{height:365px}.hero-subline{font-size:16px;font-weight:500}.eyebrow{font-size:16px}.field-row{grid-template-columns:1fr;gap:0}.contact-panel{padding:30px 21px}.contact-links>a{font-size:18px}.booking{padding:25px 18px}.booking>.btn{font-size:17px;font-weight:600}.gallery-grid{grid-auto-rows:140px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.contact-panel a:focus-visible,#lightbox button:focus-visible{outline:3px solid #e7edc8;outline-offset:5px}

@media(max-width:720px){
body,p,.hero p,.section-heading p,.experience-content p,.care-copy p,.plan-step p,.visit-copy>p,.booking-intro,.faq-copy p,.faq-list details p,.contact-panel p{font-size:18px;line-height:1.8}
.brand-wordmark small{font-size:11px;letter-spacing:.5px}
.hero .eyebrow,.eyebrow{font-size:16px;letter-spacing:.45px}
.main-nav a{font-size:18px}.menu-button{font-size:17px}.hero-actions .btn,.booking>.btn,.mobile-action .btn{font-size:17px}
.hero-actions{gap:12px}.hero-actions .btn:first-child{width:100%}.hero-actions .btn.secondary{width:100%}
.experience-content h3{font-size:27px;line-height:1.3}
.hero h1{font-size:clamp(42px,10.2vw,59px);line-height:1.18;letter-spacing:-1.1px}
h2,.care-copy h2,.visit-copy h2,.faq-copy h2{font-size:36px;line-height:1.25;letter-spacing:-.7px}
.price-row{align-items:flex-start;gap:18px}.price-row>span{max-width:125px;font-size:16px}
.call-card span,.form-note,.optional,.image-note,.gallery-bottom p,.site-footer p,.contact-links .contact-note{font-size:16px}
.contact-links>a{font-size:18px}.header-inner{gap:11px}.brand{gap:9px}
.hero-subline{align-items:flex-start}.hero-subline svg{margin-top:5px}
}
@media(max-width:480px){.field-row{grid-template-columns:1fr;gap:0}.contact-panel{padding:32px 23px}.contact-links>a{overflow-wrap:anywhere}.hero-copy .eyebrow{font-size:16px}.brand-wordmark small{font-size:11px}.brand-wordmark{font-size:25px}.menu-button{font-size:16px;padding:11px 12px}.hero h1{font-size:43px}.brand-mark{width:41px;height:49px}.plan-header h2{font-size:24px}}

@media(min-width:721px) and (max-width:960px){
.experience-grid{grid-template-columns:1fr;gap:24px}.experience{display:grid;grid-template-columns:.9fr 1.1fr}.experience-media img{height:100%;min-height:300px}.experience-content{min-height:300px;padding:30px}.experience-content h3{font-size:28px}.experience-content p{font-size:18px}
.visit-grid{grid-template-columns:1fr;gap:36px}.visit-copy>p{max-width:none}.booking{padding:36px}.field-row{grid-template-columns:1fr 1fr}.care-grid{grid-template-columns:1fr;gap:36px}.care-copy p{max-width:none}.care-visual>img{height:420px}.care-copy h2{font-size:43px}
}
