:root{
  --wine:#7b2430;--wine-dark:#5d1721;--cream:#f7f0e7;--paper:#fffaf4;
  --ink:#3e332d;--muted:#75665e;--sand:#e7d7c4;--line:#d3bfa9;--wood:#76533a;
  --shadow:0 16px 45px rgba(68,46,35,.13);--radius:24px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62}
img{display:block;max-width:100%} a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.serif,h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:var(--wine)}
.muted{color:var(--muted)}
.nav{position:sticky;top:0;z-index:30;background:rgba(247,240,231,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(123,36,48,.12)}
.nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:.025em}
.brand img{width:52px;height:52px;border-radius:10px;object-fit:contain;background:#fff;padding:3px;border:1px solid rgba(123,36,48,.16)}
.menu{display:flex;align-items:center;gap:22px;font-size:.92rem}.menu-links{display:flex;align-items:center;gap:22px}.menu-toggle{display:none}.menu-langs{display:none}.menu a:hover{color:var(--wine)}

.lang-switch{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(123,36,48,.18);border-radius:999px;background:rgba(255,255,255,.68)}
.lang-switch button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.76rem;font-weight:850;letter-spacing:.05em;padding:7px 8px;border-radius:999px;cursor:pointer}
.lang-switch button:hover{color:var(--wine)}
.lang-switch button.active{background:var(--wine);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border-radius:999px;border:1px solid var(--wine);background:var(--wine);color:#fff;font-weight:800;transition:.2s ease}
.btn:hover{background:var(--wine-dark);border-color:var(--wine-dark);transform:translateY(-1px)}
.btn.alt{background:transparent;color:var(--wine)}.btn.alt:hover{background:#fff}
.hero{padding:34px 0 58px;overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(123,36,48,.14);border-radius:50%;left:-190px;top:-210px}
.hero-brand{text-align:center;display:flex;flex-direction:column;align-items:center;margin:4px auto 38px;position:relative;z-index:1}.hero-brand .eyebrow{margin-top:15px}.hero-brand h1{font-size:clamp(2.6rem,5vw,4.9rem);line-height:1;margin:8px 0 0}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.logo-main{width:min(520px,92vw);height:auto;margin:0;border-radius:0;box-shadow:var(--shadow);background:#fff;padding:6px}
h1{font-size:clamp(2.9rem,6vw,5.7rem);line-height:.93;margin:12px 0 22px;font-weight:500;color:#4a332b}.hero-copy h2{font-size:clamp(2.3rem,4.3vw,4.3rem);line-height:1.02;margin:8px 0 20px;font-weight:500;color:#4a332b}
.hero p{font-size:1.09rem;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0}
.facts{display:flex;gap:10px;flex-wrap:wrap}.facts span{background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:.87rem;font-weight:700}
.hero-photo{position:relative}.hero-photo img{width:100%;height:640px;object-fit:cover;border-radius:28px 28px 96px 28px;box-shadow:var(--shadow)}
.hero-note{position:absolute;left:-22px;bottom:24px;background:var(--wine);color:#fff;padding:18px 21px;border-radius:18px;box-shadow:var(--shadow);max-width:250px}.hero-note strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem}
section{padding:82px 0}.section-title{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:34px}.section-title h2{font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.03;margin:8px 0 0;font-weight:500}.section-title p{margin:0;color:var(--muted)}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.overview-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.overview-photos img{width:100%;height:285px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}.overview-photos img:first-child{grid-column:span 2}.feature,.service,.place,.event{background:var(--paper);border:1px solid rgba(123,36,48,.10);border-radius:20px;padding:25px;box-shadow:0 7px 24px rgba(75,48,35,.06)}
.feature .n{font-family:Georgia,"Times New Roman",serif;font-size:2.8rem;color:var(--wine);line-height:1}.feature strong{display:block;font-size:1.03rem;margin:8px 0 3px}
.story{background:#eee1d1}.story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:stretch}.story-grid>img{width:100%;height:520px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.story-card{background:var(--paper);border-radius:28px;padding:48px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}.story-card h3{font-size:2.45rem;margin:8px 0 14px;font-weight:500}
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room{position:relative;overflow:hidden;border-radius:24px;background:#ddd;min-height:400px;box-shadow:var(--shadow)}.room img{width:100%;height:100%;min-height:400px;object-fit:cover}.room .cap{position:absolute;left:18px;right:18px;bottom:18px;padding:16px 18px;border-radius:16px;background:rgba(53,39,33,.78);backdrop-filter:blur(9px);color:#fff}.room .cap strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:10px}
.bathroom-section{background:#f1e5d7}.bathroom-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:620px;gap:14px}.bathroom-gallery button:first-child img{object-position:center}.bathroom-gallery img{border-radius:0}
.gallery button{border:0;padding:0;background:none;overflow:hidden;border-radius:18px;cursor:zoom-in}.gallery-full button:nth-child(1),.gallery-full button:nth-child(8),.gallery-full button:nth-child(15){grid-column:span 2}.gallery-full button:nth-child(5),.gallery-full button:nth-child(12){grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery button:hover img{transform:scale(1.025)}
.final-photos{background:#f8f1e8}.final-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:12px}.final-gallery button{border:0;padding:0;background:none;overflow:hidden;border-radius:20px;cursor:zoom-in;box-shadow:var(--shadow)}.final-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.final-gallery button:hover img{transform:scale(1.025)}.final-gallery button:nth-child(1),.final-gallery button:nth-child(3),.final-gallery button:nth-child(5),.final-gallery button:nth-child(6),.final-gallery button:nth-child(10),.final-gallery button:nth-child(12){grid-row:span 2}.final-gallery button:nth-child(2),.final-gallery button:nth-child(11){grid-column:span 2;grid-row:span 2}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service b{display:block;color:var(--wine);margin-bottom:6px}
.territory{background:#ece0d2}.territory-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.scenic{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scenic figure{margin:0;position:relative;overflow:hidden;border-radius:22px;background:#ddd;min-height:260px}.scenic figure:first-child{grid-column:span 2;min-height:390px}.scenic img{width:100%;height:100%;object-fit:cover}.scenic figcaption{position:absolute;left:12px;bottom:12px;background:rgba(41,31,27,.75);color:white;padding:7px 10px;border-radius:999px;font-size:.8rem}
.places{display:grid;gap:11px}.place h3{font-size:1.35rem;margin:0 0 7px}.place p{margin:0;color:var(--muted)}.place a{display:inline-block;margin-top:10px;color:var(--wine);font-weight:800;font-size:.9rem}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.event .date{color:var(--wine);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.event h3{margin:8px 0 8px;font-size:1.45rem}.event p{color:var(--muted);margin:0}.event a{display:inline-block;margin-top:12px;color:var(--wine);font-weight:800}
.contact{background:var(--wine);color:#fff}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.contact h2{font-size:clamp(2.3rem,5vw,4.5rem);font-weight:500;line-height:1;margin:8px 0 18px}.contact p{color:#f5e7e6}.contact .btn{background:#fff;color:var(--wine);border-color:#fff}.contact .btn.alt{background:transparent;color:#fff;border-color:rgba(255,255,255,.72)}
.contact-card{background:#fff;color:var(--ink);border-radius:24px;padding:30px}.contact-line{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #eee}.contact-line:last-child{border-bottom:0}.contact-line small{display:block;color:var(--muted)}.contact-line strong{font-size:1.08rem;word-break:break-word}
.legal{padding:28px 0;background:#2d2420;color:#cdbfb6;font-size:.82rem}.legal-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.legal a{text-decoration:underline}.codes{color:#fff;font-weight:700;line-height:1.7}
details{margin-top:15px}summary{cursor:pointer;color:#fff;font-weight:800}.credits{margin-top:9px;max-width:850px;font-size:.78rem;line-height:1.55}
dialog{width:min(1100px,94vw);border:0;padding:0;border-radius:20px;background:#171412;box-shadow:0 28px 90px rgba(0,0,0,.38)}dialog::backdrop{background:rgba(22,15,12,.82)}dialog img{width:100%;max-height:90vh;object-fit:contain}dialog button{position:absolute;right:13px;top:13px;width:42px;height:42px;border-radius:50%;border:0;font-size:1.3rem;cursor:pointer}
@media(max-width:950px){.hero-grid,.section-title,.story-grid,.territory-grid,.contact-grid{grid-template-columns:1fr}.hero-photo img{height:540px}.hero-note{left:16px}.features{grid-template-columns:repeat(2,1fr)}.overview-photos{grid-template-columns:1fr 1fr}.overview-photos img:first-child{grid-column:span 2}.services,.events{grid-template-columns:1fr 1fr}.final-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.final-gallery button{grid-column:span 1!important;grid-row:span 1!important}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.bathroom-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:440px}.gallery-full button:nth-child(1),.gallery-full button:nth-child(8),.gallery-full button:nth-child(15){grid-column:span 2}.gallery-full button:nth-child(5),.gallery-full button:nth-child(12){grid-row:span 1}.story-grid>img{height:430px}}
@media(max-width:620px){.wrap{width:min(100% - 24px,1180px)}.nav-inner{height:65px}.brand span{display:none}.menu{gap:7px}.menu .btn{padding:10px 13px;font-size:.82rem}.lang-switch button{padding:6px 7px;font-size:.7rem}.hero{padding-top:20px}.hero-brand{margin-bottom:27px}.logo-main{width:min(340px,92vw)}.hero-photo img{height:460px;border-radius:22px 22px 64px 22px}section{padding:62px 0}.features,.services,.events,.rooms{grid-template-columns:1fr}.overview-photos{grid-template-columns:1fr}.overview-photos img:first-child{grid-column:span 1}.overview-photos img{height:240px}.story-card{padding:30px}.gallery{grid-auto-rows:190px}.bathroom-gallery{grid-template-columns:1fr;grid-auto-rows:330px}.bathroom-gallery button:first-child{grid-row:span 1}.gallery-full button{grid-column:span 1!important;grid-row:span 1!important}.final-gallery{grid-template-columns:1fr;grid-auto-rows:260px}.final-gallery button{grid-column:span 1!important;grid-row:span 1!important}.scenic{grid-template-columns:1fr}.scenic figure:first-child{grid-column:span 1;min-height:280px}.legal-grid{flex-direction:column}.room,.room img{min-height:350px}}
  

/* --- Laravel version: server-side language switch, focus states, print --- */
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;padding:0;text-indent:.05em;color:var(--muted);font:inherit;font-size:.76rem;font-weight:850;letter-spacing:.05em;line-height:1;border-radius:50%;text-decoration:none}
.lang-switch a:hover{color:var(--wine)}
.lang-switch a[aria-current="true"]{background:var(--wine);color:#fff}
@media(max-width:620px){.lang-switch a{width:28px;height:28px;font-size:.7rem}}
.skip-link{position:absolute;left:-9999px;top:0;z-index:60;background:var(--wine);color:#fff;padding:11px 17px;border-radius:0 0 12px 0;font-weight:800}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
.contact a:focus-visible,.legal a:focus-visible{outline-color:#fff}
.gallery button:focus-visible{outline:3px solid var(--wine);outline-offset:2px}
.overview-photos img,.rooms .room img,.gallery img,.scenic img,.story-grid>img,.hero-photo img{background:var(--sand)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Mobile menu: section links collapse behind the hamburger. */
@media(max-width:950px){.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;border:1px solid rgba(123,36,48,.22);border-radius:12px;background:#fff;cursor:pointer}
.menu-toggle span{display:block;height:2px;border-radius:2px;background:var(--wine);transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 14px;background:var(--paper);border-bottom:1px solid rgba(123,36,48,.12);box-shadow:0 14px 28px rgba(75,48,35,.12)}
.menu-links.open{display:flex}.menu-links a{padding:14px 4px;font-size:1.02rem;font-weight:700;border-bottom:1px solid rgba(123,36,48,.08)}.menu-links>a:last-of-type{border-bottom:0}
.menu .lang-switch{display:none}
.menu-langs{display:flex;gap:8px;padding:12px 0 2px;border-top:1px solid rgba(123,36,48,.12)}
.menu-langs a{flex:1;text-align:center;padding:10px 6px;border:1px solid rgba(123,36,48,.2);border-radius:999px;font-size:.92rem;font-weight:700;color:var(--muted)}
.menu-langs a[aria-current="true"]{background:var(--wine);border-color:var(--wine);color:#fff}}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .2s ease,background .2s ease}
.whatsapp-float:hover{background:#1ebe5b;transform:scale(1.07)}
.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #25d366}
@media(max-width:620px){.whatsapp-float{right:16px;bottom:16px;width:54px;height:54px}}
@media print{.nav,.lang-switch,.hero-actions,dialog,.whatsapp-float{display:none}body{background:#fff}}
