:root{--pine:#0c3328;--pine-deep:#061c17;--ink:#11130f;--cream:#f3efe4;--paper:#fbf8ef;--gold:#d5ab60;--gold-dark:#a47835;--sage:#afbe9e;--line:rgba(255,255,255,.16);--serif:"Manrope",sans-serif;--sans:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;background:#050706;color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.15)}.location-bar{height:30px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;background:var(--pine);color:#e5d6b9;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.nav-shell{min-height:88px;padding:0 3.5vw;display:flex;align-items:center;gap:2.4rem}.brand{display:flex;align-items:center;gap:.85rem;font-weight:700;font-size:1.04rem;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:.65rem;letter-spacing:.08em}.desktop-nav{margin-left:auto;display:flex;gap:1.7rem}.desktop-nav a{position:relative;padding:.8rem 0;color:#e7e3d9;font-size:.86rem}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:.5rem;height:1px;background:var(--gold);transition:.25s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}.nav-actions{display:flex;align-items:center;gap:.7rem}.language-button,.menu-toggle{height:44px;min-width:44px;border:1px solid #38403b;border-radius:8px;background:transparent;color:#fff;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.25rem;border:1px solid transparent;border-radius:7px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#172017}.button-outline{background:transparent;border-color:#705e3d;color:#efd399}.button-ghost{border-color:rgba(255,255,255,.45);color:#fff}.button-dark{background:var(--pine);color:#fff}.menu-toggle{display:none;padding:0 11px}.menu-toggle span{display:block;width:21px;height:2px;margin:5px 0;background:#fff}.mobile-menu{padding:1.2rem 5vw 1.6rem;background:#111710}.mobile-menu nav{display:grid}.mobile-menu a{padding:.9rem 0;border-bottom:1px solid var(--line)}.mobile-menu .button{margin-top:1rem;width:100%}.hero{position:relative;min-height:calc(100vh - 118px);display:flex;align-items:center;overflow:hidden;color:#fff}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url("assets/hero-montana.png") center/cover no-repeat;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(2,16,12,.94) 0%,rgba(3,18,14,.72) 38%,rgba(5,12,10,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 50%)}.hero-content{position:relative;z-index:2;width:min(690px,86vw);margin-left:5vw;padding:6rem 0}.eyebrow,.section-label p{margin:0;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.hero h1,.intro h2,.section-heading h2,.menu-copy h2,.visit h2{font-family:var(--serif);font-weight:500;letter-spacing:-.055em;line-height:1.06}.hero h1{max-width:700px;margin:1.5rem 0;font-size:clamp(3.2rem,6.2vw,6.4rem)}.hero-copy{max-width:620px;font-size:clamp(1rem,1.4vw,1.22rem);color:#e8e9e3}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.hero-index{position:absolute;right:3.5vw;bottom:2.5rem;z-index:2;display:flex;align-items:center;gap:.75rem;font-size:.7rem}.hero-index i{width:84px;height:1px;background:#fff}.section-pad{padding:clamp(5rem,9vw,9rem) 6vw}.section-label{display:flex;align-items:center;gap:.8rem}.section-label span{display:grid;place-items:center;width:31px;height:31px;border:1px solid currentColor;border-radius:50%;font-size:.65rem;color:var(--gold)}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;margin-top:3.5rem;align-items:end}.intro h2,.section-heading h2,.visit h2{margin:0;font-size:clamp(2.7rem,5.4vw,5.7rem)}.intro-copy{max-width:530px;font-size:1.05rem;color:#45483f}.text-link,.card-link{display:inline-block;margin-top:1.2rem;padding:0 0 .2rem;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--pine);font-weight:700}.locations{background:var(--pine-deep);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}.section-heading h2{max-width:720px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.15)}.location-card{position:relative;min-height:530px;padding:2rem;display:flex;align-items:end;overflow:hidden;background-position:center;background-size:cover}.location-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,17,12,.96),rgba(3,25,18,.16) 75%)}.location-card-zaragoza{background-image:linear-gradient(130deg,#315948,#142a21)}.location-card-zaragoza:after{content:"";position:absolute;width:340px;height:340px;right:-80px;top:-70px;border:1px solid rgba(213,171,96,.3);border-radius:50%;box-shadow:0 0 0 55px rgba(213,171,96,.04),0 0 0 110px rgba(213,171,96,.03)}.location-card-nicoya{background-image:linear-gradient(145deg,#755d3b,#1b2f25)}.location-number{position:absolute;right:2rem;top:1.5rem;color:rgba(255,255,255,.5);font-size:4rem;font-weight:500}.location-content{position:relative;z-index:2;max-width:520px}.location-content h3{margin:.7rem 0;font:500 clamp(2rem,3.5vw,3.5rem)/1.1 var(--serif)}.location-content p:not(.eyebrow){color:#d4d9d2}.card-link{color:#f0d69c}.menu-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:#0a241c;color:#fff}.menu-photo img{width:100%;height:100%;min-height:600px;object-fit:cover}.menu-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.section-label.light p{color:#dbc185}.menu-copy h2{margin:2rem 0 1.4rem;font-size:clamp(2.8rem,5vw,5.2rem)}.menu-copy>p{color:#d6ddd8;max-width:530px}.menu-tags{display:flex;gap:.55rem;flex-wrap:wrap;margin:1.8rem 0 2.2rem}.menu-tags span{padding:.45rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:.78rem}.menu-copy .button{align-self:flex-start}.visit{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;background:var(--gold);color:#122019}.visit-title .eyebrow{color:#173a2d}.visit-details{display:flex;flex-direction:column;justify-content:center;gap:1.7rem}.visit-details div{padding-bottom:1rem;border-bottom:1px solid rgba(12,51,40,.25)}.visit-details span{display:block;margin-bottom:.35rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.visit-details strong{font-weight:600}footer{padding:3rem 5vw;display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:center;background:#050706;color:#cbd1ca;font-size:.8rem}.footer-brand{display:flex;align-items:center;gap:.8rem;color:#fff}.reservation-dialog{width:min(560px,calc(100% - 2rem));padding:0;border:0;border-radius:18px;background:var(--paper);box-shadow:0 25px 80px rgba(0,0,0,.45)}.reservation-dialog::backdrop{background:rgba(2,17,12,.75);backdrop-filter:blur(8px)}.reservation-dialog form{position:relative;padding:2.2rem}.reservation-dialog h2{margin:.6rem 0;font:500 2.4rem/1.1 var(--serif)}.dialog-close{position:absolute;right:1.2rem;top:1.2rem;width:42px;height:42px;border:1px solid #ddd6c7;border-radius:50%;background:transparent;font-size:1.4rem}.reservation-dialog label{display:grid;gap:.4rem;margin-top:1rem;font-size:.78rem;font-weight:700}.reservation-dialog input,.reservation-dialog select{width:100%;height:49px;padding:0 .8rem;border:1px solid #cbc5b7;border-radius:7px;background:#fff;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.full{width:100%;margin-top:1.4rem}.form-status{min-height:1.5rem;margin:.8rem 0 0;color:var(--pine);font-size:.82rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:950px){.desktop-nav{display:none}.menu-toggle{display:block}.nav-shell{min-height:78px;padding:0 4vw}.button-outline{display:none}.hero{min-height:740px}.intro-grid,.visit,.menu-feature{grid-template-columns:1fr}.intro-grid{gap:2.2rem}.section-heading{display:block}.section-heading h2{margin-top:2rem}.location-grid{grid-template-columns:1fr}.menu-photo img{min-height:420px;max-height:600px}.menu-copy{padding:5rem 7vw}.visit{gap:3rem}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}}@media(max-width:600px){.location-bar{padding:0 5vw;font-size:.55rem}.location-bar span:last-child{display:none}.brand{font-size:.92rem}.brand-mark{width:36px;height:36px}.nav-actions{margin-left:auto}.hero-content{margin-left:0;padding:5rem 5vw;width:100%}.hero h1{font-size:3.15rem}.hero-copy{font-size:1rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-index{display:none}.section-pad{padding:5rem 5vw}.intro-grid{grid-template-columns:1fr}.intro h2,.section-heading h2,.visit h2{font-size:2.7rem}.location-card{min-height:470px;padding:1.4rem}.location-number{font-size:3rem}.menu-photo img{min-height:360px}.menu-copy{padding:4.5rem 5vw}.form-row{grid-template-columns:1fr}.reservation-dialog form{padding:1.6rem}.reservation-dialog h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
