:root{--color-primary:#1b3d36;--color-primary-dark:#122a25;--color-primary-soft:#2a5a4f;--color-accent:#b8925a;--color-accent-hover:#a07c48;--color-bg:#f3f5f4;--color-bg-alt:#e8ecea;--color-surface:#fff;--color-text:#1a1f1e;--color-text-muted:#5c6764;--color-border:#d5ddd9;--color-overlay:#122a258c;--font-display:"Fraunces", Georgia, serif;--font-body:"Manrope", "Segoe UI", sans-serif;--shadow-soft:0 12px 40px #122a2514;--shadow-card:0 8px 28px #122a2512;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--header-height:80px;--container:1180px;--transition:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{font-family:var(--font-body);color:var(--color-text);background:radial-gradient(ellipse 80% 50% at 10% -10%, #b8925a1f, transparent 50%), radial-gradient(ellipse 60% 40% at 100% 0%, #2a5a4f1a, transparent 45%), var(--color-bg);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button,input,select,textarea{font:inherit}button{cursor:pointer;background:0 0;border:none}.container{width:min(100% - 2.5rem, var(--container));margin-inline:auto}.section{padding:5.5rem 0}.section--alt{background:linear-gradient(180deg, var(--color-bg-alt) 0%, #eef1f0 100%)}.section__header{text-align:center;max-width:640px;margin:0 auto 3rem}.section__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem;font-size:.8rem;font-weight:600;display:inline-block}.section__title{font-family:var(--font-display);color:var(--color-primary);margin-bottom:.85rem;font-size:clamp(1.85rem,3.5vw,2.6rem);font-weight:600;line-height:1.2}.section__subtitle{color:var(--color-text-muted);font-size:1.05rem}.btn{border-radius:var(--radius-sm);letter-spacing:.02em;transition:background-color var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn--primary{background-color:var(--color-accent);color:#fff}.btn--primary:hover{background-color:var(--color-accent-hover);box-shadow:0 8px 20px #b8925a59}.btn--secondary{color:#fff;background-color:#0000;border:1.5px solid #ffffffbf}.btn--secondary:hover{background-color:#ffffff1f;border-color:#fff}.btn--dark{background-color:var(--color-primary);color:#fff}.btn--dark:hover{background-color:var(--color-primary-soft);box-shadow:0 8px 20px #1b3d3640}.btn--full{width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){.section{padding:4rem 0}.container{width:min(100% - 1.75rem, var(--container))}}.header{z-index:1000;height:var(--header-height);transition:background-color var(--transition), box-shadow var(--transition), backdrop-filter var(--transition);position:fixed;inset:0 0 auto}.header--scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#fffffff0;box-shadow:0 4px 24px #122a2514}.header__inner{justify-content:space-between;align-items:center;gap:1.5rem;height:100%;display:flex}.header__logo{z-index:1002;align-items:center;gap:.65rem;display:inline-flex}.header__logo-mark{background:radial-gradient(circle at 35% 35%, #d4b483 0%, transparent 45%), linear-gradient(145deg, var(--color-primary) 0%, var(--color-primary-soft) 100%);border-radius:50%;width:1.65rem;height:1.65rem;box-shadow:inset 0 0 0 2px #ffffff40}.header__logo-text{font-family:var(--font-display);letter-spacing:.01em;color:#fff;transition:color var(--transition);font-size:1.35rem;font-weight:600}.header--scrolled .header__logo-text{color:var(--color-primary)}.header__nav{align-items:center;gap:2rem;display:flex}.header__links{align-items:center;gap:1.5rem;display:flex}.header__link{color:#ffffffe6;transition:color var(--transition);font-size:.92rem;font-weight:500;position:relative}.header__link:after{content:"";background-color:var(--color-accent);width:0;height:2px;transition:width var(--transition);position:absolute;bottom:-4px;left:0}.header__link:hover{color:#fff}.header__link:hover:after{width:100%}.header--scrolled .header__link{color:var(--color-text-muted)}.header--scrolled .header__link:hover{color:var(--color-primary)}.header__cta{padding:.7rem 1.25rem;font-size:.88rem}.header__toggle{z-index:1002;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;display:none}.header__toggle span{width:1.4rem;height:2px;transition:transform var(--transition), opacity var(--transition), background-color var(--transition);background-color:#fff;border-radius:2px;margin-inline:auto;display:block}.header--scrolled .header__toggle span{background-color:var(--color-primary)}.header__toggle--open span:first-child{transform:translateY(7px)rotate(45deg)}.header__toggle--open span:nth-child(2){opacity:0}.header__toggle--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.header__overlay{display:none}@media (width<=960px){.header__toggle{display:flex}.header__nav{background-color:var(--color-surface);z-index:1001;flex-direction:column;justify-content:center;align-items:stretch;gap:2rem;width:min(20rem,86vw);height:100vh;padding:2.5rem;transition:transform .3s;position:fixed;top:0;right:0;transform:translate(105%);box-shadow:-12px 0 40px #122a251f}.header__nav--open{transform:translate(0)}.header__links{flex-direction:column;align-items:flex-start;gap:1.25rem}.header__link{color:var(--color-text);font-size:1.1rem}.header__link:hover{color:var(--color-primary)}.header__cta{width:100%}.header__overlay{opacity:0;pointer-events:none;z-index:1000;background-color:#122a2573;transition:opacity .3s;display:block;position:fixed;inset:0}.header__overlay--open{opacity:1;pointer-events:auto}}.hero{align-items:flex-end;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero__media{object-fit:cover;width:100%;height:100%;animation:18s ease-out forwards hero-zoom;position:absolute;inset:0;transform:scale(1.04)}.hero__overlay{background:linear-gradient(#122a2573 0%,#122a2559 40%,#122a25c7 100%),linear-gradient(90deg,#122a2559 0%,#0000 55%);position:absolute;inset:0}.hero__content{z-index:1;width:100%;padding-bottom:clamp(5rem,12vh,8rem);padding-top:calc(var(--header-height) + 2rem);max-width:720px;margin-left:max(calc((100% - var(--container)) / 2), 1.25rem);margin-right:auto;animation:.9s ease-out both hero-rise;position:relative}.hero__brand{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:600;line-height:1.05}.hero__heading{font-family:var(--font-body);color:#ffffffeb;max-width:28ch;margin-bottom:1rem;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:500;line-height:1.45}.hero__text{color:#ffffffc7;max-width:42ch;margin-bottom:2rem;font-size:1.02rem}.hero__actions{flex-wrap:wrap;gap:.85rem;display:flex}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero{align-items:center}.hero__content{padding-inline:1.75rem;max-width:none;margin-left:0;padding-bottom:4rem}.hero__heading{max-width:none}}.booking{z-index:5;margin-top:-3.5rem;padding-top:0;position:relative}.booking__panel{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid #d5ddd9cc;padding:clamp(1.5rem,3vw,2.25rem)}.booking__intro{margin-bottom:1.5rem}.booking__title{font-family:var(--font-display);color:var(--color-primary);margin-bottom:.35rem;font-size:clamp(1.5rem,2.5vw,1.9rem)}.booking__text{color:var(--color-text-muted);font-size:.98rem}.booking__form{grid-template-columns:repeat(4,1fr) auto;align-items:end;gap:1rem;display:grid}.booking__field{flex-direction:column;gap:.45rem;display:flex}.booking__field label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.82rem;font-weight:600}.booking__field input,.booking__field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);transition:border-color var(--transition), background-color var(--transition);background-color:#fafbfa;padding:.8rem .9rem}.booking__field input:hover,.booking__field select:hover{border-color:#b8c5bf}.booking__action{min-width:11.5rem}.booking__status{border-radius:var(--radius-sm);color:var(--color-primary);background-color:#2a5a4f14;margin-top:1.15rem;padding:.85rem 1rem;font-size:.95rem}@media (width<=1100px){.booking__form{grid-template-columns:repeat(2,1fr)}.booking__action{grid-column:1/-1;min-width:0}}@media (width<=600px){.booking{margin-top:-2rem}.booking__form{grid-template-columns:1fr}}.about__grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.about__media{border-radius:var(--radius-lg);min-height:420px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.about__media:after{content:"";pointer-events:none;background:linear-gradient(145deg,#b8925a59,#0000);width:42%;height:42%;position:absolute;inset:auto -8% -8% auto}.about__media img{object-fit:cover;width:100%;height:100%;min-height:420px;transition:transform .6s}.about__media:hover img{transform:scale(1.03)}.about__content .section__title{text-align:left;margin-bottom:1rem}.about__content .section__eyebrow{text-align:left}.about__text{color:var(--color-text-muted);margin-bottom:1rem}.about__highlights{grid-template-columns:1fr 1fr;gap:.85rem 1.25rem;margin-top:1.75rem;display:grid}.about__highlight{color:var(--color-primary);align-items:center;gap:.65rem;font-size:.95rem;font-weight:600;display:flex}.about__highlight-dot{background-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}@media (width<=900px){.about__grid{grid-template-columns:1fr}.about__media,.about__media img{min-height:320px}}@media (width<=520px){.about__highlights{grid-template-columns:1fr}}.rooms__grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.room-card{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform var(--transition), box-shadow var(--transition);border:1px solid #d5ddd9b3;flex-direction:column;display:flex;overflow:hidden}.room-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px #122a251f}.room-card__media{height:200px;position:relative;overflow:hidden}.room-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.room-card:hover .room-card__media img{transform:scale(1.05)}.room-card__price{border-radius:var(--radius-sm);color:var(--color-primary);background-color:#fffffff0;padding:.35rem .7rem;font-size:.85rem;font-weight:700;position:absolute;bottom:.85rem;left:.85rem}.room-card__body{flex-direction:column;flex:1;gap:.7rem;padding:1.25rem;display:flex}.room-card__name{font-family:var(--font-display);color:var(--color-primary);font-size:1.25rem}.room-card__desc{color:var(--color-text-muted);flex:1;font-size:.92rem}.room-card__guests{color:var(--color-primary-soft);font-size:.88rem;font-weight:600}.room-card__amenities{flex-wrap:wrap;gap:.35rem .75rem;margin-bottom:.35rem;display:flex}.room-card__amenities li{color:var(--color-text-muted);font-size:.8rem;font-weight:500;position:relative}.room-card__amenities li:not(:last-child):after{content:"·";color:var(--color-border);position:absolute;right:-.55rem}@media (width<=1100px){.rooms__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.rooms__grid{grid-template-columns:1fr}}.services__grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.service-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);padding:1.5rem 1.25rem}.service-card:hover{box-shadow:var(--shadow-card);border-color:#b8925a8c;transform:translateY(-4px)}.service-card__icon{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--color-primary);background:linear-gradient(145deg,#2a5a4f1f,#b8925a26);justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.service-card__icon svg{width:1.35rem;height:1.35rem}.service-card__title{color:var(--color-primary);margin-bottom:.45rem;font-size:1.05rem;font-weight:700}.service-card__text{color:var(--color-text-muted);font-size:.92rem}@media (width<=1000px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.services__grid{grid-template-columns:1fr}}.amenities__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.amenity-item{border-radius:var(--radius-md);background:linear-gradient(165deg, #ffffffe6, #ffffffa6), var(--color-surface);transition:transform var(--transition);border:1px solid #d5ddd9cc;align-items:flex-start;gap:1rem;padding:1.35rem 1.25rem;display:flex}.amenity-item:hover{transform:translateY(-3px)}.amenity-item__visual{background-color:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:3rem;height:3rem;display:grid}.amenity-item__visual svg{width:1.3rem;height:1.3rem}.amenity-item__title{color:var(--color-primary);margin-bottom:.35rem;font-size:1.05rem;font-weight:700}.amenity-item__text{color:var(--color-text-muted);font-size:.92rem}@media (width<=900px){.amenities__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.amenities__grid{grid-template-columns:1fr}}.gallery__grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:1rem;display:grid}.gallery__item{border-radius:var(--radius-md);box-shadow:var(--shadow-card);grid-column:span 4;position:relative;overflow:hidden}.gallery__item--1{grid-area:span 2/span 6}.gallery__item--2,.gallery__item--3{grid-column:span 3}.gallery__item--4,.gallery__item--5,.gallery__item--6{grid-column:span 4}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery__item:hover img{transform:scale(1.05)}.gallery__caption{border-radius:var(--radius-sm);color:#fff;letter-spacing:.04em;text-transform:uppercase;background-color:#122a25c7;padding:.3rem .65rem;font-size:.78rem;font-weight:600;position:absolute;bottom:.85rem;left:.85rem}@media (width<=900px){.gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.gallery__item,.gallery__item--1,.gallery__item--2,.gallery__item--3,.gallery__item--4,.gallery__item--5,.gallery__item--6{grid-area:span 1/span 1}.gallery__item--1{grid-area:span 2/span 2}}@media (width<=560px){.gallery__grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery__item--1{grid-area:span 1/span 1}}.why-us__grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.reason-card{text-align:center;background-color:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:transform var(--transition), box-shadow var(--transition);padding:2rem 1.25rem}.reason-card:hover{box-shadow:var(--shadow-card);transform:translateY(-5px)}.reason-card__icon{background:linear-gradient(145deg, var(--color-primary), var(--color-primary-soft));color:#fff;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;margin:0 auto 1.1rem;display:grid}.reason-card__icon svg{width:1.4rem;height:1.4rem}.reason-card__title{font-family:var(--font-display);color:var(--color-primary);margin-bottom:.55rem;font-size:1.25rem}.reason-card__text{color:var(--color-text-muted);font-size:.94rem}@media (width<=1000px){.why-us__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.why-us__grid{grid-template-columns:1fr}}.testimonials__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.testimonial-card{background-color:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:transform var(--transition);flex-direction:column;gap:1rem;padding:1.75rem 1.5rem;display:flex}.testimonial-card:hover{transform:translateY(-4px)}.testimonial-card__stars{color:#d0d5d3;gap:.15rem;display:flex}.star--filled{color:var(--color-accent)}.testimonial-card__review{color:var(--color-text-muted);flex:1;font-size:.98rem}.testimonial-card__name{color:var(--color-primary);font-weight:700}.testimonial-card__location{color:var(--color-text-muted);font-size:.85rem}@media (width<=900px){.testimonials__grid{grid-template-columns:1fr}}.contact__grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.contact__info{border-radius:var(--radius-lg);background:linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-soft) 100%);color:#fff;box-shadow:var(--shadow-soft);padding:2rem 1.75rem}.contact__info-title{font-family:var(--font-display);margin-bottom:.85rem;font-size:1.6rem}.contact__info-text{color:#ffffffd1;margin-bottom:1.75rem;font-size:.98rem}.contact__details{flex-direction:column;gap:1.15rem;display:flex}.contact__details li{flex-direction:column;gap:.25rem;display:flex}.contact__label{letter-spacing:.1em;text-transform:uppercase;color:#d4b483f2;font-size:.75rem;font-weight:700}.contact__details a{color:#fff;transition:opacity var(--transition)}.contact__details a:hover{opacity:.8}.contact__form{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);flex-direction:column;gap:1rem;padding:1.75rem;display:flex}.contact__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact__field{flex-direction:column;gap:.45rem;display:flex}.contact__field label{color:var(--color-primary);font-size:.85rem;font-weight:600}.contact__field input,.contact__field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);resize:vertical;transition:border-color var(--transition);background-color:#fafbfa;padding:.85rem .95rem}.contact__field input:hover,.contact__field textarea:hover{border-color:#b8c5bf}.contact__error{color:#c62828;margin:0;font-size:.8rem;line-height:1.4}.contact__success{border-radius:var(--radius-sm);color:var(--color-primary);background-color:#2a5a4f14;margin-top:.5rem;padding:1rem;font-size:.92rem}.contact__success-title{margin-bottom:.55rem;font-weight:700}.contact__success ul{flex-direction:column;gap:.3rem;display:flex}@media (width<=900px){.contact__grid{grid-template-columns:1fr}}@media (width<=600px){.contact__row{grid-template-columns:1fr}}.footer{background-color:var(--color-primary-dark);color:#ffffffd1;padding-top:4rem}.footer__grid{grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:2rem;padding-bottom:3rem;display:grid}.footer__logo{font-family:var(--font-display);color:#fff;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:1.4rem;font-weight:600;display:inline-flex}.footer__logo-mark{background:radial-gradient(circle at 35% 35%, #d4b483 0%, transparent 45%), linear-gradient(145deg, var(--color-accent) 0%, var(--color-primary-soft) 100%);border-radius:50%;width:1.4rem;height:1.4rem}.footer__desc{max-width:32ch;font-size:.95rem;line-height:1.7}.footer__heading{color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;font-size:.95rem;font-weight:700}.footer__links,.footer__contact,.footer__social{flex-direction:column;gap:.65rem;display:flex}.footer__links a,.footer__contact a,.footer__social a{transition:color var(--transition)}.footer__links a:hover,.footer__contact a:hover,.footer__social a:hover{color:var(--color-accent)}.footer__bottom{color:#fff9;border-top:1px solid #ffffff1a;padding:1.25rem 0;font-size:.88rem}@media (width<=900px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}@media (width<=560px){.footer__grid{grid-template-columns:1fr}}.app{flex-direction:column;min-height:100vh;display:flex}.app main{flex:1}
