/* ============================================================ Haus Gramespacher – Luxury Vacation Rental ============================================================ */ :root{--primary:#2D5A40;--primary-light:#3F7556;--primary-dark:#1C3A2A;--accent:#C9A84C;--accent-light:#E8C97A;--accent-pale:#F5EDD4;--accent-dark:#7A5C14;--bg:#FAF7F2;--bg-alt:#F5EDD4;--text:#1A1A1A;--text-muted:#6B6B6B;--white:#FFFFFF;--border:#E5DDD0;--shadow-sm:0 2px 8px rgba(0,0,0,.06);--shadow-md:0 8px 30px rgba(0,0,0,.10);--shadow-lg:0 20px 60px rgba(0,0,0,.14);--radius-sm:4px;--radius-md:12px;--radius-lg:20px;--nav-height:80px;--ease:cubic-bezier(.4,0,.2,1);--transition:all .3s var(--ease);}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;font-size:16px;}body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;}img{max-width:100%;height:auto;display:block;}a{color:inherit;text-decoration:none;}ul{list-style:none;}h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,serif;line-height:1.25;color:var(--primary);}h1{font-size:clamp(2rem,5vw,3.5rem);}h2{font-size:clamp(1.6rem,3vw,2.5rem);}h3{font-size:clamp(1.2rem,2vw,1.75rem);}h4{font-size:1.1rem;}p{max-width:70ch;}/* ---- Layout ---- */ .container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:2rem;}.section{padding-block:6rem;}.section--alt{background:linear-gradient(180deg,var(--bg-alt) 0%,#F9F0DA 100%);}.section--dark{background:var(--primary);}.section--dark h2,.section--dark h3{color:var(--white);}.section-label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color: var(--accent-dark);margin-bottom:1rem;}.divider{width:60px;height:2px;background:var(--accent);margin:1.25rem 0;}.divider--center{margin-inline:auto;}/* ---- Buttons ---- */ .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.05em;cursor:pointer;border:none;transition:var(--transition);}.btn--primary{background:var(--accent);color:var(--primary-dark);font-weight:600;}.btn--primary:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 8px 20px rgba(201,168,76,.4);}.btn--outline{background:transparent;border:1.5px solid var(--white);color:var(--white);}.btn--outline:hover{background:var(--white);color:var(--primary);}.btn--dark{background:var(--primary);color:var(--white);}.btn--dark:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:0 8px 20px rgba(45,90,64,.3);}.btn--sm{padding:.625rem 1.25rem;font-size:.8125rem;}/* ============================================================ HEADER & NAVIGATION ============================================================ */ .site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-height);display:flex;align-items:center;transition:background .4s var(--ease),box-shadow .4s var(--ease);}.site-header.transparent{background:rgba(45,90,64,.6);}.site-header.scrolled,.site-header.solid{background:rgba(28,58,42,.97);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.15);}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%;}.logo{display:flex;flex-direction:column;}.logo-name{text-shadow:0 2px 4px rgba(0,0,0,.3);font-family:'Playfair Display',Georgia,serif;font-size:1.2rem;color:var(--white);line-height:1.2;}.logo-tagline{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color: var(--accent-light); font-weight: 600;}.main-nav ul{display:flex;align-items:center;gap:.125rem;}.main-nav li{position:relative;}.main-nav > ul > li > a{display:block;text-shadow:0 1px 2px rgba(0,0,0,.2);padding:.5rem .8rem;font-size:.8rem;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.85);border-radius:var(--radius-sm);transition:var(--transition);white-space:nowrap;}.main-nav > ul > li > a:hover,.main-nav > ul > li.active > a{color:var(--white);background:rgba(255,255,255,.1);}.main-nav .dropdown{position:absolute;top:100%;left:50%;min-width:230px;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;}.main-nav li:hover > .dropdown,.main-nav li.open > .dropdown{opacity:1;visibility:visible;pointer-events:all;transform:translateX(-50%) translateY(4px);}.main-nav .dropdown a{display:block;padding:.625rem 1rem;font-size:.8125rem;color:var(--text);border-radius:var(--radius-sm);transition:var(--transition);}.main-nav .dropdown a:hover{background:var(--bg);color:var(--primary);}.nav-cta{background:var(--accent) !important;color: var(--primary-dark) !important;font-weight: 700 !important;border-radius:var(--radius-sm) !important;padding:.5rem 1.25rem !important;}.nav-cta:hover{background:var(--accent-light) !important;}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:.5rem;z-index:1001;}.nav-toggle span{display:block;width:24px;height:2px;background:var(--white);transition:var(--transition);transform-origin:center;}.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}.nav-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0);}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}/* ============================================================ HERO ============================================================ */ .hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding-bottom:7rem;overflow:hidden;}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 8s ease-out;}.hero-bg.loaded{transform:scale(1);}.hero-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(28,58,42,.15) 0%,rgba(28,58,42,.5) 55%,rgba(28,58,42,.92) 100%);}.hero-content{position:relative;z-index:1;max-width:680px;}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem 1rem;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.4);border-radius:100px;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-light);margin-bottom:1.5rem;}.hero h1{color:var(--white);font-size:clamp(2.5rem,6vw,4.5rem);margin-bottom:1.5rem;text-shadow:0 2px 24px rgba(0,0,0,.3);}.hero h1 em{color:var(--accent-light);font-style:italic;}.hero-desc{font-size:1.0625rem;color:rgba(255,255,255,.85);max-width:55ch;margin-bottom:2.5rem;line-height:1.8;}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}.hero-stats{position:absolute;right:3rem;bottom:4rem;z-index:1;display:flex;gap:3rem;}.hero-stat{text-align:center;}.hero-stat-number{font-family:'Playfair Display',Georgia,serif;font-size:2rem;line-height:1;color:var(--accent-light);}.hero-stat-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:.25rem;}/* ============================================================ PAGE HERO (inner pages) ============================================================ */ .page-hero{height:320px;position:relative;display:flex;align-items:flex-end;padding-bottom:3rem;margin-top:var(--nav-height);overflow:hidden;background:var(--primary);}.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.25;}.page-hero-content{position:relative;z-index:1;}.page-hero h1{color:var(--white);margin-bottom:.5rem;}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:rgba(255,255,255,.55);}.breadcrumb a{color:rgba(255,255,255,.55);transition:var(--transition);}.breadcrumb a:hover{color:var(--accent-light);}.page-top{padding-top:var(--nav-height);}.page-top .page-intro{background:var(--primary);padding:3rem 0;}.page-top .page-intro h1{color:var(--white);}/* ============================================================ FEATURES GRID ============================================================ */ .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.feature-card{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem 2rem;border:none;box-shadow:0 1px 3px rgba(28,58,42,.04),0 4px 16px rgba(28,58,42,.04);transition:var(--transition);position:relative;overflow:hidden}.feature-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 100%);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}.feature-card:hover{transform:translateY(-6px);box-shadow:0 4px 12px rgba(28,58,42,.06),0 24px 48px rgba(28,58,42,.10)}.feature-card:hover::before{transform:scaleX(1)}.feature-icon{width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-pale) 0%,#FBF1D9 100%);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;font-size:1.75rem;box-shadow:inset 0 0 0 1px rgba(201,168,76,.15)}.feature-card h3{font-size:1.0625rem;font-family:'Inter',sans-serif;font-weight:600;margin-bottom:.625rem;color:var(--primary-dark)}.feature-card p{font-size:.9rem;color:var(--text-muted);line-height:1.7}/* ============================================================ WELCOME SECTION ============================================================ */ .welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}.welcome-image-stack{position:relative;}.welcome-image-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}.welcome-image-accent{position:absolute;bottom:-2rem;right:-2rem;width:52%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);border:6px solid var(--white);box-shadow:var(--shadow-md);}.welcome-badge{position:absolute;top:2rem;left:-2rem;background:var(--primary);padding:1.25rem;border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-md);}.welcome-badge-number{font-family:'Playfair Display',Georgia,serif;font-size:2rem;line-height:1;color:var(--accent);}.welcome-badge-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:.25rem;}.welcome-content h2{margin-bottom:1.25rem;}.welcome-content p{color:var(--text-muted);margin-bottom:1.25rem;}.welcome-features{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin:1.75rem 0;}.welcome-feature{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:var(--text-muted);}.welcome-feature::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}/* ============================================================ GALLERY PREVIEW (homepage) ============================================================ */ .gallery-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:260px 260px;gap:1rem;}.gallery-preview-item{position:relative;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;}.gallery-preview-item:first-child{grid-row:span 2;}.gallery-preview-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}.gallery-preview-item:hover img{transform:scale(1.06);}.gallery-preview-overlay{position:absolute;inset:0;background:rgba(45,90,64,0);display:flex;align-items:center;justify-content:center;transition:var(--transition);}.gallery-preview-item:hover .gallery-preview-overlay{background:rgba(45,90,64,.38);}.gallery-preview-icon{color:var(--white);font-size:2rem;opacity:0;transform:scale(.8);transition:var(--transition);}.gallery-preview-item:hover .gallery-preview-icon{opacity:1;transform:scale(1);}/* ============================================================ ROOM CARDS ============================================================ */ .room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}.room-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;display:block;}.room-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}.room-card:hover img{transform:scale(1.08);}.room-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(45,90,64,.88) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;}.room-card-title{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;color:var(--white);margin-bottom:.25rem;}.room-card-link{font-size:.75rem;color:var(--accent-light);letter-spacing:.1em;text-transform:uppercase;}/* ============================================================ PHOTO GALLERY (detail pages) ============================================================ */ .photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;}.photo-gallery-item{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;position:relative;}.photo-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}.photo-gallery-item:hover img{transform:scale(1.05);}.photo-gallery-item::after{content:'⊕';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--white);background:rgba(45,90,64,0);transition:var(--transition);}.photo-gallery-item:hover::after{background:rgba(45,90,64,.35);}/* ============================================================ LIGHTBOX ============================================================ */ .lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center;padding:2rem;}.lightbox.active{display:flex;}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);}.lightbox-close{position:absolute;top:1.25rem;right:1.75rem;font-size:2.5rem;line-height:1;color:rgba(255,255,255,.7);cursor:pointer;background:none;border:none;transition:color .2s;}.lightbox-close:hover{color:var(--white);}/* ============================================================ PRICING ============================================================ */ .pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;align-items:start;}.pricing-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);transition:var(--transition);}.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}.pricing-card-header{background:var(--primary);padding:2rem;}.pricing-card-header h3{color:var(--white);font-size:1.25rem;margin-bottom:1rem;}.pricing-amount{display:flex;align-items:baseline;gap:.25rem;}.pricing-currency{font-size:1.25rem;font-weight:300;color:var(--accent);}.pricing-number{font-family:'Playfair Display',Georgia,serif;font-size:3rem;line-height:1;color:var(--white);}.pricing-period{font-size:.875rem;color:rgba(255,255,255,.6);}.pricing-card-body{padding:2rem;}.pricing-features{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;}.pricing-feature{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-muted);}.pricing-feature-check{width:18px;height:18px;border-radius:50%;background:var(--accent-pale);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;flex-shrink:0;}.info-table{width:100%;border-collapse:collapse;margin:1.5rem 0;border-radius:var(--radius-md);overflow:hidden;}.info-table th,.info-table td{padding:.875rem 1.25rem;text-align:left;font-size:.875rem;}.info-table th{background:var(--primary);color:var(--white);font-weight:500;font-size:.8rem;letter-spacing:.05em;}.info-table tr:nth-child(even) td{background:var(--bg-alt);}.info-table td{border-bottom:1px solid var(--border);color:var(--text-muted);}.calendar-wrapper{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);overflow:hidden;text-align:center;}.calendar-wrapper iframe{border:none;border-radius:var(--radius-sm);}/* ============================================================ CONTACT ============================================================ */ .contact-grid{display:grid;grid-template-columns:3fr 2fr;gap:4rem;align-items:start;}.contact-form-wrapper{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);}.contact-form-wrapper iframe{width:100%;border:none;border-radius:var(--radius-sm);}.form-group{margin-bottom:1.5rem;}.form-label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.5rem;letter-spacing:.02em;}.form-input,.form-textarea{width:100%;padding:.875rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:.9375rem;color:var(--text);background:var(--white);transition:var(--transition);}.form-input:focus,.form-textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px rgba(45,90,64,.1);}.form-textarea{resize:vertical;min-height:120px;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.contact-info-card{background:var(--primary);color:var(--white);border-radius:var(--radius-lg);padding:2.5rem;}.contact-info-card h3{color:var(--white);margin-bottom:2rem;}.contact-info-item{display:flex;gap:1rem;margin-bottom:1.5rem;}.contact-info-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0;}.contact-info-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.2rem;}.contact-info-value{font-size:.9375rem;color:rgba(255,255,255,.9);}.contact-info-value a{color:rgba(255,255,255,.9);transition:color .2s;}.contact-info-value a:hover{color:var(--accent-light);}/* ============================================================ ARRIVAL ============================================================ */ .arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}.map-wrapper{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}.map-wrapper iframe{width:100%;height:440px;border:none;display:block;}.arrival-detail{display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}.arrival-detail:last-child{border-bottom:none;margin-bottom:0;}.arrival-detail-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--accent-pale);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;}.arrival-detail h4{font-family:'Inter',sans-serif;font-size:.9375rem;font-weight:600;color:var(--primary);margin-bottom:.25rem;}.arrival-detail p{font-size:.875rem;color:var(--text-muted);}/* ============================================================ ACTIVITIES ============================================================ */ .activities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}.activity-card{background:var(--white);border-radius:var(--radius-md);padding:1.75rem;border:1px solid var(--border);transition:var(--transition);}.activity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent-pale);}.activity-icon{font-size:2.25rem;margin-bottom:1rem;}.activity-card h3{font-size:1.0625rem;font-family:'Inter',sans-serif;font-weight:600;margin-bottom:.5rem;}.activity-card p{font-size:.875rem;color:var(--text-muted);line-height:1.6;}.activity-card a{color:var(--primary-light);font-weight:500;text-decoration:underline;text-underline-offset:2px;}/* ============================================================ GUESTBOOK / IMKEREI ============================================================ */ .guestbook-wrapper{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);overflow:hidden;}.guestbook-wrapper iframe{width:100%;border:none;}.imkerei-intro p{color:var(--text-muted);margin-bottom:1.25rem;}/* ============================================================ INFO BOX / PROSE ============================================================ */ .info-box{background:var(--accent-pale);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1.25rem 1.5rem;margin:1.5rem 0;}.info-box p{font-size:.9375rem;margin:0;}.prose{max-width:760px;}.prose h2{margin:2rem 0 1rem;font-size:1.5rem;}.prose h3{margin:1.75rem 0 .75rem;font-size:1.2rem;}.prose p{margin-bottom:1rem;color:var(--text-muted);font-size:.9375rem;}.prose ul{list-style:disc;padding-left:1.5rem;margin-bottom:1rem;}.prose ul li{color:var(--text-muted);font-size:.9375rem;margin-bottom:.375rem;}.prose a{color:var(--primary-light);text-decoration:underline;text-underline-offset:2px;}.konus-map-img{max-width:500px;margin:1.5rem auto;border-radius:var(--radius-md);box-shadow:var(--shadow-md);}.konus-logo{margin:2rem auto;max-width:200px;}/* ============================================================ FOOTER ============================================================ */ .site-footer{background:var(--primary-dark);color:rgba(255,255,255,.7);padding-top:5rem;}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.08);}.footer-brand .logo-name{display:block;}.footer-brand .logo-tagline{display:block;margin-bottom:1.25rem;}.footer-brand p{font-size:.875rem;line-height:1.75;max-width:36ch;}.footer-col h4{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem;}.footer-col ul{display:flex;flex-direction:column;gap:.625rem;}.footer-col a{font-size:.875rem;color:rgba(255,255,255,.6);transition:color .2s;}.footer-col a:hover{color:var(--white);}.footer-contact-item{font-size:.875rem;margin-bottom:.5rem;}.footer-contact-item a{color:rgba(255,255,255,.6);transition:color .2s;}.footer-contact-item a:hover{color:var(--accent-light);}.footer-bottom{padding-block:1.5rem;display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:rgba(255,255,255,.35);}.footer-bottom a{color:rgba(255,255,255,.35);transition:color .2s;}.footer-bottom a:hover{color:rgba(255,255,255,.65);}/* ============================================================ SCROLL REVEAL ============================================================ */ .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}.reveal.visible{opacity:1;transform:translateY(0);}.reveal-delay-1{transition-delay:.1s;}.reveal-delay-2{transition-delay:.2s;}.reveal-delay-3{transition-delay:.3s;}.reveal-delay-4{transition-delay:.4s;}/* ============================================================ UTILITY ============================================================ */ .text-center{text-align:center;}.text-muted{color:var(--text-muted);}.mt-1{margin-top:1rem;}.mt-2{margin-top:2rem;}.mt-3{margin-top:3rem;}.mb-1{margin-bottom:1rem;}.mb-2{margin-bottom:2rem;}.mb-3{margin-bottom:3rem;}.mb-0{margin-bottom:0 !important;}/* ============================================================ RESPONSIVE ============================================================ */ @media (max-width:1024px){.welcome-grid{grid-template-columns:1fr;gap:3rem;}.welcome-image-stack{max-width:560px;}.contact-grid{grid-template-columns:1fr;}.arrival-grid{grid-template-columns:1fr;}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem;}.footer-brand{grid-column:1 / -1;}.gallery-preview-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}.gallery-preview-item:first-child{grid-row:span 1;}}@media (max-width:768px){:root{--nav-height:68px;}.section{padding-block:4rem;}.main-nav{position:fixed;inset:0 0 0 auto;width:min(300px,80vw);background:var(--primary);padding:calc(var(--nav-height) + 1.5rem) 1.5rem 2rem;transform:translateX(100%);transition:transform .4s var(--ease);overflow-y:auto;z-index:1000;}.main-nav.open{transform:translateX(0);}.main-nav ul{flex-direction:column;align-items:stretch;gap:0;}.main-nav > ul > li > a{padding:.875rem 1rem;font-size:.9375rem;border-radius:0;border-bottom:1px solid rgba(255,255,255,.07);}.main-nav .dropdown{position:static;transform:none;opacity:1;visibility:visible;pointer-events:all;background:rgba(255,255,255,.06);border-radius:var(--radius-sm);box-shadow:none;margin:.25rem 0 .5rem;padding:.25rem;display:none;}.main-nav li.open > .dropdown{display:block;}.main-nav .dropdown a{color:rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.06);padding:.625rem 1rem;font-size:.875rem;}.nav-toggle{display:flex;}.hero{padding-bottom:4.5rem;}.hero-stats{display:none;}.features-grid{grid-template-columns:1fr 1fr;gap:1rem;}.room-grid{grid-template-columns:1fr 1fr;}.gallery-preview-grid{grid-template-columns:1fr;}.pricing-grid{grid-template-columns:1fr;}.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center;}.form-row{grid-template-columns:1fr;}.welcome-badge{display:none;}.welcome-image-accent{display:none;}.page-hero{height:240px;}}@media (max-width:480px){.container{padding-inline:1.25rem;}.features-grid{grid-template-columns:1fr;}.room-grid{grid-template-columns:1fr;}.hero-actions{flex-direction:column;}.hero-actions .btn{width:100%;justify-content:center;}.photo-gallery{grid-template-columns:1fr;}}