@font-face{font-family:'Playpen Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/playpen-sans-latin.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playpen Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/playpen-sans-latin-ext.woff') format('woff');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playpen Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/playpen-sans-greek.woff') format('woff');unicode-range:U+0370-03FF}
@font-face{font-family:'Playpen Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/playpen-sans-cyrillic.woff') format('woff');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
/* Layout: sticky header, one-column content up to 67.5rem, schematic island strip in hero, cards only for routes/services */
:root{
  --bg:#04202f; --surface:rgba(255,255,255,.10); --ink:#ffffff; --muted:#cfe6ee; --line:rgba(255,255,255,.24);
  --sea:#3fd8e8; --sea-soft:rgba(63,216,232,.16); --sun:#ffc23c; --sun-ink:#1a2a33; --coral:#ff6b4a; --g:max(clamp(1rem,3vw,3.5rem),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  --font-display:'Playpen Sans','Segoe Print','Comic Sans MS',cursive;
  --font-body:'Playpen Sans','Segoe Print','Comic Sans MS',cursive;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0}
body{background:var(--bg);color:var(--ink);font:1.0625rem/1.55 var(--font-body);padding-inline:var(--g)}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,6vw,3.4rem);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:700}
h3{font-size:1.15rem;font-weight:700}
p{margin:0;max-width:65ch}
a{color:var(--sea)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.wrap{max-width:67.5rem;margin-inline:auto}
.demo{background:var(--sea-soft);border-bottom:1px solid var(--line);margin-inline:calc(var(--g) * -1);padding:0.5rem var(--g);font-size:.9rem;color:var(--muted)}
.demo b{color:var(--ink)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(4,32,47,.82);backdrop-filter:blur(0.625rem);border-bottom:1px solid var(--line);margin-inline:calc(var(--g) * -1);padding:0.625rem var(--g)}
.bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.brand{font:800 1.25rem var(--font-display);color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:0.5rem}
.brand i{width:0.875rem;height:0.875rem;background:var(--sun);border-radius:3px;display:inline-block}
nav{display:flex;gap:0.25rem;flex-wrap:wrap;margin-left:auto}
nav a{color:var(--ink);text-decoration:none;padding:0.375rem 0.625rem;border-radius:0.375rem;font-weight:600;font-size:.95rem}
nav a[aria-current="page"]{background:var(--sea-soft);color:var(--sea)}
.lang{display:flex;border:1px solid var(--line);border-radius:0.5rem;overflow:hidden}
.lang button{border:0;background:var(--surface);color:var(--ink);padding:0.375rem 0.625rem;font:600 .85rem var(--font-body);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
section{padding-block:3rem}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding-block:3rem}
.hero>*{min-width:0}
.hero p{font-size:1.15rem;color:var(--muted);margin-top:1rem}
.btns{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:1.5rem}
.btn{display:inline-block;border-radius:0.5rem;padding:0.75rem 1.25rem;font:700 1rem var(--font-display);text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn.sun{background:var(--sun);color:var(--sun-ink)}
.btn.line{border-color:var(--ink);color:var(--ink);background:transparent}
.map{background:var(--surface);border:1px solid var(--line);border-radius:0.75rem;padding:0.75rem}
.map svg{width:100%;height:auto;display:block}
.map text{fill:var(--ink);font:600 0.6875rem var(--font-body)}
.map .sub{fill:var(--muted);font-weight:400;font-size:0.625rem}
.map .road{stroke:var(--sea);stroke-width:3;fill:none;stroke-linecap:round}
.map .dot{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.map .air{fill:var(--sun);stroke:var(--ink);stroke-width:2}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border-block:1px solid var(--line);padding-block:2rem}
.three>*{min-width:0}
.three h3{margin-bottom:0.375rem}
.three p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.625rem,1fr));gap:1rem;margin-top:1.5rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:0.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:0.5rem;min-width:0}
.card p{color:var(--muted)}
.card .route{font:700 1.05rem var(--font-display)}
.tag{font:600 .75rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--sea)}
.card .btn{margin-top:auto;align-self:flex-start;padding:0.5rem 0.875rem;font-size:.9rem}
.lead{color:var(--muted);margin-top:0.5rem}
form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:0.75rem;padding:1.5rem}
form>*{min-width:0}
label{display:flex;flex-direction:column;gap:0.25rem;font-weight:600;font-size:.9rem}
input,select,textarea{font:1rem var(--font-body);padding:0.625rem;border:1px solid var(--line);border-radius:0.5rem;background:var(--bg);color:var(--ink);width:100%}
.full{grid-column:1/-1}
.trap{position:absolute;left:-9999px}
.ok{background:var(--sea-soft);border-radius:0.5rem;padding:0.75rem var(--g);color:var(--ink)}
details.faq{border-bottom:1px solid var(--line);padding-block:0.875rem}
details.faq summary{font:700 1.05rem var(--font-display);cursor:pointer}
details.faq p{color:var(--muted);margin-top:0.5rem}
.empty{color:var(--muted);font-style:italic}
dl{display:grid;grid-template-columns:max-content 1fr;gap:0.625rem 1.5rem;margin:1.5rem 0}
dt{font-weight:700}
.social{display:flex;gap:0.625rem;flex-wrap:wrap;margin-top:0.5rem}
.social a{border:1px solid var(--line);border-radius:0.5rem;padding:0.5rem 0.875rem;text-decoration:none;font-weight:600;color:var(--ink);background:var(--surface)}
footer{border-top:1px solid var(--line);margin-inline:calc(var(--g) * -1);padding:1.5rem var(--g);color:var(--muted);font-size:.9rem}
footer .wrap{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:space-between}
footer a{color:var(--muted)}
.seo{margin-block:1rem;background:var(--surface);border:1px dashed var(--line);border-radius:0.5rem;padding:0.75rem var(--g);font-size:.9rem}
.seo summary{cursor:pointer;font-weight:700}
.seo p{margin-top:0.5rem;color:var(--muted)}
.seo code{color:var(--ink);font-weight:600}
[hidden]{display:none!important}
#chatBtn{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:30;background:var(--sea);color:#04202f;border:0;border-radius:62.4375rem;padding:0.75rem 1.125rem;font:700 1rem var(--font-display);cursor:pointer;box-shadow:0 0.25rem 0.875rem rgba(0,0,0,.25)}
#chat{background:#082c3f;position:fixed;right:1rem;bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));z-index:30;width:min(22.5rem,calc(100vw - 2rem));max-height:min(32.5rem,70vh);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:0.875rem;box-shadow:0 0.625rem 1.875rem rgba(0,0,0,.25);overflow:hidden}
#chat header{position:static;margin:0;background:var(--ink);color:var(--bg);padding:0.75rem var(--g);font:700 1rem var(--font-display);display:flex;justify-content:space-between;border:0}
#chat header button{background:none;border:0;color:inherit;font-size:1.2rem;cursor:pointer}
#log{padding:0.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:0.5rem;flex:1;min-height:10rem}
.msg{padding:0.5rem 0.75rem;border-radius:0.75rem;max-width:85%;font-size:.95rem}
.msg.bot{background:var(--sea-soft);align-self:flex-start}
.msg.me{background:var(--ink);color:var(--bg);align-self:flex-end}
.msg a{font-weight:700}
.quick{display:flex;gap:0.375rem;flex-wrap:wrap;padding:0 0.75rem 0.5rem}
.quick button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:62.4375rem;padding:0.25rem 0.75rem;font:600 .85rem var(--font-body);cursor:pointer}
#chatForm{display:flex;gap:0.5rem;padding:0.5rem 0.75rem 0.75rem;border-top:1px solid var(--line);background:none;border-radius:0;margin:0;grid-template-columns:none}
#chatForm input{flex:1}
#chatForm button{border:0;background:var(--sun);color:var(--sun-ink);border-radius:0.5rem;padding:0 0.875rem;font-weight:700;cursor:pointer}
.photo{aspect-ratio:4/3;max-width:100%;background:linear-gradient(150deg,var(--sea-soft),var(--surface));border:2px dashed var(--line);border-radius:0.75rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;color:var(--muted);font-weight:600}
.photo.wide{aspect-ratio:21/6;margin-top:1.5rem}
.ph{width:100%;height:auto;display:block;object-fit:cover;border-radius:0.75rem;aspect-ratio:4/3;background:var(--sea-soft)}
.ph.wide{aspect-ratio:21/6;margin-top:1.5rem}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding-block:2rem 0}
.tiles .ph{aspect-ratio:4/3}
.bigmap{background:var(--surface);border:1px solid var(--line);border-radius:0.75rem;padding:0.75rem;margin-top:1.5rem}
.bigmap svg{width:100%;height:auto;display:block}
.bigmap .land{fill:var(--sea-soft);stroke:var(--sea);stroke-width:1.5;stroke-linejoin:round}
.bigmap text{fill:var(--ink);font:600 0.625rem var(--font-body)}
.bigmap .sub{fill:var(--muted);font-weight:400;font-size:0.5625rem}
.bigmap .town{fill:var(--surface);stroke:var(--ink);stroke-width:1.5}
.bigmap .air{fill:var(--sun);stroke:var(--ink);stroke-width:1.5}
.bigmap .sel{fill:var(--ink);stroke:var(--sun);stroke-width:3}
.bigmap .path{stroke:var(--sea);stroke-width:3;stroke-dasharray:6 5;fill:none;stroke-linecap:round}
.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:0.5rem;font-size:.85rem;color:var(--muted);align-items:center}
.legend i{display:inline-block;width:0.75rem;height:0.75rem;border-radius:50%;margin-right:0.375rem;vertical-align:-1px;border:1.5px solid var(--ink)}
.legend .a{background:var(--sun)}.legend .t{background:var(--surface)}.legend .b{border-style:dashed;background:none}

.hero-bg{position:relative;margin-inline:calc(var(--g) * -1);padding:6.5rem var(--g);color:#fff;overflow:hidden;isolation:isolate;background:#0d3040}
.slides{position:absolute;inset:0;z-index:-1}
.slides i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:fade 18s infinite}
.slides i:nth-child(1){animation-delay:-1.1s}.slides i:nth-child(2){animation-delay:5s}.slides i:nth-child(3){animation-delay:11s}
.slides::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,30,.82) 0%,rgba(5,22,30,.55) 55%,rgba(5,22,30,.25) 100%)}
@keyframes fade{0%{opacity:0}6%{opacity:1}33%{opacity:1}39%{opacity:0}100%{opacity:0}}
.hero-in{max-width:67.5rem;margin-inline:auto}
.hero-in h1{max-width:14ch;text-shadow:0 2px 1.125rem rgba(0,0,0,.35)}
.hero-in p{font-size:1.2rem;color:rgba(255,255,255,.92);margin-top:1rem;max-width:46ch}
.hero-bg .btn.line{border-color:#fff;color:#fff}
.band{position:relative;margin-inline:calc(var(--g) * -1);padding:4.5rem var(--g);color:#fff;overflow:hidden;isolation:isolate;background-size:cover;background-position:50% 88%}
.band::before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(5,22,30,.62)}
.band .hero-in h2{max-width:22ch}
.band .hero-in p{font-size:1.1rem;margin-top:0.75rem}
@media (prefers-reduced-motion:reduce){.slides i{animation:none}.slides i:first-child{opacity:1}}
@media (max-width:760px){.hero-bg{padding:4.5rem var(--g)}.slides::after{background:rgba(5,22,30,.62)}}

body::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,32,47,.50),rgba(4,32,47,.90)),var(--bgimg) center/cover}
h1,h2{text-shadow:0 2px 0.875rem rgba(0,0,0,.25)}
.card{backdrop-filter:blur(0.5rem)}
.grid .card{color:#fff;border:0;box-shadow:0 0.625rem 1.5rem rgba(0,0,0,.28);transition:transform .2s}
.grid .card:hover{transform:translateY(-4px)}
.grid .card:nth-child(4n+1){background:linear-gradient(150deg,#12b5c9,#0a6a8f)}
.grid .card:nth-child(4n+2){background:linear-gradient(150deg,#ff7a5a,#d9402a)}
.grid .card:nth-child(4n+3){background:linear-gradient(150deg,#ffc23c,#f29a1f);color:#1a2a33}
.grid .card:nth-child(4n+4){background:linear-gradient(150deg,#19c3a0,#0b7f74)}
.grid .card p,.grid .card .tag,.grid .card .empty{color:inherit;opacity:.9}
.grid .card:nth-child(4n+3) .btn.line{border-color:#1a2a33;color:#1a2a33}
.grid .card .btn.line{border-color:currentColor;color:inherit}
.grid .card h3,.grid .card .route{font-size:1.25rem}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-block:2.5rem 0;border:0}
.three .v{border-radius:1.125rem;padding:1.5rem;display:flex;flex-direction:column;gap:0.625rem;box-shadow:0 0.625rem 1.5rem rgba(0,0,0,.28)}
.three .v p{color:inherit;opacity:.92}
.three .c1{background:var(--sun);color:#1a2a33}
.three .c2{background:var(--coral);color:#fff}
.three .c3{background:linear-gradient(150deg,#12b5c9,#0a6a8f);color:#fff}
.ico{width:3.25rem;height:3.25rem;border-radius:50%;background:rgba(255,255,255,.28);display:grid;place-items:center}
.ico svg{width:1.75rem;height:1.75rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;padding-block:3.5rem 1.5rem}
.postcard{background:#fff;padding:0.625rem 0.625rem 0.75rem;border-radius:0.375rem;box-shadow:0 0.875rem 1.875rem rgba(0,0,0,.4);color:#1a2a33;font:700 1rem var(--font-display);transition:transform .2s;min-width:0}
.postcard img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px;margin-bottom:0.5rem}
.postcard:nth-child(1){transform:rotate(-3deg)}
.postcard:nth-child(2){transform:rotate(2deg) translateY(0.875rem)}
.postcard:nth-child(3){transform:rotate(-2deg)}
.postcard:hover{transform:rotate(0) scale(1.03)}
.hero-bg{padding-bottom:8.25rem}
.slides i{filter:saturate(1.2)}
.slides::after{background:linear-gradient(90deg,rgba(4,32,47,.70) 0%,rgba(4,32,47,.35) 55%,rgba(4,32,47,.05) 100%)}
.hero-in h1::after{content:'';display:block;width:7.5rem;height:0.5rem;margin-top:1rem;border-radius:0.5rem;background:var(--sun)}
.hero-bg .wave{position:absolute;left:0;bottom:-1px;width:100%;height:3.5rem}
.hero-bg .wave .w1{fill:var(--coral)}.hero-bg .wave .w2{fill:var(--sun)}
.band{margin-top:2.5rem}
form{background:rgba(4,32,47,.55);backdrop-filter:blur(0.5rem)}
input,select,textarea{background:rgba(0,0,0,.28)}
.bigmap,.seo{background:rgba(4,32,47,.55);backdrop-filter:blur(0.5rem)}
@media (max-width:760px){
  .cards3{grid-template-columns:1fr;padding-block:2.5rem 0.5rem;gap:1.5rem}
  .three{grid-template-columns:1fr}
  .postcard:nth-child(2){transform:rotate(2deg)}
  .hero-bg{padding-bottom:6.5rem}
}

main>*:not(.bgband):not(.hero-bg){max-width:67.5rem;margin-inline:auto}
.bgband{position:relative;overflow:hidden;isolation:isolate;margin-inline:calc(var(--g) * -1);padding:4rem var(--g);background:#0b3a52}
main>.bgband,main>.hero-bg{max-width:none;margin-inline:calc(var(--g) * -1)}
.bgband.head{margin-top:0;padding-block:3.5rem}
.bgband .inner{max-width:67.5rem;margin-inline:auto}
.bgband .bgimg{position:absolute;inset:0;z-index:-1;background:center/cover #0b3a52;opacity:0;filter:blur(1.125rem);transform:scale(1.08);transition:opacity 1.6s ease,filter 1.8s ease,transform 2s ease}
.bgband .bgimg.loaded{opacity:1;filter:saturate(1.15);transform:none}
.bgband::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,32,47,.70),rgba(4,32,47,.55))}
@media (prefers-reduced-motion:reduce){.bgband .bgimg{transition:none;filter:none;transform:none}}

.bgband::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(110deg,#0b3a52 30%,#1f7a9c 50%,#0b3a52 70%) 0 0/200% 100%;animation:shimmer 1.4s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}
.rv{opacity:0;transform:translateY(1.75rem)}
.grid .card.rv,.rv{transition:opacity .8s ease var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.rv.in{opacity:1;transform:none}
.grid .card.rv.in:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){.bgband::before{animation:none}.rv{opacity:1;transform:none;transition:none}}
@media (max-width:760px){
  .photo.wide,.ph.wide{aspect-ratio:16/7}
  .tiles{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr;padding-block:2rem}
  .three{grid-template-columns:1fr}
  form{grid-template-columns:1fr;padding:1rem}
  nav{margin-left:0;width:100%}
  section{padding-block:2rem}
}
@media (prefers-reduced-motion:no-preference){.btn,nav a{transition:background .15s}}

html{font-size:100%;-webkit-text-size-adjust:100%}
@media (min-width:1600px){html{font-size:112.5%}}
@media (min-width:1900px){html{font-size:125%}}
@media (min-width:2500px){html{font-size:162.5%}}
@media (min-width:3400px){html{font-size:225%}}
nav a,.lang button{min-height:2.5rem}
@media (pointer:coarse){nav a,.lang button,.btn,.quick button{min-height:44px}}
@media (hover:none){.grid .card:hover,.postcard:hover{transform:none}}
@media (max-width:900px){.three{grid-template-columns:1fr}.hero-in h1{max-width:none}}
@media (max-width:600px){
  .bigmap text{font-size:14px}.bigmap .sub{font-size:11px}
  .btns .btn{flex:1 1 100%;text-align:center}
  dl{grid-template-columns:1fr;gap:4px 0}dd{margin-bottom:10px!important}
  nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}nav a{white-space:nowrap}
  .bar{gap:10px}
  footer .wrap{flex-direction:column}
  #chat{right:8px;left:8px;width:auto;bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  #chatBtn{right:12px}
}
@media (max-height:520px) and (orientation:landscape){header{position:static}#chat{max-height:80vh}.hero-bg{padding-block:48px 96px}}
@media (min-width:601px) and (max-width:1024px){.grid{grid-template-columns:repeat(2,1fr)}.hero-bg{padding-block:80px 120px}}

body{line-height:1.6}
.brand{color:#fff;letter-spacing:0;text-shadow:1px 1px 0 #d99a00,2px 2px 0 #c58a00,3px 3px 0 #a87300,4px 4px 5px rgba(0,0,0,.45)}
nav a{font-size:.95rem;padding:.35rem .6rem}
h1,h2,h3{letter-spacing:0}
.hero-in{animation:rise 1.4s ease both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero-in h1{position:relative;display:inline-block;padding:6px 14px;margin-left:-14px;font-weight:800;-webkit-text-stroke:.8px currentColor;paint-order:stroke fill;text-shadow:0 2px 10px rgba(0,0,0,.5),0 0 24px rgba(255,194,60,.35);transition:transform .5s ease}
.hero-in h1::before{content:'';position:absolute;inset:-8% -6%;z-index:-1;pointer-events:none;background:rgba(255,194,60,.22);border-radius:46% 54% 60% 40%/54% 44% 56% 46%;filter:blur(12px)}
.hero-in h1:hover{transform:translateY(-6px)}
.band .hero-in h1,.bgband .hero-in h2{display:block}
@media (prefers-reduced-motion:reduce){.hero-in{animation:none}.hero-in h1{transition:none}}

main{transition:opacity .45s ease,transform .45s ease}
main.leaving{opacity:0;transform:translateY(14px)}
.in-pg{animation:pgin .8s ease both}
@keyframes pgin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){main{transition:none}.in-pg{animation:none}}

h1,h2{position:relative;display:inline-block;padding:6px 14px;margin-left:-14px;font-weight:800;-webkit-text-stroke:.8px currentColor;paint-order:stroke fill;text-shadow:0 2px 10px rgba(0,0,0,.5),0 0 24px rgba(255,194,60,.35);transition:transform .5s ease}
h1::before,h2::before{content:'';position:absolute;inset:-8% -6%;z-index:-1;pointer-events:none;background:rgba(255,194,60,.2);border-radius:46% 54% 60% 40%/54% 44% 56% 46%;filter:blur(12px)}
h1:hover,h2:hover{transform:translateY(-6px)}
.bgband .hero-in h2,.bgband .inner h2{display:inline-block}
.in-pg{animation:pgfade .8s ease both}
@keyframes pgfade{from{opacity:0}to{opacity:1}}
.in-pg h1,.in-pg h2{animation:rise 1.4s ease both}
.in-pg .lead,.in-pg .hero-in p{animation:rise 1.4s ease .3s both}
@media (prefers-reduced-motion:reduce){h1,h2{transition:none}.in-pg h1,.in-pg h2,.in-pg .lead,.in-pg .hero-in p{animation:none}}

.btn,nav a,.lang button,#chatBtn,.quick button,#chatForm button,.social a{transition:transform .5s ease,box-shadow .5s ease,background .5s ease,color .5s ease,border-color .5s ease,filter .5s ease}
.btn{box-shadow:0 6px 16px rgba(0,0,0,.25)}
.btn:active,#chatBtn:active{transform:translateY(-2px) scale(.97)}
@media (hover:hover){
  .btn:hover{transform:translateY(-10px) scale(1.06);box-shadow:0 22px 38px rgba(0,0,0,.45)}
  .btn.sun:hover{background:#ffd266;box-shadow:0 22px 40px rgba(255,194,60,.6)}
  .btn.line:hover,.grid .card .btn.line:hover{background:#fff;color:#04202f;border-color:#fff}
  nav a:hover{background:rgba(255,255,255,.18);transform:translateY(-5px) scale(1.06)}
  .lang button:hover{background:var(--sea);color:#04202f}
  #chatBtn:hover{transform:translateY(-9px) scale(1.1);box-shadow:0 12px 26px rgba(0,0,0,.4)}
  .quick button:hover{background:var(--sun);color:#1a2a33;border-color:var(--sun);transform:translateY(-6px) scale(1.06)}
  #chatForm button:hover{filter:brightness(1.12)}
  .social a:hover{background:var(--sun);color:#1a2a33;transform:translateY(-7px) scale(1.06)}
}
@media (prefers-reduced-motion:reduce){.btn,nav a,.lang button,#chatBtn,.quick button,#chatForm button,.social a{transition:none}}
.skip{position:absolute;left:-9999px;top:0;background:var(--sun);color:#1a2a33;padding:.6rem 1rem;z-index:100;border-radius:0 0 .5rem 0}
.skip:focus{left:0}
.lang a{display:inline-flex;align-items:center;border:0;background:var(--surface);color:var(--ink);padding:.375rem .625rem;font:600 .85rem var(--font-body);text-decoration:none;min-height:2.5rem;transition:background .5s ease,color .5s ease}
.lang a[aria-current="true"]{background:var(--ink);color:var(--bg)}
@media (hover:hover){.lang a:hover{background:var(--sea);color:#04202f}}
body.nojs .rv{opacity:1;transform:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.legal-note{margin:1rem 0;padding:.75rem 1rem;border-left:.25rem solid var(--coral);background:rgba(255,107,74,.14);border-radius:.4rem}
.legal dl{margin-top:1.5rem}
:root{--bgimg:url('../img/bay.webp')}
.slides .s1{background-image:url('../img/bay.webp')}
.slides .s2{background-image:url('../img/lighthouse.webp');background-position:50% 62%}
.slides .s3{background-image:url('../img/road.webp');background-position:50% 85%}
main{animation:pgfade .8s ease both}
main h1,main h2{animation:rise 1.4s ease both}
main .lead,main .hero-in p{animation:rise 1.4s ease .3s both}
@media (prefers-reduced-motion:reduce){main,main h1,main h2,main .lead,main .hero-in p{animation:none}}
