:root{--primary:#c18c5d;--primary-light:#d4a373;--primary-dark:#a0744a;--secondary:#0f172a;--accent:#e67e22;--bg-warm:#fdfaf5;--bg-light:#f8fafc;--text-dark:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--white:#fff;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-base:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-dark);background-color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.625}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--secondary);font-family:Playfair Display,serif;font-weight:700;line-height:1.25}h1{font-size:clamp(2.5rem,8vw,4rem)}h2{font-size:clamp(2rem,6vw,3rem)}h3{font-size:clamp(1.5rem,4vw,1.75rem)}h4{font-size:clamp(1.2rem,3vw,1.4rem)}a{color:inherit;transition:var(--transition-base);text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:clamp(3rem,10vw,6rem) 0}.bg-warm{background-color:var(--bg-warm)}#main-nav{z-index:1100;background:0 0;border-bottom:1px solid #ffffff14;width:100%;padding:1.25rem 0;transition:background .3s,box-shadow .3s,padding .3s;position:fixed;top:0;left:0}#main-nav.scrolled{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md);background:#fffffff2;border-bottom:1px solid #0000000d;padding:0}.nav-wrapper{justify-content:space-between;align-items:center;min-height:68px;padding:.75rem 0;display:flex}.nav-actions{align-items:center;gap:1rem;display:flex}.logo{color:var(--white);cursor:pointer;flex-direction:column;line-height:1;display:flex}#main-nav.scrolled .logo,#main-nav.dark-mode .logo{color:var(--secondary)}.logo .the{opacity:.8;margin-bottom:-1px;font-size:.75rem;font-style:italic}.logo .oikos{letter-spacing:.05em;color:var(--accent);font-size:1.75rem;font-weight:800}.logo .hotel{text-transform:uppercase;letter-spacing:.3em;font-size:.65rem;font-weight:600}.nav-links a{color:var(--white);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600;position:relative}#main-nav.scrolled .nav-links a,#main-nav.dark-mode .nav-links a{color:var(--secondary)}.nav-links a:after{content:"";background:var(--accent);width:0;height:2px;transition:var(--transition-base);position:absolute;bottom:-4px;left:0}.nav-links a:hover:after{width:100%}.nav-links{gap:40px;list-style:none;display:flex}.nav-links a{color:var(--white);text-transform:uppercase;font-size:.9rem;font-weight:500}.nav-links a:hover{color:var(--accent)}.mobile-toggle{cursor:pointer;z-index:1200;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;padding:0;display:none}.nav-backdrop{z-index:1100;-webkit-backdrop-filter:blur(2px);background:#0000008c;transition:opacity .3s;display:none;position:fixed;inset:0}.nav-backdrop.active{display:block}.mobile-toggle span{background-color:var(--white);width:100%;height:3px;transition:var(--transition);border-radius:10px}#main-nav.scrolled .mobile-toggle span,#main-nav.dark-mode .mobile-toggle span{background-color:var(--secondary)}.mobile-toggle.active span:first-child{transform:translateY(9px)rotate(45deg)}.mobile-toggle.active span:nth-child(2){opacity:0}.mobile-toggle.active span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}.hero{height:100vh;color:var(--white);background:var(--secondary);align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.hero-bg img{object-fit:cover;filter:brightness(.7)contrast(1.05);width:100%;height:100%;animation:20s infinite alternate slowZoom;transform:scale(1.05)}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-content{z-index:10;width:100%;position:relative}.hero-text-box{max-width:800px}.hero .subtitle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.25em;color:var(--white);background:#ffffff1f;border:1px solid #fff3;border-radius:50px;margin-bottom:2rem;padding:.5rem 1.25rem;font-size:.75rem;font-weight:700;display:inline-block}.hero h1{color:var(--white);text-shadow:0 4px 12px #0000004d;margin-bottom:1.5rem;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.1}.hero .tagline{opacity:.9;max-width:600px;margin-bottom:3rem;font-size:clamp(1.1rem,3vw,1.5rem);font-weight:400}.hero-actions{flex-wrap:wrap;gap:1.5rem;display:flex}.hero-lower-info{background:linear-gradient(#0000,#0009);width:100%;padding:4rem 0;position:absolute;bottom:0;left:0}.info-grid{justify-content:space-between;max-width:900px;margin:0 auto;display:flex}@media (width<=768px){.hero{min-height:85vh;padding-top:100px}.hero-content{text-align:center;padding:0 1.5rem}.hero-text-box{margin:0 auto}.hero .subtitle{padding:.4rem 1rem;font-size:.65rem}.hero-actions{flex-direction:column;gap:1rem;width:100%}.hero-actions .btn{width:100%}.hero-lower-info{background:var(--secondary);margin-top:-1px;padding:1.5rem 1rem 2rem;position:relative}.info-grid{text-align:center;flex-direction:row;justify-content:space-around;gap:0}.info-item strong{margin-bottom:.35rem;font-size:1.25rem}.info-item span{letter-spacing:.1em;font-size:.6rem}}.info-item{text-align:left}.info-item strong{color:var(--white);letter-spacing:.02em;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:2rem;line-height:1;display:block}.info-item span{text-transform:uppercase;letter-spacing:.2em;color:#fffc;font-size:.75rem;font-weight:700}.btn{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:var(--transition-base);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.75rem;font-size:.725rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background-color:var(--accent);color:var(--white);box-shadow:0 4px 14px #e67e2263}.btn-primary:hover{background-color:#d35400;transform:translateY(-2px);box-shadow:0 6px 20px #e67e223b}.btn-primary:active{transform:translateY(0)}.btn-secondary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--white);background-color:#ffffff26;border:1px solid #ffffff4d}.btn-secondary:hover{background-color:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.btn-sm{padding:.5rem 1.25rem;font-size:.7rem}.grid{gap:60px;display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-2-1{grid-template-columns:2fr 1.2fr}.section-title{margin-bottom:2rem;font-size:clamp(2rem,5vw,3rem);position:relative}.section-title:after{content:"";background:var(--accent);border-radius:2px;width:60px;height:3px;position:absolute;bottom:-12px;left:0}.section-header{text-align:center;max-width:800px;margin:0 auto 5rem}.section-header .section-title:after{left:50%;transform:translate(-50%)}.section-header p{color:var(--text-muted);margin-top:1.5rem;font-size:1.1rem}.lead{color:var(--primary);margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.feature-pills{flex-wrap:wrap;gap:12px;margin-top:2.5rem;display:flex}.feature-pills span{background:var(--white);color:var(--text-dark);border:1px solid var(--bg-warm);box-shadow:var(--shadow-sm);transition:var(--transition-base);border-radius:50px;align-items:center;gap:8px;padding:.6rem 1.2rem;font-size:.8rem;font-weight:600;display:flex}.feature-pills span:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light);transform:translateY(-2px)}.story-image,.location-image{border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.story-image img,.location-image img{object-fit:cover;width:100%;height:100%;transition:var(--transition-slow);display:block}.story-image:hover img,.location-image:hover img{transform:scale(1.05)}.story-content,.location-text{padding-right:2rem}@media (width<=768px){.story-content,.location-text{order:2;padding-right:0}.story-image,.location-image{order:1;margin-bottom:2rem}}.room-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch;gap:2.5rem;margin-top:4rem;display:grid}@media (width<=640px){.room-grid{display:block}.room-card{margin-bottom:2.5rem}.room-info{padding:1.5rem}.room-price{font-size:1rem}.room-footer{padding-top:1rem}}.room-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);height:100%;transition:var(--transition-base);border:1px solid #00000008;flex-direction:column;display:flex;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.location-image img{object-fit:cover;width:100%;height:100%}.review-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;display:grid}.review-card{border-top:4px solid var(--accent);padding:2.5rem;font-style:italic;position:relative}.review-card p{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6}.review-card .review-author{color:var(--accent);font-size:.9rem;font-style:normal;font-weight:700}@media (width<=768px){.review-grid{grid-template-columns:1fr}.review-card{padding:2rem}}.info-item i{color:var(--accent);width:25px;font-size:1.2rem}.room-carousel{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;width:100%;display:flex;overflow-x:auto}.room-carousel::-webkit-scrollbar{display:none}.room-carousel img{object-fit:cover;scroll-snap-align:start;width:100%;height:280px;transition:var(--transition-slow);flex:0 0 100%;display:block}.room-card:hover .room-carousel img{transform:scale(1.05)}.room-img{position:relative;overflow:hidden}.carousel-btn{color:#fff;cursor:pointer;z-index:5;opacity:0;background:#00000073;border:none;border-radius:50%;padding:6px 11px;font-size:1.4rem;line-height:1;transition:opacity .2s;position:absolute;top:50%;transform:translateY(-50%)}.room-img:hover .carousel-btn{opacity:1}.carousel-btn.prev{left:8px}.carousel-btn.next{right:8px}.carousel-btn:hover{background:#000000b3}.room-info{flex-direction:column;flex-grow:1;padding:2rem;display:flex}.room-info h3{color:var(--secondary);margin-bottom:.75rem;font-size:1.5rem}.room-info p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.room-amenities{flex-direction:column;gap:8px;margin-bottom:25px;list-style:none;display:flex}.room-amenities li{color:var(--text-dark);align-items:center;gap:10px;font-size:.85rem;display:flex}.room-amenities li:before{display:none}.room-footer{border-top:1px solid var(--bg-warm);justify-content:center;align-items:center;gap:1rem;margin-top:auto;padding-top:1.5rem;display:flex}.room-footer .btn{width:100%}.room-price{display:none}.section-header p{color:var(--text-light);max-width:600px;margin:1rem auto 0}.rating-badge{background:var(--white);box-shadow:var(--shadow-md);border:1px solid var(--bg-warm);border-radius:50px;align-items:center;gap:.75rem;margin-top:2rem;padding:.65rem 1.25rem;display:inline-flex}.rating-badge .score{background:var(--accent);color:var(--white);border-radius:6px;padding:.25rem .5rem;font-size:.9rem;font-weight:800}.rating-badge .label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark);font-size:.8rem;font-weight:700}.btn-text{color:var(--accent);font-weight:700}.btn-text:hover{text-decoration:underline}.map-box{background:url(/assets/town_boutique.png) 0 0/cover;border-radius:12px;align-items:flex-end;height:400px;display:flex;position:relative}.map-overlay{background:var(--white);border-radius:0 12px;max-width:350px;padding:30px;box-shadow:0 10px 30px #0000001a}.map-overlay h3{margin-bottom:10px}.map-overlay p{margin-bottom:15px;font-size:.9rem}.attractions{margin-top:20px;list-style:none}.attractions li{border-bottom:1px solid #eee;padding:10px 0}.address-text{color:var(--text-dark);margin-top:1.5rem;font-size:.95rem;line-height:1.8}@media (width<=768px){.address-text{margin-top:1rem;font-size:.9rem}}.footer-contact a{color:var(--white);transition:color var(--transition-fast);text-decoration:none}.footer-contact a:hover{color:var(--accent);text-decoration:underline}.footer{background:var(--secondary);color:var(--white);padding:5rem 0 2rem;font-size:.9rem}.footer-top{grid-template-columns:2fr 1fr 2fr;gap:3rem;margin-bottom:4rem;display:grid}.footer-info{max-width:320px}.footer-info p{opacity:.6;margin-top:1.5rem;line-height:1.8}.footer-nav ul{list-style:none}.footer-nav ul li{margin-bottom:.75rem}.footer-nav a{opacity:.7;transition:var(--transition-fast)}.footer-nav a:hover{color:var(--accent);opacity:1;padding-left:5px}.footer-contact p{opacity:.8;gap:10px;margin-bottom:.75rem;display:flex}.footer-contact strong{color:var(--primary-light);font-weight:600}.footer-bottom{text-align:center;opacity:.4;letter-spacing:.05em;border-top:1px solid #ffffff0d;padding-top:2rem;font-size:.75rem}@media (width<=991px){.container{padding:0 20px}.nav-links{gap:20px}}@media (width<=768px){.grid-2,.grid-2-1{grid-template-columns:1fr;gap:40px}.section{padding:60px 0}.section-title{font-size:2rem}#main-nav{-webkit-backdrop-filter:blur(10px);background:#0f172ad9;border-bottom:1px solid #ffffff14;padding:0}#main-nav.scrolled{-webkit-backdrop-filter:blur(16px);background:#0f172af2}#main-nav .logo,#main-nav.scrolled .logo{color:var(--white)}#main-nav .mobile-toggle span,#main-nav.scrolled .mobile-toggle span{background-color:var(--white)}.mobile-toggle{display:flex}.nav-links{background:var(--secondary);z-index:1150;border-left:1px solid #ffffff0f;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;width:min(280px,80vw);height:100vh;padding-top:72px;transition:right .35s cubic-bezier(.4,0,.2,1);position:fixed;top:0;right:-100%;box-shadow:-8px 0 32px #0006}.nav-links.active{right:0}.nav-links li{width:100%}.nav-links a{letter-spacing:.15em;text-align:center;border-bottom:1px solid #ffffff12;width:100%;padding:1.1rem 2rem;font-size:1rem;transition:background .2s,color .2s;display:block;color:#ffffffd9!important}.nav-links a:hover{background:#ffffff0a;color:var(--accent)!important}.nav-btn{letter-spacing:.06em;padding:.45rem .9rem;font-size:.65rem;display:inline-flex!important}.hero{text-align:center;height:auto;padding:130px 0 70px}.hero h1{font-size:2.4rem}.hero-actions{flex-direction:column;justify-content:center}.hero-bg img{filter:brightness(.5)}.hero-lower-info{background:var(--secondary);padding:1.5rem 0 2rem;position:static}.story-content{order:2}.story-image{order:1;margin-bottom:20px}.footer-top{text-align:center;flex-direction:column;align-items:center}.footer-info{max-width:100%}}@media (width<=480px){.hero h1{font-size:2.2rem}.section-title{font-size:1.8rem}.lead{font-size:1.1rem}.room-card h3{font-size:1.2rem}}.reveal{opacity:0;will-change:transform, opacity;transition:opacity .8s cubic-bezier(.2,1,.3,1),transform .8s cubic-bezier(.2,1,.3,1);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.booking-portal{background:var(--bg-light);background-image:radial-gradient(circle at 0 0,#c18c5d08 0%,#0000 50%),radial-gradient(circle at 100% 100%,#0f172a05 0%,#0000 50%);min-height:100vh;padding-top:160px;position:relative}.booking-header{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:800px;margin:0 auto 4rem;display:flex}.booking-header .section-title{margin-bottom:0}.btn-back{background:var(--white);border:1px solid var(--radius-sm);color:var(--text-dark);cursor:pointer;border-radius:var(--radius-md);transition:var(--transition-base);box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:.5rem 1rem;font-weight:600;display:flex}.btn-back:hover{box-shadow:var(--shadow-md);transform:translate(-4px)}.booking-step-container{background:var(--white);border-radius:var(--radius-lg);border:1px solid #00000005;max-width:640px;margin:0 auto;padding:3.5rem;box-shadow:0 40px 100px -20px #0000001f}.booking-step-container h3{text-align:center;color:var(--secondary);margin-bottom:3rem;font-size:2rem;font-weight:800}.input-group label{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);align-items:center;gap:10px;margin-bottom:.75rem;font-size:.75rem;font-weight:800;display:flex}.input-group label svg{color:var(--accent)}.input-group.validation-error label{color:#ef4444}.input-group.validation-error input{background:snow;border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.input-group input,.input-group select{border-radius:var(--radius-md);color:var(--secondary);transition:var(--transition-base);background:#f8fafc;border:1px solid #e2e8f0;padding:1.15rem 1.25rem;font-size:1rem;font-weight:500}.input-group input:focus,.input-group select:focus{background:var(--white);border-color:var(--accent);box-shadow:0 0 0 4px #e67e221a}.booking-form-grid{grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:3.5rem;display:grid}@media (width<=600px){.booking-form-grid{grid-template-columns:1fr}}.flatpickr-calendar{z-index:9999!important;border-radius:var(--radius-lg)!important;border:1px solid #0000000d!important;width:340px!important;padding:0!important;font-family:Inter,sans-serif!important;position:absolute!important;overflow:hidden!important;box-shadow:0 40px 100px -20px #0003!important}.flatpickr-months{background:var(--secondary)!important;color:var(--white)!important;padding:1.5rem .5rem!important}.flatpickr-months .flatpickr-month{color:var(--white)!important;fill:var(--white)!important;height:auto!important}.flatpickr-current-month{color:var(--white)!important;padding:0!important;font-size:1.25rem!important;font-weight:700!important;position:relative!important}.flatpickr-current-month .flatpickr-monthDropdown-months{font-family:Playfair Display,serif!important;font-size:1.35rem!important;font-weight:800!important}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{fill:var(--white)!important;padding:1.5rem!important}.flatpickr-innerContainer{padding:1.5rem!important}.flatpickr-weekdays{background:0 0!important;height:40px!important}.flatpickr-weekday{color:var(--primary)!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-size:.7rem!important;font-weight:800!important}.flatpickr-day{color:var(--secondary)!important;max-width:40px!important;height:40px!important;transition:var(--transition-base)!important;border:1px solid #0000!important;border-radius:50%!important;margin:4px!important;font-weight:600!important;line-height:40px!important}.flatpickr-day:hover{transform:scale(1.1);background:var(--bg-warm)!important;border-color:var(--primary-light)!important}.flatpickr-day.today{border-color:var(--accent)!important;color:var(--accent)!important}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--white)!important;box-shadow:0 10px 20px #e67e224d!important}.flatpickr-day.inRange{background:#e67e221a!important;border-radius:0!important;box-shadow:-5px 0 #e67e221a,5px 0 #e67e221a!important}.flatpickr-day.disabled,.flatpickr-day.notAllowed,.flatpickr-day.disabled:hover{color:#cbd5e1!important;background:0 0!important;text-decoration:none!important}.booking-summary-bar{background:var(--secondary);color:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:3rem;padding:1.25rem 2rem;display:flex}.summary-item{opacity:.95;font-size:.9rem;line-height:1.4}.summary-item strong{color:var(--primary-light);text-transform:uppercase;letter-spacing:.12em;opacity:.75;margin-bottom:.2rem;font-size:.65rem;font-weight:800;display:block}.booking-summary-bar .btn{color:var(--white);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff4d;flex-shrink:0}.booking-summary-bar .btn:hover{background:#ffffff38;border-color:#ffffff80}@media (width<=600px){.booking-summary-bar{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem 1.5rem}.booking-summary-bar .summary-item{font-size:.85rem}.booking-summary-bar .btn{justify-content:center;width:100%}}.room-selection-grid{flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;display:flex}.room-selection-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:var(--transition-base);border:1px solid #00000008;display:flex;overflow:hidden}.room-selection-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -15px #0000001a}.room-selection-card img{object-fit:cover;width:320px;height:240px}.room-selection-card .content{flex-direction:column;flex:1;padding:2.5rem;display:flex}.room-selection-card h4{color:var(--secondary);margin-bottom:.5rem;font-size:1.75rem}.selection-description{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}@media (width<=768px){.room-selection-card{flex-direction:column}.room-selection-card img{width:100%;height:220px}.room-selection-card .content{padding:1.75rem}}.mini-amenities{flex-wrap:wrap;gap:12px;margin-bottom:2rem;list-style:none;display:flex}.mini-amenities li{background:var(--bg-light);border:1px solid var(--bg-warm);color:var(--text-muted);border-radius:50px;padding:4px 12px;font-size:.75rem;font-weight:700}.price-box{border-top:1px solid var(--bg-warm);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.price-box .pricing{flex-direction:column;display:flex}.price-box .price{color:var(--secondary);font-family:Inter,sans-serif;font-size:1.4rem;font-weight:800}.price-box .unit{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}@media (width<=768px){.booking-portal{padding-top:100px;padding-bottom:4rem}.booking-header{margin-bottom:2.5rem}.booking-step-container{margin:0 1rem;padding:2rem 1.5rem}.booking-step-container h3{margin-bottom:2rem;font-size:1.5rem}.booking-form-grid{gap:2rem}.flatpickr-calendar{max-width:320px;width:100%!important}.room-selection-grid{padding:0 1rem}.room-selection-card{margin-bottom:1.5rem}.price-box{flex-direction:column;align-items:stretch;gap:1.5rem}}.success-card{flex-direction:column;align-items:center;display:flex;padding:5rem 3.5rem!important}.success-icon-box{margin-bottom:2.5rem;animation:.8s cubic-bezier(.175,.885,.32,1.275) bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.success-card h3{color:#10b981!important;margin-bottom:1rem!important}.success-msg{color:var(--secondary);text-align:center;margin-bottom:2rem;font-size:1.15rem}.booking-details-summary{background:var(--bg-light);border-radius:var(--radius-md);width:100%;color:var(--text-muted);text-align:center;padding:1.5rem}@media (width<=640px){.section{padding:4rem 1.25rem!important}.container{padding:0 1.25rem!important}#main-nav{height:64px;padding:0;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border-bottom:none!important}#main-nav.scrolled{-webkit-backdrop-filter:blur(16px)!important;background:#0f172af7!important;padding:0!important;box-shadow:0 2px 20px #0006!important}#main-nav.dark-mode{background:#0f172af7!important}.nav-wrapper{justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;height:64px!important}.logo .the{opacity:.9;font-size:.55rem}.logo .oikos{font-size:1.1rem}.logo .hotel{letter-spacing:.2em;font-size:.4rem}.mobile-toggle{display:flex}.nav-btn{border-radius:6px;padding:.5rem .9rem;font-size:.62rem}.nav-links{z-index:1050;border-top:2px solid var(--accent);background:#0f172a;flex-direction:column;gap:0;width:100%;padding:0;display:none;position:fixed;top:64px;left:0;box-shadow:0 8px 32px #00000080}.nav-links.active{display:flex}.nav-links li{border-bottom:1px solid #ffffff0f}.nav-links li a{letter-spacing:.15em;text-transform:uppercase;padding:1.1rem 1.75rem;font-size:.8rem;font-weight:700;transition:color .2s,padding-left .2s;display:block;color:#ffffffd9!important}.nav-links li a:hover{padding-left:2.25rem;color:var(--accent)!important}.hero{flex-direction:column;height:100svh;min-height:580px;display:flex;overflow:hidden}.hero-content{text-align:center;z-index:10;flex:1;justify-content:center;align-items:center;width:100%;padding:80px 2rem 1.5rem;display:flex;position:relative}.hero-text-box{flex-direction:column;align-items:center;width:100%;display:flex}.hero .subtitle{display:none}.hero h1{text-shadow:0 2px 16px #00000080;color:var(--white);margin-bottom:1rem;font-size:2.4rem;line-height:1.15}.hero .tagline{opacity:.85;max-width:80%;color:var(--white);margin-bottom:2rem;font-size:.9rem;font-style:italic}.hero-actions{flex-direction:column;gap:.75rem;width:100%;max-width:280px;margin:0 auto}.hero-actions .btn{justify-content:center;width:100%;padding:.95rem 1.5rem;font-size:.78rem}.hero-lower-info{border-top:2px solid var(--accent);z-index:10;background:#0f172af7;padding:1rem 0;position:relative}.info-grid{width:100%;grid-template-columns:repeat(3,1fr)!important;gap:0!important;display:grid!important}.info-item{border-right:1px solid #ffffff14;padding:.65rem .25rem;text-align:center!important}.info-item:last-child{border-right:none}.info-item strong{margin-bottom:2px;font-family:Playfair Display,serif;display:block;color:var(--accent)!important;font-size:.95rem!important}.info-item span,.info-item p{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;line-height:1.4;display:block;overflow:hidden;color:#ffffff8c!important;font-size:.5rem!important}.room-grid{display:block}.room-card{border-radius:12px;margin-bottom:3rem}.room-carousel img{height:220px}.room-info{padding:1.75rem 1.25rem}.room-info h3{font-size:1.3rem}.room-footer{flex-direction:column;align-items:stretch;gap:1.25rem;padding-top:1.25rem}.room-price{text-align:center;width:100%}.room-footer .btn{justify-content:center;width:100%}.flatpickr-calendar{z-index:9999!important;width:calc(100vw - 3rem)!important;max-width:310px!important;position:absolute!important;left:50%!important;overflow:hidden!important;transform:translate(-50%)!important}.flatpickr-day{max-width:38px!important;height:38px!important;margin:2px!important;line-height:38px!important}.flatpickr-days,.dayContainer{width:100%!important;min-width:unset!important;max-width:100%!important}.booking-portal{padding-top:90px;padding-bottom:3rem}.booking-header{margin-bottom:2rem;padding:0 1rem}.booking-header .section-title{font-size:1.75rem}.booking-step-container{border-radius:12px;margin:0 .75rem;padding:2rem 1.25rem}.booking-step-container h3{margin-bottom:1.75rem;font-size:1.35rem}.booking-form-grid{flex-direction:column;gap:1.75rem;margin-bottom:2rem}.room-selection-grid{gap:1.5rem;padding:0}.room-selection-card{border-radius:12px;flex-direction:column}.room-selection-card img{width:100%;height:200px}.room-selection-card .content{padding:1.5rem 1.25rem}.room-selection-card h4{margin-bottom:.6rem;font-size:1.3rem}.selection-description{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1.25rem;font-size:.87rem;display:-webkit-box;overflow:hidden}.price-box{text-align:center;flex-direction:column;gap:1.25rem}.pricing,.price-box .btn{justify-content:center;width:100%}.success-card{padding:3.5rem 1.25rem!important}.success-icon-box{margin-bottom:1.75rem}.footer{padding:3.5rem 0 0}.footer-top{grid-template-columns:1fr!important;gap:0!important}.footer-info{text-align:center;border-bottom:1px solid #ffffff12;flex-direction:column;align-items:center;padding:2rem 1.25rem;display:flex}.footer-info p{opacity:.65;margin-top:1rem;font-size:.85rem}.footer-nav{display:none!important}.footer-contact{text-align:center;border-bottom:1px solid #ffffff12;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.25rem;display:flex}.footer-contact p{flex-direction:column;align-items:center;gap:.25rem;margin:0;font-size:.88rem;display:flex}.footer-contact svg{margin-bottom:2px}.footer-bottom{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1.25rem;font-size:.7rem;display:flex}}
