:root{--pine:#173b34;--pine-deep:#102b27;--pine-mid:#245044;--sage:#d5e4c9;--sage-pale:#edf3e7;--lime:#dce9bd;--cream:#faf8f2;--cream-dark:#f2f0e7;--white:#fff;--ink:#223c35;--muted:#667670;--line:#e4e8df;--sand:#e8e0d1;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--font-ui:'Manrope',Arial,sans-serif;--shadow:0 25px 80px rgba(21,59,48,.09)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
svg{display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #8bbd8f;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.048em}h1 em,h2 em,h3 em{font-style:italic;font-weight:500}.container{width:min(1200px,calc(100% - 84px));margin-inline:auto}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-80px;left:18px;z-index:1000;padding:12px 18px;background:white;color:var(--pine)}.skip-link:focus{top:12px}.icon-sm{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-xs{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topbar{background:var(--pine-deep);color:#d1e7da}.topbar-inner{height:34px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-family:var(--font-ui);letter-spacing:.065em;font-weight:700}.topbar-inner>a{display:flex;align-items:center;gap:7px;letter-spacing:.025em;transition:color .2s}.topbar-inner>a:hover{color:#fff}.topbar-note{display:flex;align-items:center;gap:9px}.topbar-dot{width:6px;height:6px;border-radius:50%;background:#c6e7a3;box-shadow:0 0 0 4px rgba(198,231,163,.12)}
.site-header{position:sticky;top:0;z-index:60;background:rgba(250,248,242,.96);border-bottom:1px solid rgba(35,64,51,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header-inner{display:flex;align-items:center;gap:24px;min-height:91px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--pine);color:#e3edc8}.brand-icon svg{width:32px;height:32px}.brand-name{font-family:var(--serif);font-weight:700;font-size:21px;letter-spacing:-.065em;line-height:1;white-space:nowrap}.brand-name small{display:block;letter-spacing:.23em;font:800 9px/1.7 var(--font-ui);color:#6e8d6c;margin-top:5px}.desktop-nav{margin-left:auto;display:flex;gap:27px;align-items:center}.desktop-nav>a{font-size:12px;font-weight:700;color:#4f665c;transition:color .2s}.desktop-nav>a:hover{color:#98b17c}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:7px;min-height:49px;padding:13px 21px;font:800 12px/1.3 var(--font-ui);letter-spacing:.005em;transition:background .25s,transform .25s,box-shadow .25s}.button:hover{transform:translateY(-2px)}.button svg{transition:transform .25s}.button:hover svg{transform:translate(2px,-2px)}.button-dark{background:var(--pine);color:#fff;box-shadow:0 10px 30px rgba(11,52,40,.08)}.button-dark:hover{background:#275c4c;box-shadow:0 15px 30px rgba(11,52,40,.16)}.header-cta{padding-inline:20px;margin-left:6px;min-height:42px}.header-cta .icon-sm{width:14px;height:14px}.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;isolation:isolate;min-height:660px;padding:80px 0 24px;background:#f7f6ef;overflow:hidden}.hero::before{content:"";position:absolute;width:650px;height:650px;right:-200px;top:-300px;z-index:-1;background:radial-gradient(circle,#e9eedc 0%,rgba(233,238,220,0) 70%);opacity:.9}.hero-background-line{pointer-events:none;position:absolute;z-index:-1;border:1px solid #d8e3ce;border-radius:50%;opacity:.52}.hero-line-one{width:550px;height:550px;right:-350px;bottom:-345px}.hero-line-two{width:670px;height:670px;right:-410px;bottom:-405px}.hero-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:center}.hero-copy{padding:13px 0 65px;position:relative;z-index:2}.eyebrow,.section-label{display:flex;align-items:center;gap:13px;font:800 10px/1.3 var(--font-ui);letter-spacing:.195em;color:#63806e}.eyebrow-line,.section-label span{width:31px;height:1px;flex-shrink:0;background:#85a588}.hero h1{margin:22px 0 19px;max-width:640px;font-size:clamp(50px,5.45vw,78px);line-height:1.12;color:var(--pine)}.hero h1 em{color:#79966f}.hero-description{max-width:470px;margin-bottom:28px;font-size:16px;line-height:1.9;color:#677970}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.button-lg{min-height:56px;padding:17px 24px}.hero-text-link,.text-link{display:inline-flex;align-items:center;gap:11px;color:var(--pine);font:800 12px/1.3 var(--font-ui);border-bottom:1px solid #8caa8f;padding:10px 0;transition:gap .2s}.hero-text-link:hover,.text-link:hover{gap:17px}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:52px}.proof-symbol{width:42px;height:42px;display:grid;place-items:center;border:1px solid #d4e1d0;border-radius:50%;background:#e9f0de;color:#5c8264}.proof-symbol svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}.hero-proof strong,.hero-proof span{display:block}.hero-proof strong{font:800 12px/1.5 var(--font-ui);color:#415f50}.hero-proof span{font-size:12px;color:#84918a}
.hero-visual{position:relative;padding:4px 8px 48px 20px}.hero-image-frame{position:relative;z-index:1;height:500px;overflow:hidden;background:#dfebd9;border-radius:49% 49% 12px 12px / 33% 33% 12px 12px;box-shadow:0 27px 55px rgba(29,75,50,.11)}.hero-image-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,rgba(15,48,34,.18))}.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:49% center;filter:saturate(.86) contrast(1.025)}.hero-visual-ornament{position:absolute;left:-12px;bottom:19px;width:160px;height:180px;background:#dbe8ca;transform:rotate(-12deg);border-radius:60px 60px 12px 12px;z-index:0}.hero-sticker{position:absolute;z-index:3;top:64px;right:-25px;width:121px;height:121px;border-radius:50%;background:#dcebc8;border:7px solid #f7f6ef;color:var(--pine);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;transform:rotate(8deg);box-shadow:0 10px 25px rgba(23,59,52,.06)}.hero-sticker .sticker-heart{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6}.hero-sticker span{font-family:var(--serif);font-size:17px;line-height:1.04}.hero-sticker strong{font-style:italic}.hero-caption{position:absolute;z-index:2;bottom:16px;right:26px;background:var(--pine);color:white;padding:18px 29px 18px 20px;min-width:232px;display:flex;gap:15px;align-items:center;border-radius:7px;box-shadow:0 16px 35px rgba(13,47,38,.15)}.caption-leaf{font-size:35px;line-height:1;color:#d4e6bc}.hero-caption>span:last-child{font:600 10px/1.75 var(--font-ui);letter-spacing:.11em;color:#d0e0cf}.hero-caption b{color:#fff;font-size:11px}.hero-photo-outline{position:absolute;top:-11px;left:5px;width:100%;height:500px;border:1px solid #b7c9aa;border-radius:49% 49% 12px 12px / 33% 33% 12px 12px;pointer-events:none}.hero-bottom{display:flex;gap:19px;align-items:center;justify-content:space-between;color:#9da99d;font:800 9px var(--font-ui);letter-spacing:.18em}.hero-bottom-line{height:1px;flex:1;background:#e3e8de;margin:0 10px}
.values-band{background:var(--pine);color:#fff}.values-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:31px 0;gap:0}.value{display:flex;gap:15px;align-items:center;padding:4px 22px;border-right:1px solid rgba(255,255,255,.14)}.value:first-child{padding-left:0}.value:last-child{border:0}.value>svg{width:31px;height:31px;flex-shrink:0;fill:none;stroke:#d5e6bc;stroke-linejoin:round;stroke-linecap:round;stroke-width:1.45}.value b,.value small{display:block}.value b{font:700 13px var(--font-ui);margin-bottom:3px}.value small{font-size:11px;color:#bad1c3;line-height:1.35}
.section{padding:110px 0}.section-heading{margin-bottom:45px}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:60px}.section-heading h2,.approach-copy h2,.about-copy h2,.faq-layout h2,.contact-intro h2{font-size:clamp(37px,4.1vw,58px);line-height:1.22;margin:19px 0 0;color:var(--pine)}.section-heading em,.about-copy h2 em,.faq-layout h2 em{color:#789270}.split-heading h2{max-width:650px}.split-heading>p{margin:0 0 11px;max-width:360px;color:#738078;font-size:14px;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.service-card{position:relative;min-height:270px;padding:27px 24px 24px;background:#fff;border:1px solid #e6e9e2;transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c9d8c5}.service-number{position:absolute;top:25px;right:23px;color:#b5c2b9;font:800 10px var(--font-ui);letter-spacing:.08em}.service-icon{width:57px;height:57px;display:grid;place-items:center;border-radius:50%;background:#ecf2e8;color:#426f56;margin-bottom:28px}.service-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.service-card h3{margin:0 0 12px;max-width:190px;font:800 15px/1.4 var(--font-ui);letter-spacing:-.028em;color:#28483b}.service-card p{font-size:12.5px;line-height:1.75;color:#7a8980;margin:0;max-width:235px}.service-corner{position:absolute;right:19px;bottom:19px;color:#c0ccc0;opacity:0;transform:translate(-4px,4px);transition:opacity .2s,transform .2s}.service-corner svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}.service-card:hover .service-corner{opacity:1;transform:translate(0,0)}.service-card-accent{background:#dce9ca;border-color:#dce9ca}.service-card-accent .service-icon{background:#bcd5aa;color:#31583b}.service-card-accent p{color:#54705c}
.approach-section{padding:110px 0;background:var(--pine);color:#fff;overflow:hidden}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.approach-art{position:relative;max-width:500px;padding:13px 0 25px 20px}.approach-art-inner{height:530px;background:#6f8977;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border-radius:48% 48% 4px 4px / 31% 31% 4px 4px}.approach-art-inner::before{content:"";position:absolute;width:560px;height:560px;top:-390px;right:-200px;background:#8ba58a;border-radius:50%}.approach-art-inner::after{content:"";position:absolute;width:560px;height:560px;bottom:-450px;left:-210px;border-radius:50%;background:#5d7e69}.approach-art-border{position:absolute;inset:0 13px 32px 0;border:1px solid #8dada1;border-radius:48% 48% 4px 4px / 31% 31% 4px 4px}.art-sun{position:absolute;top:84px;right:70px;width:67px;height:67px;border-radius:50%;background:#bdcfae;opacity:.65}.art-home{position:relative;z-index:1;width:80%;max-width:340px;transform:translateY(-14px)}.art-caption{position:absolute;bottom:68px;z-index:2;text-align:center;font:500 29px/1.15 var(--serif);color:#eff0dc;letter-spacing:-.025em}.art-caption em{font-style:italic;color:#d9e8c1}.approach-art-note{position:absolute;z-index:3;bottom:0;left:-23px;display:flex;gap:10px;align-items:center;padding:16px 20px;background:#e0e7cb;color:#476451;font:800 11px var(--font-ui);border-radius:5px;transform:rotate(-5deg)}.approach-art-note svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6}.light-label{color:#b6cebb}.light-label span{background:#b6cebb}.approach-copy h2{color:#fff;font-size:clamp(40px,4.3vw,60px);margin:21px 0 20px}.approach-copy h2 em,.contact-intro h2 em{color:#c8deb6}.approach-copy>p{max-width:510px;font-size:14px;line-height:1.9;color:#b8cfc1}.step-list{margin:35px 0 28px}.step{display:flex;gap:22px;padding:22px 0;border-top:1px solid rgba(255,255,255,.17)}.step:last-child{border-bottom:1px solid rgba(255,255,255,.17)}.step>span{font:600 13px/1.5 var(--serif);color:#a7c39b}.step h3{color:#f5faf4;font:700 16px var(--font-ui);margin:0 0 5px}.step p{font-size:12px;color:#adcbba;margin:0}.light-text-link{color:#e1edda;border-color:#9bb7a0}
.packages-section{background:#f3f3eb}.centered-heading{text-align:center;max-width:690px;margin:0 auto 55px}.centered-heading h2{margin:16px 0}.centered-heading p{color:#718278;font-size:14px;line-height:1.85;margin:0}.centered-label{justify-content:center}.centered-label span{width:24px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px;align-items:stretch}.price-card{background:#fff;border:1px solid #e3e7df;padding:36px 39px 32px;box-shadow:0 10px 36px rgba(24,65,48,.035);display:flex;flex-direction:column;border-radius:4px}.stayin-card{border-top:4px solid var(--pine)}.stayout-card{border-top:4px solid #a9c392}.price-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:31px}.price-type{display:inline-flex;align-items:center;gap:9px;color:#487159;font:800 10px var(--font-ui);letter-spacing:.15em}.price-type svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.price-tag{display:inline-block;border:1px solid #d6e3d3;padding:7px 11px;color:#5d816a;background:#f2f7ef;border-radius:25px;font:800 9px var(--font-ui)}.light-tag{background:#eef1e9}.price-card h3{color:#244537;font:500 clamp(27px,2.55vw,37px)/1.24 var(--serif);letter-spacing:-.044em;margin-bottom:12px;max-width:400px}.price-card h3 em{color:#739172}.price-intro{font-size:12.5px;color:#819085;margin:0 0 24px}.price-start{display:flex;align-items:baseline;gap:6px;font:500 12px var(--font-ui);color:#72887a;flex-wrap:wrap;margin-bottom:25px}.price-start strong{font:800 32px/1.2 var(--font-ui);letter-spacing:-.06em;color:#234437;margin-left:5px}.price-start>span{font-size:12px}.rate-heading,.rate-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.rate-heading{font:800 9px var(--font-ui);color:#809487;letter-spacing:.11em;background:#f2f5ee;padding:12px 14px}.rate-row{padding:15px 14px;font:500 12px var(--font-ui);border-bottom:1px solid #ecf0ea;color:#61776a}.rate-row b{font-size:13px;font-weight:800;color:#2f5841;white-space:nowrap}.price-action{width:100%;margin-top:auto;min-height:52px;justify-content:space-between;padding:14px 20px}.stayin-card .rate-row:last-of-type{margin-bottom:68px}.duration-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:17px}.duration-btn{background:#f3f6f0;border:1px solid #e0e9dc;color:#748675;border-radius:3px;padding:9px 4px;white-space:nowrap;font:800 10px var(--font-ui);transition:all .15s}.duration-btn:hover{border-color:#a5c09e;color:#345943}.duration-btn.active{color:#fff;border-color:#315a45;background:#315a45}.duration-note{font-size:10.5px;color:#90a095;margin:11px 0 17px}.pricing-footnote{display:flex;align-items:center;gap:17px;margin-top:25px;padding:23px 26px;background:#e6eddf;border:1px solid #dce8d6}.pricing-footnote>svg{width:26px;height:26px;flex-shrink:0;color:#567a5a;fill:none;stroke:currentColor;stroke-width:1.6}.pricing-footnote p{font-size:12px;line-height:1.7;color:#647b69;margin:0;flex:1}.pricing-footnote strong{color:#31573e}.pricing-footnote>a{display:flex;gap:6px;align-items:center;white-space:nowrap;font:800 11px var(--font-ui);color:#335a43}.pricing-footnote>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}
.about-section{background:var(--cream)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.about-copy h2{margin:21px 0 18px}.about-copy>p{max-width:440px;font-size:14px;line-height:1.9;color:#77877c;margin-bottom:29px}.benefits{border-top:1px solid #dce4d7}.benefit{display:flex;align-items:center;gap:21px;padding:21px 0;border-bottom:1px solid #dce4d7}.benefit-icon{width:55px;height:55px;display:grid;place-items:center;background:#e8f0e2;border-radius:50%;flex-shrink:0;color:#52775a}.benefit-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.benefit>div{flex:1}.benefit h3{margin:0 0 6px;color:#2c513d;font:800 14px var(--font-ui)}.benefit p{margin:0;color:#829284;font-size:12px}.benefit-tick{height:18px;width:18px;stroke:#7da285;fill:none;stroke-width:1.7;stroke-linecap:round}
.quote-section{background:#dee8cd;padding:68px 0;text-align:center}.quote-layout{display:flex;flex-direction:column;align-items:center}.quote-asterisk{font-size:35px;color:#6b9469;line-height:1}.quote-layout p{max-width:840px;margin:12px 0 21px;font:500 clamp(29px,3.4vw,47px)/1.44 var(--serif);color:#294c3a;letter-spacing:-.035em}.quote-layout em{color:#779571;font-style:italic}.quote-caption{font:800 10px var(--font-ui);color:#779075;letter-spacing:.16em}
.faq-section{background:#fbfaf6}.faq-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.faq-layout h2{margin:20px 0}.faq-intro{color:#819084;max-width:350px;font-size:14px;line-height:1.9}.faq-list{border-top:1px solid #dae2d9}.faq-list details{border-bottom:1px solid #dae2d9}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:22px 0;color:#385445;font:800 13px/1.55 var(--font-ui)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #ccdbc9;border-radius:50%;flex-shrink:0}.faq-list summary svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;fill:none;transition:transform .2s}.faq-list details[open] summary svg{transform:rotate(180deg)}.faq-list details p{color:#79877b;font-size:12.5px;line-height:1.9;padding-right:38px;margin:-2px 0 23px}
.contact-section{background:var(--pine);color:white;padding:110px 0;overflow:hidden}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.contact-intro{position:relative;align-self:stretch;padding-top:28px}.contact-intro h2{color:white;font-size:clamp(44px,4.6vw,66px);margin:22px 0}.contact-intro>p{font-size:14px;color:#b6cbbc;line-height:1.95;max-width:380px}.contact-direct{display:flex;align-items:center;gap:17px;margin-top:49px}.direct-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid #86a995;color:#d7ecc6}.direct-icon svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7}.contact-direct>div span{display:block;font:700 9px var(--font-ui);letter-spacing:.16em;color:#a8c3ac}.contact-direct>div a{font:600 22px var(--serif);color:#fff}.contact-decor{position:absolute;bottom:0;left:-24px;font-size:245px;line-height:.7;color:#2d5b49;opacity:.55;pointer-events:none}.form-panel{padding:38px 39px 33px;background:#fbfaf6;color:var(--pine);box-shadow:0 25px 70px rgba(4,32,18,.08);position:relative;z-index:2}.form-heading{display:flex;align-items:center;gap:14px;margin-bottom:27px}.form-heading-icon{display:grid;place-items:center;background:#e8f0e1;color:#5c8669;width:46px;height:46px;border-radius:50%}.form-heading-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}.form-heading h3{font:700 25px/1.2 var(--serif);letter-spacing:-.045em;margin:0 0 5px}.form-heading p{font:500 11px var(--sans);color:#829084;margin:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:18px}.field label{display:block;font:800 11px var(--font-ui);margin-bottom:8px;color:#4b6854}.field label>span{color:#ad624e}.field input,.field select,.field textarea{width:100%;border:1px solid #dce5d9;outline:none;background:#fff;border-radius:3px;font:500 12px/1.5 var(--sans);color:var(--pine);padding:13px 14px;transition:border-color .2s,box-shadow .2s}.field input::placeholder,.field textarea::placeholder{color:#a3afa4}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6a9673;box-shadow:0 0 0 3px rgba(92,151,100,.12)}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a7563' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.field textarea{resize:vertical;min-height:93px}.form-submit{width:100%;justify-content:space-between;min-height:50px}.form-disclaimer{margin:15px 0 0;color:#849488;font-size:10px;line-height:1.65}
.site-footer{background:#0f2a25;color:#c5d7cb;padding:67px 0 0}.footer-main{display:grid;grid-template-columns:1.6fr .8fr .95fr 1.15fr;gap:55px;padding-bottom:57px}.footer-brand .brand-icon{background:#d4e7c0;color:#25483a;width:45px;height:45px}.footer-brand .brand-name{color:#fff}.footer-brand .brand-name small{color:#b7cbb0}.footer-brand-column p{color:#a0b8a8;font:400 14px/1.8 var(--serif);margin:22px 0 0}.footer-links,.footer-contact{display:flex;align-items:flex-start;flex-direction:column}.footer-main h3{font:800 11px var(--font-ui);color:#f1f7ee;margin:6px 0 22px}.footer-links>a{font-size:12px;color:#aabeb0;margin:0 0 11px;display:inline-flex;align-items:center;gap:5px;transition:color .2s}.footer-links>a:hover{color:#fff}.footer-contact p{font-size:12px;line-height:1.8;color:#aabeb0;margin:-5px 0 18px}.footer-contact>a{font:800 11px var(--font-ui);display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #83a191;padding-bottom:8px;color:#e3efda}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding:22px 0;color:#879e8e;font-size:10px}.footer-bottom>span:last-child{display:inline-flex;align-items:center;gap:5px}.footer-bottom .icon-xs{stroke:#accba4}.floating-whatsapp{position:fixed;z-index:70;right:22px;bottom:23px;display:flex;align-items:center;gap:10px;border-radius:40px;background:#25b964;color:white;box-shadow:0 14px 45px rgba(16,90,48,.26);padding:13px 19px 13px 14px;font:800 12px var(--font-ui);transition:transform .2s,background .2s}.floating-whatsapp:hover{background:#179b52;transform:translateY(-3px)}.floating-whatsapp>svg{width:24px;height:24px}
@media(max-width:1200px){.container{width:min(1120px,calc(100% - 64px))}.desktop-nav{gap:17px}.desktop-nav a{font-size:11px}.header-cta{padding-inline:15px}.approach-grid,.about-layout,.contact-layout{gap:72px}.hero h1{font-size:clamp(48px,5.2vw,68px)}.service-card{padding:26px 21px}.footer-main{gap:33px}}
@media(max-width:1020px){.desktop-nav{gap:12px}.desktop-nav a{font-size:10px}.brand-name{font-size:19px}.brand-icon{width:42px;height:42px}.header-cta{font-size:11px}.hero{padding-top:70px}.hero-layout{gap:23px}.hero h1{font-size:56px}.hero-visual{padding-right:0}.hero-image-frame,.hero-photo-outline{height:450px}.hero-sticker{right:-11px}.hero-proof{margin-top:32px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card{min-height:290px}.approach-grid{gap:62px}.approach-art-inner{height:475px}.approach-copy h2{font-size:46px}.contact-layout{gap:55px}}
@media(max-width:1120px){.desktop-nav,.header-cta{display:none}.header-inner{min-height:78px}.menu-toggle{display:grid;place-items:center;margin-left:auto;border:1px solid #d7e4d5;background:#edf3e8;border-radius:50%;color:var(--pine);width:42px;height:42px}.menu-icon{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;z-index:99;background:#faf8f2;padding:15px max(32px,calc((100vw - 720px)/2)) 25px;border-bottom:1px solid #dce8d9;box-shadow:0 16px 32px rgba(24,65,49,.09)}.mobile-menu>a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #e3e9df;font:700 13px var(--font-ui)}.mobile-menu .mobile-menu-cta{background:var(--pine);color:#fff;margin-top:15px;padding:14px 19px;border:0}.hero-layout{grid-template-columns:1fr 1fr;gap:30px}.hero h1{font-size:clamp(43px,5.5vw,59px)}.hero-visual{padding-left:0}.hero-image-frame,.hero-photo-outline{height:445px}.hero-description{font-size:14px}.hero-actions{gap:15px}.hero-text-link{font-size:11px}.hero-visual-ornament{display:none}.hero-proof{margin-top:28px}.hero-sticker{width:93px;height:93px;top:40px;right:-16px}.hero-sticker span{font-size:14px}.hero-sticker .sticker-heart{width:20px;height:20px}.hero-caption{right:7px;min-width:200px;padding:13px}.values-inner{grid-template-columns:1fr 1fr;row-gap:20px}.value:nth-child(2){border-right:0}.value:nth-child(3){padding-left:0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:230px}.split-heading{gap:30px}.approach-grid{grid-template-columns:1fr 1fr;gap:38px}.approach-art-inner{height:440px}.approach-copy h2{font-size:39px}.approach-copy>p{font-size:12.5px}.step{padding:14px 0}.pricing-grid{gap:14px}.price-card{padding:30px 25px}.about-layout{gap:50px}.faq-layout{gap:55px}.contact-layout{gap:42px}.form-panel{padding:30px 25px}.footer-main{grid-template-columns:1.5fr 1fr 1fr;gap:35px}.footer-contact{grid-column:1/-1;max-width:450px}}
@media(max-width:740px){.container{width:calc(100% - 42px)}.topbar-inner{font-size:9px}.topbar-inner>a{font-size:9px}.header-inner{min-height:75px}.hero{padding:53px 0 22px;min-height:auto}.hero-layout{grid-template-columns:1fr;gap:10px}.hero-copy{padding:0 0 28px}.eyebrow{font-size:9px}.hero h1{font-size:clamp(49px,9.3vw,72px);max-width:610px;margin:19px 0 16px}.hero-description{max-width:550px;font-size:15px}.hero-proof{margin-top:30px}.hero-visual{max-width:610px;width:100%;margin:0 auto 0;padding:7px 4px 45px 9px}.hero-image-frame,.hero-photo-outline{height:490px}.hero-photo-outline{left:0;top:0}.hero-sticker{right:-8px;top:49px}.hero-caption{bottom:13px;right:0}.hero-bottom{margin-top:12px}.values-inner{padding:26px 0}.section{padding:75px 0}.split-heading{display:block}.split-heading h2{max-width:580px}.split-heading>p{margin-top:17px;max-width:520px}.section-heading h2,.approach-copy h2,.about-copy h2,.faq-layout h2,.contact-intro h2{font-size:clamp(38px,7.1vw,53px)}.section-heading{margin-bottom:31px}.service-grid{gap:11px}.service-card{min-height:238px}.approach-section{padding:77px 0}.approach-grid{grid-template-columns:1fr;gap:55px}.approach-art{width:100%;max-width:500px;order:2;margin:0 auto}.approach-art-inner{height:440px}.approach-copy{order:1}.approach-copy h2{max-width:540px}.approach-copy>p{font-size:14px}.step-list{margin-top:28px}.step{padding:18px 0}.pricing-grid{grid-template-columns:1fr;gap:19px}.price-card{padding:32px 31px}.price-card h3{max-width:500px}.stayin-card .rate-row:last-of-type{margin-bottom:32px}.stayout-card .price-action{margin-top:8px}.pricing-footnote{align-items:flex-start;flex-wrap:wrap}.pricing-footnote p{flex:1 1 calc(100% - 60px)}.pricing-footnote>a{margin-left:40px}.about-layout,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:36px}.benefits{margin-top:6px}.quote-section{padding:55px 0}.faq-intro{max-width:520px}.contact-section{padding:74px 0}.contact-intro{padding-top:0}.contact-direct{margin-top:26px}.contact-decor{display:none}.form-panel{padding:31px}.footer-main{grid-template-columns:1fr 1fr;gap:42px}.footer-brand-column{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}}
@media(max-width:480px){html{scroll-padding-top:84px}.container{width:calc(100% - 34px)}.topbar-note{font-size:8px;letter-spacing:0}.topbar-inner>a{font-size:0;gap:4px}.topbar-inner>a svg{width:15px;height:15px}.topbar-inner>a .icon-xs:last-child{display:none}.brand-name{font-size:20px}.brand-icon{width:43px;height:43px}.mobile-menu:not([hidden]){padding:12px 21px 23px}.hero{padding-top:48px}.hero h1{font-size:clamp(42px,11.4vw,59px);line-height:1.13}.hero-description{font-size:14px;line-height:1.83}.hero-actions{gap:12px}.button-lg{width:100%;justify-content:space-between;padding:15px 19px}.hero-text-link{margin:1px 0 0}.hero-proof strong{font-size:11px}.hero-proof span{font-size:11px}.hero-visual{padding-left:7px;padding-right:8px}.hero-image-frame,.hero-photo-outline{height:355px}.hero-sticker{right:-6px;top:27px;width:82px;height:82px;border-width:5px}.hero-sticker span{font-size:12px}.hero-sticker .sticker-heart{width:18px;height:18px}.hero-caption{min-width:185px}.hero-bottom{font-size:7px;gap:9px}.hero-bottom-line{margin:0}.values-inner{grid-template-columns:1fr 1fr;gap:0}.value{padding:14px 7px!important;gap:9px}.value:nth-child(2n){border:0}.value:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}.value>svg{width:23px;height:23px}.value b{font-size:11px}.value small{font-size:9px}.section{padding:69px 0}.section-heading h2,.about-copy h2,.faq-layout h2{font-size:clamp(36px,9.2vw,45px)}.service-grid{grid-template-columns:1fr}.service-card{min-height:199px;padding:25px}.service-icon{margin-bottom:20px}.service-card h3{max-width:none;font-size:15px}.service-card p{max-width:300px}.service-corner{opacity:1;transform:none}.approach-section{padding:70px 0}.approach-copy h2,.contact-intro h2{font-size:clamp(39px,9.6vw,49px)}.approach-art{padding-left:12px}.approach-art-inner{height:385px}.approach-art-border{bottom:27px}.art-home{width:91%}.art-caption{font-size:24px;bottom:50px}.approach-art-note{left:-5px;font-size:10px;padding:12px}.price-card{padding:29px 21px}.price-top{margin-bottom:22px}.price-card h3{font-size:30px}.price-start strong{font-size:28px}.duration-controls{gap:3px}.duration-btn{font-size:9px}.pricing-footnote{padding:18px;gap:11px}.pricing-footnote>svg{width:22px;height:22px}.pricing-footnote p{font-size:11px}.pricing-footnote>a{margin-left:32px}.benefit{gap:15px}.benefit-icon{width:45px;height:45px}.benefit h3{font-size:12px}.benefit p{font-size:11px}.quote-layout p{font-size:30px}.faq-list summary{font-size:12px}.form-panel{padding:26px 20px}.field-row{grid-template-columns:1fr;gap:0}.contact-section{padding-bottom:70px}.footer-main{gap:30px;padding-bottom:34px}.footer-brand-column{grid-column:1/-1}.footer-links{min-width:0}.footer-main h3{font-size:10px}.footer-links>a{font-size:11px}.footer-bottom{padding:20px 0 87px}.floating-whatsapp{right:14px;bottom:15px;padding:12px 14px}.floating-whatsapp>svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:480px){.floating-whatsapp{width:52px;height:52px;border-radius:50%;padding:0;display:grid;place-items:center}.floating-whatsapp span{display:none}.floating-whatsapp>svg{width:27px;height:27px}}

/*
 * Senior-friendly readability refinements
 * Keeps the First Care Nova visual identity and existing interactions.
 * Content stays readable at default and narrow screen widths.
 */

:root {
  --muted: #455e50;
}

body {
  font-size: 18px;
  line-height: 1.7;
}

/* Header, navigation and tap targets */
.topbar-inner {
  height: auto;
  min-height: 45px;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .02em;
}
.topbar-dot { width: 8px; height: 8px; }
.header-inner { min-height: 94px; gap: 17px; }
.brand-name small {
  font: 800 12px/1.5 var(--font-ui);
  letter-spacing: .16em;
  color: #38654b;
}
.desktop-nav { gap: 16px; }
.desktop-nav > a {
  color: #314f40;
  font-size: 15px;
  line-height: 1.5;
}
.desktop-nav > a:hover { color: #1b4c37; }
.button {
  min-height: 54px;
  padding: 15px 22px;
  font: 800 16px/1.4 var(--font-ui);
  letter-spacing: 0;
}
.button-lg { min-height: 59px; }
.header-cta { min-height: 50px; }
.hero-text-link, .text-link {
  font: 800 16px/1.5 var(--font-ui);
}

/* Hero and small supporting copy */
.eyebrow, .section-label {
  font: 800 14px/1.5 var(--font-ui);
  letter-spacing: .085em;
  color: #3d6249;
}
.hero-description {
  font-size: 19px;
  line-height: 1.7;
  color: #405c4d;
}
.hero-proof strong {
  font: 800 16px/1.5 var(--font-ui);
  color: #294d3a;
}
.hero-proof span { font-size: 15px; color: #4d6654; }
.hero-caption { min-width: 252px; }
.hero-caption > span:last-child {
  font: 700 13px/1.5 var(--font-ui);
  letter-spacing: .05em;
  color: #e1ece2;
}
.hero-caption b { font-size: 14px; }
.hero-bottom {
  color: #4f6955;
  font: 800 13px/1.4 var(--font-ui);
  letter-spacing: .065em;
}

/* Trust/value band */
.value b { font: 700 17px/1.5 var(--font-ui); }
.value small { font-size: 15px; line-height: 1.5; color: #d3e5d8; }
.values-inner { padding-block: 34px; }

/* Services, section introductions and process */
.split-heading > p,
.centered-heading p,
.approach-copy > p,
.about-copy > p,
.faq-intro,
.contact-intro > p {
  font-size: 18px;
  line-height: 1.75;
}
.split-heading > p,
.centered-heading p,
.about-copy > p,
.faq-intro { color: #465f51; }
.approach-copy > p,
.contact-intro > p { color: #e0ebdf; }
.service-card { min-height: 322px; padding: 29px 23px; }
.service-number { font: 800 14px/1.4 var(--font-ui); color: #526c5b; }
.service-card h3 {
  max-width: none;
  font: 800 19px/1.45 var(--font-ui);
  color: #244637;
}
.service-card p { font-size: 16px; line-height: 1.7; color: #4e6659; }
.service-card-accent p { color: #35553f; }
.step > span { font: 600 16px/1.5 var(--serif); color: #dcead1; }
.step h3 { font: 700 19px/1.5 var(--font-ui); }
.step p { font-size: 17px; line-height: 1.7; color: #d7e7d8; }
.approach-art-note { font: 800 14px/1.4 var(--font-ui); }

/* Pricing: important information must never be tiny. */
.price-type { font: 800 14px/1.5 var(--font-ui); letter-spacing: .08em; color: #315b40; }
.price-tag { font: 800 14px/1.4 var(--font-ui); color: #355a3d; }
.price-intro { font-size: 17px; line-height: 1.65; color: #4f6755; }
.price-start { font: 600 16px/1.5 var(--font-ui); color: #435f4d; }
.price-start strong { font-size: 36px; }
.price-start > span { font-size: 16px; }
.rate-heading {
  font: 800 14px/1.5 var(--font-ui);
  letter-spacing: .045em;
  color: #3c5c48;
}
.rate-row { font: 600 17px/1.5 var(--font-ui); color: #385a44; }
.rate-row b { font-size: 19px; color: #214c32; }
.duration-btn {
  padding: 13px 6px;
  min-height: 48px;
  font: 800 15px/1.3 var(--font-ui);
  color: #3c6047;
}
.duration-note { font-size: 15px; line-height: 1.6; color: #4f6754; }
.pricing-footnote p { font-size: 16px; line-height: 1.7; color: #365a43; }
.pricing-footnote > a { font: 800 16px/1.4 var(--font-ui); color: #19432d; }

/* Benefits, quotation and FAQ */
.benefit h3 { font: 800 18px/1.5 var(--font-ui); }
.benefit p { font-size: 16px; line-height: 1.65; color: #455e4d; }
.quote-caption { font: 800 14px/1.5 var(--font-ui); letter-spacing: .08em; color: #365942; }
.faq-list summary { font: 800 18px/1.5 var(--font-ui); min-height: 70px; }
.faq-list details p { font-size: 17px; line-height: 1.75; color: #465e4e; }
.faq-list summary > span { width: 35px; height: 35px; }
.faq-list summary svg { width: 18px; height: 18px; }

/* Contact details, labels, input fields and notes */
.contact-direct > div span {
  font: 800 14px/1.5 var(--font-ui);
  letter-spacing: .075em;
  color: #d2e6d4;
}
.contact-direct > div a { font-size: 27px; }
.form-heading p { font: 500 16px/1.6 var(--sans); color: #4e6654; }
.field label { font: 800 16px/1.5 var(--font-ui); color: #2e5038; }
.field input, .field select, .field textarea {
  font: 500 17px/1.5 var(--sans);
  padding: 14px 15px;
  min-height: 54px;
}
.field input::placeholder, .field textarea::placeholder { color: #536c59; }
.field textarea { min-height: 124px; }
.form-disclaimer { font-size: 15px; line-height: 1.65; color: #475f4d; }

/* Footer and floating contact action */
.footer-brand-column p { font: 400 17px/1.7 var(--serif); color: #d6e3d6; }
.footer-main h3 { font: 800 16px/1.5 var(--font-ui); }
.footer-links > a { font-size: 16px; line-height: 1.6; color: #d4e4d8; }
.footer-contact p { font-size: 16px; line-height: 1.7; color: #d4e4d8; }
.footer-contact > a { font: 800 16px/1.5 var(--font-ui); }
.footer-bottom { font-size: 14px; line-height: 1.55; color: #c9ddce; }
.floating-whatsapp { font: 800 16px/1.45 var(--font-ui); min-height: 54px; }

/* At larger tablet widths, use full-size mobile navigation instead of shrinking desktop links. */
@media (max-width: 1120px) {
  .mobile-menu > a { font: 700 18px/1.45 var(--font-ui); padding: 15px 0; }
  .menu-toggle { width: 50px; height: 50px; }
  .hero-description { font-size: 18px; }
  .approach-copy > p { font-size: 18px; }
}

@media (max-width: 740px) {
  .topbar-inner { font-size: 14px; }
  .topbar-inner > a { font-size: 14px; }
  .eyebrow { font-size: 14px; }
  .hero-description { font-size: 18px; line-height: 1.72; }
  .section-heading h2, .approach-copy h2, .about-copy h2,
  .faq-layout h2, .contact-intro h2 { line-height: 1.2; }
  .service-card { min-height: 265px; }
  .price-card h3 { font-size: 34px; }
  .price-start strong { font-size: 36px; }
  .duration-controls { gap: 10px; }
  .duration-btn { font-size: 16px; }
  .pricing-footnote > a { margin-left: 40px; }
}

@media (max-width: 520px) {
  .topbar-inner { min-height: 45px; justify-content: center; }
  .topbar-note { display: none; }
  .topbar-inner > a { font-size: 15px; }
  .topbar-inner > a svg { width: 18px; height: 18px; }
  .brand-name { font-size: 21px; }
  .brand-name small { font-size: 11px; }
  .mobile-menu:not([hidden]) { padding: 15px 22px 25px; }
  .hero-description { font-size: 18px; line-height: 1.7; }
  .hero-proof strong { font-size: 16px; }
  .hero-proof span { font-size: 15px; }
  .hero-text-link { font-size: 16px; }
  .hero-sticker span { font-size: 14px; }
  .hero-caption { min-width: 0; padding: 13px 16px; }
  .hero-caption > span:last-child { font-size: 12px; }
  .hero-caption b { font-size: 13px; }
  .hero-bottom { font-size: 11px; letter-spacing: .025em; }
  .values-inner { grid-template-columns: 1fr; padding: 18px 0; gap: 0; }
  .value, .value:first-child, .value:nth-child(3), .value:last-child {
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
    padding: 15px 8px !important;
    gap: 15px;
  }
  .value:last-child { border: 0; }
  .value > svg { width: 29px; height: 29px; }
  .value b { font-size: 17px; }
  .value small { font-size: 15px; }
  .service-card { min-height: 0; padding: 27px 25px; }
  .service-card h3 { font-size: 19px; }
  .service-card p { font-size: 17px; }
  .service-number { font-size: 14px; }
  .approach-copy > p, .about-copy > p, .faq-intro,
  .contact-intro > p, .centered-heading p { font-size: 18px; }
  .step h3 { font-size: 19px; }
  .step p { font-size: 17px; }
  .approach-art-note { font-size: 14px; }
  .price-card { padding: 28px 22px; }
  .price-type, .price-tag { font-size: 14px; }
  .price-card h3 { font-size: 33px; }
  .price-intro { font-size: 17px; }
  .price-start { font-size: 16px; }
  .price-start strong { font-size: 34px; }
  .duration-controls { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .duration-btn { min-height: 50px; font-size: 16px; }
  .rate-heading { font-size: 14px; }
  .rate-row, .rate-row b { font-size: 17px; }
  .duration-note { font-size: 15px; }
  .pricing-footnote p { font-size: 16px; }
  .pricing-footnote > a { margin-left: 0; font-size: 16px; }
  .benefit h3 { font-size: 18px; }
  .benefit p { font-size: 16px; }
  .faq-list summary { font-size: 18px; }
  .faq-list details p { font-size: 17px; }
  .form-heading p { font-size: 16px; }
  .field label { font-size: 16px; }
  .field input, .field select, .field textarea { font-size: 17px; }
  .form-disclaimer { font-size: 15px; }
  .footer-main h3 { font-size: 16px; }
  .footer-links > a { font-size: 16px; }
  .footer-bottom { font-size: 14px; }
}

@media (max-width: 380px) {
  .hero-bottom { flex-wrap: wrap; gap: 6px; }
  .hero-bottom-line { min-width: 30px; }
  .rate-row { flex-wrap: wrap; row-gap: 4px; }
  .rate-row b { margin-left: auto; }
  .price-card h3 { font-size: 30px; }
  .price-start strong { font-size: 31px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* Keep supporting photo copy legible on the smallest phones as well. */
@media (max-width: 520px) {
  .brand-name small { font-size: 12px; }
  .hero-caption > span:last-child { font-size: 14px; }
  .hero-caption b { font-size: 14px; }
  .hero-bottom { font-size: 13px; }
}
