:root{--bg: #f5f1ea;--ink: #141312;--muted: #6a635a;--gold: #ba8b43;--forest: #14231f;--forest-soft: #20342e;--line: rgba(20, 19, 18, .14);--card: rgba(255, 251, 245, .9);--shadow: 0 20px 48px rgba(0, 0, 0, .12);font-family:Manrope,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 5%,rgba(186,139,67,.2),transparent 24%),linear-gradient(180deg,#f7f2eb,#f1ece3)}a{color:inherit;text-decoration:none}.page-shell{min-height:100vh}.site-header,.section,.site-footer,.booking-ribbon{width:min(1220px,calc(100% - 2rem));margin-inline:auto}.site-header{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 0}.brand{display:inline-flex;align-items:center;gap:.9rem;color:#fff}.brand strong,.hero-content h1,.section-heading h2,.room-card h3,.travel-card h3,.attraction-copy h3{font-family:Cormorant Garamond,serif}.brand strong{display:block;font-size:1.2rem}.brand small{color:#ffffffd1}.brand-logo{width:3rem;height:3rem;border-radius:.9rem;display:block;box-shadow:var(--shadow)}.site-nav{display:inline-flex;gap:1.35rem;padding:.75rem 1.2rem;border:1px solid rgba(255,255,255,.23);border-radius:999px;background:#0b13115c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f8f4ed}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.85rem;padding:.82rem 1.2rem;border-radius:999px;font-weight:700;transition:transform .16s ease}.nav-cta,.button-primary{background:linear-gradient(135deg,#9c7032,var(--gold));color:#fff;border:0}.nav-cta:hover,.button:hover{transform:translateY(-2px)}.hero-luxury{position:relative;min-height:84vh;display:grid;align-items:end;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}.hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#080e0c38,#080e0cd1),linear-gradient(120deg,#0c1613f2,#0c161326)}.hero-content{position:relative;z-index:2;width:min(1220px,calc(100% - 2rem));margin:0 auto 3.2rem;color:#fff}.eyebrow{margin:0 0 .8rem;color:#e4c089;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:800}.hero-content h1{margin:0;max-width:12ch;font-size:clamp(3.4rem,7vw,6rem);line-height:.92}.hero-content p{max-width:46rem;line-height:1.75;color:#ffffffe6}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.35rem}.booking-ribbon{margin-top:-2rem;margin-bottom:2rem;padding:.7rem;background:#fefbf6f2;border:1px solid var(--line);border-radius:1.25rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:var(--shadow);position:relative;z-index:3}.ribbon-item{padding:1rem;text-align:center}.ribbon-item strong{display:block;color:var(--forest);font-size:1.4rem}.ribbon-item span{color:var(--muted)}.section{margin-top:3rem}.section-heading{max-width:60rem;margin-bottom:1.3rem}.section-heading h2{margin:0;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1}.section-heading p{color:var(--muted);line-height:1.75}.room-grid,.travel-grid,.attraction-grid,.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.room-card,.travel-card,.attraction-card,.contact-card-panel{background:var(--card);border:1px solid var(--line);border-radius:1.2rem;box-shadow:var(--shadow)}.room-card,.travel-card,.contact-card-panel{padding:1.2rem}.room-size{margin:0;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.room-card h3,.travel-card h3,.attraction-copy h3{margin:.45rem 0 .5rem;font-size:2rem}.room-card p,.travel-card p,.attraction-copy p{color:var(--muted);line-height:1.68}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.gallery-card{position:relative;overflow:hidden;border-radius:1rem;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4 / 3}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.gallery-card:hover img{transform:scale(1.05)}.gallery-caption{position:absolute;left:.75rem;bottom:.75rem;background:#070e0cb3;color:#fff;font-weight:700;font-size:.82rem;border-radius:999px;padding:.4rem .72rem}.gallery-trigger{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}.gallery-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.amenity-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.2rem}.amenity-chip{padding:.75rem 1rem;border-radius:999px;background:#14231f0f;border:1px solid rgba(20,35,31,.12);color:var(--forest-soft);font-weight:600}.contact-card-panel span{display:block;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:.6rem}.contact-card-panel p,.contact-card-panel a{color:var(--forest-soft);line-height:1.65;font-weight:600}.contact-actions{display:grid;gap:.45rem}.contact-actions a{text-decoration:underline;text-decoration-color:#14231f3d;text-underline-offset:.18rem}.attraction-card{overflow:hidden}.attraction-image{width:100%;height:210px;object-fit:cover}.attraction-copy{padding:1rem}.site-footer{margin-top:3rem;margin-bottom:2rem;padding-top:1.1rem;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.site-footer p{color:var(--muted)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#070c0bcc}.lightbox-panel{position:relative;z-index:1;width:min(1000px,calc(100% - 2rem));border-radius:1rem;overflow:hidden;box-shadow:var(--shadow);background:#111}.lightbox-image{width:100%;max-height:78vh;object-fit:contain;display:block;background:#0d1210}.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.9rem 1rem;color:#fff;background:#080e0ceb}.lightbox-close,.lightbox-nav{border:0;border-radius:999px;padding:.55rem .9rem;font-weight:700;cursor:pointer}.lightbox-close{background:#ffffff29;color:#fff}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#080e0ca6;color:#fff}.lightbox-prev{left:.7rem}.lightbox-next{right:.7rem}@media (max-width: 980px){.site-header,.site-footer{position:static;flex-direction:column;align-items:flex-start}.hero-luxury{min-height:72vh;margin-top:1rem;border-radius:1rem;overflow:hidden;width:min(1220px,calc(100% - 2rem));margin-inline:auto}.site-nav{width:100%;flex-wrap:wrap;justify-content:center}.booking-ribbon,.room-grid,.travel-grid,.attraction-grid,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.button,.nav-cta{width:100%}.hero-content{margin-bottom:1.6rem}.gallery-grid{grid-template-columns:1fr}.lightbox-footer{flex-direction:column;align-items:flex-start}.lightbox-nav{top:auto;bottom:4.1rem;transform:none}}.social-links{display:inline-flex;align-items:center;gap:.65rem}.social-links a{width:2.2rem;height:2.2rem;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(20,35,31,.2);background:#14231f0f;color:var(--forest-soft);transition:transform .16s ease,background-color .16s ease}.social-links a:hover{transform:translateY(-2px);background:#14231f1f}.social-links svg{width:1.1rem;height:1.1rem;fill:currentColor}.footer-meta p{margin:.2rem 0;color:var(--muted)}.footer-meta a{color:var(--forest-soft);text-decoration:underline;text-decoration-color:#14231f3d;text-underline-offset:.18rem}@media (max-width: 980px){.footer-meta{text-align:left}}.contact-lines{display:grid;gap:.35rem}.contact-lines a{display:block}.site-footer{margin-top:3.2rem;margin-bottom:2rem;padding:1.25rem 1.15rem;border:1px solid var(--line);border-radius:1.1rem;background:linear-gradient(180deg,#fffcf7eb,#f8f2eae0);display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr);align-items:center;gap:1rem}.footer-brand strong{display:block;font-size:1.1rem;color:var(--forest);margin-bottom:.4rem}.footer-brand p{margin:0;max-width:42ch;line-height:1.5}.social-links{justify-self:center}.social-links a{width:2.3rem;height:2.3rem;background:#14231f0a;border-color:#14231f2e}.footer-meta{text-align:right}.footer-meta p{margin:.2rem 0;line-height:1.45}.footer-meta p:first-child{display:inline-flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}.footer-meta a{font-weight:700}@media (max-width: 980px){.site-footer{grid-template-columns:1fr;align-items:flex-start}.social-links{justify-self:start}.footer-meta{text-align:left}.footer-meta p:first-child{justify-content:flex-start}}
