:root{--forest:#23463e;--ink:#1c302b;--sage:#aebdad;--cream:#f8f3ea;--blush:#e8cfc9;--gold:#b28d57;--line:#d9d3c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}h1,h2{font-family:'Playfair Display',serif;font-weight:600;line-height:1.05;margin:0}h1{font-size:clamp(3.2rem,7vw,6.5rem);letter-spacing:-.055em}h2{font-size:clamp(2.5rem,5vw,4.55rem);letter-spacing:-.045em}h1 i,h2 i{font-weight:500;color:var(--gold)}p{line-height:1.65}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:white;padding:1rem}.site-header{height:88px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e1d6;background:#fbf8f2;position:sticky;top:0;z-index:10}.brand{color:var(--forest);font-family:'Playfair Display';font-size:1.18rem;font-weight:700;text-decoration:none;white-space:nowrap}.brand span{font-style:italic;font-weight:500}.brand em{color:var(--gold)}nav{display:flex;gap:1.5rem}nav a,.text-link{color:var(--forest);font-size:.86rem;font-weight:700;text-decoration:none;cursor:pointer;border:0;background:none;padding:0}.button{background:var(--forest);color:white;border:1px solid var(--forest);border-radius:99px;padding:.92rem 1.35rem;font:700 .83rem 'DM Sans';letter-spacing:.025em;text-transform:uppercase;cursor:pointer}.button span{margin-left:.6rem;color:#e8d3a9}.button-small{padding:.68rem 1rem;font-size:.7rem}.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--forest)}.hero{min-height:650px;display:grid;grid-template-columns:1.07fr .93fr;padding-left:clamp(1.2rem,10vw,12rem);background:#faf7f1}.hero-copy{align-self:center;padding:4rem 3rem 4rem 0}.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--gold);margin:0 0 1rem}.lead{font-size:1.07rem;max-width:490px;margin:1.8rem 0 2rem;color:#54635c}.hero-actions{display:flex;gap:1.5rem;align-items:center}.hero-art{position:relative;overflow:hidden;background:linear-gradient(150deg,#e0c5bf,#cfa9a6);min-height:650px}.arch{position:absolute;border-radius:50% 50% 0 0;border:1px solid #f2ded8}.arch-one{height:74%;width:70%;left:11%;bottom:-4%;background:rgba(252,238,230,.22)}.arch-two{height:57%;width:55%;left:19%;bottom:0;border-width:15px}.leaf{position:absolute;color:#355a4d;font-size:11rem;line-height:1}.leaf-one{top:3%;right:5%;transform:rotate(-20deg)}.leaf-two{bottom:2%;left:4%;transform:rotate(160deg);color:#5d7c70}.hero-label{position:absolute;left:14%;bottom:12%;color:white}.hero-label small{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;margin-bottom:.8rem}.hero-label strong{font-family:'Playfair Display';font-size:2rem;line-height:1.08}.intro{max-width:720px;text-align:center;margin:0 auto;padding:8.5rem 1.5rem}.intro p:last-child{color:#58665e;max-width:570px;margin:1.5rem auto 0}.section{padding:7rem clamp(1.2rem,8vw,9rem)}.services{background:#e8e1d7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.section-heading .muted{max-width:300px;font-size:.88rem;color:#647069;margin:0}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#c9c5bd}.service-card{background:#f7f3ed;padding:2rem 1.5rem;min-height:290px;display:flex;flex-direction:column;align-items:flex-start}.service-icon{font-size:2rem;color:var(--gold);margin-bottom:1.7rem}.service-card h3{font-family:'Playfair Display';font-size:1.65rem;margin:0}.service-card p{color:#5c6761;font-size:.87rem;line-height:1.55;flex:1}.service-card a{font-size:.73rem;font-weight:700;color:var(--forest);text-decoration:none;text-transform:uppercase}.service-card a span{color:var(--gold);margin-left:.35rem}.booking-banner{background:var(--forest);color:white;padding:5.7rem clamp(1.2rem,12vw,13rem);display:flex;justify-content:space-between;align-items:center;gap:2rem}.booking-banner h2{font-size:clamp(2.5rem,4vw,4rem)}.booking-banner .eyebrow{color:#d8bb85}.booking-banner p:not(.eyebrow){color:#c8d4ce;max-width:460px}.button-light{background:#f8f3ea;color:var(--forest);border-color:#f8f3ea}.prices{background:#fbf8f2}.price-tabs{display:flex;gap:.4rem;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:1.2rem}.price-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:none;padding:.9rem .75rem;font:700 .8rem 'DM Sans';color:#657169;cursor:pointer}.price-tabs button.active{color:var(--forest);border-bottom-color:var(--gold)}.price-list{max-width:800px}.price-list h3{font:600 1.5rem 'Playfair Display';margin:1.5rem 0 .5rem}.price-row{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:1rem 0;gap:2rem}.price-row span{font-size:.93rem}.price-row small{display:block;color:#79827c;font-size:.75rem;margin-top:.15rem}.price-row b{font-size:.93rem;color:var(--forest)}.price-note{font-size:.76rem;color:#6a746f;margin-top:2.2rem}.visit{background:#e8cfc9;display:grid;grid-template-columns:1fr 1fr;padding:0}.visit-card{padding:6rem clamp(1.2rem,8vw,9rem)}.contact-lines{margin:2rem 0}.contact-lines p{display:flex;gap:.8rem;margin:.65rem 0;font-size:.9rem}.contact-lines span{color:var(--gold);font-size:1.15rem}.map-placeholder{min-height:440px;background:linear-gradient(135deg,#9db0a3,#d4ddd3);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--forest);position:relative;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:'';position:absolute;border:1px solid rgba(35,70,62,.25);border-radius:50%}.map-placeholder:before{width:420px;height:420px}.map-placeholder:after{width:250px;height:250px}.map-placeholder span,.map-placeholder strong,.map-placeholder small{position:relative;z-index:1}.map-placeholder span{font-size:4rem;color:var(--gold)}.map-placeholder strong{font:600 2rem/1.1 'Playfair Display'}.map-placeholder small{margin-top:1rem;font-size:.72rem}footer{padding:4rem clamp(1.2rem,8vw,9rem) 2rem;background:#18372f;color:#dce4db;display:grid;grid-template-columns:2fr 1fr;gap:3rem}footer .brand{color:white}footer p{font-size:.84rem;color:#bbcbc2}.socials{display:flex;gap:.7rem;flex-wrap:wrap}.socials a,.socials span{font-size:.73rem;color:white;border:1px solid #647a70;padding:.4rem .65rem;border-radius:99px;text-decoration:none}.socials span{color:#b4c1ba}.copyright{grid-column:1/-1;border-top:1px solid #4b655b;padding-top:1.5rem;margin:0}.whatsapp{position:fixed;right:1.2rem;bottom:1.2rem;z-index:8;background:#2f7c5c;color:white;border-radius:99px;padding:.72rem 1rem;box-shadow:0 5px 20px #19372d44;text-decoration:none;font-weight:700;font-size:.82rem}.whatsapp span{margin-left:.3rem}dialog{border:0;padding:0;width:min(590px,calc(100% - 2rem));background:#fbf8f2;color:var(--ink);box-shadow:0 20px 80px #17322966}dialog::backdrop{background:#17322988}.booking-title{padding:2.5rem 2.5rem 1rem}.booking-title h2{font-size:2.7rem}.booking-title p:not(.eyebrow){color:#657169;font-size:.9rem}#booking-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 2.5rem 2.5rem}#booking-form label{font-size:.74rem;font-weight:700;color:#44534c;display:grid;gap:.35rem}#booking-form label:first-child,#booking-form label:nth-child(6),#booking-form button,.form-note{grid-column:1/-1}input,select,textarea{font:400 .9rem 'DM Sans';border:1px solid #d5d0c7;padding:.75rem;background:white;color:var(--ink);border-radius:3px}textarea{min-height:85px;resize:vertical}.form-note{margin:0;color:#758078;font-size:.72rem;line-height:1.4}.close-dialog{position:absolute;right:1rem;top:.7rem;border:0;background:none;font-size:2rem;color:var(--forest);cursor:pointer}.booking-success{padding:1.5rem 2.5rem 3rem}.booking-success h2{font-size:2.4rem}.booking-success p{color:#657169}.booking-success .button{display:inline-block;text-decoration:none}@media(max-width:900px){.service-grid{grid-template-columns:repeat(3,1fr)}.hero{padding-left:clamp(1.2rem,5vw,4rem)}nav{gap:.75rem}.site-header{padding:0 1.2rem}}@media(max-width:680px){.site-header{height:72px}.site-header .button-small{display:none}.menu-toggle{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fbf8f2;padding:1rem 1.2rem 1.5rem;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:0;min-height:unset}.hero-copy{padding:4.5rem 1.3rem 3rem}.hero-art{min-height:380px}.hero-label{left:14%;bottom:14%}.intro{padding:5.5rem 1.3rem}.section{padding:4.5rem 1.3rem}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:2rem}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:230px;padding:1.3rem}.service-icon{margin-bottom:1rem}.booking-banner{padding:4rem 1.3rem;display:block}.booking-banner .button{margin-top:1rem}.visit{grid-template-columns:1fr}.visit-card{padding:4.5rem 1.3rem}.map-placeholder{min-height:320px}footer{grid-template-columns:1fr;padding:3.5rem 1.3rem 1.5rem}.hero-actions{flex-wrap:wrap;gap:1rem}#booking-form{grid-template-columns:1fr;padding:1rem 1.5rem 2rem}.booking-title{padding:2.2rem 1.5rem .7rem}.booking-success{padding:1.5rem}.whatsapp span{display:none}.whatsapp{padding:.8rem}.price-row{gap:1rem}.brand{font-size:1rem}}
