@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap";:root{--color-primary: #1a2e44;--color-primary-light: #2a4a6b;--color-accent: #c8944a;--color-accent-hover: #a87a3a;--color-azure: #3a8fc2;--color-azure-light: #e8f4fa;--color-bg: #fefcf9;--color-bg-alt: #f5f0ea;--color-text: #2d2926;--color-text-light: #6b6259;--color-border: #e2dbd3;--color-booked: #c85a4a;--color-available: #5a9e6f;--font-heading: "Playfair Display", "Georgia", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width: 1100px;--nav-height: 72px;--radius: 8px;--shadow: 0 2px 12px rgba(26, 46, 68, .08);--shadow-lg: 0 8px 30px rgba(26, 46, 68, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;color:var(--color-text);background:var(--color-bg);line-height:1.7;min-height:100vh;display:flex;flex-direction:column}img{max-width:100%;height:auto;display:block}a{color:var(--color-azure);text-decoration:none;transition:color .3s}a:hover{color:var(--color-accent)}.site-header{background:var(--color-primary);color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 20px #1a2e4426;backdrop-filter:blur(10px)}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 2rem;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between}.site-logo{font-family:var(--font-heading);font-size:1.5rem;color:#fff;letter-spacing:.08em;font-weight:400;font-style:italic}.site-logo .logo-num{font-style:normal;font-weight:700;color:var(--color-accent);margin-left:.15em}.site-logo:hover{color:#ffffffe6;opacity:1}.nav-list{list-style:none;display:flex;gap:.5rem}.nav-list a{color:#fffc;padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem;font-weight:400;letter-spacing:.03em;text-transform:uppercase;transition:background .3s,color .3s}.nav-list a:hover,.nav-list a.active{color:#fff;background:#c8944a40}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.nav-toggle span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;border-radius:2px;transition:transform .3s,opacity .3s}.hero{background:linear-gradient(160deg,var(--color-primary) 0%,var(--color-primary-light) 50%,#3a7fc2 100%);color:#fff;text-align:center;padding:5rem 2rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 20"><path d="M0 15 Q25 5 50 15 T100 15 V20 H0Z" fill="rgba(255,255,255,0.05)"/></svg>') repeat-x bottom;background-size:200px 60px}.hero h1{font-family:var(--font-heading);font-size:3rem;margin-bottom:.5rem;font-weight:400;letter-spacing:.02em}.hero .subtitle{font-size:1.2rem;opacity:.85;font-style:italic;font-family:var(--font-heading);letter-spacing:.05em}.hero-image{background-size:cover;background-position:center 40%;padding:0;min-height:55vh;display:flex;align-items:center;justify-content:center}.hero-image .hero-overlay{background:#1a2e448c;backdrop-filter:blur(2px);width:100%;height:100%;min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.main-content{flex:1;max-width:var(--max-width);margin:0 auto;padding:3.5rem 2rem;width:100%}main{flex:1}.page-title{font-family:var(--font-heading);font-size:2.2rem;font-weight:400;margin-bottom:2rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-accent);color:var(--color-primary)}.section-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:400;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border);color:var(--color-primary)}.home-section{margin-top:3.5rem}.apartment-description{font-size:1.1rem;line-height:1.9;max-width:750px}.apartment-description p{margin-bottom:1.5rem;color:var(--color-text-light)}.apartment-description p:first-child:first-letter{font-family:var(--font-heading);font-size:3.2rem;float:left;margin-right:.5rem;margin-top:.1rem;line-height:1;color:var(--color-primary)}.cta-button{display:inline-block;background:var(--color-accent);color:#fff;padding:1rem 2.5rem;border-radius:var(--radius);font-size:1rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-top:1.5rem;transition:background .3s,transform .3s,box-shadow .3s;box-shadow:0 4px 15px #c8944a4d}.cta-button:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #c8944a66}.news-list{display:flex;flex-direction:column;gap:2rem}.news-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;transition:box-shadow .3s,transform .3s;background:#fff}.news-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.news-item h2{font-family:var(--font-heading);font-size:1.4rem;font-weight:400;margin-bottom:.4rem;color:var(--color-primary)}.news-item .news-date{color:var(--color-accent);font-size:.85rem;margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.05em}.news-item .news-body{line-height:1.8;color:var(--color-text-light)}.gallery-section{margin-bottom:3rem}.gallery-section h2{font-family:var(--font-heading);font-size:1.6rem;font-weight:400;margin-bottom:1.2rem;color:var(--color-primary)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.gallery-grid img{width:100%;height:200px;object-fit:cover;border-radius:var(--radius);cursor:pointer;transition:transform .3s,box-shadow .3s;box-shadow:var(--shadow)}.gallery-grid img:hover{transform:scale(1.03);box-shadow:var(--shadow-lg)}.lightbox{display:none;position:fixed;inset:0;background:#000000eb;z-index:2000;align-items:center;justify-content:center;padding:2rem}.lightbox.active{display:flex}.lightbox img{max-width:90vw;max-height:85vh;border-radius:var(--radius)}.lightbox-close{position:absolute;top:1.5rem;right:2rem;font-size:2.5rem;color:#fff;cursor:pointer;background:none;border:none;line-height:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:3rem;color:#fff;cursor:pointer;background:none;border:none;padding:1rem;opacity:.7;transition:opacity .2s}.lightbox-nav:hover{opacity:1}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.booking-info{margin-bottom:2rem}.booking-info h2{font-family:var(--font-heading);font-size:1.4rem;font-weight:400;margin-bottom:.8rem;color:var(--color-primary)}.booking-info ul{list-style:none;padding:0}.booking-info li{padding:.3rem 0 .3rem 1.2rem;position:relative}.booking-info li:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-size:1.2em}.calendar-overview{max-width:760px;margin-top:2rem}.calendar-overview>h2{font-family:var(--font-heading);color:var(--color-primary);font-size:1.5rem;font-weight:400}.calendar-overview>p{margin:.35rem 0 1.25rem;color:var(--color-text-light)}.calendar-load-error{margin-bottom:1rem;padding:1.5rem;border:1px solid #d9a62e;border-radius:var(--radius);background:#fff3cd;color:var(--color-text)}.booking-intro{margin-bottom:.8rem;color:var(--color-text-light)}.changeover-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem;max-width:620px;margin-bottom:2rem;padding:1rem 1.2rem;border-left:4px solid var(--color-accent);background:#fff8e9}.changeover-info-title{grid-column:1 / -1;color:var(--color-primary);font-weight:600}.changeover-info strong,.changeover-info span{display:block}.changeover-info strong{color:var(--color-primary);font-size:.9rem}.changeover-info span{color:var(--color-text-light);font-size:.9rem}@media(max-width:520px){.changeover-info{grid-template-columns:1fr}}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-nav h3{font-size:1.2rem}.calendar-nav button{background:var(--color-primary);color:#fff;border:none;padding:.5rem 1.2rem;border-radius:var(--radius);cursor:pointer;font-size:1rem;transition:background .3s}.calendar-nav button:hover{background:var(--color-primary-light)}.calendar-nav button:disabled{cursor:default;opacity:.35}.calendar-grid{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.calendar-grid-header,.calendar-week-row{display:grid;grid-template-columns:2.75rem repeat(7,1fr);gap:2px}.calendar-week-row{position:relative;border-top:2px solid var(--color-border);background:var(--color-border)}.calendar-week-row.available{cursor:pointer}.calendar-week-row.available:hover,.calendar-week-row.available:focus-within,.calendar-week-row.available.is-revealed{z-index:1;outline:2px solid var(--color-accent);outline-offset:-2px}.calendar-week-row:focus-visible{outline:3px solid var(--color-azure);outline-offset:-3px}.calendar-grid .day-header{background:var(--color-primary);color:#fff;text-align:center;padding:.6rem .3rem;font-size:.85rem;font-weight:600}.calendar-grid .week-number-header{background:var(--color-primary-light)}.calendar-week-number{display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--color-bg-alt);color:var(--color-text-light);font-size:.75rem;font-weight:600}.calendar-grid .day{text-align:center;padding:.7rem .3rem;font-size:.9rem;background:var(--color-bg);min-height:44px;display:flex;align-items:center;justify-content:center}.calendar-grid button.day{border:0;font:inherit;cursor:pointer}.calendar-grid .day span{display:block;font-size:.65rem;line-height:1.2;margin-top:.2rem;text-transform:uppercase;letter-spacing:.04em}.calendar-week-row.booked .day{background:var(--color-booked);color:#fff;font-weight:600}.calendar-week-row.booked .calendar-week-number{background:#a94438;color:#fff;font-weight:600}.calendar-grid .day.selected{box-shadow:inset 0 0 0 4px var(--color-accent)}.calendar-week-row.selected{outline:3px solid var(--color-accent);outline-offset:-3px}.calendar-grid .day.empty{background:var(--color-bg-alt)}.calendar-week-action{position:absolute;inset:3px 3px 3px 2.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem .45rem .25rem 1rem;border-radius:5px;background:#1a2e44f7;color:#fff;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.calendar-week-row.available:hover .calendar-week-action,.calendar-week-row.available:focus-within .calendar-week-action,.calendar-week-row.available.is-revealed .calendar-week-action{opacity:1;pointer-events:auto;transform:translateY(0)}.calendar-week-action-info{display:flex;align-items:baseline;min-width:0;gap:.8rem}.calendar-week-action-info strong{white-space:nowrap}.calendar-week-action-info>span{overflow:hidden;color:#fffc;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.calendar-week-action button{flex:0 0 auto;padding:.45rem .8rem;border:0;border-radius:5px;background:var(--color-accent);color:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.calendar-week-action button:hover,.calendar-week-action button:focus-visible{background:var(--color-accent-hover)}@media(max-width:520px){.calendar-grid-header,.calendar-week-row{grid-template-columns:2.25rem repeat(7,1fr)}.calendar-grid .day,.calendar-week-number{min-height:42px;padding-right:.15rem;padding-left:.15rem;font-size:.78rem}.calendar-week-action{left:2.4rem;gap:.4rem;padding-left:.6rem}.calendar-week-action-info{flex-direction:column;align-items:flex-start;gap:0;line-height:1.2}.calendar-week-action-info>span{font-size:.72rem}.calendar-week-action button{padding:.42rem .55rem;font-size:.78rem}}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1rem;color:var(--color-text-light);font-size:.9rem}.calendar-legend>span{display:inline-flex;align-items:center;gap:.4rem}.legend-box{width:16px;height:16px;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg)}.legend-box.booked{border-color:var(--color-booked);background:var(--color-booked)}.legend-box.selected{border:3px solid var(--color-accent)}.contact-form{max-width:680px;margin-top:2.5rem;padding-top:0}.contact-form h2{margin-bottom:1.5rem}.booking-form{max-width:600px;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--color-accent)}.booking-form h2{font-family:var(--font-heading);font-size:1.4rem;font-weight:400;margin-bottom:1rem;color:var(--color-primary)}.selected-week{padding:1rem 1.2rem;margin-bottom:1.5rem;border-left:4px solid var(--color-accent);background:var(--color-bg-alt);color:var(--color-text-light)}.selected-week p{margin:0}.selected-week-label,.selected-week-dates,.selected-week-price{display:block}.selected-week-label{color:var(--color-text-light);font-size:.85rem;font-weight:600;text-transform:uppercase}.selected-week strong{display:block;margin-top:.1rem;color:var(--color-primary);font-family:var(--font-heading);font-size:1.5rem;font-weight:600}.selected-week-dates{margin-top:.15rem;color:var(--color-text)}.selected-week-price{margin-top:.65rem;color:var(--color-primary);font-size:1.25rem;font-weight:700}.selected-week-price span{margin-right:.55rem;color:var(--color-text-light);font-size:.85rem;font-weight:600}.form-group{margin-bottom:1.2rem}.form-group label{display:block;font-weight:600;margin-bottom:.3rem;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.7rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-azure);box-shadow:0 0 0 3px #3a8fc21a}.form-group input.input-invalid,.form-group textarea.input-invalid{border-color:var(--color-booked);background:#fff7f5}.form-group input.input-invalid:focus{box-shadow:0 0 0 3px #c85a4a2e}.form-group textarea.input-invalid:focus{box-shadow:0 0 0 3px #c85a4a2e}.field-error{min-height:1.4rem;margin-top:.3rem;color:var(--color-booked);font-size:.85rem;font-weight:500;line-height:1.4}.form-group textarea{min-height:100px;resize:vertical}.garage-option{padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-alt)}.garage-option label{display:flex;align-items:center;gap:.7rem;cursor:pointer}.garage-option input{width:1.15rem;height:1.15rem;flex:0 0 auto;accent-color:var(--color-accent)}.garage-option p{margin:.35rem 0 0 1.85rem;color:var(--color-text-light);font-size:.85rem;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-submit{background:var(--color-accent);color:#fff;border:none;padding:1rem 2.5rem;border-radius:var(--radius);font-size:1rem;font-weight:500;letter-spacing:.03em;cursor:pointer;transition:background .3s,box-shadow .3s;box-shadow:0 4px 15px #c8944a4d}.form-submit:hover{background:var(--color-accent-hover);box-shadow:0 6px 20px #c8944a66}.form-submit:disabled{background:var(--color-border);color:var(--color-text-light);box-shadow:none;cursor:not-allowed}.form-status{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1100;max-width:min(32rem,calc(100vw - 2.5rem));margin:0;padding:.9rem 1.15rem;border-radius:var(--radius);color:#fff;font-weight:600;line-height:1.4;box-shadow:var(--shadow-lg);animation:snackbar-in .25s ease-out}.form-status.is-success{background:var(--color-available)}.form-status.is-error{background:var(--color-booked)}@keyframes snackbar-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.services-list{display:flex;flex-direction:column;gap:2rem}.service-item{padding:2rem;background:#fff;border-radius:var(--radius);border-left:4px solid var(--color-accent);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}.service-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.service-item h2{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;margin-bottom:.6rem;color:var(--color-primary)}.service-item p{line-height:1.8;color:var(--color-text-light)}.contact-info{font-size:1.1rem;line-height:2}.contact-info p{margin-bottom:1rem}.contact-info a{font-weight:600}.contact-layout{display:grid;grid-template-columns:minmax(0,680px) minmax(230px,1fr);align-items:start;gap:3rem}.contact-layout .contact-form{margin-top:0}.contact-card{margin-top:.25rem;padding:1.5rem;border-left:4px solid var(--color-accent);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.contact-card-label{margin-bottom:.25rem;color:var(--color-accent);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contact-card h2{margin-bottom:1rem;color:var(--color-primary);font-family:var(--font-heading);font-size:1.35rem;font-weight:400}.contact-card p:not(.contact-card-label){margin-top:.75rem}.contact-card span,.contact-card a{display:block}.contact-card span{color:var(--color-text-light);font-size:.8rem;font-weight:600;text-transform:uppercase}.contact-card a{font-weight:500;overflow-wrap:anywhere}.map-address{font-size:1.1rem;color:var(--color-text-light);margin-bottom:1.5rem;font-style:italic}.map-container{box-shadow:var(--shadow-lg);border-radius:var(--radius);overflow:hidden}.transport-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.transport-card{background:#fff;border-radius:var(--radius);padding:2rem 1.5rem;box-shadow:var(--shadow);text-align:center;transition:transform .3s,box-shadow .3s}.transport-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.transport-icon{font-size:2.5rem;margin-bottom:1rem}.transport-card h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:400;color:var(--color-primary);margin-bottom:.8rem}.transport-card p{font-size:.95rem;line-height:1.7;color:var(--color-text-light);margin-bottom:1rem}.transport-time{display:inline-block;background:var(--color-bg-alt);color:var(--color-primary);font-size:.85rem;font-weight:500;padding:.3rem .8rem;border-radius:20px;margin-bottom:.8rem}.transport-link{display:block;margin-top:.5rem;font-size:.9rem;font-weight:500;color:var(--color-azure)}.transport-link:hover{color:var(--color-accent)}.site-footer{background:var(--color-primary);color:#fff9;text-align:center;padding:2.5rem;font-size:.85rem;margin-top:auto;letter-spacing:.05em}@media(max-width:768px){.nav-toggle{display:block}.nav-list{position:absolute;top:var(--nav-height);left:0;right:0;background:var(--color-primary);flex-direction:column;padding:1rem;gap:0;display:none;box-shadow:var(--shadow-lg)}.nav-list.open{display:flex}.nav-list a{display:block;padding:.8rem 1rem}.hero h1{font-size:2.2rem}.hero-image,.hero-image .hero-overlay{min-height:40vh}.main-content{padding:2rem 1.2rem}.transport-cards{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.form-row{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;gap:2rem}.lightbox-nav{font-size:2rem;padding:.5rem}}@media(max-width:480px){.calendar-nav button span{display:none}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid img{height:130px}}
