@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--night:#0b292c;--ink:#183c38;--muted:#61756e;--paper:#f9f7f1;--cream:#f2f1e9;--line:#d9e4dc;--accent:#d3b27a;--white:#fffefa;--ui:"Manrope",sans-serif;--body:"DM Sans",sans-serif;--display:"Playfair Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);font:16px/1.65 var(--body);color:var(--ink);overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:-9999px;top:6px;z-index:999;padding:11px;background:#fff}.skip:focus{left:12px}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}
.eyebrow{font:800 11px/1.4 var(--ui);letter-spacing:.19em;text-transform:uppercase;color:#af8350}.header{height:83px;position:relative;z-index:20;background:var(--white);border-bottom:1px solid #e4e9e2}.header-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}.brand img{width:48px;height:48px;object-fit:contain}.brand span{font:600 27px/1 var(--display);white-space:nowrap}.brand small{display:block;font:700 9px/1.6 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:#688077;margin-top:5px}.nav{display:flex;align-items:center;gap:26px}.nav a{font:700 12px var(--ui);text-decoration:none}.nav a:hover{color:#996f3b}.nav-toggle{display:none;border:0;background:none;font-size:27px;color:#194b43}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;border:1px solid transparent;border-radius:6px;padding:12px 22px;font:800 12px var(--ui);text-decoration:none;transition:transform .2s,background .2s;white-space:normal}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#17342e}.btn-primary:hover{background:#e4c89e}.btn-outline{border-color:#d9e7e180;color:#fff;background:#ffffff11}.btn-dark{background:#154b46;color:#fff}.btn-quiet{border-color:#bbcabe;color:#24574c;background:#fff}.nav .btn{min-height:42px}.header-call{font:800 11px var(--ui);color:#315d54}
.hero{min-height:660px;position:relative;isolation:isolate;background:#102f32;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,31,34,.98),rgba(6,33,37,.84) 47%,rgba(7,31,34,.22) 100%),linear-gradient(0deg,rgba(9,38,39,.65),transparent 58%)}.hero-content{padding-top:122px;padding-bottom:125px}.hero .eyebrow{color:#ebcfaa}.hero h1{max-width:790px;font:500 clamp(48px,6.3vw,92px)/1.07 var(--display);letter-spacing:-.055em;margin:20px 0 25px}.hero h1 em{font-weight:400;color:#efcfaa}.hero .lead{font-size:clamp(16px,1.55vw,20px);line-height:1.8;max-width:625px;color:#e6ece7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-note{color:#e0eae2;font:600 12px var(--ui);letter-spacing:.015em;margin-top:26px}.mini-bar{background:#eaf0e9;border-bottom:1px solid #dee9df}.mini-bar .wrap{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 0;font:700 12px var(--ui);color:#41645a}.mini-bar a{color:#225f50}.section{padding:clamp(65px,8vw,112px) 0}.section-alt{background:#edf2ec}.intro{max-width:760px;margin-bottom:34px}.intro h2,.split h2,.cta h2,.prose h2{font:500 clamp(34px,4.4vw,57px)/1.15 var(--display);letter-spacing:-.036em;color:#173f38;margin:13px 0 15px}.intro p,.split p,.prose p{color:#567268}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{overflow:hidden;background:#fffefa;border:1px solid #dae5db;border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s;min-width:0}.card:hover{transform:translateY(-4px);box-shadow:0 16px 38px #124c3e18}.card img{width:100%;height:225px;object-fit:cover}.card-body{padding:24px}.card h3,.area-card h3{font:600 24px/1.2 var(--display);margin:10px 0}.card p,.area-card p{font-size:14px;line-height:1.75;color:#64796e}.card .arrow{display:inline-block;margin-top:16px;color:#26725d;font:800 12px var(--ui)}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.area-card{background:#fff;border:1px solid #dce6dd;border-radius:10px;padding:25px;text-decoration:none;transition:transform .2s}.area-card:hover{transform:translateY(-3px)}.area-card h3{margin:9px 0}.area-card span{font:700 11px var(--ui);color:#327664}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,90px);align-items:center}.split-image{min-height:475px;border-radius:180px 180px 9px 9px;overflow:hidden}.split-image img{width:100%;height:100%;min-height:475px;object-fit:cover}.split h2{margin-bottom:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step{background:#fff;padding:30px;border-radius:12px;border-top:3px solid var(--accent)}.step b{color:#b19060;font:500 38px var(--display)}.step h3{font:600 23px var(--display);margin:9px 0}.step p{color:#60776b;font-size:14px}
.cta{padding:80px 0;background:linear-gradient(100deg,#0d363a,#0a252b);color:#fff}.cta h2{color:#fff;max-width:700px}.cta p{color:#d5e5df;max-width:650px}.cta .eyebrow{color:#e9c89b}.footer{background:#0a272a;color:#d4e4de;padding:68px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:25px}.footer .brand span{color:#fff}.footer .brand small{color:#c0d6cc}.footer p{max-width:340px;font-size:13px;color:#bccfc7}.footer h3{font:800 12px var(--ui);color:#f0e8d7}.footer a{font:600 13px/2.2 var(--body);text-decoration:none;display:block}.footer a:hover{color:#e5b77d}.footer-bottom{border-top:1px solid #385254;margin-top:45px;padding-top:20px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:11px;color:#b7cdc5}.photo-credit{font-size:10px;color:#a0bbb0;margin-top:20px}.footer .footer-bottom a{display:inline;color:#dce4d9}.service-link{display:inline-flex;margin:20px 0 0;font:800 12px var(--ui)}
.inner-hero{position:relative;isolation:isolate;background:#113a3b;padding:100px 0;color:#fff;overflow:hidden}.inner-hero:before{content:"";z-index:-1;position:absolute;inset:0;background:linear-gradient(100deg,#0e3338f5,#0d3338d4),var(--hero-photo);background-size:cover;background-position:center}.inner-hero .eyebrow{color:#e6c19c}.inner-hero h1{font:500 clamp(42px,5vw,74px)/1.09 var(--display);max-width:900px;letter-spacing:-.046em;margin:14px 0}.inner-hero p{max-width:680px;color:#d9e8e1;font-size:18px}
.body-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.65fr);align-items:start;gap:55px}.prose{font-size:16px;line-height:1.9}.prose h2{font-size:clamp(28px,3vw,40px);margin:36px 0 15px}.prose h3{font:600 25px var(--display);margin-top:28px}.prose li{margin-bottom:13px}.prose figure{margin:30px 0}.prose figure img{width:100%;height:360px;object-fit:cover;border-radius:10px}.prose figcaption{font-size:12px;color:#75877e;margin-top:8px}.prose a{color:#26705b}.sidebar{border:1px solid #d4e4d9;background:#eef3ed;border-radius:14px;padding:27px;position:sticky;top:100px}.sidebar h3{font:500 28px var(--display);margin:4px 0 13px}.sidebar p{font-size:14px;color:#587266}.sidebar .btn{margin-top:13px}
.faq-list{display:grid;gap:12px}.faq-list details{background:#fff;border:1px solid #d9e6da;border-radius:9px;padding:19px 24px}.faq-list summary{cursor:pointer;font:800 15px var(--ui);color:#214b41}.faq-list p{color:#60776b;line-height:1.75;margin-bottom:1px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.contact-card{background:#fff;border:1px solid #dce6de;border-radius:12px;padding:30px}.contact-card h3{font:500 28px var(--display)}.contact-card p{font-size:14px;color:#60776b}.contact-card a{font:800 13px var(--ui);color:#256b5b;word-break:break-word}
.dialog{border:0;background:#0f3539;color:#fff;width:min(790px,calc(100vw - 26px));max-height:94dvh;margin:auto;padding:0;border-radius:14px;box-shadow:0 30px 100px #0008}.dialog::backdrop{background:#051a20bf;backdrop-filter:blur(3px)}.dialog-head{padding:24px 28px 16px;display:flex;justify-content:space-between;align-items:start;gap:10px;position:sticky;top:0;background:#0f3539;z-index:1}.dialog-head .eyebrow{color:#d7b37f}.dialog h2{font:500 34px var(--display);margin:9px 0 0}.dialog-close{border:1px solid #456764;background:transparent;border-radius:50%;width:40px;height:40px;color:#fff;font-size:23px}.dialog-main{padding:0 28px 28px;max-height:calc(94dvh - 90px);overflow:auto}.dialog-main>p{color:#d4e6e0;font-size:14px}.summary{background:#1e504d;border:1px solid #43736a;border-radius:10px;padding:19px 22px;margin:17px 0}.summary strong{color:#ead0a8;font:800 13px var(--ui)}.summary p{margin:7px 0;font-size:14px;color:#e5efe9}.summary .summary-price{font-size:18px;color:#fff;font-weight:800}.summary small{display:block;color:#c3dbd1;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font:700 12px var(--ui);color:#ecf3ef}.field input,.field select,.field textarea{padding:11px 12px;border:1px solid #90a8a1;background:#fff;border-radius:6px;color:#1a3d33;width:100%;min-height:47px}.field input[type=checkbox]{width:18px;min-height:18px;accent-color:#a5d1bb}.consent{display:flex;gap:11px;align-items:flex-start;font-size:12px;color:#d9e7e0}.consent a{color:#ffe2b5}.dialog button[type=submit]{width:100%}.dialog .secondary-form-action{margin-top:10px;width:100%}.dialog .form-note{font-size:12px;color:#c8dbd1;margin:8px 0}.booking-result{color:#fff;font-size:13px;line-height:1.6;margin-top:13px}.booking-result a{color:#ffe2a9}.sr-only{position:absolute;left:-9999px}.floating-book{position:fixed;z-index:30;bottom:14px;right:14px;background:#d4b077;color:#16352d;border:0;border-radius:40px;padding:13px 22px;box-shadow:0 10px 35px #0b292d4b;font:800 13px var(--ui);display:none}
@media(max-width:1030px){.nav{gap:12px}.nav a{font-size:11px}.header-call{display:none}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header{height:73px}.wrap{width:calc(100% - 32px)}.brand img{width:42px;height:42px}.brand span{font-size:23px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:73px;left:0;right:0;background:#fff;padding:24px 18px;border-bottom:1px solid #d9e6db;flex-direction:column;align-items:stretch;gap:16px}.nav.open{display:flex}.nav .btn{width:100%}.hero{min-height:660px}.hero-content{padding:100px 0 115px}.hero:before{background:linear-gradient(90deg,#092b31ef,#0a323acf 74%,#0b32378c),linear-gradient(0deg,#071f25a8,transparent 60%)}.hero h1{font-size:clamp(45px,11vw,68px)}.mini-bar .wrap{flex-wrap:wrap}.grid-3,.area-grid,.steps,.contact-grid,.footer-grid{grid-template-columns:1fr 1fr}.split,.body-grid{grid-template-columns:1fr}.split-image{min-height:320px;order:-1}.split-image img{min-height:320px}.sidebar{position:static}.floating-book{display:block}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.brand span{font-size:21px}.brand small{font-size:8px}.header .brand img{width:40px}.hero{min-height:630px}.hero-content{padding:85px 0 105px}.hero h1{font-size:clamp(43px,11vw,60px)}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.grid-3,.grid-2,.area-grid,.steps,.contact-grid,.footer-grid{grid-template-columns:1fr}.card img{height:200px}.section{padding:65px 0}.inner-hero{padding:85px 0}.inner-hero h1{font-size:43px}.form-grid{grid-template-columns:1fr}.dialog-head{padding:19px}.dialog-main{padding:0 18px 22px}.dialog h2{font-size:28px}.footer-grid>div:first-child{grid-column:auto}.floating-book{left:12px;right:12px;bottom:9px}.footer{padding-bottom:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card,.area-card{transition:none}}
