
:root{--ink:#11253a;--deep:#0b1d2f;--blue:#174c72;--sand:#f1e8d8;--paper:#fbfaf7;--gold:#c99755;--line:rgba(17,37,58,.14);--shadow:0 18px 50px rgba(5,23,38,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans",sans-serif;line-height:1.55}.container{width:min(1180px,calc(100% - 40px));margin:auto}.header{height:74px;display:flex;align-items:center;gap:25px;padding:0 max(20px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:30;background:rgba(251,250,247,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:205px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--deep);color:#fff;font-size:19px}.brand small{display:block;color:#657481;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.nav{display:flex;gap:18px;align-items:center;flex:1}.nav a{font-size:13px;text-decoration:none;color:var(--ink);white-space:nowrap}.nav a:hover{color:var(--blue)}.header-actions{display:flex;gap:10px;align-items:center}select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 8px}.btn{border:0;border-radius:12px;background:var(--blue);color:#fff;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;padding:13px 18px;font-weight:700;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(23,76,114,.22)}.btn-small{padding:10px 13px;font-size:12px}.btn-ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55)}.btn-ghost-dark{background:transparent;border:1px solid var(--blue);color:var(--blue)}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{min-height:690px;position:relative;display:grid;align-items:center;color:#fff;overflow:hidden}.hero-bg{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,35,.88),rgba(5,20,35,.42) 58%,rgba(5,20,35,.12))}.hero-content{position:relative;max-width:1180px}.eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.hero h1{font-family:Georgia,serif;font-size:clamp(47px,7vw,88px);line-height:.95;max-width:760px;margin:0 0 20px}.hero p{max-width:650px;font-size:19px}.hero small{display:block;margin-top:18px;color:#d9e0e5}.hero-buttons,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:92px 0}.section-light{background:#f4efe6}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}h2{font-family:Georgia,serif;font-size:clamp(35px,4vw,56px);line-height:1.05;margin:0 0 18px}h3{font-family:Georgia,serif;margin:0 0 7px;font-size:23px}.lead{font-size:18px;color:#425667}.max{max-width:820px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.chips span{padding:8px 11px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:13px}.photo-stack{position:relative;min-height:460px}.photo-stack img{position:absolute;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}.photo-stack img:first-child{width:72%;height:82%;right:0;top:0}.photo-stack img:last-child{width:62%;height:60%;left:0;bottom:0;border:8px solid #f4efe6}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.scenario-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 8px 24px rgba(5,23,38,.06)}.scenario-grid img{width:100%;height:190px;object-fit:cover}.scenario-grid div{padding:18px}.scenario-grid p{min-height:78px;color:#5d6c77;font-size:14px}.scenario-grid button{background:none;border:0;color:var(--blue);font-weight:800;padding:0;cursor:pointer}.guides{background:var(--deep);color:#fff}.guides-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.guides img{width:100%;height:560px;object-fit:cover;border-radius:18px}.guides .lead,.guides .note{color:#d8e0e8}.guides li{margin:12px 0}.food{background:#fff}.food-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:30px}.food-strip img{width:100%;height:185px;object-fit:cover;border-radius:12px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}.gallery button{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:10px}.gallery img{display:block;width:100%;height:220px;object-fit:cover;transition:.25s}.gallery img:hover{transform:scale(1.06)}.contacts{background:var(--sand)}.contacts-grid{display:grid;grid-template-columns:1fr .85fr;gap:45px;align-items:center}.contact-card{background:#fff;padding:28px;border-radius:18px;box-shadow:var(--shadow);display:grid;gap:18px}.contact-card div{display:grid;gap:4px;border-bottom:1px solid var(--line);padding-bottom:13px}.contact-card a{color:var(--blue);text-decoration:none}.contact-card small{color:#677783}.map-link{font-weight:800}footer{background:#071726;color:#dbe4ea;padding:27px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer a{color:#fff}.modal,.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:80;align-items:center;justify-content:center;padding:20px}.modal.show,.lightbox.show{display:flex}.modal-card{width:min(560px,100%);background:#fff;border-radius:20px;padding:28px;position:relative}.modal-close,#lightboxClose{position:absolute;right:18px;top:12px;border:0;background:none;font-size:32px;cursor:pointer}.modal form{display:grid;gap:11px;margin-top:16px}.modal input,.modal textarea{width:100%;padding:13px;border-radius:10px;border:1px solid var(--line);font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lightbox img{max-width:min(1100px,94vw);max-height:88vh;border-radius:12px}.lightbox #lightboxClose{color:#fff;font-size:44px}
@media(max-width:980px){.header{padding:0 16px}.nav{position:fixed;display:none;top:74px;left:0;right:0;background:#fff;padding:18px 22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.btn-small{display:none}.hero{min-height:620px}.scenario-grid{grid-template-columns:repeat(2,1fr)}.split,.guides-grid,.contacts-grid{grid-template-columns:1fr}.guides img{height:360px}.food-strip{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.gallery img{height:170px}}
@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.brand{min-width:0}.brand small{display:none}.header-actions{margin-left:auto}.section{padding:65px 0}.hero{min-height:610px}.hero p{font-size:17px}.photo-stack{min-height:350px}.scenario-grid{grid-template-columns:1fr}.scenario-grid p{min-height:0}.food-strip{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:145px}.footer-inner{display:grid}.guides img{height:300px}}

/* v3 visual and content refinements */
.brand-logo{width:44px;height:44px;display:block;object-fit:cover;border-radius:50%;box-shadow:0 4px 12px rgba(5,23,38,.16)}
.hero{min-height:calc(100svh - 74px);align-items:start}
.hero-content{padding-top:clamp(72px,13vh,124px);padding-bottom:44px}
.bloggers{background:#f4efe6}
.bloggers-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.bloggers img{width:100%;height:460px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.bloggers li{margin:12px 0;color:#425667}
.bloggers .note{color:#5d6c77}
.footer-subscribe{display:inline-block;margin-top:8px;font-weight:700}
@media(max-width:1180px){.nav{gap:13px}.nav a{font-size:12px}.brand{min-width:190px}}
@media(max-width:980px){.hero{min-height:calc(100svh - 74px)}.hero-content{padding-top:clamp(54px,10vh,86px)}.bloggers-grid{grid-template-columns:1fr}.bloggers img{height:340px}}
@media(max-width:620px){.brand-logo{width:40px;height:40px}.hero{min-height:calc(100svh - 74px)}.hero-content{padding-top:44px;padding-bottom:34px}.hero h1{font-size:clamp(43px,14vw,64px)}.bloggers img{height:270px}}

.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}.form-status{min-height:22px;font-size:14px;color:#425667}.form-status.success{color:#1f6b3a}.form-status.error{color:#a12b2b}.modal button[disabled]{opacity:.65;cursor:wait;transform:none!important}

/* v6 compact booking calculator */
.booking-card{width:min(430px,calc(100vw - 24px));max-height:min(86svh,760px);overflow:auto;padding:18px;border-radius:16px;overscroll-behavior:contain;box-shadow:0 20px 70px rgba(0,0,0,.28)}
.booking-head{padding-right:28px}.booking-head h2{font-size:30px;margin:0 0 4px}.booking-head p{font-size:13px;line-height:1.35;color:#5d6c77;margin:0 0 10px}
.booking-card .modal-close{right:11px;top:5px;font-size:28px;line-height:1}
.booking-card form{gap:8px;margin-top:0}.booking-card label{display:grid;gap:3px;font-size:11px;color:#5d6c77;font-weight:700}.booking-card input,.booking-card select,.booking-card textarea{padding:8px 9px;border-radius:8px;font-size:13px;line-height:1.2;min-height:35px}.booking-card textarea{resize:vertical;min-height:54px}
.booking-grid{display:grid;gap:7px}.booking-grid-2{grid-template-columns:1fr 1fr}
.booking-details{border:1px solid var(--line);border-radius:10px;background:#fbfaf7}.booking-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;cursor:pointer;font-size:13px;font-weight:800;color:var(--blue)}.booking-details summary::-webkit-details-marker{display:none}.booking-details summary:after{content:'+';font-size:19px;line-height:1;margin-left:auto}.booking-details[open] summary:after{content:'−'}.details-hint{font-size:11px;font-weight:400;color:#687986}.booking-details-body{display:grid;gap:8px;padding:0 10px 10px}
.check-line{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:7px!important;font-weight:500!important;font-size:12px!important;color:#31485b!important}.check-line input{width:15px!important;height:15px!important;min-height:0!important;margin:1px 0 0;padding:0!important;flex:none}.cabin-check{padding-top:2px}.price-note{font-size:11px;color:#687986;line-height:1.35}.extras{border:1px solid var(--line);border-radius:8px;padding:7px 8px 5px;display:grid;gap:5px}.extras legend{padding:0 4px;font-size:11px;font-weight:800;color:#425667}.extras small{font-size:10px;color:#687986;line-height:1.3}
.booking-total{display:grid;grid-template-columns:1fr auto;gap:1px 8px;align-items:end;padding:8px 10px;border-radius:10px;background:#eef4f7}.booking-total span{font-size:11px;color:#425667}.booking-total strong{font-size:19px;color:var(--blue);line-height:1}.booking-total small{grid-column:1/-1;font-size:10px;color:#687986}.booking-submit{width:100%;padding:10px 14px;font-size:13px}.booking-card .form-status{min-height:16px;font-size:12px;line-height:1.25}
@media(max-width:620px){.modal{padding:10px}.booking-card{width:min(420px,calc(100vw - 16px));max-height:calc(100svh - 20px);padding:15px}.booking-head h2{font-size:27px}.booking-card input,.booking-card select,.booking-card textarea{font-size:16px}.booking-grid{gap:6px}}

/* v7: main-form private-cabin booking option */
.own-check{padding:7px 9px!important;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}
.own-booking-options{display:grid;gap:5px;padding:8px 9px;border-radius:9px;background:#f4efe6;border:1px solid #e5dbc9}
.own-booking-options[hidden]{display:none!important}
.booking-card select:disabled{background:#f0f3f5;color:#526675;opacity:1}
