:root{--page-bg:#f4f7fa;--text-main:#1f2a3b;--text-on-dark:#fff;--font-base:"Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-title:"Cinzel", "Times New Roman", serif;--font-banner:"Great Vibes", "Segoe Script", cursive;font-family:var(--font-base);color:var(--text-main);background-color:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{background:var(--page-bg);font-family:var(--font-base);margin:0}#root{width:100%;min-height:100svh}h1,h2,p{margin:0}.banner-title,.title{font-family:var(--font-title);letter-spacing:.03em;font-weight:600}.subtitle{font-family:var(--font-base);font-weight:500}.text{font-family:var(--font-base);font-weight:400}.menu{font-family:var(--font-base);font-weight:600}.hero-header{z-index:20;color:var(--text-on-dark);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:fixed;top:0;left:0;right:0}.layout{width:min(1200px,100% - 48px);margin-inline:auto}.topbar{background:#00000059;border-bottom:1px solid #ffffff40}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;min-height:58px;display:flex}.topbar-contact{align-items:center;gap:28px;display:flex}.top-link{color:#ffffffe6;align-items:center;gap:8px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.top-link svg,.topbar-social svg{width:20px;height:20px}.topbar-social{align-items:center;gap:18px;display:inline-flex}.topbar-social a{color:#ffffffe6;text-decoration:none}.mainbar{background:#070c14b8;padding-block:26px}.mainbar-inner{justify-content:space-between;align-items:center;gap:22px;display:flex}.brand{color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;font-size:2rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;width:min(110px,42vw);height:auto}.menu-group,.menu-panel{align-items:center;gap:20px;display:flex}.mobile-menu-toggle{display:none}.main-nav{align-items:center;gap:28px;display:flex}.main-nav a,.menu-main-btn,.admin-logout-btn{color:#fff;min-height:40px;font-family:var(--font-base);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff47;border-radius:8px;justify-content:center;align-items:center;padding:9px 14px;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.menu-actions{align-items:center;gap:10px;display:flex}.menu-pill{justify-content:center;align-items:center;display:inline-flex}.reservation-btn{color:#fff;background:#0d2238;border-color:#ffffff73}.reservation-btn.is-active{background:#1d3e63;border-color:#6fb4ff}.details-btn{color:#fff;background:#11445f;border-color:#ffffff73}.details-btn.is-active{background:#1f6387;border-color:#8bd6ff}.menu-main-btn.is-active{color:#8bd6ff;background:#8bd6ff24;border-color:#8bd6ff}.admin-btn{color:#fff;background:#152c45;border-color:#ffffff73}.admin-btn.is-active{background:#254a72;border-color:#74bbff}.language-select-wrap{background:#fffffff0;border:1px solid #ffffff59;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.language-current-flag{border:1px solid #0003;border-radius:2px;flex-shrink:0;width:24px;height:16px;position:relative;overflow:hidden}.language-current-flag.flag-us{background:repeating-linear-gradient(#b52334 0 1.23px,#fff 1.23px 2.46px)}.language-current-flag.flag-us:before{content:"";background:#1f3f8f;width:10.5px;height:8.6px;position:absolute;top:0;left:0}.language-current-flag.flag-fr{background:linear-gradient(90deg,#21439c 0 33.33%,#fff 33.33% 66.66%,#c9313e 66.66% 100%)}.language-current-flag.flag-es{background:linear-gradient(#c91f2f 0 25%,#f5c946 25% 75%,#c91f2f 75% 100%)}.language-current-flag.flag-it{background:linear-gradient(90deg,#1f9449 0 33.33%,#fff 33.33% 66.66%,#c53136 66.66% 100%)}.language-select{color:#1b1f27;cursor:pointer;background:0 0;border:0;outline:none;font-size:.95rem;font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-section{background-image:var(--hero-image,url(/main-hero.png));background-position:50%;background-size:cover;align-items:flex-end;min-height:700px;margin-top:156px;display:flex;position:relative;overflow:hidden}.hero-overlay{background:linear-gradient(#00000038 8%,#0000001a 45%,#00000042 100%);position:absolute;inset:0}.hero-content{z-index:1;color:#fff;padding-bottom:198px;position:relative}.hero-title{color:#f6fbff;-webkit-text-stroke:0;text-shadow:0 4px 10px #0410208c,0 10px 28px #00000059;letter-spacing:.01em;text-transform:uppercase;flex-direction:column;gap:.08em;margin:0;font-size:clamp(1.9rem,5.1vw,4.7rem);font-weight:900;line-height:1.02;display:flex}.hero-title span{opacity:0;animation:.7s ease-out forwards slideInLine;transform:translate(-48px)}.hero-title span:nth-child(2){animation-delay:.25s}.hero-title span:nth-child(3){animation-delay:.5s}.hero-subtitle{color:#fff;font-family:var(--font-base);letter-spacing:.03em;-webkit-text-stroke:.8px #000;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;margin:20px 0 0;font-size:clamp(1.2rem,2.9vw,2.05rem);font-weight:700}@keyframes slideInLine{to{opacity:1;transform:translate(0)}}.hero-accent{z-index:2;clip-path:polygon(0 100%,100% 70%,100% 100%);background:linear-gradient(90deg,#1a9fd4 0%,#3fc8f8 100%);height:64px;position:absolute;bottom:-2px;left:0;right:0}#next-steps{background:#f4f7fa;border-top:1px solid #dde7ef;justify-content:center;padding:48px 24px;display:flex}#social{text-align:left;width:min(760px,100%)}#social h2{color:#10161f;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:1.6rem}#social p{color:#485466}.contact-list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.contact-list a{color:#172030;background:#fff;border:1px solid #dbe4ed;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;text-decoration:none;display:inline-flex}.contact-list .button-icon{color:#0b9fd4;flex-shrink:0;width:18px;height:18px}.gallery-section{background:#eaf1f7;border-top:1px solid #d2deea;padding:46px 0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.gallery-item{background:#fff;border:1px solid #d9e4ef;border-radius:10px;margin:0;overflow:hidden;box-shadow:0 10px 22px #091b3014}.gallery-card-media{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.gallery-item img,.gallery-item video{aspect-ratio:16/10;object-fit:cover;object-position:center;width:100%;min-height:240px;display:block}.zoomable-image{cursor:zoom-in}.gallery-item h3{color:#0f2136;font-family:var(--font-title);letter-spacing:.01em;text-transform:none;text-align:center;margin:0;padding:14px 14px 12px;font-size:1.24rem;font-weight:700;line-height:1.2}.gallery-item p{color:#152437;font-family:var(--font-base);text-transform:none;letter-spacing:0;text-align:center;margin:0;padding:12px 14px 14px;font-size:1rem;font-weight:500;line-height:1.4}.gallery-section-actions{justify-content:center;margin-top:22px;display:flex}.gallery-cta-btn{color:#fff;font-family:var(--font-base);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#0f4f7a,#1d7db2);border:0;border-radius:999px;padding:12px 24px;font-size:.96rem;font-weight:700;box-shadow:0 12px 24px #0f4f7a38}.where-we-sail-section{background:linear-gradient(#f4f8fc 0%,#fff 100%);padding:44px 0}.where-we-sail-grid{grid-template-columns:minmax(0,1fr) minmax(320px,540px);align-items:center;gap:28px;display:grid}.where-we-sail-copy,.where-we-sail-visual{background:#fff;border:1px solid #d7e3ef;border-radius:14px;padding:22px;box-shadow:0 12px 28px #091b3014}.where-we-sail-copy h2,.where-we-sail-visual h3{margin:0 0 14px}.where-we-sail-copy p{margin:0;line-height:1.7}.where-we-sail-visual img{border:1px solid #dbe6f0;border-radius:10px;width:100%;display:block}.single-feature-section{background:#f5f9fc;padding:44px 0}.single-feature-card{text-align:center;width:min(860px,100%);margin-inline:auto}.single-feature-card h3{color:#102843;font-family:var(--font-title);margin:0 0 14px;font-size:clamp(1.4rem,2.8vw,2rem);font-weight:700}.single-feature-card img,.single-feature-card video{object-fit:cover;border:1px solid #d7e3ee;border-radius:14px;width:100%;max-height:520px;display:block;box-shadow:0 12px 28px #0b1f341f}.single-feature-media{position:relative}.feature-video-toggle{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0a1e31b8;border:0;border-radius:50%;place-items:center;width:58px;height:58px;display:inline-grid;position:absolute;bottom:18px;right:18px;box-shadow:0 10px 24px #06121e3d}.feature-video-toggle-icon{display:inline-block}.feature-video-toggle-icon.is-play{border-top:11px solid #0000;border-bottom:11px solid #0000;border-left:18px solid #fff;width:0;height:0;margin-left:4px}.feature-video-toggle-icon.is-pause{width:18px;height:22px;position:relative}.feature-video-toggle-icon.is-pause:before,.feature-video-toggle-icon.is-pause:after{content:"";background:#fff;border-radius:2px;width:5px;height:22px;position:absolute;top:0}.feature-video-toggle-icon.is-pause:before{left:2px}.feature-video-toggle-icon.is-pause:after{right:2px}.single-feature-card p{color:#2a3f58;font-family:var(--font-base);margin:14px 0 0;font-size:clamp(.98rem,1.8vw,1.18rem);line-height:1.5}.reservation-page{background-image:var(--reservation-image,url(/main-hero.png));background-position:50%;background-size:cover;min-height:calc(100vh - 156px);margin-top:156px;padding:62px 0;position:relative}.reservation-overlay{background:linear-gradient(160deg,#081a2cd1 0%,#103050a8 52%,#031121cc 100%);position:absolute;inset:0}.reservation-content{z-index:1;background:#fffffff0;border:1px solid #b0c8e0f2;border-radius:14px;width:min(860px,100%);padding:36px;position:relative;box-shadow:0 18px 40px #06122042}.reservation-content h1{color:#102843;font-family:var(--font-title);margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.45rem)}.reservation-content>p{color:#344b65;margin:0 0 26px;font-size:1.02rem;line-height:1.5}.reservation-notice-anchor{scroll-margin-top:145px}.reservation-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.reservation-field{gap:8px;display:grid}.reservation-field span{color:#122a45;letter-spacing:.02em;font-size:.92rem;font-weight:700}.reservation-field input{color:#17283c;border:1px solid #c9d7e5;border-radius:8px;outline:none;padding:12px;font-size:.98rem}.reservation-field select,.reservation-field textarea{color:#17283c;background:#fff;border:1px solid #c9d7e5;border-radius:8px;outline:none;padding:12px;font-family:inherit;font-size:.98rem}.reservation-field textarea{resize:vertical;min-height:110px}.reservation-field input:focus,.reservation-field select:focus,.reservation-field textarea:focus{border-color:#3c8fe0;box-shadow:0 0 0 3px #3c8fe038}.reservation-field-wide{grid-column:1/-1}.reservation-submit{color:#fff;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:linear-gradient(90deg,#0f3f67 0%,#1a75a9 100%);border:0;border-radius:9px;grid-column:1/-1;padding:13px 16px;font-size:1rem;font-weight:800}.reservation-submit:disabled{opacity:.78;cursor:not-allowed}.reservation-feedback{border-radius:10px;grid-column:1/-1;margin:0 0 14px;padding:12px 14px;font-size:.9rem;font-weight:700}.reservation-feedback.is-success{color:#1f6f2e}.reservation-feedback.is-error{color:#b12f2f;background:#fff1f1;border:1px solid #f2b9b9}.reservation-calendar-block{background:#f9fcff;border:1px solid #d6e2ee;border-radius:10px;grid-column:1/-1;padding:14px}.calendar-header-row h2{color:#123250;margin:0;font-size:1.05rem}.calendar-header-row p{color:#4a5f75;margin:4px 0 12px;font-size:.92rem}.calendar-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.calendar-nav strong{color:#12314f;text-transform:capitalize;font-size:.96rem}.calendar-nav button{color:#173753;cursor:pointer;background:#fff;border:1px solid #cad7e4;border-radius:6px;padding:7px 10px;font-size:.82rem;font-weight:700}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;display:grid}.calendar-weekdays span{color:#5e7185;text-align:center;text-transform:uppercase;font-size:.76rem;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-empty{height:36px}.calendar-day{color:#173652;cursor:pointer;background:#fff;border:1px solid #d4e0ec;border-radius:7px;min-height:36px;font-size:.86rem;font-weight:700}.calendar-day.is-selected{color:#fff;background:#2e7fcf;border-color:#2e7fcf}.calendar-day.is-reserved{color:#8f2b2b;background:#f5e2e2;border-color:#e3b9b9}.calendar-day.is-reserved.is-selected{color:#4d2a00;background:#f6b35c;border-color:#e79939}.calendar-day.is-past{color:#8a98a8;background:#eef2f6;border-color:#d2dce7}.calendar-day:disabled{cursor:not-allowed;opacity:.95}.calendar-selection{color:#38516a;margin:10px 0 0;font-size:.86rem;line-height:1.35}.calendar-error{color:#b12f2f;margin:8px 0 0;font-size:.84rem;font-weight:700}.yacht-details-page{background:linear-gradient(#f5f9fd 0%,#e9f2fb 100%);min-height:calc(100vh - 156px);margin-top:156px;padding:46px 0 60px}.yacht-details-content{background:#fffffff2;border:1px solid #d4e3f0;border-radius:14px;padding:34px;box-shadow:0 18px 36px #07182a1f}.yacht-details-content h1{color:#0f2c48;font-family:var(--font-title);margin:0;font-size:clamp(1.7rem,4vw,2.4rem)}.yacht-details-subtitle{color:#25506f;margin:8px 0 0;font-size:1.02rem;font-weight:700}.yacht-details-description{color:#2d435a;margin:14px 0 0;font-size:1rem;line-height:1.6}.yacht-details-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.yacht-details-gallery img{object-fit:cover;border:1px solid #d4e3f0;border-radius:10px;width:100%;height:300px;box-shadow:0 10px 20px #07182a1a}.yacht-details-specs,.yacht-details-copy{background:#f9fcff;border:1px solid #d7e5f2;border-radius:10px;margin-top:24px;padding:18px}.yacht-details-specs h2,.yacht-details-copy h2{color:#10334f;text-transform:uppercase;letter-spacing:.03em;margin:0 0 10px;font-size:1.12rem}.yacht-details-specs ul{gap:8px;margin:0;padding-left:18px;display:grid}.yacht-details-specs li,.yacht-details-copy p{color:#21394f;line-height:1.55}.yacht-details-copy p{margin:0}.yacht-details-equipment{background:#f9fcff;border:1px solid #d7e5f2;border-radius:10px;margin-top:24px;padding:18px}.yacht-details-equipment h2{color:#10334f;text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-size:1.12rem}.yacht-details-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.yacht-equipment-card{background:#fff;border:1px solid #d7e5f2;border-radius:8px;padding:12px}.yacht-equipment-card h3{color:#1c3d5b;margin:0 0 8px;font-size:.98rem}.yacht-equipment-card ul{gap:6px;margin:0;padding-left:18px;display:grid}.yacht-equipment-card li{color:#21394f;line-height:1.45}.admin-login-page{background-image:var(--admin-image,url(/main-hero.png));background-position:50%;background-size:cover;min-height:calc(100vh - 156px);margin-top:156px;padding:54px 0;position:relative}.admin-login-overlay{background:linear-gradient(160deg,#0a1c2edb 0%,#132e4ac2 100%);position:absolute;inset:0}.admin-login-card{z-index:1;background:#fffffff2;border:1px solid #b4cde3e6;border-radius:14px;width:min(520px,100%);padding:30px;position:relative;box-shadow:0 18px 40px #06101c47}.admin-login-card h1{color:#102a45;font-family:var(--font-title);margin:0 0 8px;font-size:clamp(1.55rem,3.8vw,2.2rem)}.admin-login-card>p{color:#3d536d;margin:0 0 18px}.admin-login-form{gap:14px;display:grid}.admin-field{gap:8px;display:grid}.admin-field span{color:#1a3049;font-size:.9rem;font-weight:700}.admin-field input{color:#182e45;border:1px solid #c8d7e6;border-radius:8px;outline:none;padding:12px;font-size:.95rem}.admin-field input:focus{border-color:#3f8edf;box-shadow:0 0 0 3px #3f8edf33}.admin-error{color:#b12f2f;background:#fff1f1;border:1px solid #f0b8b8;border-radius:9px;margin:0;padding:11px 12px;font-size:.88rem;font-weight:700;line-height:1.4}.admin-login-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(90deg,#0f3f66 0%,#1d7bad 100%);border:0;border-radius:8px;padding:12px;font-size:.95rem;font-weight:800}.admin-login-btn:disabled{cursor:wait;opacity:.78}.cms-page{background:#edf4fa;min-height:calc(100vh - 156px);margin-top:156px;padding:34px 0 46px}.cms-content{background:#fff;border:1px solid #d8e5f1;border-radius:14px;width:min(980px,100%);padding:30px;box-shadow:0 15px 30px #091a2f1f}.cms-content h1{color:#0f2a43;font-family:var(--font-title);margin:0 0 6px;font-size:clamp(1.65rem,3.8vw,2.3rem)}.cms-content>p{color:#3b516a;margin:0 0 12px}.cms-language-line{margin-bottom:20px;font-size:.95rem}.cms-form{gap:18px;display:grid}.cms-block{border:1px solid #d8e5f1;border-radius:10px;gap:12px;padding:16px;display:grid}.cms-block h2{color:#11304e;text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;font-size:1.08rem}.cms-field{gap:7px;display:grid}.cms-field span{color:#1a3450;font-size:.88rem;font-weight:700}.cms-field input,.cms-field select,.cms-field textarea{color:#1b314a;font-size:.95rem;font-family:var(--font-base);border:1px solid #c9d8e7;border-radius:8px;outline:none;padding:10px 12px}.cms-field input:focus,.cms-field select:focus,.cms-field textarea:focus{border-color:#3f8edf;box-shadow:0 0 0 3px #3f8edf2e}.cms-card-editor{border:1px dashed #c8d8e8;border-radius:8px;gap:10px;padding:12px;display:grid}.cms-dynamic-create{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cms-dynamic-list{gap:12px;display:grid}.cms-dynamic-item{background:#fff;border:1px solid #d6e3f0;border-radius:10px;gap:10px;padding:12px;display:grid}.cms-dynamic-item-head{gap:10px;display:grid}.cms-dynamic-item-head>button{color:#8f2b2b;cursor:pointer;background:#fff2f2;border:1px solid #d5a9a9;border-radius:6px;justify-self:start;padding:7px 10px;font-size:.82rem;font-weight:700}.cms-dynamic-select{color:#1b314a;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.cms-dynamic-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.cms-dynamic-photo{background:#f9fcff;border:1px solid #d6e3f0;border-radius:8px;gap:8px;padding:8px;display:grid}.cms-dynamic-photo img,.cms-dynamic-photo video{aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:6px;width:100%;height:140px}.cms-dynamic-photo button{color:#8f2b2b;cursor:pointer;background:#fff2f2;border:1px solid #d5a9a9;border-radius:6px;padding:6px 8px;font-size:.8rem;font-weight:700}.cms-dynamic-photo-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.cms-dynamic-photo-actions button{color:#fff;cursor:pointer;background:#0f4f7a;border:0;border-radius:6px;padding:6px 8px;font-size:.78rem;font-weight:700}.cms-dynamic-order select{min-width:180px}.gallery-manager-overlay{z-index:1300;background:#05101cb3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gallery-manager-modal{background:#fff;border:1px solid #d4e2ef;border-radius:12px;grid-template-rows:auto 1fr;width:min(920px,100%);max-height:82vh;display:grid;overflow:hidden;box-shadow:0 20px 48px #091a2f47}.gallery-manager-head{border-bottom:1px solid #d8e5f1;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.gallery-manager-close{color:#1c3550;cursor:pointer;background:#fff;border:1px solid #c7d7e8;border-radius:8px;padding:8px 12px;font-size:.85rem;font-weight:700}.gallery-manager-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid;overflow-y:auto}.gallery-manager-item{background:#f9fcff;border:1px solid #d6e3f0;border-radius:10px;gap:8px;padding:10px;display:grid}.gallery-manager-item img,.gallery-manager-item video{object-fit:cover;border-radius:8px;width:100%;height:145px}.gallery-manager-actions{gap:8px;display:flex}.gallery-manager-actions button{cursor:pointer;border:0;border-radius:6px;flex:1;padding:8px 10px;font-size:.78rem;font-weight:700}.gallery-manager-actions button:first-child{color:#fff;background:#0f4f7a}.gallery-manager-actions button:last-child{color:#8f2b2b;background:#fff2f2;border:1px solid #d5a9a9}.cms-image-uploader{border:1px dashed #c7d8e8;border-radius:8px;gap:7px;padding:12px;display:grid}.cms-image-uploader>span{color:#1a3450;font-size:.88rem;font-weight:700}.cms-image-uploader>p{color:#5a7087;margin:0;font-size:.82rem}.image-size-note{font-weight:700;color:#214666!important}.cms-image-uploader input[type=file]{color:#1b314a;background:#fff;border:1px solid #c9d8e7;border-radius:8px;padding:8px;font-size:.88rem}.cms-image-uploader input[type=text]{color:#5d7288;background:#f8fbfe;border:1px solid #c9d8e7;border-radius:8px;padding:9px 10px;font-size:.9rem}.upload-message{font-size:.82rem;font-weight:700}.upload-message.is-loading{color:#3d698f}.upload-message.is-success{color:#1f6f2e}.upload-message.is-error{color:#b12f2f}.cms-carousel-empty{color:#6b7f93;margin:0;font-size:.86rem}.cms-calendar-btn{letter-spacing:.03em;text-transform:uppercase;color:#fff;cursor:pointer;background:linear-gradient(90deg,#0f3f66 0%,#1d7bad 100%);border:0;border-radius:8px;padding:11px 12px;font-size:.88rem;font-weight:800}.cms-calendar-btn:disabled{color:#59708a;cursor:not-allowed;background:#c9d8e6}.cms-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cms-save-btn,.cms-logout-btn{letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:0;border-radius:8px;padding:12px 14px;font-size:.92rem;font-weight:800}.cms-save-btn{color:#fff;background:linear-gradient(90deg,#0f3f66 0%,#1d7bad 100%);justify-content:center;align-items:center;gap:9px;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex;position:relative;overflow:hidden}.cms-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #12486c38}.cms-save-btn:disabled{cursor:wait;opacity:.88}.cms-save-btn.is-saving:after{content:"";border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite cms-spin}.cms-logout-btn{color:#18324f;background:#f1f5f9;border:1px solid #cfdeeb}.cms-save-notice{color:#1f6f2e;background:#edf9f0;border:1px solid #b7dfc0;border-radius:10px;margin:-4px 0 0;padding:12px 14px;font-size:.92rem;font-weight:800;animation:.26s both cms-notice-in}@keyframes cms-spin{to{transform:rotate(360deg)}}@keyframes cms-notice-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.reserve-popup{z-index:170;color:#fff;background:#0f253bf7;border:1px solid #71aee873;border-radius:12px;width:min(320px,100vw - 24px);padding:14px 14px 12px;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 30px #07132159}.reserve-popup h3{font-family:var(--font-title);margin:0 0 5px;font-size:1.04rem;line-height:1.2}.reserve-popup p{color:#ffffffe6;margin:0 0 11px;font-size:.9rem;line-height:1.4}.reserve-popup-close{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:50%;width:24px;height:24px;font-size:1rem;font-weight:700;line-height:1;position:absolute;top:8px;right:8px}.reserve-popup-action{color:#fff;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:linear-gradient(90deg,#1793c8 0%,#31b3e6 100%);border:0;border-radius:8px;width:100%;padding:10px 12px;font-size:.9rem;font-weight:800}.reservation-modal-overlay{z-index:210;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050e18b8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.reservation-modal{color:#18324f;text-align:center;background:#fff;border:1px solid #b8d5eceb;border-radius:18px;width:min(430px,100%);padding:32px 28px 26px;animation:.24s both reservation-modal-in;position:relative;box-shadow:0 24px 60px #030c1861}.reservation-modal-close{color:#1d3854;cursor:pointer;background:#eef5fb;border:0;border-radius:50%;width:34px;height:34px;font-size:1.35rem;line-height:1;position:absolute;top:10px;right:10px}.reservation-modal-mark{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#0f6c9d 0%,#26b38a 100%);border-radius:50%;place-items:center;width:54px;height:54px;margin-bottom:14px;font-size:.92rem;font-weight:900;display:inline-grid}.reservation-modal h2{color:#102843;margin:0 0 8px}.reservation-modal p{color:#425a73;margin:0 0 20px;line-height:1.55}.reservation-modal-action{color:#fff;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:linear-gradient(90deg,#0f3f67 0%,#1a75a9 100%);border:0;border-radius:9px;padding:12px 18px;font-size:.92rem;font-weight:800}@keyframes reservation-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.lightbox-overlay{z-index:200;background:#040b13d6;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.lightbox-content{max-width:min(1200px,96vw);max-height:92vh;position:relative}.lightbox-content img,.lightbox-media{border-radius:10px;width:auto;max-width:100%;max-height:92vh;display:block;box-shadow:0 18px 40px #00000073}.lightbox-close{color:#1a304a;cursor:pointer;background:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:1.3rem;font-weight:700;line-height:1;position:absolute;top:-12px;right:-10px;box-shadow:0 6px 16px #00000040}.lightbox-nav{z-index:3;color:#183149;cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;width:34px;height:34px;font-size:1.4rem;font-weight:800;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-caption{color:#fff;text-align:center;margin:10px 0 0;font-size:.9rem}.gallery-hub-page{background:#eef5fb;min-height:calc(100vh - 156px);margin-top:156px;padding:42px 0 56px}.gallery-hub-content{background:#fff;border:1px solid #d5e3f0;border-radius:14px;padding:28px;box-shadow:0 12px 30px #091a2f1f}.gallery-hub-content>p{color:#41576d;margin-top:8px}.gallery-hub-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.gallery-hub-card{background:#f9fcff;border:1px solid #d8e4ef;border-radius:10px;padding:14px}.gallery-hub-preview{cursor:pointer;background:0 0;border:0;width:100%;margin-top:10px;padding:0;display:block}.gallery-hub-preview img,.gallery-hub-preview video{aspect-ratio:4/3;object-fit:cover;object-position:center;border:1px solid #d7e3ef;border-radius:8px;width:100%;height:240px}.site-footer{color:#fff;background:#0f1724;padding:28px 0}.footer-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-inner p{letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700}.footer-social{align-items:center;gap:10px;display:inline-flex}.footer-social a{color:#fff;background:#ffffff14;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.footer-social a:hover{background:#fff3;transform:translateY(-2px)}.footer-social svg{width:20px;height:20px}@media (width<=1024px){.layout{width:min(1200px,100% - 32px)}.topbar-inner{flex-wrap:wrap}.topbar-contact{flex-wrap:wrap;gap:14px}.mainbar-inner{align-items:center}.mainbar{padding-block:18px}.main-nav{flex-wrap:wrap;gap:16px}.main-nav a{font-size:.95rem}.hero-section{min-height:620px;margin-top:150px}.reservation-page,.yacht-details-page,.admin-login-page,.cms-page{min-height:calc(100vh - 150px);margin-top:150px}.hero-content{padding-bottom:140px}.hero-title{font-size:clamp(1.8rem,6vw,3.4rem)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.single-feature-section{padding:36px 0}.where-we-sail-grid{grid-template-columns:1fr}.gallery-hub-list,.gallery-manager-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px) and (width>=721px){.mainbar-inner{justify-content:space-between;gap:16px}.menu-group{align-items:center;gap:12px;margin-left:auto;display:flex;position:relative}.mobile-menu-toggle{color:#fff;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#071522c7;border:1px solid #ffffff73;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;font-weight:800;display:inline-flex}.mobile-menu-toggle-icon{flex-direction:column;justify-content:center;align-items:center;gap:3px;display:inline-flex}.mobile-menu-toggle-bar{background:#fff;border-radius:999px;width:16px;height:2px;display:block}.mobile-menu-toggle-label{margin-left:4px}.menu-panel{z-index:30;background:#07121ef0;border:1px solid #ffffff40;border-radius:10px;grid-template-columns:1fr;gap:12px;width:min(420px,100vw - 32px);padding:12px;display:none;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 16px 34px #030b1447}.menu-panel.is-open{display:grid}.main-nav{flex-direction:column;justify-content:stretch;align-items:stretch;gap:8px}.main-nav a,.menu-main-btn,.admin-logout-btn{text-align:center;color:#f5fbff;background:#0a2034e6;border:1px solid #9dcff76b;border-radius:8px;width:100%;padding:9px 10px;display:block}.menu-actions{flex-direction:column;justify-content:stretch;align-items:stretch}.menu-pill{width:100%;padding:8px 12px;font-size:.92rem}.language-select-wrap{justify-content:space-between;width:100%}.language-select{font-size:.9rem}}@media (width<=720px){.topbar{display:none}.mainbar-inner{flex-direction:column;justify-content:center;align-items:center;gap:12px}.brand{font-size:1.55rem}.menu-group{gap:10px;width:100%;display:grid}.mobile-menu-toggle{color:#fff;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#071522c7;border:1px solid #ffffff73;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:.9rem;font-weight:800;display:inline-flex}.mobile-menu-toggle-icon{flex-direction:column;justify-content:center;align-items:center;gap:3px;display:inline-flex}.mobile-menu-toggle-bar{background:#fff;border-radius:999px;width:16px;height:2px;display:block}.mobile-menu-toggle-label{margin-left:4px}.menu-panel{background:#07121ecc;border:1px solid #ffffff40;border-radius:10px;grid-template-columns:1fr;gap:12px;width:100%;padding:12px;display:none}.menu-panel.is-open{display:grid}.main-nav{flex-direction:column;justify-content:stretch;align-items:stretch;gap:8px}.main-nav a,.menu-main-btn,.admin-logout-btn{text-align:center;color:#f5fbff;background:#0a2034e6;border:1px solid #9dcff76b;border-radius:8px;width:100%;padding:9px 10px;display:block}.menu-actions{flex-direction:column;justify-content:stretch;align-items:stretch}.menu-pill{width:100%;padding:8px 12px;font-size:.92rem}.language-select-wrap{justify-content:space-between;width:100%}.language-select{font-size:.9rem}.hero-section{min-height:560px;margin-top:110px}.reservation-page,.yacht-details-page,.admin-login-page{min-height:calc(100vh - 110px);margin-top:110px;padding:24px 0}.admin-login-card{padding:20px 16px}.cms-page{min-height:calc(100vh - 110px);margin-top:110px;padding:20px 0 32px}.cms-content{padding:18px 14px}.cms-actions{flex-direction:column}.cms-dynamic-create{grid-template-columns:1fr}.reservation-content,.yacht-details-content{padding:22px 16px}.reservation-form,.yacht-details-gallery{grid-template-columns:1fr}.yacht-details-gallery img{height:220px}.yacht-details-equipment-grid{grid-template-columns:1fr}.cms-dynamic-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-hub-page{min-height:calc(100vh - 110px);margin-top:110px;padding:24px 0}.gallery-hub-content{padding:20px 14px}.gallery-hub-list{grid-template-columns:1fr}.gallery-manager-modal{max-height:86vh}.gallery-manager-list{grid-template-columns:1fr}.calendar-day{min-height:34px}.hero-content{padding-bottom:92px}.hero-title{font-size:clamp(1.5rem,8vw,2.4rem);line-height:1.05}.hero-subtitle{margin-top:12px;font-size:1.08rem}.hero-accent{height:44px}.gallery-section{padding:34px 0}.gallery-grid{grid-template-columns:1fr}.where-we-sail-section{padding:32px 0}.where-we-sail-copy,.where-we-sail-visual{padding:18px}.single-feature-card img,.single-feature-card video{max-height:360px}.single-feature-card p{font-size:.98rem}.footer-inner{text-align:center;flex-direction:column;justify-content:center}.reserve-popup{width:min(320px,100vw - 16px);padding:12px 12px 10px;bottom:10px;right:10px}}
