
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;520;650;760;850&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..900,65,1&display=swap');

:root{
  --ink:#07171d;
  --ink-2:#0d2630;
  --deep:#06161f;
  --deep-2:#092936;
  --fjord:#0f3b49;
  --blue:#126b79;
  --aqua:#52e3d3;
  --ice:#dff8f4;
  --foam:#f3fbf7;
  --mist:#e8f2ee;
  --sand:#d9c7a4;
  --granite:#8c938d;
  --lichen:#a9bf6b;
  --sun:#f0b85b;
  --red:#ed1c24;
  --rose:#ff6a64;
  --white:#fffdf7;
  --shadow:0 32px 80px rgba(0,0,0,.26);
  --shadow-soft:0 18px 45px rgba(2,20,28,.16);
  --radius:28px;
  --radius-lg:44px;
  --max:1280px;
  --gutter:clamp(18px,4vw,64px);
  --hero:url('/images/xs-aavameri-presentation/images_cube-5.webp');
  --hero-pos:center center;
  --serif:'Fraunces', ui-serif, Georgia, serif;
  --sans:'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--deep);color:var(--ink)}
body{margin:0;font-family:var(--sans);background:linear-gradient(180deg,#f7fbf8 0%,#edf5f1 55%,#dfe9e4 100%);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(circle at 14% 16%,rgba(82,227,211,.18),transparent 28%),
  radial-gradient(circle at 85% 3%,rgba(240,184,91,.16),transparent 25%),
  linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.08));}
body::after{content:"";position:fixed;inset:0;z-index:-1;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 30c25 14 48 14 74 0s52-14 106 0'/%3E%3Cpath d='M0 74c25 14 48 14 74 0s52-14 106 0'/%3E%3Cpath d='M0 118c25 14 48 14 74 0s52-14 106 0'/%3E%3Cpath d='M0 162c25 14 48 14 74 0s52-14 106 0'/%3E%3C/g%3E%3C/svg%3E")}

a{color:inherit;text-decoration:none}.link{color:var(--blue);font-weight:760;border-bottom:1px solid rgba(18,107,121,.35)}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
:focus-visible{outline:3px solid rgba(82,227,211,.75);outline-offset:4px;border-radius:14px}
::selection{background:var(--aqua);color:var(--deep)}

.skip-link{position:fixed;z-index:999;top:12px;left:12px;transform:translateY(-160%);padding:12px 16px;background:var(--white);color:var(--deep);border-radius:999px;box-shadow:var(--shadow)}
.skip-link:focus{transform:translateY(0)}

.aw-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 28%,#184755 0%,#07171d 52%,#03090d 100%);transition:opacity .8s var(--ease),visibility .8s var(--ease)}
.aw-loader.is-done{opacity:0;visibility:hidden}.loader-mark{width:120px;height:120px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;position:relative;overflow:hidden}.loader-mark::before{content:"";position:absolute;width:180%;height:180%;background:conic-gradient(from 180deg,transparent,rgba(82,227,211,.8),transparent 42%);animation:spin 1.9s linear infinite}.loader-mark::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#06161f}.loader-mark img{width:84px;z-index:2;filter:drop-shadow(0 8px 22px rgba(0,0,0,.45))}@keyframes spin{to{transform:rotate(1turn)}}

/* NAVIGATION */
.aw-nav{position:fixed;z-index:1000;left:50%;top:18px;transform:translateX(-50%);width:min(calc(100% - 28px),1320px);display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:10px 12px 10px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(6,22,31,.54);backdrop-filter:blur(22px) saturate(135%);box-shadow:0 18px 60px rgba(0,0,0,.22);transition:transform .65s var(--ease),background .45s var(--ease),border-color .45s var(--ease),top .45s var(--ease)}
.aw-nav.is-hidden{transform:translate(-50%,-135%)}.aw-nav.is-scrolled{background:rgba(6,22,31,.78);border-color:rgba(255,255,255,.16);top:10px}.brand{display:flex;align-items:center;gap:10px;color:var(--white);min-width:0}.brand img{width:54px;height:54px;object-fit:contain}.brand-text{display:grid;line-height:1}.brand-title{font-weight:850;letter-spacing:.05em;text-transform:uppercase;font-size:.82rem}.brand-sub{font-size:.68rem;color:rgba(255,255,255,.65);white-space:nowrap}.nav-links{display:flex;justify-content:center;gap:5px}.nav-link{color:rgba(255,255,255,.78);padding:12px 14px;border-radius:999px;font-weight:650;font-size:.88rem;transition:.35s var(--ease)}.nav-link:hover,.nav-link[aria-current="page"]{background:rgba(255,255,255,.12);color:#fff;transform:translateY(-1px)}.nav-actions{display:flex;align-items:center;gap:8px}.lang-pill{display:flex;gap:3px;padding:5px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.lang-pill a{padding:8px 10px;border-radius:999px;color:rgba(255,255,255,.72);font-weight:760;font-size:.78rem}.lang-pill a.is-active{background:rgba(255,255,255,.92);color:var(--deep)}.menu-trigger{position:relative;display:flex;align-items:center;gap:10px;padding:10px 14px;border:0;border-radius:999px;background:var(--white);color:var(--deep);font-weight:850;cursor:pointer;overflow:hidden}.menu-trigger span{position:relative;z-index:2}.compass{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 35%,#fff,#dbe6df);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.compass::before{content:"";width:16px;height:16px;background:linear-gradient(135deg,var(--red) 0 49%,var(--deep) 51% 100%);clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);transition:transform .65s var(--ease)}.menu-trigger:hover .compass::before{transform:rotate(90deg)}

.voyage-menu{position:fixed;inset:0;z-index:1001;display:none}.voyage-menu.is-open{display:block}.menu-scrim{position:absolute;inset:0;background:rgba(2,9,14,.5);backdrop-filter:blur(10px);opacity:0;transition:.45s var(--ease)}.voyage-menu.is-open .menu-scrim{opacity:1}.menu-panel{position:absolute;inset:16px;border-radius:42px;background:radial-gradient(circle at 8% 10%,rgba(82,227,211,.28),transparent 28%),linear-gradient(135deg,rgba(7,23,29,.98),rgba(6,45,58,.96));color:#fff;overflow:hidden;box-shadow:var(--shadow);transform:translateY(-16px) scale(.985);opacity:0;transition:.65s var(--ease)}.voyage-menu.is-open .menu-panel{transform:none;opacity:1}.menu-panel::before{content:"";position:absolute;inset:-15%;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 600 600' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='1'%3E%3Cpath d='M40 140 C140 80 240 190 340 130 S500 120 580 70'/%3E%3Cpath d='M20 260 C130 190 230 300 340 230 S500 230 590 170'/%3E%3Cpath d='M0 380 C130 310 230 420 340 350 S500 350 610 280'/%3E%3Cpath d='M-40 510 C130 440 230 550 340 480 S500 480 640 400'/%3E%3C/g%3E%3C/svg%3E");background-size:620px 620px;animation:drift 22s linear infinite}@keyframes drift{to{transform:translate3d(-120px,80px,0)}}.menu-close{position:absolute;right:24px;top:22px;z-index:3;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;padding:12px 16px;cursor:pointer}.menu-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1.15fr;gap:clamp(24px,5vw,80px);height:100%;padding:clamp(72px,8vw,118px) clamp(24px,7vw,110px)}.menu-stage{display:flex;flex-direction:column;justify-content:space-between;gap:24px}.menu-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--aqua);font-weight:850;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}.menu-stage h2{font-family:var(--serif);font-size:clamp(3rem,8vw,8rem);line-height:.86;letter-spacing:-.07em;margin:0;text-wrap:balance}.menu-stage p{max-width:56ch;color:rgba(255,255,255,.74);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.7}.menu-watermark{font-family:var(--serif);font-size:clamp(4rem,15vw,18rem);line-height:.8;letter-spacing:-.08em;opacity:.08;position:absolute;left:3vw;bottom:-.04em}.menu-sections{align-self:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-card{position:relative;min-height:166px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;border-radius:26px;overflow:hidden;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);transition:.55s var(--ease)}.menu-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.58)),var(--img);background-position:center;background-size:cover;opacity:.54;transition:.65s var(--ease)}.menu-card:hover{transform:translateY(-8px);border-color:rgba(82,227,211,.55)}.menu-card:hover::before{transform:scale(1.08);opacity:.72}.menu-card span,.menu-card strong{position:relative;z-index:2}.menu-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.7);font-weight:850}.menu-card strong{font-size:1.22rem;line-height:1.05;margin-top:4px}.menu-card.wide{grid-column:1/-1;min-height:136px}.menu-quick{display:flex;flex-wrap:wrap;gap:8px}.menu-quick a{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.78);font-weight:650;font-size:.82rem}.menu-quick a:hover{color:#fff;background:rgba(255,255,255,.18)}

/* SHARED */
.section{padding:clamp(70px,10vw,142px) var(--gutter)}.inner{max-width:var(--max);margin-inline:auto}.eyebrow{display:inline-flex;gap:10px;align-items:center;font-size:.75rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:var(--blue)}.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}.kicker{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.65;color:#35535b;max-width:78ch}.display{font-family:var(--serif);font-size:clamp(3.3rem,9vw,10.6rem);line-height:.82;letter-spacing:-.085em;margin:0;text-wrap:balance}.title{font-family:var(--serif);font-size:clamp(2.5rem,6.6vw,7rem);line-height:.88;letter-spacing:-.075em;margin:0;text-wrap:balance}.subtitle{font-family:var(--serif);font-size:clamp(2rem,4vw,4.3rem);line-height:.98;letter-spacing:-.055em;margin:0;text-wrap:balance}.copy{font-size:1.05rem;line-height:1.75;color:#334f57}.grid{display:grid;gap:clamp(18px,2.2vw,30px)}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.pill{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(7,23,29,.07);font-weight:750;font-size:.82rem;color:#18333b}.dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(237,28,36,.1)}

.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{--bg:var(--deep);--fg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 20px;border-radius:999px;background:var(--bg);color:var(--fg);font-weight:850;box-shadow:0 18px 40px rgba(7,23,29,.18);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.btn::after{content:"→";transition:transform .45s var(--ease)}.btn:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(7,23,29,.25)}.btn:hover::after{transform:translateX(5px)}.btn.secondary{--bg:rgba(255,255,255,.82);--fg:var(--deep);box-shadow:inset 0 0 0 1px rgba(7,23,29,.12),0 14px 34px rgba(7,23,29,.08)}.btn.ghost{--bg:rgba(255,255,255,.08);--fg:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}

/* HERO */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;padding:110px var(--gutter) 44px;color:#fff;overflow:hidden;background:#06161f}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(5,13,18,.24),rgba(5,13,18,.52) 45%,rgba(5,13,18,.92)),var(--hero);background-size:cover;background-position:var(--hero-pos);transform:scale(1.045);filter:saturate(1.06) contrast(1.03);transition:transform 1.8s var(--ease)}.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 25%,rgba(82,227,211,.28),transparent 30%),radial-gradient(circle at 92% 78%,rgba(240,184,91,.18),transparent 24%);mix-blend-mode:screen;opacity:.85}.hero .inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.36fr);gap:clamp(28px,6vw,88px);align-items:end}.hero-content{max-width:950px}.hero .eyebrow{color:#aaf6ee}.hero h1{margin:.18em 0 .22em}.hero-lead{font-size:clamp(1.18rem,2.1vw,1.72rem);line-height:1.47;color:rgba(255,255,255,.86);max-width:58rem;text-wrap:balance}.hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.hero-meta .pill{background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16)}.hero-panel{position:relative;padding:22px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(20px);box-shadow:var(--shadow);overflow:hidden}.hero-panel::before{content:"";position:absolute;inset:auto -20% -42% -20%;height:160px;background:radial-gradient(ellipse at center,rgba(82,227,211,.42),transparent 65%)}.panel-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.66);font-weight:850}.panel-price{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4rem);line-height:.92;letter-spacing:-.055em;margin:8px 0;color:#fff}.panel-copy{color:rgba(255,255,255,.72);line-height:1.62}.scroll-cue{position:absolute;z-index:3;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.62);font-weight:750;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}.scroll-cue::before{content:"";width:1px;height:38px;background:linear-gradient(transparent,#fff);animation:cue 1.9s ease-in-out infinite}@keyframes cue{50%{transform:translateY(10px);opacity:.45}}
.water-canvas{position:absolute;inset:0;z-index:1;opacity:.38;mix-blend-mode:screen;pointer-events:none}.hero-route{position:absolute;z-index:2;right:4vw;top:18vh;width:min(36vw,520px);opacity:.26;filter:drop-shadow(0 18px 40px rgba(0,0,0,.35));pointer-events:none}.hero-route path{stroke-dasharray:9 11;animation:dash 14s linear infinite}@keyframes dash{to{stroke-dashoffset:-320}}

/* HOME CHOICE CARDS */
.choice-strip{position:relative;margin-top:-48px;z-index:4;padding:0 var(--gutter)}.choice-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.choice-card{position:relative;min-height:292px;border-radius:34px;overflow:hidden;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);isolation:isolate}.choice-card::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72)),var(--img);background-size:cover;background-position:center;transition:transform .9s var(--ease),filter .9s var(--ease)}.choice-card::after{content:"";position:absolute;z-index:-1;inset:1px;border-radius:33px;border:1px solid rgba(255,255,255,.18);pointer-events:none}.choice-card:hover::before{transform:scale(1.08);filter:saturate(1.12)}.choice-card h2,.choice-card h3{font-family:var(--serif);font-size:clamp(2.1rem,3.2vw,4.2rem);line-height:.88;letter-spacing:-.06em;margin:0 0 10px}.choice-card p{margin:0;color:rgba(255,255,255,.78);line-height:1.55}.choice-card .pill{position:absolute;top:18px;left:18px;background:rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(12px)}

/* CARDS */
.card{position:relative;background:rgba(255,255,255,.72);border:1px solid rgba(7,23,29,.09);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease)}.card:hover{transform:translateY(-8px);box-shadow:0 26px 60px rgba(2,20,28,.17);border-color:rgba(18,107,121,.24)}.card-media{height:230px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25)),var(--img);background-size:cover;background-position:center;position:relative}.card-media::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.18),transparent 34%)}.card-body{padding:24px}.card h3{font-family:var(--serif);font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:.96;letter-spacing:-.05em;margin:0 0 10px}.card p{color:#38545c;line-height:1.65}.card-meta{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0}.card-arrow{position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#fff;font-weight:900;transition:.45s var(--ease)}.card:hover .card-arrow{transform:translateX(4px)}

.split-feature{display:grid;grid-template-columns:.96fr 1.04fr;gap:clamp(28px,6vw,86px);align-items:center}.image-stack{position:relative;min-height:580px}.image-stack .photo{position:absolute;border-radius:38px;background:var(--img);background-position:center;background-size:cover;box-shadow:var(--shadow);overflow:hidden}.image-stack .photo::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.24);border-radius:inherit}.image-stack .a{width:76%;height:68%;left:0;top:5%;--img:var(--img-a)}.image-stack .b{width:54%;height:48%;right:0;bottom:8%;--img:var(--img-b)}.image-stack .c{width:38%;height:34%;left:9%;bottom:0;--img:var(--img-c)}.floating-note{position:absolute;right:2%;top:0;max-width:240px;padding:18px;border-radius:24px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);font-weight:750;line-height:1.35}.rich-text p{font-size:1.08rem;line-height:1.78;color:#35535b}.rich-text ul{display:grid;gap:12px;margin:26px 0;padding:0;list-style:none}.rich-text li{position:relative;padding:14px 14px 14px 42px;border-radius:18px;background:rgba(255,255,255,.58);border:1px solid rgba(7,23,29,.06)}.rich-text li::before{content:"";position:absolute;left:16px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(237,28,36,.09)}

.journey{background:var(--deep);color:#fff;position:relative;overflow:hidden}.journey::before{content:"";position:absolute;inset:0;opacity:.18;background-image:var(--hero);background-size:cover;background-position:center;filter:grayscale(.2);transform:scale(1.08)}.journey::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06161f 0%,rgba(6,22,31,.85) 42%,rgba(6,22,31,.55))}.journey .inner{position:relative;z-index:2}.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}.time-card{padding:22px;border-radius:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px)}.time-card strong{display:block;color:var(--aqua);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px}.time-card h3{font-family:var(--serif);font-size:2rem;line-height:.95;letter-spacing:-.045em;margin:0 0 12px}.time-card p{color:rgba(255,255,255,.73);line-height:1.62}.journey .title,.journey .kicker{color:#fff}.journey .eyebrow{color:var(--aqua)}

.booking-band{position:relative;border-radius:42px;padding:clamp(30px,5vw,66px);overflow:hidden;background:linear-gradient(135deg,#08202b,#0b4a58 58%,#137a84);color:#fff;box-shadow:var(--shadow)}.booking-band::before{content:"";position:absolute;right:-8%;top:-50%;width:44%;height:200%;background:rgba(255,255,255,.07);transform:rotate(18deg)}.booking-band .grid{grid-template-columns:1.1fr .9fr;align-items:center;position:relative}.booking-band h2{font-family:var(--serif);font-size:clamp(2.6rem,5vw,6rem);line-height:.86;letter-spacing:-.07em;margin:0}.booking-band p{color:rgba(255,255,255,.76);line-height:1.7}.contact-panel{display:grid;gap:10px;padding:20px;border-radius:26px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15)}.contact-panel a{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.1);font-weight:760}.contact-panel a:hover{background:rgba(255,255,255,.18)}

/* PRODUCT PAGES */
.product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(28px,5vw,72px);align-items:start}.product-main{min-width:0}.booking-card{position:sticky;top:100px;padding:22px;border-radius:30px;background:rgba(255,255,255,.8);border:1px solid rgba(7,23,29,.1);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px)}.booking-card h2{font-family:var(--serif);font-size:2.4rem;letter-spacing:-.05em;line-height:.94;margin:0 0 12px}.booking-card .price{font-size:1.3rem;font-weight:850;color:var(--blue);margin:10px 0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}.detail{padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(7,23,29,.08);box-shadow:0 12px 30px rgba(7,23,29,.06)}.detail span{display:block;color:#71858b;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;margin-bottom:8px}.detail strong{font-size:1.08rem}.editorial-block{margin:34px 0;padding:clamp(22px,3vw,34px);border-radius:32px;background:rgba(255,255,255,.66);border:1px solid rgba(7,23,29,.08)}.editorial-block h2{font-family:var(--serif);font-size:clamp(2.1rem,4vw,4rem);line-height:.94;letter-spacing:-.06em;margin:0 0 20px}.editorial-block p{line-height:1.75;color:#334f57}.check-list{display:grid;gap:12px;padding:0;margin:18px 0;list-style:none}.check-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start}.check-list li::before{content:"✓";width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(82,227,211,.28);color:#07545d;font-weight:900}.faq{display:grid;gap:12px}.faq details{border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(7,23,29,.08);padding:18px}.faq summary{cursor:pointer;font-weight:850}.faq p{color:#38545c;line-height:1.65}.quote{position:relative;padding:28px;border-radius:30px;background:var(--deep);color:#fff;overflow:hidden}.quote::before{content:'“';font-family:var(--serif);position:absolute;right:18px;top:-36px;font-size:180px;opacity:.08}.quote p{font-family:var(--serif);font-size:clamp(1.6rem,3vw,3rem);line-height:1.05;letter-spacing:-.04em;margin:0}.quote cite{display:block;margin-top:18px;color:rgba(255,255,255,.64);font-style:normal}

/* FOOTER */
.footer{position:relative;background:#06161f;color:#fff;padding:70px var(--gutter) 28px;overflow:hidden}.footer::before{content:"";position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg width='900' height='340' viewBox='0 0 900 340' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 252 C140 140 220 270 360 160 S620 250 900 90' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath d='M0 300 C180 190 260 320 420 210 S720 295 900 148' fill='none' stroke='white' stroke-width='1'/%3E%3C/svg%3E")}.footer .inner{position:relative}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:32px}.footer img{width:110px}.footer h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.48)}.footer a{display:block;color:rgba(255,255,255,.72);margin:10px 0}.footer a:hover{color:#fff}.footer p{color:rgba(255,255,255,.66);line-height:1.7}.fineprint{display:flex;justify-content:space-between;gap:20px;margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.46);font-size:.85rem}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.stagger > *{opacity:0;transform:translateY(24px);transition:.8s var(--ease)}.stagger.is-visible > *{opacity:1;transform:none}.stagger.is-visible > *:nth-child(2){transition-delay:.08s}.stagger.is-visible > *:nth-child(3){transition-delay:.16s}.stagger.is-visible > *:nth-child(4){transition-delay:.24s}

/* RESPONSIVE */
@media (max-width:1100px){.nav-links{display:none}.hero .inner,.product-layout,.split-feature,.booking-band .grid{grid-template-columns:1fr}.hero-panel{max-width:520px}.choice-grid{grid-template-columns:1fr 1fr}.choice-card:first-child{grid-column:1/-1}.timeline,.four{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr}.menu-stage{justify-content:flex-start}.menu-panel{overflow:auto}.menu-sections{align-self:start}.booking-card{position:relative;top:auto}}
@media (max-width:720px){:root{--gutter:18px}.aw-nav{top:10px;grid-template-columns:auto auto;justify-content:space-between;width:calc(100% - 20px);padding:8px}.brand img{width:46px;height:46px}.brand-sub{display:none}.lang-pill{display:none}.menu-trigger span:last-child{display:none}.hero{min-height:92svh;padding-top:98px}.hero .inner{gap:20px}.display{font-size:clamp(3.2rem,18vw,5rem)}.hero-lead{font-size:1.08rem}.hero-panel{display:none}.hero-route{display:none}.choice-strip{margin-top:0;padding-top:18px}.choice-grid,.three,.two,.four,.timeline,.detail-grid,.footer-grid,.menu-sections{grid-template-columns:1fr}.choice-card{min-height:240px}.section{padding:72px var(--gutter)}.image-stack{min-height:410px}.image-stack .a{width:88%;height:60%}.image-stack .b{width:58%;height:44%}.image-stack .c{display:none}.menu-panel{inset:8px;border-radius:28px}.menu-grid{padding:78px 18px 22px}.menu-stage h2{font-size:4.2rem}.menu-watermark{display:none}.fineprint{flex-direction:column}.booking-band{border-radius:30px}.card-media{height:210px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.aw-loader{display:none}.reveal,.stagger>*{opacity:1;transform:none}.water-canvas,.hero-route{display:none}}


/* STAGE 2: typography, persistent archipelago atmosphere, maps, travel and contact */
html{background:#eaf5f1;}
body{
  letter-spacing:.012em;
  word-spacing:.035em;
  line-height:1.6;
  background:#edf6f2;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(247,251,248,.80),rgba(224,241,236,.82) 42%,rgba(210,230,225,.78)),
    radial-gradient(circle at 14% 18%,rgba(82,227,211,.22),transparent 32%),
    url('/images/xs-aavameri-presentation/images_cube-5.webp') center / cover no-repeat fixed;
  filter:saturate(1.02) brightness(1.08);
}
body::after{
  z-index:-2;
  opacity:.065;
  mix-blend-mode:multiply;
}
main{position:relative;z-index:1;}
.section:not(.journey){
  background:linear-gradient(180deg,rgba(247,251,248,.70),rgba(239,248,244,.60));
  backdrop-filter:blur(1.5px);
}
.display,.title,.subtitle,.menu-stage h2,.choice-card h2,.choice-card h3,.card h3,.booking-band h2,.editorial-block h2,.quote p{
  letter-spacing:-.026em !important;
  word-spacing:.045em;
  line-height:1.02 !important;
  font-kerning:normal;
}
.display{font-size:clamp(3rem,7.8vw,8.8rem);line-height:1 !important;}
.title{font-size:clamp(2.3rem,5.6vw,6.2rem);}
.subtitle{font-size:clamp(2rem,3.8vw,4rem);}
.hero-lead,.kicker,.copy,.card p,.editorial-block p,.time-card p,.choice-card p,.panel-copy,.footer p{
  letter-spacing:.006em;
  word-spacing:.035em;
  line-height:1.76;
}
.nav-link,.btn,.pill,.eyebrow,.brand-title,.menu-card span{letter-spacing:.03em;}
.brand-title{letter-spacing:.08em;}
.hero{box-shadow:inset 0 -120px 140px rgba(237,246,242,.16);}
.hero::before{filter:saturate(1.08) contrast(1.02) brightness(1.02);}
.card,.editorial-block,.booking-card,.time-card,.contact-panel,.accom-card,.travel-panel,.map-shell{
  backdrop-filter:blur(18px) saturate(125%);
}
.geo-story{position:relative;overflow:hidden;}
.geo-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(320px,1.12fr);gap:clamp(26px,4vw,64px);align-items:center;}
.map-shell{position:relative;border-radius:44px;overflow:hidden;background:rgba(255,255,255,.62);border:1px solid rgba(7,23,29,.10);box-shadow:0 30px 90px rgba(4,28,36,.20);padding:12px;}
.map-shell img{width:100%;border-radius:34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);}
.map-caption{position:absolute;left:28px;bottom:26px;right:28px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.78);color:#18333b;font-size:.92rem;font-weight:700;box-shadow:0 14px 34px rgba(7,23,29,.12);}
.map-points{display:grid;gap:12px;margin-top:24px;}
.map-point{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;padding:14px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(7,23,29,.08);box-shadow:0 10px 26px rgba(7,23,29,.07);}
.map-point i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#06161f;color:#fff;font-style:normal;font-weight:900;}
.map-point strong{display:block;margin-bottom:2px;}
.map-point span{display:block;color:#4c666d;line-height:1.48;}
.travel-hero .hero-lead{max-width:760px;}
.travel-panel{padding:clamp(22px,3vw,34px);border-radius:34px;background:rgba(255,255,255,.72);border:1px solid rgba(7,23,29,.09);box-shadow:var(--shadow-soft);}
.travel-panel h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.02;letter-spacing:-.025em;margin:0 0 12px;}
.travel-panel p,.travel-panel li{color:#35535b;line-height:1.72;}
.travel-panel ul{padding-left:1.1rem;margin:0;}
.travel-map-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(24px,4vw,56px);align-items:center;}
.accom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,28px);margin-top:36px;}
.accom-card{display:flex;flex-direction:column;min-height:100%;background:rgba(255,255,255,.76);border:1px solid rgba(7,23,29,.09);border-radius:32px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .55s var(--ease), box-shadow .55s var(--ease);}
.accom-card:hover{transform:translateY(-6px);box-shadow:0 26px 62px rgba(7,23,29,.18);}
.accom-map{height:170px;background:#dff8f4;overflow:hidden;position:relative;}
.accom-map iframe{width:100%;height:100%;border:0;filter:saturate(.9) contrast(.96);}
.accom-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1;}
.accom-body h3{font-family:var(--serif);font-size:2rem;line-height:1.02;letter-spacing:-.025em;margin:0;}
.accom-body p{margin:0;color:#38545c;line-height:1.66;}
.price-chip{display:inline-flex;align-self:flex-start;padding:8px 11px;border-radius:999px;background:rgba(18,107,121,.10);color:#0d5260;font-weight:850;font-size:.82rem;}
.accom-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;}
.accom-links a{display:inline-flex;padding:10px 12px;border-radius:999px;background:#06161f;color:#fff;font-weight:800;font-size:.84rem;}
.accom-links a.secondary{background:rgba(7,23,29,.08);color:#06161f;}
.cottage-note{margin-top:28px;padding:clamp(24px,3vw,40px);border-radius:34px;background:linear-gradient(135deg,rgba(6,22,31,.94),rgba(14,72,83,.88));color:#fff;box-shadow:var(--shadow);}
.cottage-note h3{font-family:var(--serif);font-size:clamp(2rem,4vw,4.2rem);letter-spacing:-.03em;line-height:1;margin:0 0 10px;}
.cottage-note p{color:rgba(255,255,255,.78);line-height:1.74;}
.contact-modern{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:clamp(28px,5vw,72px);align-items:start;}
.contact-actions{display:grid;gap:12px;margin-top:22px;}
.contact-action{display:flex;align-items:center;gap:14px;padding:16px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(7,23,29,.08);box-shadow:0 12px 32px rgba(7,23,29,.08);font-weight:850;}
.contact-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#06161f;color:#fff;font-weight:900;flex:0 0 auto;}
.contact-icon.whatsapp{background:#25D366;color:#062915;}
.contact-form{padding:clamp(22px,3vw,34px);border-radius:38px;background:rgba(255,255,255,.78);border:1px solid rgba(7,23,29,.10);box-shadow:0 28px 72px rgba(4,28,36,.16);}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.form-field{display:grid;gap:7px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-weight:850;font-size:.86rem;color:#18333b;}
.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid rgba(7,23,29,.12);border-radius:18px;background:rgba(255,255,255,.86);padding:14px 15px;color:#07171d;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;}
.form-field textarea{min-height:150px;resize:vertical;}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#126b79;box-shadow:0 0 0 5px rgba(82,227,211,.18);background:#fff;outline:0;}
.checkbox-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;color:#35535b;line-height:1.5;}
.checkbox-row input{margin-top:4px;}
.honeypot{position:absolute;left:-9999px;opacity:0;}
.form-note{font-size:.88rem;color:#61767b;line-height:1.5;margin-top:10px;}
.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:900;display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:999px;background:#25D366;color:#062915;font-weight:900;box-shadow:0 18px 42px rgba(0,0,0,.22);}
.whatsapp-float svg{width:22px;height:22px;}
@media (max-width:1100px){.geo-layout,.travel-map-grid,.contact-modern{grid-template-columns:1fr}.accom-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.display{font-size:clamp(3rem,10vw,6.6rem);}}
@media (max-width:720px){body{letter-spacing:.006em;word-spacing:.018em}.display{font-size:clamp(2.7rem,15vw,4.8rem);letter-spacing:-.018em!important}.title{letter-spacing:-.018em!important}.map-shell{border-radius:28px}.map-shell img{border-radius:20px}.map-caption{position:static;margin-top:10px}.accom-grid,.form-grid{grid-template-columns:1fr}.contact-form{border-radius:28px}.whatsapp-float span{display:none}.whatsapp-float{padding:14px;border-radius:50%;}}


/* === Stage 3 UX/SEO refinement: typography, stable cards, inline maps, FAQ and reviews === */
body{
  letter-spacing:.009em;
  word-spacing:.045em;
  background:#edf5f1;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(247,251,248,.88),rgba(226,240,235,.82) 48%,rgba(235,242,238,.90)),
    url('/images/headers-1280x720/aavameri-header-1280-14.jpg') center center / cover fixed;
  opacity:.82;
}
body::after{opacity:.035;}
.display,.title,.subtitle,.menu-stage h2,.choice-card h2,.choice-card h3,.card h3,.booking-band h2,.editorial-block h2,.quote p,.accom-body h3,.travel-panel h3{
  letter-spacing:-.018em !important;
  font-kerning:normal;
  text-wrap:balance;
}
.display{line-height:.88;}
.title{line-height:.94;}
.subtitle{line-height:1.02;}
.hero-lead,.kicker,.copy,.card p,.editorial-block p,.time-card p,.choice-card p,.panel-copy,.footer p,.faq p,.review-text{
  letter-spacing:.012em;
  word-spacing:.06em;
  line-height:1.76;
}
.nav-link,.btn,.pill,.eyebrow,.brand-title,.menu-card span{letter-spacing:.045em;}
.pill,.price-chip{white-space:normal;line-height:1.35;max-width:100%;}
.choice-grid{align-items:stretch;}
.choice-card{
  display:grid;
  grid-template-rows:auto 1fr auto auto;
  align-content:end;
  gap:12px;
  min-height:330px;
  padding:24px;
}
.choice-card .pill{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  justify-self:start;
  align-self:start;
  max-width:100%;
  margin:0 0 22px;
  background:rgba(255,255,255,.19);
}
.choice-card h2,.choice-card h3{margin:0;align-self:end;}
.choice-card p{margin:0;}
.card{display:flex;flex-direction:column;min-height:100%;}
.card-body{display:flex;flex-direction:column;gap:12px;flex:1;padding:26px;}
.card-body .pill{align-self:flex-start;margin-bottom:2px;}
.card h3{margin:0;}
.card p{margin:0 0 50px;}
.card-arrow{bottom:22px;}
.map-shell{background:rgba(255,255,255,.78);min-height:360px;display:flex;flex-direction:column;justify-content:center;}
.inline-map{position:relative;width:100%;aspect-ratio:1200/820;border-radius:34px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 10px 32px rgba(7,23,29,.08);background:#dff8f4;}
.inline-map svg{display:block;width:100%;height:100%;}
.map-shell--inline .map-caption{position:relative;left:auto;right:auto;bottom:auto;margin:12px 8px 0;}
.back-ribbon{
  position:fixed;z-index:910;left:clamp(14px,3vw,34px);top:96px;
  display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border-radius:999px;
  background:rgba(255,255,255,.82);border:1px solid rgba(7,23,29,.10);box-shadow:0 16px 36px rgba(7,23,29,.12);
  backdrop-filter:blur(16px);font-weight:850;color:#102d35;transition:transform .3s var(--ease),background .3s var(--ease);
}
.back-ribbon:hover{transform:translateX(-3px);background:#fff;}
.travel-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:28px;}
.resource-card{position:relative;padding:22px;border-radius:28px;background:rgba(255,255,255,.78);border:1px solid rgba(7,23,29,.09);box-shadow:var(--shadow-soft);overflow:hidden;}
.resource-card::before{content:"";position:absolute;inset:auto -20% -48% -20%;height:130px;background:radial-gradient(ellipse at center,rgba(82,227,211,.28),transparent 65%);}
.resource-card h3{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.45rem);line-height:1;letter-spacing:-.018em;margin:0 0 8px;}
.resource-card p{color:#35535b;line-height:1.68;margin:0 0 18px;}
.resource-card a{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:999px;background:#06161f;color:#fff;font-weight:850;font-size:.9rem;}
.resource-card a::after{content:"↗";font-weight:900;}
.review-section{position:relative;overflow:hidden;}
.review-shell{margin-top:34px;display:grid;grid-template-columns:minmax(0,.74fr) minmax(320px,1.26fr);gap:clamp(24px,4vw,56px);align-items:center;}
.rating-tile{padding:clamp(24px,3vw,38px);border-radius:38px;background:linear-gradient(135deg,rgba(6,22,31,.96),rgba(9,55,67,.92));color:#fff;box-shadow:var(--shadow);}
.rating-number{font-family:var(--serif);font-size:clamp(4rem,8vw,8rem);line-height:.85;letter-spacing:-.025em;}
.rating-stars{letter-spacing:.08em;color:#52e3d3;font-weight:900;margin:10px 0;}
.rating-tile p{color:rgba(255,255,255,.76);line-height:1.7;}
.review-carousel{position:relative;min-height:360px;border-radius:40px;background:rgba(255,255,255,.78);border:1px solid rgba(7,23,29,.10);box-shadow:0 30px 80px rgba(7,23,29,.16);overflow:hidden;}
.review-track{display:flex;width:100%;height:100%;transition:transform .75s var(--ease);}
.review-card{min-width:100%;padding:clamp(26px,4vw,56px);display:flex;flex-direction:column;justify-content:center;}
.review-product{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:999px;background:rgba(18,107,121,.10);color:#0d5260;font-weight:850;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;}
.review-card h3{font-family:var(--serif);font-size:clamp(2.1rem,4vw,4.3rem);line-height:.96;letter-spacing:-.018em;margin:18px 0 14px;}
.review-text{font-size:clamp(1.04rem,1.35vw,1.24rem);color:#294850;max-width:64ch;margin:0;}
.review-by{margin-top:20px;color:#60767b;font-weight:800;}
.review-controls{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;}
.review-controls button{width:42px;height:42px;border:0;border-radius:50%;background:#06161f;color:#fff;font-weight:900;cursor:pointer;}
.review-dots{display:flex;gap:6px;margin-right:8px;}
.review-dots button{width:9px;height:9px;padding:0;background:rgba(6,22,31,.25);}
.review-dots button[aria-current="true"]{background:#ed1c24;transform:scale(1.3);}
.faq-panel{margin-top:38px;}
.faq-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;}
.faq-heading h2{font-family:var(--serif);font-size:clamp(2.3rem,4.8vw,5.2rem);line-height:.94;letter-spacing:-.018em;margin:0;}
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.faq details{padding:0;overflow:hidden;background:rgba(255,255,255,.78);border-radius:24px;box-shadow:0 12px 32px rgba(7,23,29,.07);}
.faq summary{list-style:none;padding:19px 58px 19px 20px;position:relative;line-height:1.35;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#06161f;color:#fff;font-weight:900;transition:.25s ease;}
.faq details[open] summary::after{content:"–";background:#126b79;}
.faq p{padding:0 20px 20px;margin:0;}
@media (max-width:1100px){.travel-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.review-shell{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.back-ribbon{position:absolute;top:92px;}}
@media (max-width:720px){
 body{letter-spacing:.006em;word-spacing:.025em;}
 .display,.title,.subtitle,.choice-card h2,.choice-card h3{letter-spacing:-.010em !important;}
 .choice-grid{grid-template-columns:1fr;}
 .choice-card,.choice-card:first-child{grid-column:auto;min-height:280px;}
 .choice-card .pill{margin-bottom:18px;}
 .travel-resource-grid{grid-template-columns:1fr;}
 .review-carousel{min-height:430px;border-radius:30px;}
 .review-controls{left:18px;right:auto;}
 .back-ribbon{top:82px;left:12px;max-width:calc(100vw - 24px);font-size:.86rem;}
 .map-shell{min-height:auto;}
 .inline-map{border-radius:22px;}
}


/* Stage 4: Leaflet maps, stronger archipelago atmosphere, Satava entity, legal page */
.leaflet-shell{padding:14px;min-height:520px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(214,244,239,.82));border:1px solid rgba(255,255,255,.65);box-shadow:0 32px 90px rgba(7,23,29,.14);}
.leaflet-map{width:100%;min-height:460px;border-radius:30px;overflow:hidden;background:#cceee9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 18px 50px rgba(7,23,29,.12);}
.leaflet-mini-map{width:100%;height:100%;min-height:210px;border-radius:22px;overflow:hidden;background:#cceee9;}
.leaflet-container{font-family:var(--sans);background:#dff8f4;}
.leaflet-tile-pane{filter:saturate(.88) contrast(.92) brightness(1.08) hue-rotate(140deg);}
.leaflet-control-attribution{font-size:.68rem;background:rgba(255,255,255,.72)!important;backdrop-filter:blur(8px);}
.aava-marker{width:42px;height:42px;border-radius:50% 50% 50% 14%;transform:rotate(-45deg);display:grid;place-items:center;background:#06161f;border:3px solid #fff;box-shadow:0 16px 30px rgba(7,23,29,.28);}
.aava-marker span{transform:rotate(45deg);font-size:20px;line-height:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.3));}
.aava-marker.kayak{background:linear-gradient(135deg,#ed1c24,#8a0d18);}.aava-marker.hotel{background:linear-gradient(135deg,#126b79,#52e3d3);}.aava-marker.cottage{background:linear-gradient(135deg,#7f4b25,#f3bf75);}.aava-marker.city{background:linear-gradient(135deg,#06161f,#35535b);}.aava-marker.park{background:linear-gradient(135deg,#295b35,#91c67a);}
.map-popup strong{font-family:var(--serif);font-size:1.25rem;line-height:1;display:block;margin-bottom:4px}.map-popup p{margin:0;color:#35535b;line-height:1.45}.map-popup a{display:inline-flex;margin-top:8px;font-weight:900;color:#0d5260;}
.archipelago-awe{position:relative;overflow:hidden;padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px);background:linear-gradient(180deg,rgba(240,250,247,.82),rgba(218,243,238,.68));}
.archipelago-awe::before{content:"";position:absolute;inset:0;background:url('/images/xs-aavameri-presentation/images_cube-1.webp') center/cover fixed;opacity:.18;filter:saturate(1.05) contrast(1.1);}
.archipelago-awe::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(82,227,211,.38),transparent 30%),linear-gradient(90deg,rgba(244,251,248,.92),rgba(244,251,248,.45));}
.awe-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(28px,5vw,72px);align-items:center;}
.awe-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.awe-mosaic div{min-height:180px;border-radius:34px;padding:24px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.75);box-shadow:0 20px 60px rgba(7,23,29,.10);display:flex;flex-direction:column;justify-content:flex-end;backdrop-filter:blur(18px);}
.awe-mosaic strong{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5.8rem);line-height:.85;letter-spacing:-.035em;color:#06161f;}.awe-mosaic span{color:#35535b;line-height:1.45;font-weight:740;margin-top:10px;}
.tripadvisor-badge{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:10px 14px;border-radius:999px;background:#00aa6c;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(0,80,51,.24);}.tripadvisor-badge .ta-word{font-weight:950;letter-spacing:-.01em}.tripadvisor-badge .ta-stars{letter-spacing:.06em}.rating-stars{color:#00aa6c;}
.review-card{background:linear-gradient(145deg,rgba(255,255,255,.0),rgba(216,248,244,.35));}.review-text{font-family:var(--serif);font-size:clamp(1.4rem,2.8vw,3.25rem);line-height:1.05;color:#102d35;}.review-by{letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;}.rating-tile p{font-size:.98rem;}
.satava-hero .hero-content{max-width:940px}.satava-intro-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr);gap:clamp(28px,5vw,70px);align-items:center;}.booking-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(340px,1.15fr);gap:clamp(26px,4vw,58px);align-items:stretch}.johku-placeholder{border-radius:38px;border:1px dashed rgba(6,22,31,.32);background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(214,244,239,.82));box-shadow:0 24px 80px rgba(7,23,29,.12);padding:clamp(24px,4vw,50px);display:flex;flex-direction:column;justify-content:center;min-height:360px}.johku-placeholder span{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:999px;background:#06161f;color:#fff;font-weight:900;font-size:.82rem;letter-spacing:.06em}.johku-placeholder code{display:block;white-space:normal;margin:22px 0;padding:18px;border-radius:20px;background:rgba(6,22,31,.08);font-weight:800;color:#102d35}.johku-placeholder p{color:#35535b;line-height:1.7}.legal-layout{max-width:980px}.legal-card{padding:clamp(28px,5vw,70px);border-radius:42px;background:rgba(255,255,255,.82);box-shadow:0 30px 90px rgba(7,23,29,.12);}.legal-card h2{font-family:var(--serif);font-size:clamp(2.1rem,4vw,4.6rem);line-height:.96;letter-spacing:-.02em}.legal-card h3{font-family:var(--serif);font-size:clamp(1.65rem,2.6vw,2.6rem);margin-top:34px}.legal-card h4{font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;margin-top:24px;color:#126b79}.legal-card li{margin:.45rem 0;color:#35535b;line-height:1.58}.small-hero{min-height:62vh}.footer .fineprint a{color:inherit;text-decoration:underline;text-underline-offset:4px;}
@media (max-width:980px){.awe-grid,.satava-intro-grid,.booking-split{grid-template-columns:1fr}.leaflet-shell{min-height:auto}.leaflet-map{min-height:390px}.awe-mosaic div{min-height:150px}.archipelago-awe::before{background-attachment:scroll}}
@media (max-width:640px){.awe-mosaic{grid-template-columns:1fr}.leaflet-map{min-height:340px;border-radius:22px}.leaflet-shell{padding:8px}.review-text{font-size:1.65rem}.tripadvisor-badge{flex-wrap:wrap;border-radius:22px}.johku-placeholder{min-height:270px}.legal-card{border-radius:28px}}


/* Stage 5: consent, event pages, SEO-safe compact modules */
.aava-consent{position:fixed;z-index:9999;left:0;right:0;bottom:0;display:grid;place-items:end center;padding:22px;pointer-events:none}
.consent-card{position:relative;width:min(1040px,calc(100vw - 28px));overflow:hidden;border-radius:34px;background:linear-gradient(145deg,rgba(250,255,252,.94),rgba(222,247,243,.94));box-shadow:0 28px 90px rgba(7,23,29,.24);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(22px);display:grid;grid-template-columns:1.35fr auto;gap:24px;align-items:center;padding:28px;pointer-events:auto;color:#08212b}
.consent-orbit{position:absolute;right:-90px;top:-120px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(82,227,211,.55),rgba(82,227,211,0) 70%);filter:blur(4px)}
.consent-kicker{display:inline-block;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#126b79;font-weight:800;margin-bottom:8px}.consent-card h2{margin:0 0 8px;font-size:clamp(1.3rem,2vw,2rem);letter-spacing:-.015em}.consent-card p{margin:0;max-width:68ch;color:#35515a;line-height:1.55}.consent-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.consent-primary,.consent-secondary,.consent-text{font:inherit;border:0;cursor:pointer;border-radius:999px;padding:13px 18px;font-weight:850}.consent-primary{background:#ed1c24;color:#fff;box-shadow:0 16px 32px rgba(237,28,36,.24)}.consent-secondary{background:rgba(255,255,255,.75);color:#08212b;border:1px solid rgba(8,33,43,.12)}.consent-text{background:transparent;color:#31505a;text-decoration:underline;text-underline-offset:3px}.consent-preferences{grid-column:1/-1;border-top:1px solid rgba(8,33,43,.12);padding-top:16px;display:grid;gap:12px}.consent-preferences[hidden]{display:none}.consent-preferences label{display:flex;justify-content:space-between;gap:16px;align-items:center;background:rgba(255,255,255,.58);border:1px solid rgba(8,33,43,.08);border-radius:20px;padding:14px 16px}.consent-preferences small{display:block;color:#58727a;margin-top:2px}.consent-preferences input{width:46px;height:26px;accent-color:#126b79}.consent-row{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.cookie-settings-link{cursor:pointer}.event-strip{padding:28px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(215,246,241,.82));border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 70px rgba(7,23,29,.12)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.event-card{display:block;padding:18px;border-radius:24px;background:rgba(255,255,255,.78);border:1px solid rgba(8,33,43,.09);text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.event-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(7,23,29,.14)}.event-card span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#126b79;font-weight:850}.event-card strong{display:block;margin:8px 0 6px;font-size:1.05rem}.event-card em{font-style:normal;color:#49666f;font-size:.94rem}.event-hero{min-height:68vh}.event-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.event-fact{border-radius:24px;padding:18px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.7)}.event-fact span{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:#126b79}.event-fact strong{display:block;margin-top:4px;font-size:1.05rem}.schema-note{border-left:4px solid #52e3d3;padding:14px 18px;margin:24px 0;border-radius:16px;background:rgba(255,255,255,.58);color:#35515a}.review-carousel[data-review-scope] .review-by{font-size:.88rem;color:#46636c}.tripadvisor-badge--stage5{display:inline-flex;align-items:center;gap:12px;background:rgba(255,255,255,.82);border:1px solid rgba(8,33,43,.1);border-radius:999px;padding:10px 14px;box-shadow:0 12px 34px rgba(7,23,29,.09)}.tripadvisor-badge--stage5 .stars{color:#00aa6c;letter-spacing:.08em}.tripadvisor-badge--stage5 strong{color:#08212b}
@media (max-width:860px){.consent-card{grid-template-columns:1fr;padding:22px;border-radius:26px}.consent-actions{justify-content:flex-start}.event-grid,.event-facts{grid-template-columns:1fr}.aava-consent{padding:12px}.consent-card p{font-size:.96rem}}


/* Stage 6: live booking slots, self-guided questionnaire and guide dashboard */
.booking-engine-panel{position:relative;margin:clamp(2.5rem,6vw,5rem) auto;max-width:1180px;padding:clamp(1.2rem,3vw,2.2rem);border:1px solid rgba(210,235,242,.28);border-radius:32px;background:linear-gradient(135deg,rgba(250,253,250,.92),rgba(218,237,238,.68));box-shadow:0 26px 80px rgba(4,28,38,.18);overflow:hidden}
.booking-engine-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 10%,rgba(123,191,193,.28),transparent 36%),radial-gradient(circle at 88% 90%,rgba(241,184,95,.18),transparent 42%);pointer-events:none}
.booking-engine-panel>*{position:relative}.booking-engine-panel .section-kicker{color:#0b6875}.booking-engine-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(1rem,3vw,2rem);align-items:stretch}.booking-engine-copy h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.035em;line-height:.94;margin:.3rem 0 1rem}.booking-engine-copy p{font-size:1.05rem;line-height:1.75;color:rgba(10,40,49,.78)}.booking-engine-slot{min-height:320px;border-radius:26px;border:1px dashed rgba(5,75,90,.38);background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(241,248,247,.72));display:grid;place-items:center;padding:1.2rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.52)}.booking-placeholder{text-align:center;max-width:560px}.booking-placeholder .booking-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:22px;background:rgba(6,87,104,.10);font-size:2rem;margin-bottom:.8rem}.booking-placeholder h3{margin:.1rem 0 .5rem;font-size:clamp(1.35rem,2vw,2.1rem);letter-spacing:-.025em}.booking-placeholder code{display:inline-block;background:#08242f;color:#eafaf7;border-radius:999px;padding:.55rem .85rem;font-size:.82rem;white-space:normal}.booking-slot-note{margin:.9rem auto 0;max-width:620px;font-size:.86rem;line-height:1.55;color:rgba(10,40,49,.68)}.booking-microcopy{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.booking-microcopy span{border-radius:999px;background:rgba(255,255,255,.74);border:1px solid rgba(5,75,90,.14);padding:.48rem .72rem;font-size:.85rem;color:#164b54}@media(max-width:820px){.booking-engine-grid{grid-template-columns:1fr}.booking-engine-slot{min-height:240px}}
.private-page{min-height:100vh;background:linear-gradient(180deg,rgba(234,247,246,.86),rgba(255,252,244,.92)),url('/images/headers-1280x720/aavameri-header-1280-21.jpg') center/cover fixed;color:#092935}.private-shell{width:min(1180px,calc(100% - 28px));margin:auto;padding:clamp(1.4rem,4vw,4rem) 0}.private-card,.questionnaire-card,.guide-card{border:1px solid rgba(5,75,90,.18);border-radius:30px;background:rgba(255,255,255,.84);backdrop-filter:blur(18px);box-shadow:0 28px 80px rgba(5,42,52,.17)}.private-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(1rem,3vw,2rem);align-items:end;margin-bottom:1.4rem}.private-hero h1{font-size:clamp(2.4rem,6vw,5.6rem);line-height:.9;letter-spacing:-.055em;margin:.4rem 0}.private-hero p{font-size:1.05rem;line-height:1.75;color:rgba(9,41,53,.72)}.private-badge{display:inline-flex;gap:.5rem;align-items:center;border-radius:999px;background:rgba(8,95,112,.10);border:1px solid rgba(8,95,112,.16);padding:.5rem .8rem;font-weight:700;color:#075d6b}.questionnaire-card{padding:clamp(1rem,3vw,2rem)}.form-progress{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1.4rem}.form-progress span{height:6px;flex:1;min-width:46px;border-radius:99px;background:rgba(8,95,112,.18)}.form-section{padding:clamp(1rem,2.2vw,1.6rem);border-radius:24px;background:rgba(245,251,249,.76);border:1px solid rgba(8,95,112,.12);margin:0 0 1rem}.form-section h2{margin:0 0 .4rem;font-size:clamp(1.4rem,2.5vw,2.3rem);letter-spacing:-.035em}.form-section p.lead{margin:.2rem 0 1rem;color:rgba(9,41,53,.72);line-height:1.65}.aava-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.aava-form-grid .full{grid-column:1/-1}.aava-field{display:grid;gap:.38rem}.aava-field label{font-weight:800;color:#0c3440}.aava-field small{color:rgba(9,41,53,.62);line-height:1.45}.aava-field input,.aava-field textarea,.aava-field select{width:100%;border:1px solid rgba(8,95,112,.20);border-radius:16px;background:rgba(255,255,255,.88);padding:.88rem 1rem;font:inherit;color:#092935;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.aava-field textarea{min-height:124px;resize:vertical}.choice-row{display:flex;flex-wrap:wrap;gap:.7rem}.choice-row label{display:flex;align-items:center;gap:.5rem;border:1px solid rgba(8,95,112,.18);background:rgba(255,255,255,.76);border-radius:999px;padding:.7rem .9rem;font-weight:800}.form-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;margin-top:1rem}.aava-submit,.guide-button{border:0;border-radius:999px;background:#07313d;color:#fff;font-weight:900;padding:1rem 1.35rem;box-shadow:0 16px 36px rgba(7,49,61,.24);cursor:pointer}.aava-secondary{border:1px solid rgba(8,95,112,.18);background:rgba(255,255,255,.78);color:#083643;border-radius:999px;padding:.9rem 1.1rem;font-weight:800;text-decoration:none}.guide-toolbar{display:grid;grid-template-columns:1.2fr .8fr auto;gap:.8rem;margin:1rem 0}.guide-toolbar input,.guide-toolbar select{border:1px solid rgba(8,95,112,.18);border-radius:16px;padding:.85rem 1rem;font:inherit;background:#fff}.guide-card{padding:1rem;margin:1rem 0}.guide-list{display:grid;gap:.75rem}.guide-result{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr) auto;gap:1rem;align-items:center;border:1px solid rgba(8,95,112,.14);border-radius:20px;background:rgba(255,255,255,.7);padding:.9rem}.guide-result strong{font-size:1.05rem}.calendar-strip{display:flex;gap:.5rem;overflow:auto;padding:.65rem 0 1rem;scroll-snap-type:x mandatory}.calendar-day{min-width:92px;scroll-snap-align:start;text-align:center;border-radius:18px;border:1px solid rgba(8,95,112,.18);background:rgba(255,255,255,.78);text-decoration:none;color:#092935;padding:.75rem .5rem}.calendar-day.active{background:#07313d;color:#fff}.calendar-day span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75}.submission-detail{display:grid;gap:1rem}.detail-section{border-radius:22px;background:rgba(245,251,249,.74);border:1px solid rgba(8,95,112,.12);padding:1rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.detail-item{border-radius:16px;background:rgba(255,255,255,.78);padding:.8rem;border:1px solid rgba(8,95,112,.10);word-break:break-word}.detail-item b{display:block;color:#0b5e6c;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.28rem}.private-note{font-size:.9rem;color:rgba(9,41,53,.65)}@media(max-width:820px){.private-hero,.aava-form-grid,.guide-toolbar,.guide-result,.detail-grid{grid-template-columns:1fr}.private-page{background-attachment:scroll}.form-actions{align-items:stretch}.aava-submit,.aava-secondary,.guide-button{width:100%;text-align:center}}


/* Stage 7: navigation logic, logo easter egg, product top listing and form refinements */
html,body{max-width:100%;overflow-x:hidden}.inner,.grid,.hero .inner,.menu-grid,.choice-grid,.footer-grid,.split-feature,.geo-grid{min-width:0}.grid>*,.hero .inner>*,.choice-grid>*,.menu-grid>*,.footer-grid>*,.split-feature>*{min-width:0}.aw-nav{grid-template-columns:minmax(230px,auto) minmax(0,1fr) auto}.brand{position:relative}.brand-sub{display:grid;gap:2px;white-space:normal;line-height:1.12}.brand-sub span{display:block}.nav-links{min-width:0;display:flex;justify-content:center;align-items:center;gap:4px}.nav-link{font-size:clamp(.72rem,.86vw,.88rem);padding:10px 11px;white-space:nowrap}.nav-dropdown{position:relative;display:flex;align-items:center}.nav-link-about::after{content:'⌄';font-size:.8em;margin-left:.45em;opacity:.72}.nav-submenu{position:absolute;top:calc(100% + 10px);right:0;min-width:250px;padding:10px;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(0,0,0,.23);border:1px solid rgba(7,23,29,.1);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transition:.25s var(--ease);backdrop-filter:blur(18px)}.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{opacity:1;visibility:visible;transform:none}.nav-submenu a{display:block;padding:12px 14px;border-radius:14px;color:#08212b;font-weight:760;line-height:1.22}.nav-submenu a:hover,.nav-submenu a:focus{background:rgba(18,107,121,.09);color:#0d5967}.product-showcase{margin-top:-38px;padding:0 var(--gutter) clamp(32px,5vw,70px)}.choice-showcase-inner{max-width:var(--max);margin:auto}.choice-intro{max-width:860px;margin:0 0 22px;padding:clamp(20px,3vw,32px);border-radius:30px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.72);box-shadow:0 22px 70px rgba(7,23,29,.13);backdrop-filter:blur(18px)}.choice-intro .subtitle{font-size:clamp(2.2rem,4vw,4.6rem)}.choice-intro .kicker{margin-bottom:0}.choice-grid.product-grid-six{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.choice-grid.product-grid-six .choice-card{min-height:326px}.choice-grid.product-grid-six .choice-card h2{font-size:clamp(1.9rem,2.7vw,3.45rem)}.choice-grid.product-grid-six .choice-card .pill{position:relative;top:auto;left:auto;width:max-content;max-width:100%;margin-bottom:auto;align-self:flex-start;white-space:normal;line-height:1.3}.choice-grid.product-grid-six .choice-card{justify-content:space-between;gap:14px}.choice-grid.product-grid-six .choice-card p{margin-top:0}.aava-field input:invalid[data-error].show-error{border-color:#c4182c;background:#fff7f7;box-shadow:0 0 0 4px rgba(196,24,44,.12)}.field-error{display:none;margin-top:.2rem;padding:.7rem .85rem;border-radius:14px;background:#c4182c;color:#fff;font-size:.9rem;font-weight:750;box-shadow:0 12px 28px rgba(196,24,44,.18)}.field-error.is-visible{display:block}.tent-size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.tent-size-grid label{display:grid;gap:.35rem;border:1px solid rgba(8,95,112,.14);background:rgba(255,255,255,.72);border-radius:18px;padding:.75rem;font-weight:800}.tent-size-grid span{font-size:.9rem;color:#0c3440}.inline-image-link{border:0;border-bottom:1px solid rgba(18,107,121,.45);background:transparent;color:#0b6575;padding:0;font-weight:850;cursor:pointer}.aava-lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:clamp(16px,4vw,48px);background:rgba(3,13,18,.72);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:.25s var(--ease)}.aava-lightbox.is-open{opacity:1;visibility:visible}.aava-lightbox__panel{position:relative;max-width:min(920px,100%);max-height:min(88vh,760px);border-radius:30px;padding:clamp(12px,2vw,18px);background:rgba(255,255,255,.94);box-shadow:0 32px 100px rgba(0,0,0,.42)}.aava-lightbox__panel img{max-height:calc(88vh - 70px);width:auto;object-fit:contain;border-radius:20px}.aava-lightbox__close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:#06161f;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.25)}.choice-row label{min-height:44px;display:inline-flex;align-items:center;gap:.55rem}.choice-row label input{margin:0;flex:0 0 auto;width:1.15rem;height:1.15rem}.copy-choice{display:inline-flex;align-items:center;gap:.65rem;margin-right:auto;padding:.85rem 1rem;border:1px solid rgba(8,95,112,.18);background:rgba(255,255,255,.78);border-radius:999px;font-weight:850;color:#092935}.copy-choice input{width:1.35rem;height:1.35rem;accent-color:#07313d}.form-actions{justify-content:flex-end}.form-actions .copy-choice{order:1}.form-actions .aava-submit{order:2}.private-card .private-note{font-size:1rem;line-height:1.6}.leaflet-container,.leaflet-map,.leaflet-mini-map{max-width:100%;overflow:hidden}.card,.choice-card,.event-card,.review-card{overflow-wrap:anywhere}@media(max-width:1240px){.nav-links{display:none}.aw-nav{grid-template-columns:auto auto;justify-content:space-between}}@media(max-width:1120px){.choice-grid.product-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.product-grid-six .choice-card{min-height:300px}}@media(max-width:720px){.product-showcase{margin-top:0;padding-top:18px}.choice-grid.product-grid-six{grid-template-columns:1fr}.choice-intro{border-radius:24px;padding:20px}.tent-size-grid{grid-template-columns:1fr}.form-actions{align-items:stretch}.form-actions .copy-choice{width:100%;justify-content:flex-start}.aava-lightbox__panel{border-radius:22px}.aava-lightbox__close{right:6px;top:6px}}


/* ===== Stage 8: product conversion, dynamic galleries, upgraded maps, guides ===== */
.product-conversion{padding-top:clamp(34px,5vw,80px);padding-bottom:clamp(34px,5vw,80px)}
.product-intent-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.58fr);gap:clamp(22px,4vw,54px);align-items:start}
.intent-copy{padding:clamp(22px,3vw,38px);border-radius:34px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 72px rgba(7,23,29,.13);backdrop-filter:blur(18px)}
.lead-copy{font-size:clamp(1.05rem,1.55vw,1.25rem);line-height:1.72;color:#294953;max-width:72ch}.product-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.product-facts-grid div{padding:16px;border-radius:20px;background:linear-gradient(180deg,rgba(238,252,249,.9),rgba(255,255,255,.72));border:1px solid rgba(8,95,112,.1)}.product-facts-grid strong{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#126b79;margin-bottom:8px}.product-facts-grid span{font-weight:850;color:#092734}.included-details{margin:22px 0;padding:18px;border-radius:24px;background:rgba(255,255,255,.62);border:1px solid rgba(8,95,112,.1)}.included-details summary{cursor:pointer;font-weight:900;color:#07171d}.included-details ul{margin:14px 0 0;padding-left:1.1rem;display:grid;gap:.55rem;color:#32525b;line-height:1.56}.booking-widget-shell{position:sticky;top:108px;min-height:340px;padding:18px;border-radius:32px;background:linear-gradient(155deg,rgba(6,22,31,.98),rgba(10,70,83,.96));box-shadow:0 32px 90px rgba(2,20,28,.24);color:white;border:1px solid rgba(255,255,255,.14)}.booking-widget-shell:empty{display:none}.product-intent-grid.booking-empty{grid-template-columns:1fr}.booking-widget-shell::before{content:'Booking engine';display:block;color:#52e3d3;font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.booking-widget-shell:empty::before{display:none}.faq-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.faq-accordion details{border-radius:24px;border:1px solid rgba(8,95,112,.1);background:rgba(255,255,255,.78);box-shadow:0 18px 44px rgba(7,23,29,.08);overflow:hidden}.faq-accordion summary{cursor:pointer;padding:20px 22px;font-weight:900;color:#082531;list-style:none}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary::after{content:'+';float:right;font-size:1.4rem;color:#ed1c24}.faq-accordion details[open] summary::after{content:'–'}.faq-accordion p{padding:0 22px 22px;margin:0;color:#34525b;line-height:1.65}.product-gallery-section{padding-top:clamp(34px,5vw,70px)}.gallery-intro{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.gallery-intro p{max-width:54ch;color:#38545c;line-height:1.55}.gallery-intro code,.kicker code{background:rgba(6,22,31,.07);padding:.15rem .35rem;border-radius:.4rem}.dynamic-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:220px;gap:12px}.gallery-empty{grid-column:1/-1;padding:26px;border-radius:24px;background:rgba(255,255,255,.7);border:1px dashed rgba(8,95,112,.22);color:#45616a}.gallery-thumb{position:relative;border:0;border-radius:28px;overflow:hidden;padding:0;background:#d9f2ef;box-shadow:0 20px 55px rgba(7,23,29,.12);cursor:pointer}.gallery-thumb:first-child{grid-row:span 2}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .75s var(--ease)}.gallery-thumb:hover img{transform:scale(1.06);filter:saturate(1.08)}.gallery-thumb span{position:absolute;left:14px;bottom:14px;padding:8px 10px;border-radius:999px;background:rgba(6,22,31,.72);color:#fff;font-weight:850;font-size:.78rem;backdrop-filter:blur(10px)}.gallery-lightbox{position:fixed;inset:0;z-index:10050;background:rgba(2,9,14,.86);display:grid;grid-template-columns:72px 1fr 72px;place-items:center;padding:clamp(12px,3vw,36px);opacity:0;visibility:hidden;transition:.25s var(--ease);backdrop-filter:blur(18px)}.gallery-lightbox.is-open{opacity:1;visibility:visible}.gallery-lightbox img{max-width:100%;max-height:86vh;border-radius:28px;box-shadow:0 40px 120px rgba(0,0,0,.5)}.gallery-close,.gallery-prev,.gallery-next{border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;width:54px;height:54px;font-size:2rem;cursor:pointer;backdrop-filter:blur(12px)}.gallery-close{position:absolute;right:24px;top:24px}.gallery-counter{position:absolute;left:24px;bottom:20px;color:#fff;background:rgba(6,22,31,.55);padding:10px 14px;border-radius:999px;font-weight:800}.leaflet-shell--stage8{position:relative;background:linear-gradient(145deg,rgba(243,251,247,.92),rgba(220,244,239,.92));border-color:rgba(7,23,29,.07)}.leaflet-shell--stage8 .leaflet-map{filter:none}.map-fullscreen-btn{position:absolute;z-index:500;right:26px;top:26px;border:0;border-radius:999px;padding:12px 16px;background:rgba(6,22,31,.82);color:#fff;font-weight:900;box-shadow:0 18px 44px rgba(0,0,0,.22);backdrop-filter:blur(12px);cursor:pointer}.map-fullscreen-overlay{position:fixed!important;inset:12px!important;z-index:10040!important;width:auto!important;height:auto!important;min-height:0!important;border-radius:28px!important;box-shadow:0 40px 120px rgba(0,0,0,.55)!important}.map-fullscreen-close{position:fixed;z-index:10045;right:26px;top:26px;border:0;width:52px;height:52px;border-radius:50%;background:#06161f;color:#fff;font-size:1.8rem;box-shadow:0 20px 50px rgba(0,0,0,.32);cursor:pointer}.aava-marker{width:42px;height:42px;border-radius:50% 50% 50% 12px;transform:rotate(-45deg);display:grid;place-items:center;border:2px solid rgba(255,255,255,.92);box-shadow:0 14px 32px rgba(0,0,0,.28);background:#ed1c24}.aava-marker span{transform:rotate(45deg);font-weight:900;color:#fff}.aava-marker.hotel{background:#0f3b49}.aava-marker.cottage{background:#a96c2d}.aava-marker.city{background:#126b79}.aava-marker.park{background:#597a36}.aava-marker.kayak{background:#ed1c24}.map-popup strong{font-size:1rem;color:#06161f}.map-popup p{margin:.4rem 0;line-height:1.4}.map-popup a{font-weight:850;color:#126b79}.leaflet-tile-pane{filter:saturate(.72) contrast(.94) brightness(1.06) hue-rotate(152deg)!important}.quick-summary ul{display:grid;gap:12px}.quick-summary li{display:grid;gap:4px}.quick-summary span{color:rgba(255,255,255,.72)}.summary-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.summary-links a{padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:850}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.guide-card{position:relative;min-height:430px;border-radius:34px;overflow:hidden;background:#08222b;color:#fff;box-shadow:0 26px 70px rgba(7,23,29,.18)}.guide-photo{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72)),var(--guide-img);background-size:cover;background-position:center;transition:transform .85s var(--ease),filter .85s var(--ease)}.guide-card:hover .guide-photo{transform:scale(1.10);filter:saturate(1.08)}.guide-copy{position:absolute;inset:auto 0 0 0;padding:24px}.guide-copy h3{font-family:var(--serif);font-size:2.35rem;letter-spacing:-.05em;line-height:.94;margin:0 0 4px}.guide-role{color:#52e3d3!important;font-weight:900;margin:.1rem 0 .55rem!important}.guide-copy p{color:rgba(255,255,255,.82);line-height:1.55}.guide-copy a{font-weight:900;color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}.stat-cards{display:grid;gap:12px}.stat-cards div{padding:20px;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}.stat-cards strong{display:block;font-family:var(--serif);font-size:2.8rem;color:#fff;letter-spacing:-.06em}.stat-cards span{color:rgba(255,255,255,.75);line-height:1.45}.satava-product-grid .card{min-height:100%}.johku-slot{background:linear-gradient(155deg,#0b2b37,#0a5968)}.more-ways{padding-top:clamp(30px,5vw,70px)}
@media(max-width:1100px){.product-intent-grid{grid-template-columns:1fr}.booking-widget-shell{position:relative;top:auto}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-thumb:first-child{grid-column:1/-1;grid-row:span 1}.gallery-intro{display:block}.product-facts-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.faq-accordion{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr}.guide-card{min-height:390px}.dynamic-gallery{grid-template-columns:1fr;grid-auto-rows:220px}.product-facts-grid{grid-template-columns:1fr}.gallery-lightbox{grid-template-columns:50px 1fr 50px;padding:8px}.gallery-prev,.gallery-next{width:44px;height:44px;font-size:1.6rem}.gallery-close{right:12px;top:12px}.map-fullscreen-overlay{inset:0!important;border-radius:0!important}.map-fullscreen-close{right:14px;top:14px}.product-intent-grid{gap:18px}.intent-copy{border-radius:26px;padding:20px}}


/* Stage 9: weather resources, DataHub map and guide manuals */
.compact-hero{min-height:min(760px,80vh)}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.resource-card,.accommodation-card{display:block;padding:24px;border-radius:28px;background:rgba(255,255,255,.74);border:1px solid rgba(7,23,29,.09);box-shadow:0 22px 60px rgba(7,23,29,.08);backdrop-filter:blur(18px);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.resource-card:hover,.accommodation-card:hover{transform:translateY(-5px);box-shadow:0 30px 80px rgba(7,23,29,.14)}.resource-card span{display:inline-flex;margin-bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(82,227,211,.22);font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.11em}.resource-card h3,.accommodation-card strong{display:block;font-family:var(--serif);font-size:1.65rem;letter-spacing:-.04em;line-height:1.04;color:#06161f}.resource-card p,.accommodation-card p{color:#3d5860;line-height:1.55}.forecast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.forecast-grid a{padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(7,23,29,.08);font-weight:850;color:#0a4d5a}.datahub-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:22px;align-items:stretch}.datahub-panel{border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.66));box-shadow:0 24px 70px rgba(7,23,29,.12);border:1px solid rgba(7,23,29,.08);padding:18px;max-height:720px;overflow:auto}.filter-title{font-weight:950;margin-bottom:12px}.datahub-filters{display:flex;flex-wrap:wrap;gap:8px}.datahub-filters button{border:0;border-radius:999px;padding:10px 12px;font-weight:900;background:#e9f3f2;color:#12343d;cursor:pointer}.datahub-filters button.is-active{background:#06161f;color:#fff}.datahub-status{font-size:.9rem;color:#4c6269;margin:16px 0}.datahub-list{display:grid;gap:8px}.datahub-list-item{text-align:left;border:0;background:#fff;border-radius:16px;padding:12px;display:grid;grid-template-columns:12px 1fr;gap:4px 10px;cursor:pointer;box-shadow:0 8px 22px rgba(7,23,29,.06)}.datahub-list-item span{grid-row:1/3;width:12px;height:12px;border-radius:99px;margin-top:4px}.datahub-list-item strong{font-size:.95rem;color:#06161f}.datahub-list-item small{color:#607178}.datahub-map-shell{min-height:720px}.datahub-map{height:720px}.aava-marker.datahub-marker{display:grid;place-items:center;border-radius:999px;background:#fff;border:2px solid rgba(7,23,29,.12);box-shadow:0 16px 32px rgba(7,23,29,.20);font-size:1.05rem}.aava-marker.datahub-marker.aavameri{background:radial-gradient(circle at 35% 25%,#fff 0 18%,#34f0df 19%,#0a5360 100%);border:3px solid #fff;color:#06161f;font-size:1.25rem;box-shadow:0 18px 42px rgba(52,240,223,.42),0 0 0 8px rgba(52,240,223,.18)}.aava-marker.datahub-marker.accommodation{background:#fff2db}.aava-marker.datahub-marker.restaurant{background:#ffe4e4}.aava-marker.datahub-marker.transport{background:#e7ebff}.aava-marker.datahub-marker.activity{background:#e1f9e5}.map-popup em{display:block;margin:.2rem 0;color:#65777d}.map-popup small{display:block;color:#65777d;margin:.5rem 0}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end}.map-toolbox{flex:0 0 auto}.accommodation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.accommodation-card span{display:block;color:#607178;margin:.55rem 0;font-weight:700}.notice-card{margin-top:26px;border-radius:30px;padding:28px;background:linear-gradient(135deg,#06161f,#0b5260);color:#fff}.notice-card h3{font-family:var(--serif);font-size:2rem;line-height:1;margin:0 0 8px}.notice-card p{color:rgba(255,255,255,.82)}.private-manual{max-width:1180px;margin:0 auto;padding:34px 20px}.manual-grid{display:grid;grid-template-columns:280px 1fr;gap:24px}.manual-nav{position:sticky;top:20px;align-self:start;border-radius:24px;background:#fff;padding:16px;box-shadow:0 18px 48px rgba(7,23,29,.08)}.manual-nav a{display:block;padding:10px;border-radius:12px;font-weight:850}.manual-content{display:grid;gap:18px}.manual-card{border-radius:28px;background:#fff;padding:26px;box-shadow:0 18px 50px rgba(7,23,29,.08)}.manual-card h2{font-family:var(--serif);font-size:2rem;letter-spacing:-.04em}.manual-card code{background:#eef6f5;border-radius:8px;padding:.1rem .35rem}.manual-card ul{padding-left:1.2rem}.manual-card li{margin:.35rem 0;line-height:1.5}
@media(max-width:1050px){.resource-grid,.accommodation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.datahub-layout{grid-template-columns:1fr}.datahub-panel{max-height:none}.section-head{display:block}.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-grid{grid-template-columns:1fr}.manual-nav{position:relative;top:auto}.datahub-map,.datahub-map-shell{min-height:560px;height:560px}}
@media(max-width:680px){.resource-grid,.accommodation-grid,.forecast-grid{grid-template-columns:1fr}.datahub-map,.datahub-map-shell{min-height:520px;height:520px}.datahub-filters button{font-size:.85rem}.resource-card h3,.accommodation-card strong{font-size:1.35rem}}



/* === Stage 10 visual and stability fixes === */
.aw-loader{
  background:
    radial-gradient(circle at 50% 40%,rgba(82,227,211,.28),rgba(6,22,31,.42) 32%,rgba(3,9,13,.74) 72%),
    linear-gradient(180deg,rgba(2,9,14,.18),rgba(2,9,14,.86)),
    url('/images/xs-aavameri-presentation/images_cube-5.webp') center center / cover no-repeat !important;
}
.aw-loader::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 42%),radial-gradient(circle at 78% 18%,rgba(240,184,91,.18),transparent 24%);pointer-events:none;}
.aw-loader .loader-mark{background:rgba(6,22,31,.62);backdrop-filter:blur(10px);box-shadow:0 26px 90px rgba(0,0,0,.45);}
body::before{
  background:
    linear-gradient(180deg,rgba(247,251,248,.72),rgba(226,240,235,.66) 45%,rgba(235,242,238,.76)),
    radial-gradient(circle at 18% 18%,rgba(82,227,211,.22),transparent 28%),
    url('/images/xs-aavameri-presentation/images_cube-1.webp') center center / cover fixed !important;
  opacity:1 !important;
}
body::after{opacity:.055!important;}
html,body{width:100%;max-width:100%;overflow-x:hidden!important;}
main,.section,.choice-strip,.product-showcase,.archipelago-awe,.geo-story,.review-section,.booking-band,.footer{max-width:100vw;overflow-x:clip;}
.inner,.choice-showcase-inner{width:min(var(--max),100%);max-width:calc(100vw - (var(--gutter) * 2));}
.choice-grid,.choice-grid.product-grid-six,.grid,.geo-layout,.awe-grid,.travel-map-grid,.satava-intro-grid,.datahub-layout{width:100%;max-width:100%;min-width:0;}
.choice-grid.product-grid-six{grid-template-columns:repeat(3,minmax(0,1fr));}
.choice-grid.product-grid-six .choice-card{min-width:0;contain:layout paint;}
.choice-card,.card,.hero-panel,.map-shell,.leaflet-shell{max-width:100%;}
.hero-inner{position:relative;z-index:2;width:min(var(--max),100%);max-width:calc(100vw - (var(--gutter) * 2));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.36fr);gap:clamp(28px,6vw,88px);align-items:end;}
.hero-inner h1{font-family:var(--serif);font-size:clamp(3.4rem,8.7vw,9.2rem);line-height:.86;letter-spacing:-.052em;margin:.18em 0 .22em;text-wrap:balance;color:#fff;text-shadow:0 28px 70px rgba(0,0,0,.42);}
.hero-inner .hero-facts{position:relative;padding:22px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.09));border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(20px);box-shadow:var(--shadow);color:#fff;}
.hero-inner .hero-facts h2{font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);line-height:.92;letter-spacing:-.035em;margin:0 0 12px;}
.hero-inner .hero-facts ul{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.hero-inner .hero-facts li{display:grid;gap:3px;}
.hero-inner .hero-facts strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#aaf6ee;}
.hero-inner .hero-facts span{color:rgba(255,255,255,.82);line-height:1.36;}
.satava-hero::before{background-position:center center!important;}
.leaflet-map[data-map="satava"]{min-height:500px;}
.dynamic-gallery{min-height:120px;}
.gallery-empty{padding:22px;border-radius:22px;background:rgba(255,255,255,.72);border:1px dashed rgba(7,23,29,.16);color:#47656c;}
.gallery-error{padding:18px;border-radius:20px;background:#fff3f3;color:#7f1722;font-weight:780;}
.gallery-thumb{border:0;padding:0;cursor:pointer;text-align:left;color:#fff;}
@media(max-width:1120px){.choice-grid.product-grid-six{grid-template-columns:repeat(2,minmax(0,1fr));}.hero-inner{grid-template-columns:1fr}.hero-inner .hero-facts{max-width:620px}}
@media(max-width:720px){body::before{background-attachment:scroll!important}.inner,.choice-showcase-inner,.hero-inner{max-width:calc(100vw - 36px)}.choice-grid.product-grid-six{grid-template-columns:1fr}.hero-inner h1{font-size:clamp(3rem,15vw,5.6rem)}.hero-inner .hero-facts{display:none}.leaflet-map[data-map="satava"]{min-height:360px}}
@supports not (overflow:clip){main,.section,.choice-strip,.product-showcase,.archipelago-awe,.geo-story,.review-section,.booking-band,.footer{overflow-x:hidden;}}


/* Stage 11 refinements: menu dropdowns, Satava title scale, darker nautical maps, clusters, guide portal and alignment. */
.hero.satava-hero .eyebrow{font-size:clamp(1.08rem,1.65vw,1.72rem);letter-spacing:.055em;color:#63e7ff;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero.satava-hero h1{font-size:clamp(3.2rem,7.8vw,8.8rem);line-height:.86;letter-spacing:-.065em}
.hero .hero-lead{font-size:clamp(1rem,1.32vw,1.22rem);line-height:1.62;max-width:64ch}
.nav-link-guided::after{content:'⌄';font-size:.8em;margin-left:.45em;opacity:.72}.nav-submenu-wide{min-width:300px;left:0;right:auto}.nav-dropdown-guided .nav-submenu a:first-child{font-weight:950;color:#0b6070}
.leaflet-container{background:#0c3e64}.leaflet-tile-pane{filter:saturate(1.05) contrast(1.05) brightness(.86) hue-rotate(185deg)!important}.leaflet-control-attribution{font-size:10px!important;background:rgba(255,255,255,.75)!important}
.aava-marker.datahub-marker{width:42px;height:42px}.aava-marker.datahub-marker.aavameri{width:64px;height:64px;background:radial-gradient(circle at 35% 28%,#77fff3,#0aa7a4 55%,#063b49);box-shadow:0 18px 42px rgba(0,196,190,.45),0 0 0 5px rgba(82,227,211,.22);font-size:1.65rem}.aava-marker.hotel{background:#194f65}.aava-marker.cottage{background:#8b5d2a}.aava-marker.restaurant{background:#b6534b}.aava-marker.cafe{background:#b77a35}.aava-marker.transport{background:#315c9d}.aava-marker.activity{background:#3f7d58}.aava-marker.service{background:#6d7f86}.aava-cluster{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#fff,#55d8ef 45%,#115979);border:3px solid rgba(255,255,255,.92);box-shadow:0 16px 38px rgba(0,0,0,.34);font-weight:950;color:#06212c}.cluster-list{display:grid;gap:4px;margin-top:8px}.cluster-list button{border:0;background:rgba(18,107,121,.08);border-radius:10px;text-align:left;padding:6px 8px;font-weight:800;color:#06212c;cursor:pointer}.cluster-list span{display:inline-block;width:1.6em}
.datahub-filters,.map-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.datahub-filters button,.map-filter-row button{border:0;border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.78);box-shadow:0 10px 24px rgba(7,23,29,.08);font-weight:850;color:#123944;cursor:pointer}.datahub-filters button span{margin-right:.45em}.datahub-filters button.is-active{background:#06161f;color:white}.datahub-list-item span{display:grid!important;place-items:center;color:#fff;font-size:.85rem;width:34px;height:34px;border-radius:50%}
.more-products-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.more-product-card,.card{display:flex;flex-direction:column;min-width:0}.more-product-card .card-media,.card .card-media{flex:0 0 auto}.card-body{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}.card-body .pill{align-self:flex-start;margin-bottom:0}.card-body h3{margin-top:0}.card-body p{flex:1}.choice-grid,.grid,.more-products-grid,.product-facts-grid{min-width:0}.choice-grid>*,.grid>*,.more-products-grid>*{min-width:0}.booking-widget-shell:empty{display:none!important}.product-intent-grid:has(.booking-widget-shell:empty){grid-template-columns:1fr}.booking-widget-shell:empty::before{content:none}.johku-embed-shell:empty{display:none}.gallery-empty{font-weight:850;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(218,244,240,.75));border-style:solid}
.satava-bus-links a{font-weight:850;color:#bffcf6;text-decoration:underline;text-underline-offset:3px}.hero-facts .satava-bus-links span{line-height:1.55}.award-note{margin-top:28px;padding:clamp(22px,3vw,34px);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(219,247,241,.74));box-shadow:0 22px 70px rgba(7,23,29,.12);border:1px solid rgba(18,107,121,.12)}.award-note h3{font-family:var(--serif);font-size:clamp(1.7rem,3vw,3.4rem);letter-spacing:-.04em;margin:0 0 .5rem}.award-note p{color:#264c55;line-height:1.72}.booking-card .price{display:none!important}.booking-card .detail-grid{align-items:start}
.calendar-day.is-past{filter:grayscale(.65);opacity:.45}.guide-toolbar .guide-check{display:inline-flex;align-items:center;gap:.5rem;font-weight:850;color:#113b46;background:rgba(255,255,255,.74);padding:.8rem 1rem;border-radius:999px}.guide-toolbar .guide-check input{width:1.1rem;height:1.1rem}.guide-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.guide-tabs a{padding:.8rem 1rem;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;font-weight:850}.guide-tabs a.is-active{background:#fff;color:#08232d}.guide-manual-inline{margin-top:28px}.guide-manual-inline .manual-card{background:rgba(255,255,255,.86)}
@media(max-width:1280px){.more-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-links{display:none}.aw-nav{grid-template-columns:auto auto;justify-content:space-between}}
@media(max-width:900px){.more-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-facts-grid{grid-template-columns:1fr}.faq-accordion{grid-template-columns:1fr}.satava-bus-links a{display:inline-block;margin:.1rem .2rem .1rem 0}}
@media(max-width:640px){.more-products-grid{grid-template-columns:1fr}.hero.satava-hero h1{font-size:clamp(3rem,18vw,5.4rem)}.hero.satava-hero .eyebrow{font-size:1rem}.hero .hero-lead{font-size:1rem}.map-fullscreen-overlay{inset:4px!important;border-radius:18px!important}}


/* Stage 11 final fixes: DataHub filters below map, aligned product cards and no horizontal escape */
.datahub-section .datahub-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:clamp(1rem,2vw,1.8rem)!important;max-width:100%!important;overflow:hidden!important;}
.datahub-section .datahub-map-shell{order:1!important;min-width:0!important;}
.datahub-section .datahub-panel{order:2!important;min-width:0!important;max-width:100%!important;}
.datahub-section .datahub-filters{display:flex!important;flex-wrap:wrap!important;gap:.55rem!important;align-items:center!important;margin-top:.4rem!important;}
.datahub-section .datahub-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;gap:.8rem!important;margin-top:1rem!important;}
.datahub-section .datahub-card{min-width:0!important;}
.more-products-grid{align-items:stretch!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))!important;}
.more-product-card{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
.more-product-card .pill{align-self:flex-start!important;}
.product-bento,.product-grid,.feature-grid,.journey-grid,.grid{min-width:0!important;max-width:100%!important;}
.section,.inner,.page-wrap,main{max-width:100vw!important;overflow-x:clip!important;}
@supports not (overflow: clip){.section,.inner,.page-wrap,main{overflow-x:hidden!important;}}


/* Stage 12: DataHub clarity and Instagram-ready homepage section */
.datahub-status{display:none!important}
.aava-marker.datahub-marker.aavameri-logo-marker{width:74px!important;height:74px!important;padding:8px;background:rgba(255,255,255,.94)!important;border:4px solid #fff!important;box-shadow:0 22px 48px rgba(0,105,118,.38),0 0 0 8px rgba(52,240,223,.20)!important;overflow:hidden;transform:translateY(-3px)}
.aava-marker.datahub-marker.aavameri-logo-marker img{width:100%;height:100%;object-fit:contain;display:block;border-radius:50%}
.datahub-list-item.aavameri{border:1px solid rgba(52,240,223,.45);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(220,255,251,.82))}
.datahub-list-item.aavameri span{background-image:url('/images/logo/aavameri-logo-www-300px.png')!important;background-size:cover!important;background-color:transparent!important;width:28px!important;height:28px!important;margin-top:0!important;border-radius:999px;box-shadow:0 0 0 2px #fff,0 8px 18px rgba(7,23,29,.15)}
.datahub-list-item{grid-template-columns:28px 1fr;align-items:center}.datahub-list-item span{display:grid;place-items:center;color:#fff;font-size:.75rem}
.instagram-section[hidden]{display:none!important}.instagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}.instagram-card{position:relative;min-height:330px;border-radius:32px;overflow:hidden;display:flex;align-items:flex-end;padding:0;text-decoration:none;background:#06161f;box-shadow:0 26px 70px rgba(7,23,29,.18);isolation:isolate;transform:translateZ(0)}.instagram-photo{position:absolute;inset:0;background-image:var(--ig-img);background-size:cover;background-position:center;transition:transform .8s var(--ease),filter .8s var(--ease);z-index:-2}.instagram-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(3,24,31,.78));z-index:-1}.instagram-card:hover .instagram-photo{transform:scale(1.065);filter:saturate(1.08)}.instagram-copy{display:grid;gap:8px;padding:22px;color:#fff}.instagram-copy strong{font-family:var(--serif);font-size:1.55rem;line-height:1;letter-spacing:-.035em}.instagram-copy em{font-style:normal;color:rgba(255,255,255,.82);line-height:1.38}@media(max-width:980px){.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instagram-card{min-height:270px}}@media(max-width:620px){.instagram-grid{grid-template-columns:1fr}.instagram-card{min-height:300px}}

/* Stage 14 premium activity/service map: blue archipelago water, left filters, real category icons, spiderfy clusters. */
.datahub-section .datahub-layout{display:grid!important;grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;gap:clamp(18px,2.5vw,32px)!important;align-items:stretch!important;overflow:visible!important;}
.datahub-section .datahub-panel{order:1!important;position:relative;max-height:760px;overflow:auto;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(234,250,248,.82))!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 28px 82px rgba(5,35,49,.18)!important;backdrop-filter:blur(18px);}
.datahub-section .datahub-map-shell{order:2!important;min-width:0!important;background:linear-gradient(145deg,rgba(1,47,83,.26),rgba(73,202,225,.14))!important;border:1px solid rgba(255,255,255,.65)!important;}
.datahub-section .datahub-map{height:min(74vh,760px)!important;min-height:620px!important;background:#0b5f8d!important;}
.datahub-section .leaflet-container{background:#0b5f8d!important;}
.datahub-section .leaflet-tile-pane{filter:saturate(1.24) contrast(1.08) brightness(.98) hue-rotate(188deg)!important;}
.datahub-section .filter-title{font-family:var(--serif);font-size:1.45rem;line-height:1.05;letter-spacing:-.04em;margin-bottom:10px;color:#06161f;}
.datahub-section .datahub-filters{display:block!important;margin:0!important;}
.map-filter-actions{display:flex;gap:8px;margin-bottom:14px;}
.map-filter-actions button{flex:1;border:0;border-radius:999px;padding:9px 10px;background:#06161f;color:white;font-weight:900;cursor:pointer;box-shadow:0 12px 26px rgba(7,23,29,.16);}
.map-filter-actions button:last-child{background:rgba(7,23,29,.08);color:#12343d;box-shadow:none;}

.map-filter-fixed{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;margin:0 0 12px;padding:10px 11px;border-radius:18px;background:linear-gradient(135deg,rgba(229,29,42,.96),rgba(130,8,16,.92));color:white;box-shadow:0 16px 35px rgba(123,12,19,.20);}
.map-filter-fixed strong{font-weight:950;line-height:1.05;}
.map-filter-fixed small{display:block;font-weight:750;opacity:.82;margin-top:2px;}
.map-filter-fixed .map-filter-icon{background:white;}
.map-filter-toggles{display:grid;gap:9px;}
.map-filter-toggles button{width:100%;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;border:1px solid rgba(7,23,29,.08);border-radius:18px;padding:9px 11px;background:rgba(255,255,255,.64);color:#233f47;text-align:left;font-weight:900;cursor:pointer;transition:transform .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease);}
.map-filter-toggles button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(7,23,29,.11);}
.map-filter-toggles button.is-active{background:linear-gradient(135deg,#06161f,#0c6074);color:white;border-color:rgba(82,227,211,.38);box-shadow:0 16px 35px rgba(7,23,29,.18);}
.map-filter-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 1px rgba(7,23,29,.06);color:#09323e;}
.map-filter-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.map-filter-icon img{width:30px;height:30px;object-fit:contain;}
.map-filter-toggles button.is-active .map-filter-icon{background:rgba(255,255,255,.92);color:#06161f;}
.premium-map-marker{width:42px;height:42px;display:grid;place-items:center;border-radius:16px 16px 16px 5px;transform:rotate(-45deg);background:var(--marker-tone,#0c6074);border:3px solid rgba(255,255,255,.96);box-shadow:0 16px 30px rgba(2,28,39,.30),0 0 0 4px rgba(255,255,255,.18);color:#fff;transition:transform .22s var(--ease),box-shadow .22s var(--ease);}
.premium-map-marker svg{width:24px;height:24px;transform:rotate(45deg);fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.premium-map-marker:hover{transform:rotate(-45deg) translateY(-3px) scale(1.07);box-shadow:0 20px 42px rgba(2,28,39,.38),0 0 0 7px rgba(255,255,255,.22);}
.premium-map-marker-aavameri{width:42px;height:42px;border-radius:999px;transform:none;background:#fff;border:3px solid #fff;box-shadow:0 14px 32px rgba(0,112,135,.34),0 0 0 3px rgba(82,227,211,.2);}
.premium-map-marker-aavameri:hover{transform:translateY(-4px) scale(1.08);}
.premium-map-marker-aavameri img{width:36px!important;max-width:36px!important;height:36px!important;object-fit:contain;border-radius:999px;display:block;}
.premium-map-cluster{min-width:66px;height:54px;padding:6px 9px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(165,238,246,.92));border:3px solid rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(0,35,54,.30),0 0 0 5px rgba(255,255,255,.18);color:#06212c;text-align:center;}
.premium-map-cluster strong{font-size:1.18rem;line-height:.95;font-weight:1000;letter-spacing:-.04em;}
.premium-map-cluster span{font-size:.56rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:950;opacity:.75;}
.premium-map-cluster-aavameri{background:linear-gradient(135deg,#fff,#97fff7 48%,#e51d2a);}
.premium-map-cluster-hotel{background:linear-gradient(135deg,#fff,#b8e7f7 58%,#0c5d7a);}
.premium-map-cluster-cottage{background:linear-gradient(135deg,#fff,#f0d3a2 58%,#7b5d2f);}
.premium-map-cluster-restaurant{background:linear-gradient(135deg,#fff,#ffc0b8 58%,#b64b41);}
.premium-map-cluster-cafe{background:linear-gradient(135deg,#fff,#ffd6a4 58%,#b47833);}
.premium-map-cluster-transport{background:linear-gradient(135deg,#fff,#bdcbff 58%,#244f99);}
.premium-map-tooltip{border:0!important;background:rgba(6,22,31,.94)!important;color:#fff!important;border-radius:999px!important;padding:7px 11px!important;box-shadow:0 12px 28px rgba(0,0,0,.28)!important;font-weight:850!important;}
.premium-map-tooltip::before{display:none!important;}
.premium-map-popup-shell .leaflet-popup-content-wrapper{border-radius:24px!important;padding:0!important;overflow:hidden;box-shadow:0 26px 72px rgba(2,28,39,.32)!important;}
.premium-map-popup-shell .leaflet-popup-content{margin:0!important;width:310px!important;}
.premium-map-popup{background:#fff;color:#06161f;}
.premium-map-popup figure{height:120px;margin:0;background:linear-gradient(135deg,#0d567e,#7be8e0);display:grid;place-items:center;overflow:hidden;}
.premium-map-popup figure img{width:100%;height:100%;object-fit:cover;display:block;}
.premium-map-popup figure.map-popup-logo img{width:92px;height:92px;object-fit:contain;}
.premium-map-popup .map-popup-body{padding:16px 17px 18px;}
.premium-map-popup span{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(82,227,211,.18);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;font-weight:950;color:#0b5260;margin-bottom:8px;}
.premium-map-popup h3{font-family:var(--serif);font-size:1.45rem;line-height:1.02;letter-spacing:-.04em;margin:0 0 5px;}
.premium-map-popup em{display:block;font-style:normal;color:#607178;font-weight:750;margin-bottom:8px;}
.premium-map-popup p{font-size:.92rem;line-height:1.42;color:#315059;margin:0 0 8px;}
.premium-map-popup small{display:block;color:#607178;margin-bottom:12px;line-height:1.3;}
.premium-map-popup a{display:inline-flex;border-radius:999px;padding:8px 12px;background:#06161f;color:#fff;font-weight:900;text-decoration:none;}
.datahub-section .datahub-list{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:16px!important;}
.premium-map-list-item{display:grid;grid-template-columns:40px 1fr;gap:2px 11px;align-items:center;border:0;border-radius:18px;padding:10px;background:rgba(255,255,255,.75);box-shadow:0 10px 24px rgba(7,23,29,.06);text-align:left;cursor:pointer;}
.premium-map-list-item span{grid-row:1/3;width:40px;height:40px;border-radius:15px;display:grid;place-items:center;background:#0c6074;color:white;}
.premium-map-list-item span svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.premium-map-list-item span img{width:34px;height:34px;object-fit:contain;border-radius:999px;background:white;}
.premium-map-list-item strong{font-size:.95rem;line-height:1.15;color:#06161f;}
.premium-map-list-item small{color:#607178;font-size:.78rem;line-height:1.2;}
.premium-map-list-item.aavameri{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(222,255,252,.82));border:1px solid rgba(82,227,211,.34);}
.leaflet-marker-icon .aava-marker.datahub-marker{display:none!important;}
@media(max-width:1050px){.datahub-section .datahub-layout{grid-template-columns:1fr!important}.datahub-section .datahub-panel{max-height:none;order:2!important}.datahub-section .datahub-map-shell{order:1!important}.datahub-section .datahub-map{height:560px!important;min-height:560px!important}.map-filter-toggles{grid-template-columns:repeat(2,minmax(0,1fr));}.datahub-section .datahub-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:680px){.datahub-section .datahub-map{height:520px!important;min-height:520px!important}.map-filter-toggles,.datahub-section .datahub-list{grid-template-columns:1fr!important}.premium-map-popup-shell .leaflet-popup-content{width:min(82vw,310px)!important}}

/* STAGE 15: navigation, homepage hero and overview map refinements */
html, body { width:100%; max-width:100%; overflow-x:hidden !important; }
body, main, .section, .choice-strip, .product-showcase, .geo-story, .archipelago-awe, .journey, .footer { overflow-x:clip !important; max-width:100vw !important; }
.inner, .choice-showcase-inner, .geo-layout, .awe-grid, .split-feature, .grid, .choice-grid, .product-grid-six { min-width:0 !important; max-width:100% !important; }
.inner, .choice-showcase-inner { width:min(var(--max), calc(100vw - 2 * var(--gutter))) !important; }
.hero .inner { width:min(var(--max), calc(100vw - 2 * var(--gutter))) !important; max-width:100% !important; }
.choice-grid.product-grid-six { width:100% !important; overflow:visible; }
.choice-grid.product-grid-six > *, .geo-layout > *, .awe-grid > *, .split-feature > * { min-width:0 !important; }
.aw-nav { max-width:calc(100vw - 28px) !important; }
.nav-actions { display:flex !important; flex:0 0 auto; }
.menu-trigger { display:inline-flex !important; white-space:nowrap; }
.menu-trigger span:last-child { display:inline !important; }
@media(max-width:720px){
  .inner,.choice-showcase-inner,.hero .inner{width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;}
  .aw-nav{max-width:calc(100vw - 20px)!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px;}
  .brand{min-width:0;}
  .brand-title{font-size:.74rem;}
  .brand-sub{display:none!important;}
  .menu-trigger{padding:9px 10px!important;}
  .menu-trigger span:last-child{font-size:.78rem;}
  .compass{width:27px;height:27px;}
}

.hero-dynamic-background::before{transition:background-image .9s ease, filter .9s ease, transform 1.8s var(--ease)!important;}
.hero-bg-pulse::before{filter:saturate(1.14) contrast(1.04) brightness(1.06)!important;transform:scale(1.055)!important;}
.hero-panel .panel-price{font-size:clamp(2rem,3.3vw,3.55rem);}
.hero-panel .panel-copy{font-size:.98rem;}

.aava-marker.airport{background:#143f66;}
.aava-marker.sea{background:#0b7894;}
.aava-marker.national{background:#4d7d3c;}
.leaflet-map[data-map="overview"] .leaflet-tile-pane{filter:saturate(.92) contrast(.98) brightness(1.05) hue-rotate(150deg)!important;}
.leaflet-map[data-map="overview"]{min-height:520px;background:#0e7ca0;}
@media(max-width:720px){.leaflet-map[data-map="overview"]{min-height:420px;}}

/* Stage 16: map colour correction
   The previous hue-rotate filters distorted the sea into red/yellow/brown tones on some screens.
   Use the actual ocean basemap colours instead. */
.leaflet-container{background:#0b5f86!important;}
.leaflet-tile-pane,
.leaflet-map[data-map="overview"] .leaflet-tile-pane,
.leaflet-map[data-map="travel"] .leaflet-tile-pane,
.leaflet-map[data-map="travel-editable"] .leaflet-tile-pane,
.leaflet-map[data-map="datahub-services"] .leaflet-tile-pane,
.datahub-section .leaflet-tile-pane,
.leaflet-shell .leaflet-tile-pane{
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
.premium-datahub-map .leaflet-container,
.leaflet-map[data-map="datahub-services"],
.leaflet-map[data-map="overview"]{
  background:linear-gradient(180deg,#0b6690,#083e63)!important;
}

/* Stage 18: final map UX corrections */
.datahub-section .datahub-map-shell.leaflet-shell,
.datahub-section figure.datahub-map-shell{
  padding:0!important;
  border-radius:34px!important;
  overflow:hidden!important;
  background:#0b5f86!important;
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:0 30px 92px rgba(3,28,42,.24)!important;
  min-height:0!important;
  display:block!important;
}
.datahub-section .datahub-map{
  width:100%!important;
  border-radius:34px!important;
  box-shadow:none!important;
  border:0!important;
  background:#0b5f86!important;
}
.datahub-section .map-caption{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:18px!important;
  z-index:410!important;
  margin:0!important;
  max-width:min(760px,calc(100% - 36px))!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  background:rgba(3,18,27,.72)!important;
  color:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.22)!important;
}
.datahub-section .leaflet-tile-pane,
.leaflet-map[data-map="datahub-services"] .leaflet-tile-pane,
.leaflet-map[data-map="overview"] .leaflet-tile-pane,
.leaflet-shell .leaflet-tile-pane{
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
.map-fullscreen-shell{
  position:fixed!important;
  inset:14px!important;
  z-index:10040!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  border-radius:30px!important;
  overflow:hidden!important;
  box-shadow:0 44px 130px rgba(0,0,0,.58)!important;
  background:#0b5f86!important;
}
.map-fullscreen-shell .leaflet-map,
.map-fullscreen-map{
  height:100%!important;
  min-height:calc(100vh - 28px)!important;
  border-radius:30px!important;
}
.map-fullscreen-shell .map-caption{display:none!important;}
.map-fullscreen-close{display:none;}
.guide-quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;}
.guide-action-card{display:grid;gap:7px;padding:20px;border-radius:24px;background:linear-gradient(155deg,rgba(255,255,255,.92),rgba(228,250,247,.84));border:1px solid rgba(8,95,112,.12);box-shadow:0 18px 42px rgba(7,23,29,.08);color:#06161f;text-decoration:none;}
.guide-action-card.primary{background:linear-gradient(155deg,#06161f,#0b5968);color:#fff;}
.guide-action-card strong{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.04em;line-height:1;}
.guide-action-card span{line-height:1.45;color:inherit;opacity:.78;}
@media(max-width:820px){.guide-quicklinks{grid-template-columns:1fr}.map-fullscreen-shell{inset:0!important;border-radius:0!important}.map-fullscreen-shell .leaflet-map,.map-fullscreen-map{min-height:100vh!important;border-radius:0!important}.datahub-section .map-caption{border-radius:18px!important;}}


/* Stage 19: Yr.no meteogram overlay and corrected weather grid */
.weather-meteograms .meteogram-group{margin-top:clamp(1.3rem,3vw,2.4rem);}
.weather-meteograms .meteogram-group h3{font-family:var(--serif);font-size:clamp(1.55rem,2.8vw,2.35rem);letter-spacing:-.045em;margin:0 0 1rem;color:#082636;}
.meteogram-grid{align-items:stretch;}
.meteogram-link{position:relative;display:flex!important;flex-direction:column;justify-content:space-between;gap:.75rem;min-height:118px;padding:1.05rem 1.1rem!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(220,247,250,.82))!important;border:1px solid rgba(10,94,126,.15)!important;box-shadow:0 18px 46px rgba(8,35,50,.08)!important;text-decoration:none!important;color:#062432!important;overflow:hidden;}
.meteogram-link:before{content:"";position:absolute;inset:auto -20% -55% 30%;height:90%;border-radius:50%;background:radial-gradient(circle,rgba(21,149,187,.18),transparent 68%);pointer-events:none;}
.meteogram-link span{font-weight:800;line-height:1.15;position:relative;z-index:1;}
.meteogram-link strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#0a6d8e;position:relative;z-index:1;}
.meteogram-link:hover,.meteogram-link:focus-visible{transform:translateY(-3px);box-shadow:0 24px 60px rgba(8,35,50,.14)!important;border-color:rgba(10,117,150,.34)!important;}
.meteogram-overlay{position:fixed;inset:0;z-index:10080;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,34px);background:rgba(3,18,27,.72);backdrop-filter:blur(18px);}
.meteogram-overlay.is-open{display:flex;}
.meteogram-dialog{position:relative;width:min(1180px,96vw);max-height:92vh;border-radius:30px;background:linear-gradient(180deg,#f8ffff,#dff4f7);box-shadow:0 44px 160px rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.72);overflow:hidden;}
.meteogram-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:16px 18px;border-bottom:1px solid rgba(8,64,85,.1);background:rgba(255,255,255,.74);}
.meteogram-dialog h2{margin:0;font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,2rem);letter-spacing:-.04em;color:#061b28;}
.meteogram-close{width:44px;height:44px;border-radius:999px;border:0;background:#061b28;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.22);}
.meteogram-frame{padding:clamp(10px,2vw,22px);background:#eefbfc;overflow:auto;max-height:calc(92vh - 78px);}
.meteogram-frame img{display:block;width:100%;height:auto;min-width:720px;border-radius:18px;background:#fff;box-shadow:0 10px 34px rgba(5,38,54,.12);}
.meteogram-loading{padding:2rem;color:#082636;font-weight:800;}
@media(max-width:760px){.meteogram-overlay{padding:0;align-items:stretch}.meteogram-dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.meteogram-frame{max-height:calc(100vh - 76px);height:calc(100vh - 76px)}.meteogram-frame img{min-width:760px}.meteogram-close{width:42px;height:42px}.meteogram-link{min-height:104px}}

/* Stage 20: smooth homepage fade, clean backgrounds and playful draggable product cards */
:root{
  --page-photo:url('/images/xs-aavameri-presentation/images_cube-5.webp');
}
body{
  background:#eaf3ef;
}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background-image:
    linear-gradient(180deg,rgba(247,251,248,.76) 0%,rgba(237,246,242,.84) 44%,rgba(223,233,228,.90) 100%),
    var(--page-photo)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-attachment:fixed!important;
  opacity:1!important;
}
body::after{display:none!important;content:none!important;}
.water-canvas{display:none!important;}
.hero.has-smooth-fade::before{opacity:0!important;transition:opacity .8s ease!important;}
.hero-bg-layer{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0;
  background-image:linear-gradient(180deg,rgba(5,13,18,.22),rgba(5,13,18,.52) 45%,rgba(5,13,18,.92)),var(--slide-img);
  background-size:cover;
  background-position:var(--hero-pos,center center);
  transform:scale(1.045);
  filter:saturate(1.06) contrast(1.03);
  transition:opacity 2.4s ease-in-out, transform 7.2s ease-out, filter 2.4s ease-in-out;
  will-change:opacity,transform;
  pointer-events:none;
}
.hero-bg-layer.is-active{opacity:1;transform:scale(1.075);}
.hero::after{z-index:1;pointer-events:none;}
.hero .inner,.hero-route,.scroll-cue{z-index:3;}
@media(prefers-reduced-motion:reduce){.hero-bg-layer{transition:none!important}.hero-bg-layer:not(:first-child){display:none!important}}

.choice-grid.product-grid-six,.more-products-grid{position:relative;}
@media (pointer:fine){
  .choice-grid.product-grid-six .choice-card,
  .more-products-grid .more-product-card{
    cursor:grab;
    user-select:none;
    touch-action:none;
  }
  .choice-grid.product-grid-six .choice-card:active,
  .more-products-grid .more-product-card:active{cursor:grabbing;}
}
.aava-drag-ghost{
  position:fixed;
  z-index:12000;
  pointer-events:none;
  opacity:.92;
  transform:translate3d(-50%,-50%,0) rotate(1deg) scale(1.025);
  box-shadow:0 40px 120px rgba(2,20,28,.36)!important;
  border-radius:30px;
  overflow:hidden;
}
.is-drag-source{opacity:.24!important;filter:saturate(.78) blur(.2px);}
.aava-drag-over{outline:3px solid rgba(82,227,211,.78);outline-offset:6px;}
.card-landed{animation:aavaCardLand .48s cubic-bezier(.18,1.55,.34,1) both;}
@keyframes aavaCardLand{
  0%{transform:scale(.96) translateY(10px)}
  58%{transform:scale(1.045) translateY(-5px)}
  100%{transform:scale(1) translateY(0)}
}
[data-aava-dragging="true"] .choice-card,
[data-aava-dragging="true"] .more-product-card{transition:transform .28s var(--ease), box-shadow .28s var(--ease), opacity .2s ease;}
@media (pointer:coarse){
  .choice-grid.product-grid-six .choice-card,
  .more-products-grid .more-product-card{touch-action:pan-y;}
}
@media(max-width:720px){body::before{background-attachment:scroll!important}}

/* Stage 21: true reflow/sort interaction for product cards */
.aava-drag-ghost{
  left:0!important;
  top:0!important;
  transform-origin:center center!important;
  transition:none!important;
  cursor:grabbing!important;
  background:rgba(255,255,255,.96)!important;
}
.is-reflow-slot{
  opacity:1!important;
  filter:none!important;
  position:relative!important;
  overflow:hidden!important;
  background:rgba(228,246,242,.42)!important;
  border-color:rgba(82,227,211,.72)!important;
  box-shadow:inset 0 0 0 2px rgba(82,227,211,.30), 0 18px 55px rgba(5,48,62,.12)!important;
}
.is-reflow-slot > *{
  opacity:.16!important;
  filter:saturate(.65)!important;
}
.is-reflow-slot::after{
  content:"release here";
  position:absolute;
  inset:auto 18px 18px 18px;
  display:grid;
  place-items:center;
  min-height:42px;
  border:1px dashed rgba(23,128,141,.55);
  border-radius:999px;
  background:rgba(255,255,255,.56);
  color:#135767;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  z-index:5;
  backdrop-filter:blur(8px);
}
[data-aava-dragging="true"]{
  cursor:grabbing;
}
[data-aava-dragging="true"] .choice-card:not(.is-reflow-slot),
[data-aava-dragging="true"] .more-product-card:not(.is-reflow-slot){
  will-change:transform;
}
.card-landed{animation:aavaCardLandStage21 .56s cubic-bezier(.2,1.65,.28,1) both!important;}
@keyframes aavaCardLandStage21{
  0%{transform:scale(.93) translateY(12px)}
  45%{transform:scale(1.07) translateY(-7px)}
  72%{transform:scale(.985) translateY(2px)}
  100%{transform:scale(1) translateY(0)}
}
@media(max-width:860px){
  .is-reflow-slot::after{content:"";display:none;}
}

/* Stage 22: embedded Windy and generic weather-resource overlay */
.windy-embed-section{position:relative;}
.windy-frame-shell{position:relative;margin-top:clamp(1.4rem,3vw,2.2rem);height:clamp(420px,62vh,760px);border-radius:34px;overflow:hidden;background:linear-gradient(180deg,#0b5069,#072f46);box-shadow:0 30px 90px rgba(3,25,38,.24);border:1px solid rgba(255,255,255,.34);}
.windy-frame-shell::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),inset 0 -80px 120px rgba(3,19,30,.18);border-radius:34px;}
.windy-frame-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#0b5069;}
.fine-weather-note,.weather-overlay-note{color:#3c5c66;line-height:1.58;max-width:78ch;}
.fine-weather-note a{font-weight:900;color:#075e73;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
.weather-resource-overlay{position:fixed;inset:0;z-index:10082;display:none;align-items:center;justify-content:center;padding:clamp(10px,2vw,28px);background:rgba(2,13,20,.76);backdrop-filter:blur(18px);}
.weather-resource-overlay.is-open{display:flex;}
.weather-resource-dialog{position:relative;width:min(1220px,96vw);height:min(840px,92vh);border-radius:30px;background:linear-gradient(180deg,#f8ffff,#dff4f7);box-shadow:0 44px 160px rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.72);overflow:hidden;display:grid;grid-template-rows:auto 1fr;}
.weather-resource-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 16px;border-bottom:1px solid rgba(8,64,85,.1);background:rgba(255,255,255,.84);}
.weather-resource-dialog h2{margin:0;font-family:var(--serif);font-size:clamp(1.15rem,2.1vw,1.9rem);letter-spacing:-.035em;color:#061b28;}
.weather-resource-actions{display:flex;align-items:center;gap:8px;}
.weather-resource-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;background:#e6f6f6;color:#062432;font-weight:900;text-decoration:none;white-space:nowrap;}
.weather-resource-close{width:44px;height:44px;border-radius:999px;border:0;background:#061b28;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.22);}
.weather-resource-frame{position:relative;background:#e8f6f7;min-height:0;}
.weather-resource-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;}
.weather-resource-fallback{position:absolute;left:18px;bottom:18px;right:18px;z-index:2;border-radius:18px;padding:12px 14px;background:rgba(6,22,31,.78);color:#fff;font-size:.92rem;line-height:1.45;box-shadow:0 14px 34px rgba(0,0,0,.24);}
.weather-resource-fallback a{color:#7ff8ed;font-weight:900;}
@media(max-width:760px){.windy-frame-shell{height:560px;border-radius:22px}.weather-resource-overlay{padding:0;align-items:stretch}.weather-resource-dialog{width:100vw;height:100vh;border-radius:0}.weather-resource-dialog header{padding:12px}.weather-resource-dialog h2{font-size:1.2rem}.weather-resource-actions a{display:none}.weather-resource-close{width:42px;height:42px}.weather-resource-fallback{left:10px;right:10px;bottom:10px;font-size:.85rem}}


/* Stage 23: site-wide harmonic colour map and weather page colour refinement
   Palette purpose: work with the red Aavameri mark while keeping a calm,
   nature-led Archipelago Sea feeling: deep water, sea glass, reed, granite,
   driftwood and mist. */
:root{
  --aava-red:#e3262e;
  --aava-night:#061923;
  --aava-deep-blue:#073447;
  --aava-sea-blue:#0d6482;
  --aava-blue-2:#0f7890;
  --aava-seaglass:#78c7bd;
  --aava-seaglass-soft:#d9efeb;
  --aava-mist:#edf6f2;
  --aava-cloud:#fbfff9;
  --aava-reed:#a9b77a;
  --aava-lichen:#c3b55f;
  --aava-driftwood:#d8c7a5;
  --aava-granite:#778883;
  --aava-rose-soft:#ffe8e5;

  --ink:var(--aava-night);
  --ink-2:#0b2d3b;
  --deep:var(--aava-night);
  --deep-2:var(--aava-deep-blue);
  --fjord:#0a4558;
  --blue:var(--aava-sea-blue);
  --aqua:#66d5cb;
  --ice:#e1f4f0;
  --foam:var(--aava-cloud);
  --mist:var(--aava-mist);
  --sand:var(--aava-driftwood);
  --granite:var(--aava-granite);
  --lichen:var(--aava-reed);
  --sun:var(--aava-lichen);
  --red:var(--aava-red);
  --rose:#ef746f;
  --white:var(--aava-cloud);
}
html{background:var(--aava-night);}
body{background:#edf6f2;color:var(--aava-night);}
body::before{
  background-image:
    linear-gradient(180deg,rgba(251,255,249,.70) 0%,rgba(237,246,242,.80) 43%,rgba(220,233,228,.88) 100%),
    var(--page-photo)!important;
}
.aw-nav{background:rgba(6,25,35,.62);border-color:rgba(237,246,242,.22);}
.aw-nav.is-scrolled{background:rgba(6,25,35,.82);}
.menu-trigger{background:linear-gradient(135deg,var(--aava-cloud),var(--aava-seaglass-soft));}
.nav-link:hover,.nav-link[aria-current="page"]{background:rgba(120,199,189,.16);}
.lang-pill a.is-active{background:var(--aava-cloud);color:var(--aava-night);}
.eyebrow{color:var(--aava-sea-blue);}
.cta.primary,.btn.primary,.guide-action-card.primary,.notice-card{background:linear-gradient(135deg,var(--aava-night),var(--aava-sea-blue));}
.cta.secondary,.btn.secondary{background:rgba(251,255,249,.75);border-color:rgba(7,52,71,.16);}
.pill,.tag,.resource-card span{background:rgba(120,199,189,.18);color:#0a5364;}
.choice-card,.more-product-card,.product-panel,.summary-box,.manual-card,.accommodation-card,.resource-card{border-color:rgba(7,52,71,.10);box-shadow:0 22px 60px rgba(6,25,35,.08);}
.choice-card:hover,.more-product-card:hover,.resource-card:hover,.accommodation-card:hover{box-shadow:0 30px 80px rgba(6,25,35,.14);}
.choice-card::after,.more-product-card::after{background:linear-gradient(180deg,transparent,rgba(6,25,35,.76));}
.footer{background:linear-gradient(180deg,#082a38 0%,#061923 100%);}

/* Weather page: coloured cards, still calm and readable */
.weather-meteograms .meteogram-group h3{color:var(--aava-deep-blue);}
.resource-grid .resource-card,
.forecast-grid a,
.meteogram-link{
  isolation:isolate;
  position:relative;
  border:1px solid rgba(7,52,71,.12)!important;
  background:linear-gradient(145deg,rgba(251,255,249,.92),rgba(217,239,235,.74))!important;
  color:var(--aava-night)!important;
}
.resource-grid .resource-card::before,
.forecast-grid a::before,
.meteogram-link::before{
  content:"";
  position:absolute;
  inset:auto -24% -44% 30%;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(120,199,189,.25),transparent 68%);
  z-index:-1;
  pointer-events:none;
}
.resource-grid .resource-card:nth-child(6n+1),
.meteogram-grid .meteogram-link:nth-child(6n+1),
.forecast-grid a:nth-child(6n+1){background:linear-gradient(145deg,rgba(251,255,249,.94),rgba(217,239,235,.80))!important;}
.resource-grid .resource-card:nth-child(6n+1) span,
.meteogram-grid .meteogram-link:nth-child(6n+1) strong{background:rgba(120,199,189,.18);color:#0b5866;}
.resource-grid .resource-card:nth-child(6n+2),
.meteogram-grid .meteogram-link:nth-child(6n+2),
.forecast-grid a:nth-child(6n+2){background:linear-gradient(145deg,rgba(251,255,249,.94),rgba(216,199,165,.34))!important;}
.resource-grid .resource-card:nth-child(6n+2) span,
.meteogram-grid .meteogram-link:nth-child(6n+2) strong{background:rgba(216,199,165,.28);color:#625235;}
.resource-grid .resource-card:nth-child(6n+3),
.meteogram-grid .meteogram-link:nth-child(6n+3),
.forecast-grid a:nth-child(6n+3){background:linear-gradient(145deg,rgba(251,255,249,.94),rgba(169,183,122,.30))!important;}
.resource-grid .resource-card:nth-child(6n+3) span,
.meteogram-grid .meteogram-link:nth-child(6n+3) strong{background:rgba(169,183,122,.22);color:#4b5c2d;}
.resource-grid .resource-card:nth-child(6n+4),
.meteogram-grid .meteogram-link:nth-child(6n+4),
.forecast-grid a:nth-child(6n+4){background:linear-gradient(145deg,rgba(251,255,249,.94),rgba(13,100,130,.14))!important;}
.resource-grid .resource-card:nth-child(6n+4) span,
.meteogram-grid .meteogram-link:nth-child(6n+4) strong{background:rgba(13,100,130,.12);color:#07465a;}
.resource-grid .resource-card:nth-child(6n+5),
.meteogram-grid .meteogram-link:nth-child(6n+5),
.forecast-grid a:nth-child(6n+5){background:linear-gradient(145deg,rgba(251,255,249,.94),rgba(119,136,131,.20))!important;}
.resource-grid .resource-card:nth-child(6n+5) span,
.meteogram-grid .meteogram-link:nth-child(6n+5) strong{background:rgba(119,136,131,.16);color:#40534e;}
.resource-grid .resource-card:nth-child(6n+6),
.meteogram-grid .meteogram-link:nth-child(6n+6),
.forecast-grid a:nth-child(6n+6){background:linear-gradient(145deg,rgba(251,255,249,.94),rgba(255,232,229,.62))!important;}
.resource-grid .resource-card:nth-child(6n+6) span,
.meteogram-grid .meteogram-link:nth-child(6n+6) strong{background:rgba(227,38,46,.08);color:#8b2024;}
.resource-grid .resource-card h3,.meteogram-link span,.forecast-grid a{color:var(--aava-night)!important;}
.resource-grid .resource-card p{color:#334e55;}
.meteogram-link{box-shadow:0 18px 46px rgba(6,25,35,.075)!important;}
.meteogram-link strong{align-self:flex-start;border-radius:999px;padding:7px 10px;font-weight:900!important;}
.meteogram-link:hover,.meteogram-link:focus-visible{border-color:rgba(13,100,130,.28)!important;box-shadow:0 24px 60px rgba(6,25,35,.13)!important;}
.meteogram-dialog{background:linear-gradient(180deg,var(--aava-cloud),var(--aava-seaglass-soft));}
.meteogram-dialog header{background:linear-gradient(135deg,rgba(251,255,249,.92),rgba(217,239,235,.82));}
.meteogram-frame{background:linear-gradient(180deg,#edf6f2,#d9efeb);}
.meteogram-close,.weather-resource-close{background:var(--aava-night);}
.weather-resource-dialog{background:linear-gradient(180deg,var(--aava-cloud),var(--aava-seaglass-soft));}
.weather-resource-dialog header{background:linear-gradient(135deg,rgba(251,255,249,.92),rgba(217,239,235,.84));}
.weather-resource-actions a{background:rgba(120,199,189,.22);color:var(--aava-night);}
.weather-resource-frame{background:#d9efeb;}
.windy-frame-shell{background:linear-gradient(180deg,var(--aava-sea-blue),var(--aava-deep-blue));border-color:rgba(251,255,249,.36);}
.fine-weather-note,.weather-overlay-note{color:#38595e;}
.fine-weather-note a{color:var(--aava-sea-blue);}


/* Stage 24: Swedish/German language choices and improved SortableJS product-card reflow */
.lang-pill{gap:3px;}
.lang-pill a{min-width:30px;text-align:center;}
.aava-sortable-grid{position:relative;}
@media (pointer:fine){
  .aava-sortable-grid .choice-card,
  .aava-sortable-grid .more-product-card{cursor:grab;user-select:none;touch-action:none;}
  .aava-sortable-grid .choice-card:active,
  .aava-sortable-grid .more-product-card:active{cursor:grabbing;}
}
.aava-sortable-slot{
  opacity:1!important;
  background:linear-gradient(145deg,rgba(215,247,242,.50),rgba(255,255,255,.34))!important;
  border:2px dashed rgba(25,146,156,.55)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 18px 55px rgba(5,48,62,.12)!important;
}
.aava-sortable-slot > *{opacity:.12!important;filter:saturate(.55)!important;}
.aava-sortable-floating{
  opacity:.97!important;
  transform:rotate(1.2deg) scale(1.025)!important;
  border-radius:30px!important;
  box-shadow:0 42px 140px rgba(2,20,28,.38)!important;
  cursor:grabbing!important;
  pointer-events:none!important;
}
.aava-sortable-chosen{transform:scale(1.012);}
.aava-card-neighbour{transform:scale(.985);}
.is-sorting-cards .choice-card:not(.aava-sortable-floating),
.is-sorting-cards .more-product-card:not(.aava-sortable-floating){transition:transform .34s cubic-bezier(.18,.9,.18,1), box-shadow .24s ease, opacity .2s ease!important;}
.aava-card-landed{animation:aavaStage24CardLand .62s cubic-bezier(.18,1.6,.28,1) both!important;}
@keyframes aavaStage24CardLand{0%{transform:scale(.94) translateY(12px)}44%{transform:scale(1.075) translateY(-7px)}72%{transform:scale(.985) translateY(2px)}100%{transform:scale(1) translateY(0)}}
.aava-card-drag-active a{pointer-events:none;}
.localized-page .hero .title{max-width:13ch;}
.localized-page .quick-langs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem;}
.localized-page .quick-langs a{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem .8rem;background:rgba(255,255,255,.12);color:#fff;font-weight:900;text-decoration:none;}
.localized-page .product-intent-grid{margin-top:clamp(1.6rem,3vw,3rem);}
@media(max-width:760px){.lang-pill a{min-width:27px;padding-inline:.42rem}.localized-page .hero .title{max-width:100%;}}

/* Stage 25: local Sortable grid behavior — clearer placeholder, pointer-follow and bounce */
.aava-sortable-placeholder{
  box-sizing:border-box;
  border-radius:clamp(20px,2vw,32px);
  background:linear-gradient(145deg,rgba(217,239,235,.58),rgba(251,255,249,.28));
  border:2px dashed rgba(31,153,157,.58);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.62), 0 24px 70px rgba(5,48,62,.13);
  min-height:220px;
}
.aava-sortable-floating{
  opacity:.98!important;
  transform:rotate(.7deg) scale(1.035)!important;
  border-radius:30px!important;
  box-shadow:0 46px 140px rgba(2,20,28,.42)!important;
  cursor:grabbing!important;
  pointer-events:none!important;
  transition:none!important;
}
.aava-card-drag-active{cursor:grabbing!important;}
.aava-card-drag-active .aava-sortable-grid{user-select:none;}
.is-sorting-cards .choice-card:not(.aava-sortable-floating),
.is-sorting-cards .more-product-card:not(.aava-sortable-floating){will-change:transform;}
@keyframes aavaStage25CardLand{0%{transform:scale(.92) translateY(16px)}38%{transform:scale(1.085) translateY(-9px)}62%{transform:scale(.976) translateY(3px)}82%{transform:scale(1.016) translateY(-1px)}100%{transform:scale(1) translateY(0)}}
.aava-card-landed{animation:aavaStage25CardLand .72s cubic-bezier(.16,1.55,.28,1) both!important;}

/* STAGE 26: lighter home hero image and full-row dynamic gallery bands */
:root{
  --stage26-page-photo:url('/images/xs-aavameri-presentation/images_cube-5.webp');
}
body::before{
  background-image:
    linear-gradient(180deg,rgba(247,251,248,.54) 0%,rgba(237,246,242,.62) 44%,rgba(223,233,228,.70) 100%),
    var(--stage26-page-photo)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-attachment:fixed!important;
  filter:saturate(1.05) brightness(1.06)!important;
}
body::after{display:none!important;content:none!important;}
.water-canvas,.hero-route{display:none!important;}
.hero::before{
  background-image:linear-gradient(180deg,rgba(5,13,18,.08),rgba(5,13,18,.24) 42%,rgba(5,13,18,.58)),var(--hero)!important;
  filter:saturate(1.10) contrast(1.02) brightness(1.08)!important;
}
.hero::after{
  opacity:.36!important;
  background:radial-gradient(circle at 12% 25%,rgba(82,227,211,.18),transparent 30%),radial-gradient(circle at 92% 78%,rgba(240,184,91,.08),transparent 24%)!important;
}
.hero-bg-layer{
  background-image:linear-gradient(180deg,rgba(5,13,18,.08),rgba(5,13,18,.24) 42%,rgba(5,13,18,.58)),var(--slide-img)!important;
  filter:saturate(1.10) contrast(1.02) brightness(1.08)!important;
  transition:opacity 3.4s ease-in-out, transform 9s ease-out, filter 3.4s ease-in-out!important;
}
.hero.has-smooth-fade .hero-panel{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));}

.home-image-river-section{
  padding-inline:0!important;
  overflow:hidden;
  position:relative;
}
.home-image-river-head{
  width:min(var(--max),calc(100vw - 2 * var(--gutter)));
  margin-inline:auto;
  margin-bottom:clamp(24px,4vw,54px);
}
.home-image-river-head .title{
  max-width:13ch;
}
.home-image-river{
  display:grid;
  gap:clamp(26px,5.8vw,78px);
  width:100%;
  min-height:0;
}
.home-image-river.is-empty{display:none;}
.home-wide-band{
  --band-w:min(1560px,calc(100dvw - clamp(54px,12vw,210px)));
  --band-h:clamp(170px,18vw,330px);
  --band-radius:clamp(22px,3.2vw,54px);
  width:var(--band-w);
  height:var(--band-h);
  margin:0 auto 0 0;
  border:0;
  padding:0;
  position:relative;
  overflow:hidden;
  border-radius:0 var(--band-radius) var(--band-radius) 0;
  box-shadow:34px 34px 74px rgba(4,30,40,.18), 0 12px 24px rgba(4,30,40,.08);
  background:rgba(9,41,54,.16);
  transform:translateZ(0);
}
.home-wide-band:nth-child(even){
  margin-left:auto;
  margin-right:0;
  border-radius:var(--band-radius) 0 0 var(--band-radius);
  box-shadow:-34px 34px 74px rgba(4,30,40,.18), 0 12px 24px rgba(4,30,40,.08);
}
.home-wide-band img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.01);
  filter:saturate(1.06) contrast(1.02);
  transition:transform 1.4s var(--ease),filter 1.4s var(--ease);
}
.home-wide-band:hover img{transform:scale(1.045);filter:saturate(1.12) contrast(1.04);}
.home-wide-band::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(3,18,24,.12),transparent 28%,transparent 72%,rgba(3,18,24,.08));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20);
}
.home-wide-band figcaption{
  position:absolute;
  left:clamp(18px,4vw,70px);
  bottom:clamp(14px,2.5vw,34px);
  z-index:2;
  max-width:min(38rem,70%);
  padding:10px 14px;
  border-radius:999px;
  background:rgba(6,22,31,.52);
  color:#fff;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.04em;
  backdrop-filter:blur(12px);
}
.home-wide-band:nth-child(even) figcaption{left:auto;right:clamp(18px,4vw,70px);}
@media(max-width:760px){
  body::before{background-attachment:scroll!important;}
  .home-wide-band{
    --band-w:calc(100dvw - 28px);
    --band-h:clamp(160px,38vw,250px);
    border-radius:0 30px 30px 0;
  }
  .home-wide-band:nth-child(even){border-radius:30px 0 0 30px;}
  .home-wide-band figcaption{display:none;}
}


/* Stage 27: edge-to-edge dynamic front-page image bands from /images/aavameri-galleries/blocks */
[data-edge-gallery-band][hidden]{display:none!important;}
.home-edge-band-section{
  width:100%;
  margin:clamp(28px,5vw,72px) 0;
  padding:0;
  overflow:visible;
  position:relative;
}
.home-edge-band{
  --edge-gap:clamp(42px,12vw,230px);
  --edge-radius:clamp(22px,3vw,46px);
  height:clamp(150px,18vw,290px);
  width:calc(100vw - var(--edge-gap));
  margin:0;
  padding:0;
  border:0;
  position:relative;
  overflow:hidden;
  background:rgba(12,58,74,.18);
  transform:translateZ(0);
  isolation:isolate;
}
.home-edge-band--left{
  margin-left:0;
  margin-right:auto;
  border-radius:0 var(--edge-radius) var(--edge-radius) 0;
  box-shadow:36px 34px 70px rgba(4,30,40,.22), 14px 18px 30px rgba(4,30,40,.12);
}
.home-edge-band--right{
  margin-left:auto;
  margin-right:0;
  border-radius:var(--edge-radius) 0 0 var(--edge-radius);
  box-shadow:-36px 34px 70px rgba(4,30,40,.22), -14px 18px 30px rgba(4,30,40,.12);
}
.home-edge-band img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.07) contrast(1.03) brightness(1.02);
  transform:scale(1.012);
  transition:transform 1.5s var(--ease), filter 1.5s var(--ease);
}
.home-edge-band:hover img{transform:scale(1.045);filter:saturate(1.15) contrast(1.05) brightness(1.03);}
.home-edge-band::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(4,22,30,.05),rgba(4,22,30,.22));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.home-edge-band figcaption{
  position:absolute;
  z-index:2;
  left:clamp(18px,4vw,72px);
  bottom:clamp(14px,2vw,28px);
  max-width:min(42rem,72%);
  padding:10px 15px;
  border-radius:999px;
  color:#fff;
  background:rgba(6,22,31,.48);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(12px);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.home-edge-band--right figcaption{left:auto;right:clamp(18px,4vw,72px);}
@media(max-width:760px){
  .home-edge-band-section{margin:clamp(24px,8vw,44px) 0;}
  .home-edge-band{
    --edge-gap:0px;
    width:100vw;
    height:clamp(145px,42vw,240px);
    border-radius:0!important;
    box-shadow:0 24px 48px rgba(4,30,40,.18);
  }
  .home-edge-band figcaption{display:none;}
}


/* Stage 28: sharp-corner frontpage edge image blocks + filename captions */
.home-edge-band,
.home-edge-band--left,
.home-edge-band--right{
  border-radius:0!important;
}
.home-edge-band::after{
  border-radius:0!important;
}
.home-edge-band img{
  border-radius:0!important;
}

/* STAGE 29: lighter photo-backed page surface, darker edge-band shading, and localized layout parity */
:root{
  --stage30-page-photo:url('/images/xs-aavameri-presentation/images_cube-6.webp');
}
html{background:#061923!important;overflow-x:hidden!important;}
body{
  background:#fbfff9!important;
  overflow-x:hidden!important;
}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.70) 0%,rgba(255,255,255,.63) 38%,rgba(255,255,255,.78) 100%),
    var(--stage30-page-photo)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-attachment:fixed!important;
  filter:saturate(1.05) brightness(1.08)!important;
  opacity:1!important;
}
body::after{display:none!important;content:none!important;}
main>section:not(.hero):not(.home-edge-band-section){
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.66))!important;
}
.choice-strip.product-showcase,
.product-showcase,
.archipelago-awe,
.geo-story,
.journey,
.section{
  background:transparent!important;
}
.choice-intro,.hero-panel,.summary-box,.product-panel,.resource-card,.manual-card,.accommodation-card,.booking-card,.review-card,.card{
  background-color:rgba(255,255,255,.82)!important;
}

/* Darker, clearer overlay for filename captions on the wide image blocks. */
.home-edge-band{
  background:#082a38!important;
  box-shadow:36px 36px 82px rgba(2,20,28,.28), 14px 20px 34px rgba(2,20,28,.18)!important;
}
.home-edge-band--right{box-shadow:-36px 36px 82px rgba(2,20,28,.28), -14px 20px 34px rgba(2,20,28,.18)!important;}
.home-edge-band::after{
  border-radius:0!important;
  background:
    linear-gradient(180deg,rgba(3,16,22,.10) 0%,rgba(3,16,22,.18) 46%,rgba(3,16,22,.64) 100%),
    linear-gradient(90deg,rgba(3,16,22,.46),transparent 38%,rgba(3,16,22,.26))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;
}
.home-edge-band--right::after{
  background:
    linear-gradient(180deg,rgba(3,16,22,.10) 0%,rgba(3,16,22,.18) 46%,rgba(3,16,22,.64) 100%),
    linear-gradient(270deg,rgba(3,16,22,.46),transparent 38%,rgba(3,16,22,.26))!important;
}
.home-edge-band figcaption{
  background:rgba(4,18,25,.72)!important;
  border-color:rgba(255,255,255,.24)!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.home-edge-band img{filter:saturate(1.08) contrast(1.04) brightness(.96)!important;}
.home-edge-band:hover img{filter:saturate(1.16) contrast(1.07) brightness(.98)!important;}

/* Apply the more robust English page layout to localized FI/SV/DE home and product-overview pages. */
.localized-page .hero{
  min-height:clamp(720px,92svh,980px);
  padding-top:136px;
}
.localized-page .hero .inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);
  align-items:end;
  gap:clamp(24px,5vw,80px);
  position:relative;
  z-index:3;
}
.localized-page .hero .title{
  font-family:var(--serif);
  font-size:clamp(3.4rem,8vw,8.6rem);
  line-height:.84;
  letter-spacing:-.075em;
  max-width:11ch;
  margin:.12em 0 .24em;
  color:#fff;
  text-wrap:balance;
}
.localized-page .hero .kicker{
  color:rgba(255,255,255,.82);
  font-size:clamp(1.08rem,1.7vw,1.32rem);
  line-height:1.65;
  max-width:62ch;
}
.localized-page .hero-actions,
.localized-page .btn-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.localized-page #details.section{
  padding:0 var(--gutter) clamp(44px,6vw,84px)!important;
  margin-top:-38px;
  position:relative;
  z-index:4;
}
.localized-page #details > .inner{
  max-width:var(--max);
  margin-inline:auto;
}
.localized-page #details .section-head,
.localized-page #details > .inner > .eyebrow,
.localized-page #details > .inner > .title,
.localized-page #details > .inner > .kicker{
  max-width:860px;
}
.localized-page #details .section-head,
.localized-page #details > .inner > .eyebrow + .title{
  margin-top:0;
}
.localized-page #details > .inner > .eyebrow{
  display:inline-flex;
  margin-bottom:10px;
}
.localized-page #details > .inner > .title,
.localized-page #details .section-head .title{
  font-size:clamp(2.2rem,4vw,4.7rem);
  line-height:.92;
  margin-bottom:10px;
}
.localized-page #details .section-head,
.localized-page #details > .inner > .eyebrow,
.localized-page #details > .inner > .title,
.localized-page #details > .inner > .kicker{
  padding:0;
}
.localized-page #details > .inner:has(> .eyebrow) > .kicker,
.localized-page #details .section-head{
  margin-bottom:22px;
}
.localized-page #details > .inner:has(> .eyebrow){
  padding-top:clamp(20px,3vw,32px);
}
.localized-page #details > .inner > .eyebrow,
.localized-page #details > .inner > .title,
.localized-page #details > .inner > .kicker{
  position:relative;
  z-index:2;
}
.localized-page #details > .inner::before{
  content:"";
  display:block;
  position:absolute;
  width:min(860px,calc(100% - 2 * var(--gutter)));
  height:calc(clamp(130px,16vw,230px));
  margin-top:0;
  border-radius:30px;
  background:rgba(255,255,255,.80);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 22px 70px rgba(7,23,29,.13);
  backdrop-filter:blur(18px);
  z-index:0;
  pointer-events:none;
  transform:translate(-20px,-20px);
}
.localized-page #details .choice-grid.product-grid-six,
.localized-page #details .grid.three{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  margin-top:38px!important;
  align-items:stretch!important;
  position:relative;
  z-index:2;
}
.localized-page #details .choice-grid.product-grid-six .choice-card .card-media{display:none!important;}
.localized-page #details .choice-grid.product-grid-six .choice-card .card-body{display:contents!important;}
.localized-page #details .choice-grid.product-grid-six .choice-card .price{
  color:#fff;
  font-weight:950;
  align-self:flex-start;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.18);
  padding:8px 12px;
  border-radius:999px;
  backdrop-filter:blur(12px);
}
.localized-page #details .grid.three .card{
  position:relative!important;
  min-height:326px!important;
  border-radius:34px!important;
  overflow:hidden!important;
  color:#fff!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:stretch!important;
  box-shadow:var(--shadow)!important;
  isolation:isolate!important;
  border:0!important;
  background:#061923!important;
}
.localized-page #details .grid.three .card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75)),var(--img);
  background-size:cover;
  background-position:center;
  transition:transform .9s var(--ease),filter .9s var(--ease);
}
.localized-page #details .grid.three .card::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:1px;
  border-radius:33px;
  border:1px solid rgba(255,255,255,.18);
  pointer-events:none;
}
.localized-page #details .grid.three .card:hover::before{transform:scale(1.08);filter:saturate(1.12);}
.localized-page #details .grid.three .card .card-media{display:none!important;}
.localized-page #details .grid.three .card .card-body{
  display:flex!important;
  min-height:326px!important;
  flex:1!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:24px!important;
  position:relative!important;
  z-index:2!important;
}
.localized-page #details .grid.three .card .pill{
  position:relative!important;
  width:max-content!important;
  max-width:100%!important;
  margin-bottom:auto!important;
  align-self:flex-start!important;
  white-space:normal!important;
  line-height:1.3!important;
  background:rgba(255,255,255,.15)!important;
  color:#fff!important;
  backdrop-filter:blur(12px)!important;
}
.localized-page #details .grid.three .card h3{
  color:#fff!important;
  font-family:var(--serif)!important;
  font-size:clamp(1.9rem,2.7vw,3.45rem)!important;
  line-height:.9!important;
  letter-spacing:-.055em!important;
  margin:0 0 10px!important;
}
.localized-page #details .grid.three .card p{color:rgba(255,255,255,.80)!important;line-height:1.55!important;margin:0!important;}
.localized-page #details .grid.three .card .card-arrow{
  position:static!important;
  margin-top:4px;
  width:42px;
  height:42px;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  backdrop-filter:blur(10px);
}
@media(max-width:1120px){
  .localized-page .hero .inner{grid-template-columns:1fr;}
  .localized-page #details .choice-grid.product-grid-six,
  .localized-page #details .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  body::before{background-attachment:scroll!important;}
  main>section:not(.hero):not(.home-edge-band-section){background:rgba(255,255,255,.82)!important;}
  .localized-page .hero{min-height:92svh;padding-top:104px;}
  .localized-page .hero .title{font-size:clamp(3.1rem,16vw,5.6rem);max-width:100%;}
  .localized-page .hero .kicker{font-size:1.06rem;}
  .localized-page #details.section{margin-top:0;padding-top:18px!important;}
  .localized-page #details > .inner::before{display:none;}
  .localized-page #details .choice-grid.product-grid-six,
  .localized-page #details .grid.three{grid-template-columns:1fr!important;}
}


/* STAGE 30: text clipping fixes, gallery links, lighter hero title and calmer page photo overlay */
.home-page .hero .display,
.home-page .hero h1.display,
.home-page .hero .title{
  font-size:clamp(3.05rem,6.9vw,7.75rem)!important;
  line-height:.88!important;
  letter-spacing:-.07em!important;
}
@media(max-width:760px){
  .home-page .hero .display,
  .home-page .hero h1.display,
  .home-page .hero .title{font-size:clamp(2.85rem,13vw,5.2rem)!important;}
}

/* Remove the fixed-height decorative block that could visually cut localized text blocks in half. */
.localized-page #details > .inner::before{display:none!important;content:none!important;}
.localized-page #details .section-head{
  width:min(920px,100%);
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 22px 70px rgba(7,23,29,.13)!important;
  backdrop-filter:blur(18px);
  border-radius:32px;
  padding:clamp(22px,3.2vw,38px)!important;
  margin-bottom:clamp(22px,3vw,36px)!important;
  overflow:visible!important;
}
.localized-page #details .section-head *{overflow:visible!important;}
.localized-page #details .choice-grid.product-grid-six .choice-card{
  min-height:clamp(390px,34vw,560px)!important;
  height:auto!important;
  overflow:hidden!important;
  padding:clamp(20px,2.5vw,28px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
}
.localized-page #details .choice-grid.product-grid-six .choice-card .card-body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-height:auto!important;
  padding:0!important;
  overflow:visible!important;
}
.localized-page #details .choice-grid.product-grid-six .choice-card h3{
  font-size:clamp(1.75rem,2.35vw,3.05rem)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
  margin:0!important;
  overflow:visible!important;
  max-width:100%!important;
}
.localized-page #details .choice-grid.product-grid-six .choice-card p{
  display:block!important;
  overflow:visible!important;
  line-height:1.5!important;
  max-width:100%!important;
  margin:0!important;
}
.localized-page #details .choice-grid.product-grid-six .choice-card .pill,
.localized-page #details .choice-grid.product-grid-six .choice-card .price{
  position:static!important;
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  flex:0 0 auto!important;
}
@media(max-width:1120px){.localized-page #details .choice-grid.product-grid-six .choice-card{min-height:clamp(360px,48vw,520px)!important;}}
@media(max-width:760px){.localized-page #details .section-head{border-radius:24px;padding:22px!important;}.localized-page #details .choice-grid.product-grid-six .choice-card{min-height:340px!important;}}

/* Make the page photo visible but remove the heavy white veil lower down on the home page. */
.home-page::before{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.38) 0%,rgba(255,255,255,.42) 44%,rgba(255,255,255,.50) 100%),
    var(--stage29-page-photo)!important;
}
.home-page main>section:not(.hero):not(.home-edge-band-section){
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.48))!important;
}
.home-page .choice-intro,.home-page .hero-panel,.home-page .summary-box,.home-page .product-panel,.home-page .resource-card,.home-page .manual-card,.home-page .accommodation-card,.home-page .booking-card,.home-page .review-card,.home-page .card{
  background-color:rgba(255,255,255,.76)!important;
}

/* The three-photo stack is now a link to the summer gallery. */
.image-stack-link{display:block;color:inherit;text-decoration:none;position:relative;min-width:0;}
.image-stack-link .image-stack{height:100%;}
.image-stack-cta{
  position:absolute;
  z-index:6;
  left:clamp(16px,2.5vw,34px);
  bottom:clamp(16px,2.5vw,34px);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:11px 15px;
  border-radius:999px;
  background:rgba(6,22,31,.72);
  color:#fff;
  font-weight:900;
  box-shadow:0 16px 38px rgba(0,0,0,.24);
  backdrop-filter:blur(14px);
}
.image-stack-cta::after{content:'→';transition:transform .28s var(--ease);}
.image-stack-link:hover .image-stack-cta::after{transform:translateX(4px);}
.image-stack-link:hover .photo{filter:saturate(1.12) contrast(1.04);}

.gallery-page .gallery-hero{min-height:72svh;}
.gallery-page .hero .display{font-size:clamp(3rem,7.2vw,8.4rem)!important;}
.summer-gallery-section .dynamic-gallery{grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:clamp(180px,18vw,270px);}
.summer-gallery-section .gallery-thumb{border-radius:18px;}
@media(max-width:760px){.summer-gallery-section .dynamic-gallery{grid-template-columns:1fr;grid-auto-rows:220px;}.summer-gallery-section .gallery-thumb:first-child{grid-row:span 1;}}

/* Stage 32: compact Archipelago Sea weather glass widget. Scrolls with hero/content, not fixed to viewport. */
.hero{position:relative;}
.aava-weather-now{
  position:absolute;
  z-index:24;
  right:clamp(14px,3vw,42px);
  top:clamp(86px,10vh,122px);
  width:min(286px,calc(100vw - 32px));
  color:#f8ffff;
  background:linear-gradient(135deg,rgba(5,24,34,.38),rgba(10,74,94,.23));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 54px rgba(2,20,28,.18), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(16px) saturate(1.25);
  -webkit-backdrop-filter:blur(16px) saturate(1.25);
  border-radius:18px;
  padding:9px 10px 8px;
  display:grid;
  gap:7px;
  transform:translate3d(0,-6px,0);
  opacity:0;
  pointer-events:none;
  transition:opacity .5s ease,transform .5s cubic-bezier(.19,1,.22,1),background .3s ease;
}
.aava-weather-now.is-visible{opacity:1;transform:none;pointer-events:auto;}
.aava-weather-now:hover{background:linear-gradient(135deg,rgba(5,24,34,.48),rgba(10,74,94,.31));}
.aava-weather-now__top{display:grid;grid-template-columns:1fr 40px;align-items:center;gap:8px;}
.aava-weather-now__title{display:grid;gap:1px;min-width:0;}
.aava-weather-now__title strong{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.08;color:rgba(255,255,255,.93);white-space:normal;}
.aava-weather-now__title span{font-size:.68rem;color:rgba(232,255,253,.76);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aava-weather-now__icon{width:40px;height:40px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.94),rgba(255,234,158,.74) 32%,rgba(120,199,189,.25) 66%,rgba(255,255,255,.10));box-shadow:0 9px 22px rgba(0,0,0,.16);}
.aava-weather-now__icon svg{width:26px;height:26px;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.13));}
.aava-weather-now__data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
.aava-weather-now__metric{border-radius:12px;background:rgba(255,255,255,.115);border:1px solid rgba(255,255,255,.14);padding:6px 7px;min-width:0;}
.aava-weather-now__metric b{display:block;font-size:.96rem;line-height:1.02;letter-spacing:-.025em;color:#fff;white-space:nowrap;}
.aava-weather-now__metric span{display:block;margin-top:3px;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(235,255,252,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aava-weather-now__winddir{display:inline-flex;align-items:center;gap:4px;}
.aava-weather-now__arrow{width:13px;height:13px;display:inline-block;transform:rotate(var(--wind-deg,0deg));transform-origin:50% 50%;}
.aava-weather-now__arrow svg{width:13px;height:13px;display:block;}
.aava-weather-now__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.58rem;line-height:1.2;color:rgba(232,255,253,.72);}
.aava-weather-now__foot a{color:#b7fff8;text-decoration:none;font-weight:900;}
.aava-weather-now__foot a:hover{text-decoration:underline;text-underline-offset:3px;}
.aava-weather-now__close{display:none;appearance:none;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;width:28px;height:28px;font-weight:900;cursor:pointer;}
@media (max-width:1000px){
  .aava-weather-now{top:96px;right:14px;width:min(268px,calc(100vw - 28px));}
  .aava-weather-now__title strong{font-size:.58rem;}
  .aava-weather-now__metric b{font-size:.9rem;}
}
@media (max-width:760px){
  .aava-weather-now{position:relative;top:auto;right:auto;width:auto;margin:16px clamp(16px,5vw,28px) 0;border-radius:17px;}
  .aava-weather-now__close{display:grid;place-items:center;position:absolute;right:8px;top:8px;}
  .aava-weather-now__top{grid-template-columns:1fr 40px;padding-right:28px;}
}
@media (max-width:430px){
  .aava-weather-now__data{grid-template-columns:1fr 1fr 1fr;}
  .aava-weather-now__metric{padding:6px 5px;}
  .aava-weather-now__metric b{font-size:.86rem;}
  .aava-weather-now__metric span{font-size:.49rem;}
  .aava-weather-now__foot{font-size:.55rem;}
}
@media (prefers-reduced-motion:reduce){.aava-weather-now{transition:none}}


/* STAGE 33: hard fix for desktop overflow, right-side blue gutter and too-pale page photo */
:root{
  --stage33-page-photo:url('/images/xs-aavameri-presentation/images_cube-6.webp');
}
*,*::before,*::after{box-sizing:border-box;}
html,body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:clip!important;
}
@supports not (overflow:clip){html,body{overflow-x:hidden!important;}}
body{
  background:#fbfff9!important;
}
body::before,
.home-page::before{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.14) 42%,rgba(255,255,255,.22) 100%),
    var(--stage30-page-photo, var(--stage33-page-photo))!important;
  background-size:cover!important;
  background-position:center center!important;
  background-attachment:fixed!important;
  filter:saturate(1.14) brightness(.99) contrast(1.08)!important;
  opacity:1!important;
}
main,
section,
.inner,
.choice-showcase-inner,
.home-page main,
.home-page section{
  max-width:100%!important;
  min-width:0!important;
}
.home-page main>section:not(.hero):not(.home-edge-band-section){
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.12))!important;
}
.home-page .choice-intro,
.home-page .hero-panel,
.home-page .summary-box,
.home-page .product-panel,
.home-page .resource-card,
.home-page .manual-card,
.home-page .accommodation-card,
.home-page .booking-card,
.home-page .review-card,
.home-page .card{
  background-color:rgba(255,255,255,.66)!important;
}
.archipelago-awe{
  overflow:clip!important;
  max-width:100vw!important;
  background:transparent!important;
  isolation:isolate!important;
}
.archipelago-awe::before{
  inset:0!important;
  background:url('/images/xs-aavameri-presentation/images_cube-6.webp') center center/cover fixed!important;
  opacity:.58!important;
  filter:saturate(1.14) contrast(1.08) brightness(.96)!important;
}
.archipelago-awe::after{
  inset:0!important;
  background:
    radial-gradient(circle at 14% 24%,rgba(82,227,211,.18),transparent 32%),
    linear-gradient(90deg,rgba(251,255,249,.72) 0%,rgba(251,255,249,.38) 50%,rgba(251,255,249,.20) 100%)!important;
}
.archipelago-awe .inner{
  width:min(var(--max),calc(100vw - 2 * var(--gutter)))!important;
  max-width:calc(100vw - 2 * var(--gutter))!important;
  min-width:0!important;
  margin-inline:auto!important;
  overflow:visible!important;
}
.awe-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  gap:clamp(22px,3.7vw,56px)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  align-items:center!important;
}
.awe-copy{min-width:0!important;max-width:100%!important;}
.awe-copy .title{
  font-size:clamp(3rem,5.3vw,6.55rem)!important;
  line-height:.88!important;
  letter-spacing:-.07em!important;
  max-width:9.6ch!important;
}
.awe-copy .kicker{max-width:62ch!important;}
.awe-mosaic{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:min(100%,640px)!important;
  min-width:0!important;
  justify-self:end!important;
  overflow:visible!important;
}
.awe-mosaic div{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.70)!important;
}
.awe-mosaic strong{
  display:block!important;
  max-width:100%!important;
  font-size:clamp(2.15rem,3.7vw,5rem)!important;
  line-height:.88!important;
  letter-spacing:-.045em!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.awe-mosaic span{
  display:block!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
}
@media(max-width:1320px){
  .awe-grid{grid-template-columns:1fr!important;}
  .awe-copy .title{max-width:12ch!important;}
  .awe-mosaic{max-width:100%!important;justify-self:stretch!important;}
}
@media(max-width:760px){
  body::before,.home-page::before{background-attachment:scroll!important;}
  .archipelago-awe::before{background-attachment:scroll!important;opacity:.48!important;}
  .home-page main>section:not(.hero):not(.home-edge-band-section){background:rgba(255,255,255,.26)!important;}
  .awe-copy .title{font-size:clamp(2.7rem,14vw,5.2rem)!important;max-width:100%!important;}
  .awe-mosaic{grid-template-columns:1fr!important;}
}

/* Mobile gallery lightbox width and fixed page-photo background */
:root{
  --aava-fixed-page-photo:url('/images/xs-aavameri-presentation/images_cube-6.webp');
}
body::before,
.home-page::before{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,.18) 42%,rgba(255,255,255,.24) 100%),
    var(--aava-fixed-page-photo)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  filter:saturate(1.13) contrast(1.06) brightness(1.01)!important;
}
main>section:not(.hero):not(.home-edge-band-section):not(.booking-band):not(.footer){
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.24))!important;
}
.choice-intro,.summary-box,.product-panel,.resource-card,.manual-card,.accommodation-card,.booking-card,.review-card,.card,.time-card,.map-point,.product-facts-grid div,.included-details,.faq-accordion details{
  background-color:rgba(255,255,255,.76)!important;
}
@media(max-width:760px){
  body::before,
  .home-page::before{
    position:fixed!important;
    background-attachment:scroll!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .gallery-lightbox{
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .gallery-lightbox.is-open{
    opacity:1!important;
    visibility:visible!important;
  }
  .gallery-lightbox figure{
    position:absolute!important;
    inset:0!important;
    margin:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100svh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
  }
  .gallery-lightbox img{
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    height:auto!important;
    max-height:88svh!important;
    object-fit:contain!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .gallery-lightbox figcaption{
    position:absolute!important;
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    padding:10px 12px!important;
    border-radius:0!important;
    background:rgba(6,22,31,.64)!important;
    color:#fff!important;
    font-weight:800!important;
    backdrop-filter:blur(12px)!important;
  }
  .gallery-close,
  .gallery-prev,
  .gallery-next{
    position:absolute!important;
    z-index:4!important;
    border-radius:0!important;
    background:rgba(6,22,31,.54)!important;
    color:#fff!important;
    backdrop-filter:blur(12px)!important;
  }
  .gallery-close{right:0!important;top:0!important;width:54px!important;height:54px!important;}
  .gallery-prev,.gallery-next{top:50%!important;transform:translateY(-50%)!important;width:46px!important;height:76px!important;}
  .gallery-prev{left:0!important;}
  .gallery-next{right:0!important;}
  .gallery-counter{left:12px!important;bottom:12px!important;border-radius:0!important;background:rgba(6,22,31,.64)!important;}
}

/* STAGE 35: remove redundant hero scroll cue, move weather widget down, and use a real fixed full-screen page background layer */
.scroll-cue{display:none!important;}

.aava-page-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.15) 48%,rgba(255,255,255,.18) 100%),
    var(--aava-fixed-page-photo, url('/images/xs-aavameri-presentation/images_cube-6.webp'));
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  opacity:0;
  transition:opacity 900ms cubic-bezier(.19,1,.22,1);
  transform:translateZ(0);
}
body.has-fixed-page-bg .aava-page-bg{opacity:1;}
body.has-fixed-page-bg::before{opacity:0!important;}
body.has-fixed-page-bg{
  background:#f8fbf8!important;
}
body.has-fixed-page-bg main,
body.has-fixed-page-bg .footer,
body.has-fixed-page-bg .cookie-banner,
body.has-fixed-page-bg .voyage-menu,
body.has-fixed-page-bg .lightbox,
body.has-fixed-page-bg .gallery-lightbox{
  position:relative;
}
body.has-fixed-page-bg .aw-loader{position:fixed!important;inset:0!important;}
body.has-fixed-page-bg main{z-index:2;}
body.has-fixed-page-bg .footer{z-index:3;}
body.has-fixed-page-bg .aw-nav{z-index:1000;}
body.has-fixed-page-bg .hero{z-index:4;}
body.has-fixed-page-bg main>section:not(.hero):not(.home-edge-band-section):not(.booking-band):not(.footer){
  background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.18))!important;
}
body.has-fixed-page-bg .archipelago-awe{background:transparent!important;}
body.has-fixed-page-bg .archipelago-awe::before{display:none!important;}
body.has-fixed-page-bg .archipelago-awe::after{
  background:
    radial-gradient(circle at 14% 24%,rgba(82,227,211,.10),transparent 34%),
    linear-gradient(90deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,.30) 54%,rgba(255,255,255,.12) 100%)!important;
}
body.has-fixed-page-bg .choice-intro,
body.has-fixed-page-bg .summary-box,
body.has-fixed-page-bg .product-panel,
body.has-fixed-page-bg .resource-card,
body.has-fixed-page-bg .manual-card,
body.has-fixed-page-bg .accommodation-card,
body.has-fixed-page-bg .booking-card,
body.has-fixed-page-bg .review-card,
body.has-fixed-page-bg .card,
body.has-fixed-page-bg .time-card,
body.has-fixed-page-bg .map-point,
body.has-fixed-page-bg .product-facts-grid div,
body.has-fixed-page-bg .included-details,
body.has-fixed-page-bg .faq-accordion details{
  background-color:rgba(255,255,255,.72)!important;
}

/* move the compact weather widget down by about 20px while it remains inside the hero and scrolls with content */
.aava-weather-now{top:calc(clamp(86px,10vh,122px) + 20px)!important;}
@media(max-width:1000px){.aava-weather-now{top:116px!important;}}
@media(max-width:760px){.aava-weather-now{top:auto!important;margin-top:36px!important;}}

@media(max-width:760px){
  .aava-page-bg{position:fixed!important;background-attachment:scroll!important;}
}


/* Stage 36: unified gallery/lightbox safety fixes */
.gallery-lightbox.aava-gallery-v2{
  position:fixed!important;
  inset:0!important;
  z-index:120000!important;
  display:grid!important;
  grid-template-columns:minmax(44px,72px) minmax(0,1fr) minmax(44px,72px)!important;
  align-items:center!important;
  justify-items:center!important;
  background:rgba(2,9,14,.88)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  padding:clamp(10px,3vw,34px)!important;
  backdrop-filter:blur(18px);
}
.gallery-lightbox.aava-gallery-v2.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.gallery-lightbox.aava-gallery-v2 figure{grid-column:2;min-width:0;width:100%;height:min(86vh,900px);display:grid;place-items:center;margin:0;}
.gallery-lightbox.aava-gallery-v2 img{display:block;width:auto;max-width:100%;height:auto;max-height:86vh;object-fit:contain;border-radius:0!important;box-shadow:0 40px 120px rgba(0,0,0,.5);}
.gallery-lightbox.aava-gallery-v2 figcaption{position:absolute;left:clamp(14px,3vw,30px);bottom:clamp(12px,3vw,28px);color:#fff;background:rgba(6,22,31,.55);padding:10px 14px;border-radius:999px;font-weight:850;max-width:calc(100vw - 120px);}
.gallery-lightbox.aava-gallery-v2 .gallery-close{position:absolute!important;right:clamp(12px,2vw,24px)!important;top:clamp(12px,2vw,24px)!important;z-index:3;}
.gallery-lightbox.aava-gallery-v2 .gallery-prev,.gallery-lightbox.aava-gallery-v2 .gallery-next,.gallery-lightbox.aava-gallery-v2 .gallery-close{border:0;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;width:54px;height:54px;font-size:2rem;cursor:pointer;backdrop-filter:blur(12px);}
.gallery-lightbox.aava-gallery-v2 .gallery-prev{grid-column:1;}
.gallery-lightbox.aava-gallery-v2 .gallery-next{grid-column:3;}
@media(max-width:720px){
  .gallery-lightbox.aava-gallery-v2{display:block!important;padding:0!important;}
  .gallery-lightbox.aava-gallery-v2 figure{width:100vw!important;height:100vh!important;display:flex;align-items:center;justify-content:center;}
  .gallery-lightbox.aava-gallery-v2 img{width:100vw!important;max-width:100vw!important;max-height:88vh!important;border-radius:0!important;}
  .gallery-lightbox.aava-gallery-v2 .gallery-prev,.gallery-lightbox.aava-gallery-v2 .gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;}
  .gallery-lightbox.aava-gallery-v2 .gallery-prev{left:8px;}
  .gallery-lightbox.aava-gallery-v2 .gallery-next{right:8px;}
  .gallery-lightbox.aava-gallery-v2 figcaption{left:10px;right:10px;bottom:10px;max-width:none;text-align:center;border-radius:0;}
}

/* Codex 2026-06-05: guide newsletter, graphical self-guided calendar and home hero top alignment */
.home-page,body.home-page,html:has(body.home-page){margin-top:0!important;padding-top:0!important;}
body.home-page{background:#06161f!important;}
body.home-page::before{background-image:linear-gradient(180deg,rgba(5,13,18,.08),rgba(5,13,18,.24) 42%,rgba(5,13,18,.58)),url('/images/xs-aavameri-presentation/images_cube-5.webp')!important;background-position:center center!important;background-size:cover!important;top:0!important;}
.home-page main{display:block!important;margin-top:0!important;padding-top:0!important;position:relative!important;top:0!important;}
.home-page main>.hero:first-child,.home-page .hero:first-of-type{margin-top:0!important;top:0!important;min-height:100svh!important;transform:none!important;}
.home-page main>.hero:first-child::before,.home-page .hero:first-of-type::before{inset:0!important;top:0!important;background-position:var(--hero-pos)!important;}
body.home-page>.aava-page-bg{position:fixed!important;inset:0!important;margin:0!important;}
body.home-page>.aw-loader{position:fixed!important;inset:0!important;margin:0!important;}
body.home-page main>.hero:first-child{display:grid!important;position:relative!important;inset:auto!important;translate:none!important;}
body:not(.private-page),body:not(.private-page) main{margin-top:0!important;padding-top:0!important;}
body:not(.private-page) main{display:block!important;position:relative!important;top:0!important;}
body:not(.private-page) main>.hero:first-child,body:not(.private-page) main>.hero:first-of-type{margin-top:0!important;top:0!important;min-height:100svh!important;transform:none!important;}
body:not(.private-page) main>.hero:first-child::before,body:not(.private-page) main>.hero:first-of-type::before{inset:0!important;top:0!important;transform:none!important;background-position:var(--hero-pos)!important;}
.private-page .guide-card{min-height:0!important;color:#092935!important;padding:clamp(1rem,3vw,2rem)!important;background:rgba(255,255,255,.84)!important;border:1px solid rgba(5,75,90,.18)!important;border-radius:30px!important;box-shadow:0 28px 80px rgba(5,42,52,.17)!important;overflow:visible!important}

.calendar-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.calendar-nav a,.newsletter-campaigns a{display:inline-flex;gap:6px;align-items:center;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(8,95,112,.14);padding:10px 13px;font-weight:850;color:#0b3d4a;text-decoration:none}
.booking-calendar{margin-top:18px;overflow-x:auto;padding:10px;border-radius:24px;background:rgba(255,255,255,.58);border:1px solid rgba(8,95,112,.12)}
.calendar-head,.calendar-lane{display:grid;grid-template-columns:repeat(var(--days),minmax(48px,1fr));gap:4px;min-width:calc(var(--days) * 54px)}
.calendar-head div{min-height:54px;padding:8px 6px;border-radius:12px;background:rgba(255,255,255,.82);border:1px solid rgba(8,95,112,.08);font-size:.78rem;color:#31515a}
.calendar-head b,.calendar-head span{display:block}.calendar-head .is-today{background:#06161f;color:#fff}
.calendar-lane{min-height:54px;margin-top:6px;align-items:center}
.calendar-lane::before{content:"";grid-column:1/-1;grid-row:1;height:42px;border-radius:14px;background:rgba(255,255,255,.32);border:1px dashed rgba(8,95,112,.10)}
.calendar-booking{grid-row:1;z-index:2;min-width:0;display:block;padding:9px 11px;border-radius:14px;background:linear-gradient(135deg,#ed1c24,#b7141a);color:#fff;box-shadow:0 12px 28px rgba(237,28,36,.22);text-decoration:none;overflow:hidden}
.calendar-booking strong,.calendar-booking span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-booking span{font-size:.72rem;opacity:.86}
.calendar-booking--google{background:linear-gradient(135deg,#087b89,#0b5367);box-shadow:0 12px 28px rgba(8,123,137,.22)}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:.6rem 0 0}.calendar-legend span{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;color:#fff;font-weight:850;font-size:.82rem}.calendar-legend-booking{background:#ed1c24}.calendar-legend-google{background:#087b89}.calendar-legend em{color:rgba(9,41,53,.65);font-style:normal;font-size:.9rem}
.calendar-source-settings{margin-top:14px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.56);border:1px solid rgba(8,95,112,.10)}.calendar-source-settings summary{cursor:pointer;font-weight:900;color:#0b3d4a}.calendar-source-settings input[type="url"]{min-width:min(100%,520px)}
.guide-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.guide-toolbar input[type="text"],.guide-toolbar input:not([type]){min-width:min(100%,360px)}
.guide-result{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(8,95,112,.10);margin-top:10px}
.detail-section{margin-top:18px}.detail-section h3{font-family:var(--serif);font-size:1.8rem;letter-spacing:-.035em}.detail-item{padding:14px;border-radius:16px;background:rgba(255,255,255,.76);border:1px solid rgba(8,95,112,.10);white-space:pre-wrap}.detail-item b{display:block;color:#126b79;margin-bottom:4px}

.newsletter-admin .private-shell{max-width:1220px}
.newsletter-recipient-form{margin-bottom:18px}.newsletter-table{display:grid;gap:8px;margin-top:16px}.newsletter-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 110px auto auto;gap:10px;align-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(8,95,112,.10)}
.newsletter-row span,.newsletter-campaigns span{display:block;color:#536f77;font-size:.9rem}.newsletter-row em{font-style:normal;text-transform:capitalize;color:#38545c}.guide-button.danger{background:#7d1015;color:#fff}
.newsletter-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 10px}.newsletter-toolbar button,.guide-button{border:0;border-radius:999px;background:#06161f;color:#fff;padding:10px 14px;font-weight:850;cursor:pointer}
.newsletter-editor{min-height:360px;padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(8,95,112,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);line-height:1.65}
.newsletter-editor:focus{outline:3px solid rgba(82,227,211,.42);outline-offset:3px}.newsletter-preview{margin-top:18px}
.email-shell{max-width:720px;border-radius:24px;overflow:hidden;background:#fffdf7;border:1px solid #d8ebe8;box-shadow:0 26px 70px rgba(7,23,29,.14)}
.email-head{background:#06161f;color:#fff;padding:28px}.email-head img{width:92px;margin-bottom:18px}.email-head span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#52e3d3;font-weight:800}.email-head h2{font-family:var(--serif);font-size:34px;line-height:1;margin:8px 0}.email-head p{color:rgba(255,255,255,.72)}
.email-body{padding:30px;font-size:16px;line-height:1.68}.email-foot{background:#f1f8f6;padding:24px 30px;color:#34555d;font-size:13px;line-height:1.55}
.newsletter-campaigns{display:grid;gap:8px;margin-top:20px}.newsletter-campaigns a{justify-content:space-between;border-radius:18px}
.newsletter-notice{background:linear-gradient(135deg,#e7fff9,#fffdf7)}

/* Codex 2026-06-05: contrast and third-party widget reliability fixes */
.booking-card .panel-copy{color:#2f5158!important;}
.booking-card .btn.secondary{background:rgba(255,255,255,.92)!important;color:#06161f!important;box-shadow:inset 0 0 0 1px rgba(7,23,29,.16),0 12px 28px rgba(7,23,29,.08)!important;}
.contact-modern aside,.contact-modern .kicker,.contact-modern .contact-action,.contact-modern .contact-action small{color:#0b2f3a!important;}
.contact-modern .contact-action{background:rgba(255,255,255,.82)!important;border:1px solid rgba(8,95,112,.14)!important;box-shadow:0 18px 45px rgba(5,42,52,.10)!important;text-decoration:none!important;}
.contact-modern .contact-action:hover{background:#fff!important;}
.contact-modern .contact-action small{opacity:.82!important;}
.aava-booking-widget__embed--johku{min-height:680px!important;overflow:visible!important;}
.aava-booking-widget__embed--johku johku-widget{display:block!important;min-height:680px!important;width:100%!important;}
.aava-widget-fallback{display:block;margin:12px 8px 18px;color:#06161f!important;font-weight:900;text-decoration:underline;text-underline-offset:3px;}
.product-layout>.booking-card{align-self:start!important;}
.product-layout>.booking-card .booking-widget-shell--active{margin:18px 0 14px!important;border-radius:28px!important;}
#rental .product-intent-grid{grid-template-columns:1fr!important;}
#rental .intent-copy{max-width:980px!important;}
#rental .johku-embed-shell{grid-column:1/-1!important;width:100%!important;max-width:none!important;}
#rental .johku-embed-shell>.booking-widget-shell--active{width:100%!important;}
#rental .aava-booking-widget__embed--johku,#rental .aava-booking-widget__embed--johku johku-widget{min-height:760px!important;}
.self-guided-edit-form .detail-section{margin-top:14px}.self-guided-edit-form .aava-form-grid{align-items:start}.self-guided-edit-form textarea{min-height:112px}.calendar-nav .aava-secondary{margin:0}
@media(max-width:760px){.section-head{display:block}.calendar-nav{justify-content:flex-start;margin-top:12px}.guide-result,.newsletter-row{grid-template-columns:1fr}.newsletter-editor{min-height:280px}.calendar-head,.calendar-lane{grid-template-columns:repeat(var(--days),minmax(42px,1fr));min-width:calc(var(--days) * 48px)}.private-card .aava-secondary{display:block;margin:.4rem 0!important}.self-guided-edit-form .form-actions>*{width:100%;text-align:center}}

/* Codex 2026-06-05: reusable Bokun/Johku booking widget presentation */
.booking-widget-shell--active{padding:0!important;overflow:hidden!important;background:linear-gradient(155deg,rgba(6,22,31,.98),rgba(10,70,83,.96))!important}
.booking-widget-shell--active::before{content:none!important}
.aava-booking-widget{display:grid;gap:16px;padding:18px;color:#fff}
.aava-booking-widget__head{display:grid;gap:8px;padding:8px 8px 0}
.aava-booking-widget__head span{color:#52e3d3;font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.aava-booking-widget__head h2{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.4rem);line-height:.92;letter-spacing:-.045em;margin:0;color:#fff}
.aava-booking-widget__head p,.aava-booking-widget__note{margin:0;color:rgba(255,255,255,.75);line-height:1.55}
.aava-booking-widget__embed{min-height:440px;border-radius:24px;background:#fff;overflow:hidden;border:1px solid rgba(255,255,255,.24);box-shadow:0 22px 70px rgba(0,0,0,.22)}
.aava-booking-widget__embed .bokunWidget{min-height:440px;width:100%;background:#fff;color:#06161f}
.aava-booking-widget__embed johku-widget{display:block;min-height:520px;width:100%;background:#fff;color:#06161f}
.aava-booking-widget__embed--johku{min-height:520px;padding:0;background:#fff}
.aava-booking-widget__embed--johku .card-columns{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.aava-booking-widget__embed noscript{display:block;padding:22px;color:#06161f;font-weight:850}
.aava-booking-widget__note{padding:0 8px 8px;font-size:.9rem}
.summary-box .booking-widget-shell--active{margin:16px 0;border-radius:28px;box-shadow:0 24px 70px rgba(7,23,29,.14)}
.aava-gift-section .section-head{align-items:end}.aava-gift-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:start}.aava-gift-card{border-radius:30px;background:linear-gradient(155deg,rgba(6,22,31,.98),rgba(10,70,83,.96));box-shadow:0 28px 80px rgba(7,23,29,.16);overflow:hidden;color:#fff}.aava-gift-card--value{background:linear-gradient(155deg,rgba(8,50,62,.96),rgba(15,108,119,.9))}.aava-gift-card .aava-booking-widget__embed{min-height:390px}.aava-gift-card--value .aava-booking-widget__embed{min-height:320px}.aava-gift-card .bokunWidget{min-height:inherit}.footer-gift-link{margin-top:16px}.footer-gift-link a{display:inline-flex!important;align-items:center;justify-content:center;border-radius:999px;padding:10px 14px;background:rgba(82,227,211,.14);border:1px solid rgba(82,227,211,.24);color:#fff!important;font-weight:850}
.kiosk-basket{left:20px!important;right:auto!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(6,22,31,.2)!important}
.kiosk-basket .basket-button{border-radius:999px!important;background:#0291d7!important;font-weight:850!important}
.kiosk-basket .btn,.basket-dialog .btn,.handoff-content .btn,.order-content .btn{border-radius:999px!important;border-color:transparent!important;font-weight:850!important}
.kiosk-basket .btn-primary,.kiosk-basket .btn-primary:hover,.btn-success,.btn-success:hover,.btn-primary,.btn-primary:hover{background-color:#0291d7!important;border-color:#0291d7!important}
.card .price,.card-title{background-color:#0291d7}
.basket-dialog .modal:not(.seatmap-modal) .modal-footer .btn,.handoff-content .modal:not(.seatmap-modal) .modal-footer .btn,.order-content .modal:not(.seatmap-modal) .modal-footer .btn{color:#06161f!important;filter:none!important;opacity:.78!important;background:#f5fbfa!important}
.basket-dialog .modal:not(.seatmap-modal) .modal-footer .btn:after,.handoff-content .modal:not(.seatmap-modal) .modal-footer .btn:after,.order-content .modal:not(.seatmap-modal) .modal-footer .btn:after{background-color:#fff!important;right:10px;top:10px}
@media(max-width:760px){.aava-booking-widget{padding:14px}.aava-booking-widget__embed,.aava-booking-widget__embed .bokunWidget,.aava-booking-widget__embed johku-widget{min-height:520px}.summary-box .booking-widget-shell--active{margin:14px 0}.aava-gift-grid{grid-template-columns:1fr}.kiosk-basket{left:10px!important;right:10px!important}}

/* Stage 47: unified self-guided Johku overlay */
.booking-inline-cta--overlay{margin-top:18px;padding:18px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(222,244,240,.78));border:1px solid rgba(8,95,112,.12);box-shadow:0 18px 45px rgba(7,23,29,.09);display:grid;gap:12px;color:#082531}
.booking-card .booking-inline-cta--overlay,.summary-box .booking-inline-cta--overlay{background:linear-gradient(155deg,rgba(6,22,31,.98),rgba(10,70,83,.96));color:#fff;border-color:rgba(255,255,255,.16);box-shadow:0 26px 80px rgba(7,23,29,.18)}
.booking-inline-cta--overlay h3{margin:0;font-family:var(--serif);font-size:clamp(1.55rem,2.3vw,2.4rem);line-height:1;letter-spacing:-.04em;color:inherit}
.booking-inline-cta--overlay p{margin:0;line-height:1.55;color:color-mix(in srgb,currentColor 74%,transparent)}
.booking-inline-cta--overlay .btn{justify-self:start;margin-top:4px}
.aava-booking-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:clamp(10px,2vw,28px);opacity:0;visibility:hidden;transition:opacity .26s var(--ease),visibility .26s var(--ease)}
.aava-booking-modal:not([hidden]).is-open{opacity:1;visibility:visible}
.aava-booking-modal__scrim{position:absolute;inset:0;background:rgba(2,13,20,.70);backdrop-filter:blur(22px) saturate(1.04)}
.aava-booking-modal__dialog{position:relative;width:min(980px,calc(100vw - 24px));max-height:min(92vh,980px);overflow:auto;border-radius:34px;background:linear-gradient(155deg,rgba(6,22,31,.99),rgba(10,70,83,.98));box-shadow:0 46px 150px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.16);color:#fff}
.aava-booking-modal__close{position:sticky;top:12px;float:right;z-index:3;margin:12px 12px 0 0;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;font-size:2rem;line-height:1;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.aava-booking-widget--modal{padding:clamp(16px,2.5vw,28px)!important;clear:both}
.aava-booking-widget--modal .aava-booking-widget__embed{min-height:560px;border-radius:26px}
body.aava-modal-open{overflow:hidden}
@media(max-width:760px){.aava-booking-modal{padding:0}.aava-booking-modal__dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.aava-booking-modal__close{top:8px;margin:8px 8px 0 0}.aava-booking-widget--modal{padding:14px!important}.aava-booking-widget--modal .aava-booking-widget__head h2{font-size:clamp(1.8rem,10vw,3rem)}.aava-booking-widget--modal .aava-booking-widget__embed{min-height:calc(100vh - 260px);border-radius:18px}}

/* Stage 49: loader, Aavameri map markers and shared contact dialog */
.loader-mark,
.aw-loader .loader-mark{
  width:min(300px,72vw);
  height:min(300px,72vw);
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.loader-mark::before{
  width:86%;
  height:86%;
  border:2px solid rgba(82,227,211,.42);
  border-top-color:transparent;
  border-radius:50%;
  background:none;
  animation:loaderOrbit 1.7s linear infinite;
}
.loader-mark::after{content:none}
.loader-mark img{
  width:252px;
  max-width:84%;
  filter:drop-shadow(0 18px 38px rgba(0,0,0,.34));
  animation:loaderFloat 1.25s ease-in-out infinite alternate;
}
@keyframes loaderOrbit{to{transform:rotate(1turn)}}
@keyframes loaderFloat{to{transform:translateY(-9px) scale(1.035)}}

.aava-marker.logo{
  width:54px;
  height:54px;
  padding:6px;
  border-radius:50% 50% 50% 14px;
  background:rgba(255,255,255,.96);
  border:3px solid #fff;
  box-shadow:0 18px 42px rgba(0,105,118,.35),0 0 0 6px rgba(82,227,211,.2);
}
.aava-marker.logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  transform:rotate(45deg);
}

.aava-contact-modal{
  position:fixed;
  inset:0;
  z-index:130000;
  display:grid;
  place-items:center;
  padding:clamp(12px,3vw,34px);
  opacity:0;
  visibility:hidden;
  transition:opacity .24s var(--ease),visibility .24s var(--ease);
}
.aava-contact-modal[hidden]{display:none}
.aava-contact-modal.is-open{opacity:1;visibility:visible}
.aava-contact-modal__scrim{position:absolute;inset:0;background:rgba(2,13,20,.72);backdrop-filter:blur(20px)}
.aava-contact-modal__dialog{
  position:relative;
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  width:min(1080px,calc(100vw - 28px));
  max-height:min(92vh,920px);
  overflow:auto;
  border:1px solid rgba(255,255,255,.2);
  border-radius:8px;
  background:#f5fbf8;
  box-shadow:0 42px 140px rgba(0,0,0,.5);
}
.aava-contact-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:#06161f;
  color:#fff;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}
.aava-contact-modal__intro{
  padding:clamp(30px,5vw,62px);
  color:#fff;
  background:linear-gradient(155deg,#06161f,#0b5664);
}
.aava-contact-modal__intro .eyebrow{color:#52e3d3}
.aava-contact-modal__intro h2{
  margin:18px 0;
  font-family:var(--serif);
  font-size:clamp(2.2rem,4vw,4.7rem);
  line-height:.92;
  letter-spacing:-.045em;
}
.aava-contact-modal__intro p{color:rgba(255,255,255,.78);line-height:1.65}
.aava-contact-whatsapp{
  display:inline-flex;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  color:#fff;
  font-weight:850;
  background:rgba(255,255,255,.1);
}
.aava-contact-direct{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.aava-contact-phone{
  display:inline-flex;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  color:#fff;
  font-weight:850;
  background:rgba(255,255,255,.1);
}
.footer-contact{display:grid;justify-items:start;gap:8px;margin-top:16px}
.footer-contact h3{margin:0 0 2px;font:inherit;font-weight:900;color:inherit}
.footer-contact a{display:inline-flex;align-items:center;min-height:34px;color:inherit;font-weight:800}
.aava-contact-form{padding:clamp(30px,4vw,52px)}
.aava-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.aava-contact-grid label{display:grid;gap:7px;color:#173b45;font-weight:800}
.aava-contact-grid label>span{font-size:.86rem}
.aava-contact-grid small{color:#a51720;font-size:.7rem;text-transform:uppercase}
.aava-contact-grid input,
.aava-contact-grid select,
.aava-contact-grid textarea{
  width:100%;
  min-height:48px;
  padding:12px 13px;
  border:1px solid rgba(8,95,112,.22);
  border-radius:6px;
  background:#fff;
  color:#07171d;
}
.aava-contact-grid textarea{resize:vertical}
.aava-contact-message{grid-column:1/-1}
.aava-contact-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}
.aava-contact-copy{display:flex;align-items:center;gap:9px;color:#294953;font-weight:750}
.aava-contact-copy input{width:20px;height:20px;accent-color:#126b79}
.aava-contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.aava-contact-open{overflow:hidden}
.aava-contact-notice{
  position:fixed;
  z-index:140000;
  right:18px;
  bottom:18px;
  max-width:min(430px,calc(100vw - 36px));
  padding:16px 18px;
  border-radius:6px;
  background:#075d46;
  color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  font-weight:800;
}
.aava-contact-notice.is-error{background:#9d1820}

.satava-course-banner{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#06161f;
}
.satava-course-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,22,31,.98) 0%,rgba(6,22,31,.78) 54%,rgba(6,22,31,.2)),url('/images/aavameri-galleries/satava/aavameri_satava7.jpg') center/cover;
}
.satava-course-banner .inner{position:relative;z-index:1;padding-block:clamp(48px,8vw,94px)}
.satava-course-banner .eyebrow{color:#52e3d3}
.satava-course-banner h2{max-width:850px;margin:14px 0;font-family:var(--serif);font-size:clamp(2.7rem,6vw,6.8rem);line-height:.88;letter-spacing:-.055em}
.satava-course-banner p{max-width:62ch;color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.6}

@media(max-width:760px){
  .loader-mark,.aw-loader .loader-mark{width:min(250px,74vw);height:min(250px,74vw)}
  .loader-mark img{width:220px}
  .aava-contact-modal{padding:0}
  .aava-contact-modal__dialog{grid-template-columns:1fr;width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}
  .aava-contact-modal__intro{padding:70px 20px 28px}
  .aava-contact-form{padding:24px 20px 34px}
  .aava-contact-grid{grid-template-columns:1fr}
  .aava-contact-message{grid-column:auto}
  .aava-contact-actions{align-items:stretch;flex-direction:column}
  .aava-contact-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .loader-mark::before,.loader-mark img{animation:none!important}
}
/* Stage 50: private customer photo albums */
.album-header-actions{padding:1rem}.album-admin-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:18px;align-items:start}.album-workspace{display:grid;gap:18px;min-width:0}.album-sidebar{position:sticky;top:18px}.album-list{display:grid;gap:8px;margin-top:16px}.album-list a{display:grid;gap:4px;padding:12px;border:1px solid rgba(8,95,112,.15);border-radius:8px;background:rgba(255,255,255,.72);color:#08212b}.album-list a:hover,.album-list a.is-active{border-color:#08768a;background:#eafafd}.album-list span{font-size:.82rem;color:#526b73}.album-share-card{background:#eefbfc}.album-share-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.album-share-row input{width:100%;min-width:0;padding:12px;border:1px solid rgba(8,95,112,.2);border-radius:6px;background:#fff;color:#08212b}.album-drop-field{position:relative;min-height:150px;border:2px dashed rgba(8,95,112,.28);border-radius:8px;background:#f3fbfc}.album-drop-field input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.album-drop-field label{min-height:150px;display:grid;place-content:center;gap:6px;text-align:center;padding:20px;color:#12343d}.album-drop-field strong{font-size:1.15rem}.album-drop-field span{font-size:.86rem}.album-admin-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.album-admin-gallery article{min-width:0;border:1px solid rgba(8,95,112,.14);border-radius:8px;overflow:hidden;background:#fff}.album-admin-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.album-admin-gallery article>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px}.album-admin-gallery span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.album-admin-gallery button{border:0;background:transparent;color:#a20e20;cursor:pointer}.album-danger-zone{border-color:rgba(162,14,32,.24)}.customer-album-page{margin:0;background:#edf5f4;color:#08212b}.customer-album-shell{width:min(1500px,100%);margin:auto;padding:clamp(18px,3vw,44px)}.customer-album-header{padding:clamp(24px,5vw,70px) 0 32px}.customer-album-header>img{width:120px;height:120px;object-fit:contain}.customer-album-header>span{display:block;margin-top:14px;color:#08768a;font-weight:800;text-transform:uppercase}.customer-album-header h1{max-width:900px;margin:8px 0 12px;font-size:clamp(2.2rem,6vw,5.5rem);line-height:.96}.customer-album-header p{font-weight:750}.customer-album-note{max-width:760px;margin-top:22px;padding:18px 20px;border-left:4px solid #08768a;background:#fff;line-height:1.65}.customer-album-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid rgba(8,33,43,.15)}.customer-album-toolbar a,.customer-album-grid figcaption a{color:#08768a;font-weight:800}.customer-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-album-grid figure{margin:0;min-width:0;border-radius:8px;overflow:hidden;background:#fff}.customer-album-grid figure>a{display:block}.customer-album-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.customer-album-grid figcaption{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;font-size:.82rem}.customer-album-grid figcaption span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-album-empty{padding:40px 0}.customer-album-shell>footer{margin-top:40px;padding:22px 0;border-top:1px solid rgba(8,33,43,.15);font-size:.8rem;color:#526b73}
@media(max-width:900px){.album-admin-grid{grid-template-columns:1fr}.album-sidebar{position:static}.album-admin-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.album-share-row{grid-template-columns:1fr 1fr}.album-share-row input{grid-column:1/-1}.album-admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-album-shell{padding:16px}.customer-album-header{padding-top:22px}.customer-album-header>img{width:88px;height:88px}.customer-album-grid{grid-template-columns:1fr}.customer-album-toolbar{align-items:flex-start;flex-direction:column}}
/* Stage 51: album upload flow and drag-and-drop */
.album-drop-field{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.album-drop-field.is-dragover{border-color:#08768a;background:#dff7f8;box-shadow:0 0 0 5px rgba(8,118,138,.12)}.album-file-selection{margin:8px 0 16px;color:#526b73;font-size:.86rem;overflow-wrap:anywhere}

/* Stage 52: guide navigation, fixed guide watermark and customer album slideshow */
.private-page::before{content:""!important;position:fixed!important;inset:auto!important;z-index:0!important;left:50%!important;top:50%!important;width:min(500px,72vw)!important;height:min(500px,72vw)!important;transform:translate(-50%,-50%)!important;background:url('/assets/img/aavameri-watermark.png') center/contain no-repeat!important;background-attachment:scroll!important;filter:none!important;opacity:.07!important;pointer-events:none!important}.private-page .private-shell{position:relative;z-index:1;padding-top:5rem}.guide-public-home{position:fixed;z-index:30;left:18px;top:16px;display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(8,95,112,.18);border-radius:8px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(7,23,29,.12);color:#083643;font-weight:850;text-decoration:none;backdrop-filter:blur(12px)}.guide-public-home span{display:grid;place-items:center;width:24px;height:24px;font-size:1.5rem;line-height:1}.album-watermark-settings>strong{color:#083643}.customer-album-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.customer-album-lightbox{position:fixed;inset:0;z-index:10050;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;place-items:center;padding:clamp(12px,3vw,36px);background:rgba(2,9,14,.9);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.customer-album-lightbox.is-open{opacity:1;visibility:visible}.customer-album-lightbox figure{grid-column:2;margin:0;max-width:100%;max-height:90vh;display:grid;gap:10px;justify-items:center}.customer-album-lightbox figure img{display:block;max-width:100%;max-height:82vh;border-radius:8px;object-fit:contain;box-shadow:0 30px 100px rgba(0,0,0,.5)}.customer-album-lightbox figcaption{width:100%;display:flex;justify-content:space-between;gap:16px;color:#fff}.customer-album-lightbox figcaption a{color:#a9fff6;font-weight:850}.customer-album-close,.customer-album-prev,.customer-album-next{border:0;border-radius:50%;width:52px;height:52px;background:rgba(255,255,255,.14);color:#fff;font-size:2rem;cursor:pointer;backdrop-filter:blur(10px)}.customer-album-close{position:absolute;right:20px;top:20px}.customer-album-prev{grid-column:1}.customer-album-next{grid-column:3}.customer-album-counter{position:absolute;left:20px;bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.48);color:#fff;font-weight:800}
@media(max-width:700px){.private-page .private-shell{padding-top:5.4rem}.guide-public-home{position:absolute;max-width:calc(100% - 36px)}.customer-album-lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:8px}.customer-album-prev,.customer-album-next{width:42px;height:42px}.customer-album-close{right:10px;top:10px}.customer-album-counter{left:10px;bottom:10px}.customer-album-lightbox figure img{max-height:76vh}}
.google-event-editor{margin:18px 0;padding:18px;border:1px solid rgba(8,95,112,.18);border-radius:8px;background:#f2fbfb}.google-event-editor form{display:grid;gap:12px}.google-event-editor .form-actions{justify-content:flex-start}.calendar-refresh-form{display:flex;align-items:center;gap:12px;margin:14px 0}.calendar-booking--google{text-decoration:none}.aava-secondary.danger{border-color:rgba(162,14,32,.32);color:#8c101d}

/* Stage 55: Aavameri method flow */
.aava-method-flow{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 20%,rgba(208,55,64,.16),transparent 27%),
    radial-gradient(circle at 86% 78%,rgba(64,201,214,.14),transparent 30%),
    linear-gradient(145deg,#03161f 0%,#073444 48%,#041f2c 100%)!important;
}
.aava-method-flow::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background:
    repeating-linear-gradient(112deg,transparent 0 54px,rgba(255,255,255,.025) 55px 56px),
    linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%,rgba(0,0,0,.16));
}
.aava-method-flow .inner{position:relative;z-index:1}
.aava-method-flow .title{max-width:900px}
.aava-method-flow .kicker{max-width:790px;color:rgba(255,255,255,.78)}
.aava-method-flow .method-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:42px;
  isolation:isolate;
}
.aava-method-flow .method-grid::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:42px;
  left:5%;
  right:5%;
  height:2px;
  background:linear-gradient(90deg,#f0555d,#50d8cd 34%,#4da6e4 68%,#9deeff);
  box-shadow:0 0 18px rgba(91,220,224,.45);
}
.aava-method-flow .method-card{
  --method-accent:#f0555d;
  --method-rgb:240,85,93;
  position:relative;
  min-width:0;
  min-height:300px;
  padding:24px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(var(--method-rgb),.42)!important;
  border-radius:8px!important;
  color:#fff!important;
  background:
    linear-gradient(155deg,rgba(var(--method-rgb),.23),transparent 44%),
    linear-gradient(145deg,rgba(10,48,61,.98),rgba(3,24,34,.98))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 20px 50px rgba(2,20,29,.34),
    0 0 0 1px rgba(255,255,255,.025);
  outline:0;
  transform:translateZ(0);
  transition:transform .36s cubic-bezier(.2,.75,.25,1),border-color .3s ease,box-shadow .36s ease;
}
.aava-method-flow .method-card--weather{--method-accent:#50d8cd;--method-rgb:80,216,205}
.aava-method-flow .method-card--route{--method-accent:#4da6e4;--method-rgb:77,166,228}
.aava-method-flow .method-card--sea{--method-accent:#9deeff;--method-rgb:157,238,255}
.aava-method-flow .method-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.8;
  background:
    radial-gradient(circle at 82% 12%,rgba(var(--method-rgb),.25),transparent 30%),
    linear-gradient(90deg,var(--method-accent),transparent 72%) top/100% 3px no-repeat;
  transition:opacity .3s ease,filter .3s ease;
}
.aava-method-flow .method-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:150px;
  height:150px;
  right:-55px;
  bottom:-60px;
  border:1px solid rgba(var(--method-rgb),.26);
  border-radius:50%;
  box-shadow:0 0 0 22px rgba(var(--method-rgb),.035),0 0 0 48px rgba(var(--method-rgb),.025);
  transition:transform .45s ease;
}
.aava-method-flow .method-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:68px;
  gap:16px;
}
.aava-method-flow .method-step{
  display:block;
  color:var(--method-accent)!important;
  font:800 clamp(2.5rem,4vw,4.5rem)/1 var(--serif);
  letter-spacing:0;
  text-shadow:0 0 24px rgba(var(--method-rgb),.3);
}
.aava-method-flow .method-icon{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  flex:0 0 62px;
  border:1px solid rgba(var(--method-rgb),.44);
  border-radius:50%;
  color:var(--method-accent);
  background:rgba(var(--method-rgb),.09);
  box-shadow:inset 0 0 22px rgba(var(--method-rgb),.08),0 0 24px rgba(var(--method-rgb),.1);
  transition:transform .38s ease,background-color .3s ease,box-shadow .3s ease;
}
.aava-method-flow .method-icon svg{
  display:block;
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.aava-method-flow .method-card h3{
  margin:42px 0 12px;
  color:#fff!important;
  font-family:var(--serif);
  font-size:clamp(1.75rem,2.5vw,2.4rem);
  line-height:1;
  letter-spacing:0;
}
.aava-method-flow .method-card p{
  margin:0;
  color:rgba(255,255,255,.78)!important;
  font-size:1rem;
  line-height:1.62;
}
@media(hover:hover){
  .aava-method-flow .method-card:hover{
    z-index:3;
    transform:translateY(-10px) scale(1.035);
    border-color:rgba(var(--method-rgb),.82)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 28px 62px rgba(2,20,29,.5),0 0 34px rgba(var(--method-rgb),.2);
  }
  .aava-method-flow .method-card:hover::before{opacity:1;filter:saturate(1.25)}
  .aava-method-flow .method-card:hover::after{transform:translate(-12px,-10px) scale(1.08)}
  .aava-method-flow .method-card:hover .method-icon{transform:translateY(-4px) rotate(3deg);background:rgba(var(--method-rgb),.16);box-shadow:inset 0 0 24px rgba(var(--method-rgb),.12),0 0 30px rgba(var(--method-rgb),.24)}
  .aava-method-flow .method-card--weather:hover .method-icon{transform:translateX(5px)}
  .aava-method-flow .method-card--route:hover .method-icon{transform:translate(3px,-3px)}
  .aava-method-flow .method-card--sea:hover .method-icon{transform:translateY(-3px) rotate(-2deg)}
}
.aava-method-flow .method-card:focus-visible{
  z-index:4;
  transform:translateY(-10px) scale(1.035);
  border-color:var(--method-accent)!important;
  box-shadow:0 0 0 3px #fff,0 0 0 7px var(--method-accent),0 28px 62px rgba(2,20,29,.5);
}
@media(max-width:1100px){
  .aava-method-flow .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aava-method-flow .method-grid::before{display:none}
  .aava-method-flow .method-card{min-height:270px}
}
@media(max-width:620px){
  .aava-method-flow .method-grid{grid-template-columns:1fr;gap:14px;margin-top:30px}
  .aava-method-flow .method-card{min-height:0;padding:22px}
  .aava-method-flow .method-card h3{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){
  .aava-method-flow .method-card,
  .aava-method-flow .method-card::before,
  .aava-method-flow .method-card::after,
  .aava-method-flow .method-icon{transition:none!important}
  .aava-method-flow .method-card:hover,
  .aava-method-flow .method-card:focus-visible{transform:none}
}

/* Stage 55 root package: Satava rental 1-2-3 flow, arrival card and Johku whitespace reduction */
.satava-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,4vw,64px);margin:0 0 clamp(28px,5vw,64px);padding:clamp(8px,2vw,16px) 0;text-align:center;align-items:start}
.satava-step{display:grid;gap:18px;justify-items:center;color:#06161f}
.satava-step img{width:min(210px,72%);aspect-ratio:1/1;object-fit:contain;border-radius:50%;filter:drop-shadow(0 18px 36px rgba(7,23,29,.10))}
.satava-step h3{font-family:var(--display, var(--serif));font-size:clamp(1.85rem,3vw,3rem);line-height:.9;letter-spacing:-.04em;margin:0;color:#050b0f;font-weight:950;text-transform:uppercase}
.satava-step p{max-width:34ch;margin:0 auto;color:#152c34;font-size:clamp(.98rem,1.25vw,1.1rem);line-height:1.58;font-weight:650}
.satava-arrival-card{margin:24px 0;padding:22px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(218,244,240,.78));border:1px solid rgba(8,95,112,.12);box-shadow:0 20px 55px rgba(7,23,29,.10)}
.satava-arrival-card .arrival-label{display:inline-flex;margin-bottom:10px;color:#126b79;font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.satava-arrival-card h3{font-family:var(--serif);font-size:clamp(1.55rem,2.4vw,2.5rem);line-height:.95;letter-spacing:-.04em;margin:0 0 10px;color:#06161f}
.satava-arrival-card p{margin:0 0 16px;color:#38545c;line-height:1.58}
.satava-arrival-card .arrival-actions{display:flex;flex-wrap:wrap;gap:10px}
.satava-rental-section .aava-booking-widget__embed--johku,.satava-rental-section .aava-booking-widget__embed--johku johku-widget{min-height:560px!important}
@media(max-width:900px){.satava-steps{grid-template-columns:1fr;gap:34px}.satava-step p{max-width:42ch}.satava-rental-section .aava-booking-widget__embed--johku,.satava-rental-section .aava-booking-widget__embed--johku johku-widget{min-height:520px!important}}



/* Stage 55: Hidden Gems sales-ready product presentation */
.hidden-gems-hero .hero-lead{max-width:64rem;font-weight:650;}
.hidden-gems-hero .hero-panel{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(236,246,246,.74))!important;color:#06161f!important;border-color:rgba(255,255,255,.62)!important;}
.hidden-gems-hero .panel-label{color:#0d5f68!important;}
.hidden-gems-hero .panel-price{color:#06161f!important;}
.hidden-gems-hero .panel-copy{color:#294953!important;font-weight:760;}
.hidden-gems-sales{padding-top:clamp(56px,7vw,104px);}
.product-layout--book-first{align-items:start!important;}
.product-layout--book-first .product-main .editorial-block:first-child{margin-top:0;}
.hidden-gems-sales .editorial-block .eyebrow{display:inline-block;margin-bottom:.65rem;color:#0b6b77;}
.product-proof{margin:26px 0;padding:clamp(20px,2.6vw,30px);border-radius:30px;background:linear-gradient(145deg,rgba(7,47,60,.96),rgba(9,93,105,.91));color:#fff;box-shadow:0 28px 80px rgba(7,23,29,.16);border:1px solid rgba(255,255,255,.12);}
.product-proof h3{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,3.5rem);line-height:.95;letter-spacing:-.055em;margin:0 0 .6rem;}
.product-proof p{margin:0;line-height:1.65;color:rgba(255,255,255,.82);font-weight:750;}
.hidden-gems-included{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;}
.mini-itinerary{display:grid;gap:14px;margin-top:18px;}
.mini-itinerary article{padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(7,23,29,.08);box-shadow:0 12px 32px rgba(7,23,29,.06);}
.mini-itinerary span{display:block;font-weight:900;color:#075d6b;margin-bottom:8px;letter-spacing:-.01em;}
.mini-itinerary p{margin:0!important;line-height:1.65;color:#2e4d55;}
.hidden-gems-booking{top:88px!important;}
.hidden-gems-booking h2{margin-bottom:18px!important;}
.quick-summary-list{display:grid;gap:10px;margin:0 0 20px;padding:0;list-style:none;}
.quick-summary-list li{display:grid;gap:4px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(7,23,29,.08);box-shadow:0 10px 24px rgba(7,23,29,.055);}
.quick-summary-list span{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#687f86;}
.quick-summary-list strong{font-size:1rem;line-height:1.35;color:#06161f;}
.hidden-gems-booking .booking-widget-shell{margin:18px 0!important;border-radius:28px!important;overflow:hidden;}
.hidden-gems-booking .btn.ghost{width:100%;justify-content:center;background:#fff;color:#06161f;border:1px solid rgba(7,23,29,.12);box-shadow:0 12px 26px rgba(7,23,29,.07);}
.hidden-gems-page .product-faq{padding-top:clamp(48px,6vw,88px);}
.hidden-gems-page .faq-accordion details{background:rgba(255,255,255,.84);}
@media(max-width:1100px){.hidden-gems-booking{position:relative!important;top:auto!important}.hidden-gems-included{grid-template-columns:1fr;}}
@media(max-width:720px){.hidden-gems-hero .hero-lead{font-size:1.04rem}.product-proof{border-radius:24px}.mini-itinerary article{border-radius:20px}.quick-summary-list li{padding:13px 14px}.hidden-gems-included{grid-template-columns:1fr;}}


/* Stage 56: global hero price-panel contrast and self-guided sales-ready product presentation */
.hero .hero-panel{background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(236,246,246,.76))!important;color:#06161f!important;border-color:rgba(255,255,255,.62)!important;}
.hero .hero-panel .panel-label{color:#0d5f68!important;}
.hero .hero-panel .panel-price{color:#06161f!important;}
.hero .hero-panel .panel-copy{color:#294953!important;font-weight:760;}
.hero .hero-panel p,.hero .hero-panel strong,.hero .hero-panel span{color:inherit;}
.hero .hero-panel .panel-label{color:#0d5f68!important;}
.hero .hero-panel::before{opacity:.55;}
.self-guided-hero .hero-lead{max-width:68rem;font-weight:650;}
.self-guided-sales{padding-top:clamp(56px,7vw,104px);}
.self-guided-sales .editorial-block .eyebrow,.self-guided-faq .eyebrow{display:inline-block;margin-bottom:.65rem;color:#0b6b77;}
.self-guided-included{margin-top:28px;}
.self-guided-included h3{font-family:var(--serif);font-size:clamp(1.65rem,2.8vw,2.8rem);line-height:.96;letter-spacing:-.045em;margin:0 0 14px;color:#06161f;}
.self-guided-safety{background:linear-gradient(145deg,rgba(7,47,60,.96),rgba(9,93,105,.91))!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 28px 80px rgba(7,23,29,.16)!important;}
.self-guided-safety .eyebrow{color:#52e3d3!important;}
.self-guided-safety h2,.self-guided-safety p{color:#fff!important;}
.self-guided-safety p{color:rgba(255,255,255,.84)!important;}
.self-guided-safety .safety-note{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);}
.self-guided-safety .safety-note strong{color:#fff;}
.self-guided-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
.self-guided-booking{top:88px!important;}
.self-guided-booking h2{margin-bottom:18px!important;}
.self-guided-booking .booking-widget-shell{margin:18px 0!important;border-radius:28px!important;overflow:hidden;position:relative!important;top:auto!important;}
.self-guided-booking .btn.ghost{width:100%;justify-content:center;background:#fff;color:#06161f;border:1px solid rgba(7,23,29,.12);box-shadow:0 12px 26px rgba(7,23,29,.07);}
.self-guided-page .aava-booking-widget__embed--johku,.self-guided-page .aava-booking-widget__embed--johku johku-widget{min-height:680px!important;}
.self-guided-faq{padding-top:clamp(48px,6vw,88px);}
.self-guided-faq .faq-accordion details{background:rgba(255,255,255,.84);}
@media(max-width:1100px){.self-guided-booking{position:relative!important;top:auto!important}.self-guided-steps{grid-template-columns:1fr;}}
@media(max-width:720px){.self-guided-hero .hero-lead{font-size:1.04rem}.self-guided-included{border-radius:22px}.self-guided-page .aava-booking-widget__embed--johku,.self-guided-page .aava-booking-widget__embed--johku johku-widget{min-height:560px!important;}}


/* Stage 57: Johku widget compatibility and old live-site kiosk styling */
.self-guided-page .self-guided-availability[data-booking-johku-id="aavameri/f0bd44637a139fdc"] .aava-booking-widget__embed--johku{min-height:720px!important;background:#fff!important;color:#06161f!important;overflow:visible!important;}
.self-guided-page .self-guided-availability[data-booking-johku-id="aavameri/f0bd44637a139fdc"] johku-widget{display:block!important;min-height:720px!important;width:100%!important;background:#fff!important;color:#06161f!important;}
@media(max-width:760px){.self-guided-page .self-guided-availability[data-booking-johku-id="aavameri/f0bd44637a139fdc"] .aava-booking-widget__embed--johku,.self-guided-page .self-guided-availability[data-booking-johku-id="aavameri/f0bd44637a139fdc"] johku-widget{min-height:640px!important;}}
.kiosk-basket {
left: 20px;
right: auto;
border-radius: 0;
}
.kiosk-basket .basket-button {
border-radius: 15px;
background: #845EA7;
font-weight: normal;
}
.kiosk-basket .btn {
border-radius: 0;
border-color: transparent;
}
.kiosk-basket .btn-primary {
background-color: teal;
}
.kiosk-basket .btn-primary:hover {
background-color: teal;
}

.btn-success {
    background-color: #845EA7;
    border-color: #1e7e34;
}
.btn-success:hover {
    background-color: #845EA7;
    border-color: #1e7e34;
}
.btn-primary {
    background-color: #845EA7;
    border-color: #1e7e34;
}
.btn-primary:hover {
    background-color: #845EA7;
    border-color: #1e7e34;
}
.card .price { background-color: #845EA7;}
.card-title { background-color: #845EA7; }

.basket-dialog .modal:not(.seatmap-modal) .modal-footer .btn, .handoff-content .modal:not(.seatmap-modal) .modal-footer .btn, .order-content .modal:not(.seatmap-modal) .modal-footer .btn {
    color: #000;
    filter: drop-shadow(0 1px 0 #fff);
    opacity: .5;
    background: whitesmoke;
}
.basket-dialog .modal:not(.seatmap-modal) .modal-footer .btn:after, .handoff-content .modal:not(.seatmap-modal) .modal-footer .btn:after, .order-content .modal:not(.seatmap-modal) .modal-footer .btn:after {
    font-size: 70px;
    background-color: white;
    right: 10px;
    top: 10px; }


/* Stage 59: self-guided Johku availability moved to a full-width main-column block */
.self-guided-sales .product-layout--self-guided-main{display:block!important;max-width:min(1120px,100%);margin-inline:auto;}
.self-guided-sales .product-layout--self-guided-main .product-main{width:100%;max-width:none;}
.self-guided-booking-main{background:linear-gradient(155deg,rgba(6,22,31,.98),rgba(10,70,83,.96))!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 32px 90px rgba(2,20,28,.18)!important;overflow:visible!important;}
.self-guided-booking-main h2,.self-guided-booking-main h3{color:#fff!important;}
.self-guided-booking-main .self-guided-booking-summary h2{font-family:var(--serif);font-size:clamp(2rem,3.8vw,3.8rem);line-height:.94;letter-spacing:-.05em;margin:0 0 18px;}
.self-guided-booking-main .quick-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0 0 22px;}
.self-guided-booking-main .quick-summary-list li{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);display:grid;gap:4px;}
.self-guided-booking-main .quick-summary-list span{color:rgba(255,255,255,.68)!important;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;}
.self-guided-booking-main .quick-summary-list strong{color:#fff!important;font-weight:900;line-height:1.35;}
.self-guided-booking-main .booking-widget-shell,.self-guided-booking-main .booking-widget-shell--active{position:relative!important;top:auto!important;width:100%!important;max-width:100%!important;margin:20px 0 14px!important;border-radius:28px!important;overflow:visible!important;}
.self-guided-booking-main .aava-booking-widget{overflow:visible!important;}
.self-guided-booking-main .aava-booking-widget__embed,.self-guided-booking-main .aava-booking-widget__embed--johku{overflow:visible!important;min-height:760px!important;}
.self-guided-booking-main .aava-booking-widget__embed--johku johku-widget{display:block!important;width:100%!important;min-height:760px!important;background:#fff!important;color:#06161f!important;}
.self-guided-contact-after-booking{margin:16px 8px 4px!important;color:rgba(255,255,255,.80)!important;line-height:1.65!important;}
.self-guided-contact-after-booking a{color:#52e3d3!important;font-weight:900;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:760px){.self-guided-booking-main{padding:18px!important;border-radius:24px!important}.self-guided-booking-main .quick-summary-list{grid-template-columns:1fr}.self-guided-booking-main .aava-booking-widget__embed,.self-guided-booking-main .aava-booking-widget__embed--johku,.self-guided-booking-main .aava-booking-widget__embed--johku johku-widget{min-height:680px!important}}
