/* ==========================================================================
   VILLA AKRIVI · TINOS — main stylesheet
   Lime-washed walls, Aegean blues, a sun-ochre spark. Arches, horizons, waves.
   Made with care by YNS · www.yournewsite.eu
   ========================================================================== */

/* ---------------------------------------------------------------- fonts */
@font-face{font-family:"NSD";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"NSD";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"NSD";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"NSD";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-ext-wght-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"NSD";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-serif-display-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"NSD";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-serif-display-greek-wght-italic.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Comm";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/commissioner-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Comm";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/commissioner-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Comm";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/commissioner-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}

/* ---------------------------------------------------------------- tokens */
:root{
  --lime:#f6f1e8; --lime-2:#efe6d6; --chalk:#fcfaf5; --sand:#d9c7a7; --stone:#a8957a;
  --ink:#13263a; --ink-2:#3d4c5c; --mute:#6d7885;
  --navy:#2f445e; --deep:#0b2a43; --deep-2:#0e3a5c; --night:#081b2c;
  --aegean:#05a1e6; --sea:#0a77ad; --bougain:#c03070; --sun:#dfa23b;
  --line:rgba(19,38,58,.14); --line-l:rgba(246,241,232,.2);
  --serif:"NSD","Noto Serif Display",Georgia,"Times New Roman",serif;
  --sans:"Comm","Commissioner",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gutter:clamp(16px,4.2vw,56px);
  --maxw:1360px;
  --hdr:68px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --r:4px;
  --shadow:0 30px 60px -30px rgba(11,42,67,.35);
  color-scheme:light;
}
@media (min-width:900px){:root{--hdr:84px}}

/* ---------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 64px)}
body{margin:0;background:var(--lime);color:var(--ink-2);font:400 1.0625rem/1.68 var(--sans);font-variation-settings:"wght" 380;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--sea)}
p{margin:0 0 1.1em}
h1,h2,h3,h4{margin:0;color:var(--ink);font-weight:400}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
dl,dd{margin:0}
figure{margin:0}
::selection{background:var(--aegean);color:#fff}
:focus-visible{outline:2px solid var(--aegean);outline-offset:3px;border-radius:2px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico--lg{width:2rem;height:2rem;stroke-width:1.2}
.ico--xl{width:2.6rem;height:2.6rem;stroke-width:1.1}
.wrap{width:min(var(--maxw),100% - 2*var(--gutter));margin-inline:auto}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:.7em 1.1em;border-radius:var(--r);transition:top .2s}
.skip:focus{top:12px;color:#fff}
.linklike{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
[hidden]{display:none!important}

/* ---------------------------------------------------------------- type */
.display{font-family:var(--serif);font-weight:300;font-variation-settings:"wght" 300;font-size:clamp(2.25rem,1.3rem + 4.2vw,4.9rem);line-height:1.04;letter-spacing:-.022em;color:var(--ink);text-wrap:balance}
.display em{font-style:italic;color:var(--navy);font-variation-settings:"wght" 280}
.display--md{font-size:clamp(1.95rem,1.25rem + 2.9vw,3.4rem);line-height:1.08}
.label{display:flex;align-items:center;gap:.8em;margin:0 0 1.4rem;font:500 .72rem/1.2 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.24em;text-transform:uppercase;color:var(--sea)}
.label::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.label__n{font:italic 400 .95rem/1 var(--serif);letter-spacing:0;text-transform:none;color:var(--sun);order:-1}
.label:has(.label__n)::before{order:0}
.label--light{color:rgba(255,255,255,.88)}
.lead{padding-block:clamp(56px,9vw,128px) clamp(24px,5vw,64px)}
.lead__text{max-width:30em;margin:0;font:300 clamp(1.4rem,1rem + 1.7vw,2.25rem)/1.36 var(--serif);font-variation-settings:"wght" 300;color:var(--ink);letter-spacing:-.01em;text-wrap:pretty}
.lead__text--drop::first-letter{float:left;font-size:3.3em;line-height:.82;margin:.06em .12em 0 0;color:var(--sea);font-style:italic}

/* ---------------------------------------------------------------- buttons & links */
.btn{--bg:var(--ink);--fg:var(--lime);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.8em;min-height:52px;padding:.85em 1.5em;border:1px solid var(--bg);border-radius:999px;background:var(--bg);color:var(--fg);font:500 .82rem/1 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease);cursor:pointer}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sea);border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease-out)}
.btn:hover{color:#fff;border-color:var(--sea)}
.btn:hover::before{transform:none}
.btn .ico{transition:transform .45s var(--ease-out)}
.btn:hover .ico{transform:translateX(4px)}
.btn--sm{min-height:40px;padding:.6em 1.15em;font-size:.72rem}
.btn--lg{min-height:60px;padding-inline:2em}
.btn--light{--bg:var(--lime);--fg:var(--ink)}
.btn--ghost{--bg:transparent;--fg:var(--ink);border-color:var(--line)}
.btn--block{width:100%}
.btn[disabled]{opacity:.6;pointer-events:none}
.alink{display:inline-flex;align-items:center;gap:.7em;margin-top:.6rem;padding-bottom:.3em;color:var(--ink);font:500 .78rem/1.2 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .5s var(--ease-out),color .3s}
.alink:hover{background-size:0 1px;background-position:100% 100%;color:var(--sea)}
.alink .ico{transition:transform .45s var(--ease-out)}
.alink:hover .ico{transform:translateX(5px)}
.alink--light{color:var(--lime)}
.alink--light:hover{color:#9fdcfb}

/* ---------------------------------------------------------------- logo */
/* client logo as on the live site: navy disc, white drawing, italic wordmark below */
.logo{display:block;height:100%;width:auto;overflow:visible}
.mark{overflow:visible}
.lg-sun,.lg-ray,.lg-ring{transform-box:fill-box;transform-origin:center}
.lg-sun{transform-origin:119.77px 81.46px;transform-box:view-box}
.lg-waves{transform-box:fill-box}

/* ---------------------------------------------------------------- header */
.hdr{position:fixed;inset:0 0 auto;z-index:80;height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-inline:var(--gutter);color:var(--ink);transition:transform .6s var(--ease-out),background-color .45s,color .45s,box-shadow .45s,height .45s var(--ease)}
.hdr::after{content:"";position:absolute;inset:auto var(--gutter) 0;height:1px;background:var(--line);opacity:0;transition:opacity .45s}
.hdr.is-solid{background:rgba(246,241,232,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.hdr.is-solid::after{opacity:1}
.hdr.is-hidden{transform:translateY(-110%)}
.hdr--over:not(.is-solid){color:#fff}
.hdr__logo{display:block;align-self:flex-start;height:70px;margin-top:10px;color:inherit;transition:height .5s var(--ease-out),margin .5s var(--ease-out)}
@media (min-width:900px){.hdr__logo{height:96px;margin-top:14px}}
.hdr.is-solid .hdr__logo{height:50px;margin-top:9px;color:var(--navy)}
@media (min-width:900px){.hdr.is-solid .hdr__logo{height:66px;margin-top:9px}}
.hdr__logo:hover{color:inherit}
.hdr__right{display:flex;align-items:center;gap:clamp(.6rem,1.6vw,1.6rem)}
.langs{display:flex;gap:.2rem;font:500 .74rem/1 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.14em}
.langs a{position:relative;padding:.55em .5em;text-decoration:none;opacity:.62;transition:opacity .3s}
.langs a:hover{opacity:1;color:inherit}
.langs a[aria-current]{opacity:1}
.langs a[aria-current]::after{content:"";position:absolute;left:.5em;right:.5em;bottom:.15em;height:1px;background:currentColor}
.hdr__langs{display:none}
@media (min-width:720px){.hdr__langs{display:flex}}
.hdr__book{display:none}
@media (min-width:560px){.hdr__book{display:inline-flex}}
.hdr--over:not(.is-solid) .hdr__book{--bg:transparent;--fg:#fff;border-color:rgba(255,255,255,.5)}
.burger{position:relative;z-index:2;display:flex;align-items:center;gap:.8rem;height:48px;padding:0 0 0 .6rem;background:none;border:0;color:inherit}
.burger__label{position:relative;display:grid;height:1em;overflow:hidden;font:500 .74rem/1 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.2em;text-transform:uppercase}
.burger__label span{grid-area:1/1;transition:transform .6s var(--ease-out)}
.burger__label span+span{transform:translateY(110%)}
.burger__icon{position:relative;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;opacity:.95}
.burger__icon i{position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .6s var(--ease-out),top .6s var(--ease-out)}
.burger__icon i:first-child{top:13px}
.burger__icon i:last-child{top:19px}
html:not(.is-menu) .burger:hover .burger__icon i:first-child{transform:scaleX(.7);transform-origin:left}
.is-menu .burger{color:var(--lime)}
.is-menu .burger__label span:first-child{transform:translateY(-110%)}
.is-menu .burger__label span+span{transform:none}
.is-menu .burger__icon i:first-child{top:16px;transform:rotate(45deg)}
.is-menu .burger__icon i:last-child{top:16px;transform:rotate(-45deg)}
.is-menu .hdr{background:transparent!important;color:var(--lime)!important;transform:none!important;box-shadow:none}
.is-menu .hdr::after{opacity:0!important}
.is-menu .hdr__logo{color:var(--lime)}
.is-menu .hdr__langs,.is-menu .hdr__book{opacity:0;pointer-events:none}

/* ---------------------------------------------------------------- menu (blue shutters) */
.menu{position:fixed;inset:0;z-index:70;color:var(--lime);perspective:1600px;overflow:hidden}
.menu__shutters{position:absolute;inset:0;display:flex;transform-style:preserve-3d}
.menu__shutter{flex:1;height:100%;background:
  repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px,rgba(0,0,0,.08) 3px 4px,transparent 4px 26px),
  linear-gradient(90deg,var(--deep) 0,var(--deep-2) 50%,var(--deep) 100%);
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.03),inset 0 0 0 11px rgba(0,0,0,.18);
  backface-visibility:hidden;will-change:transform}
.menu__shutter:first-child{transform-origin:0 50%}
.menu__shutter:last-child{transform-origin:100% 50%}
.menu__body{position:relative;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;gap:2rem;padding:calc(var(--hdr) + 3vh) var(--gutter) 2rem;overflow-y:auto;overscroll-behavior:contain}
@media (min-width:900px){.menu__body{grid-template-columns:1.25fr .9fr .7fr;grid-template-rows:1fr;align-items:center;gap:3vw;padding-bottom:4vh}}
.menu__nav ol{counter-reset:m}
.menu__nav li{overflow:hidden}
.menu__nav a{display:flex;align-items:baseline;gap:1rem;padding:.12em 0;text-decoration:none;color:var(--lime);font:300 clamp(2rem,1.2rem + 4vw,4.2rem)/1.1 var(--serif);font-variation-settings:"wght" 300;letter-spacing:-.02em;transition:color .35s,transform .6s var(--ease-out)}
.menu__num{font:500 .7rem/1 var(--sans);letter-spacing:.2em;color:var(--sun);transform:translateY(-1.4em);min-width:1.6rem}
.menu__txt{position:relative;background:linear-gradient(currentColor,currentColor) 0 92%/0 1px no-repeat;transition:background-size .6s var(--ease-out)}
.menu__nav a:hover,.menu__nav a:focus-visible{color:#9fdcfb;transform:translateX(.4rem)}
.menu__nav a:hover .menu__txt,.menu__nav a[aria-current] .menu__txt{background-size:100% 1px}
.menu__nav a[aria-current]{font-style:italic}
.menu__media{display:none;position:relative;aspect-ratio:3/4;max-height:68vh;border-radius:100vmax 100vmax 0 0;overflow:hidden;background:var(--deep-2)}
@media (min-width:900px){.menu__media{display:block}}
.menu__fig{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .7s var(--ease),transform 1.4s var(--ease-out)}
.menu__fig.is-on{opacity:1;transform:none}
.menu__fig img{width:100%;height:100%;object-fit:cover}
.menu__aside{display:grid;gap:1.6rem;align-content:end;font-size:.95rem}
@media (min-width:900px){.menu__aside{align-content:center}}
.menu__aside a{text-decoration:none}
.menu__aside a:hover{color:#9fdcfb}
.menu__aside .label{color:var(--sun);margin-bottom:.8rem}
.menu__aside p{margin:0 0 .4rem}
.langs--lg{flex-wrap:wrap;font-size:.8rem}
.langs--lg a{padding-left:0;margin-right:1rem}
.langs--lg a[aria-current]::after{left:0}
.menu__fb{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-l);border-radius:50%}
.menu__fb:hover{border-color:#9fdcfb}
.js .menu:not(.is-open) .menu__body{visibility:hidden}

/* ---------------------------------------------------------------- home hero */
.hero{position:relative;height:100svh;min-height:600px;color:#fff;overflow:hidden;background:var(--deep)}
.hero__media{position:absolute;inset:0}
.hero__img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,27,44,.5) 0,rgba(8,27,44,0) 26%,rgba(8,27,44,0) 46%,rgba(8,27,44,.32) 70%,rgba(8,27,44,.78) 100%)}
.hero__in{position:absolute;left:0;right:0;bottom:clamp(96px,15vh,170px);margin-inline:auto}
.hero__mark{width:clamp(64px,7vw,92px);margin-bottom:1.6rem}
.hero__eyebrow{margin-bottom:1rem}
.hero__title{color:#fff;font:300 clamp(3.4rem,1.2rem + 11vw,11.5rem)/.92 var(--serif);font-variation-settings:"wght" 280;letter-spacing:-.035em;margin-left:-.04em}
.hero__sub{margin:1.1rem 0 0;font:italic 300 clamp(1.15rem,.9rem + 1vw,1.75rem)/1.3 var(--serif);color:rgba(255,255,255,.92)}
.hero__foot{position:absolute;left:0;right:0;bottom:clamp(22px,4vh,40px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;font:500 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hero__coords,.hero__place{display:none}
@media (min-width:700px){.hero__coords,.hero__place{display:block}}
.hero__scroll{display:inline-flex;flex-direction:column;align-items:center;gap:.7rem;text-decoration:none;margin-inline:auto}
@media (min-width:700px){.hero__scroll{margin-inline:0}}
.hero__scroll:hover{color:#fff}
.hero__scroll .ico{animation:bob 2.4s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}

/* ---------------------------------------------------------------- page hero */
.phero{position:relative;height:clamp(440px,74svh,860px);color:#fff;overflow:hidden;background:var(--deep)}
.phero__media{position:absolute;inset:-6% 0 0;height:auto!important}
.phero__img{width:100%;height:100%;object-fit:cover}
.phero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,27,44,.55) 0,rgba(8,27,44,0) 30%,rgba(8,27,44,.08) 55%,rgba(8,27,44,.66) 100%)}
.phero__in{position:absolute;left:0;right:0;bottom:clamp(64px,10vh,120px);margin-inline:auto}
.phero__title{color:#fff;font:300 clamp(2.9rem,1.4rem + 7vw,8rem)/.96 var(--serif);font-variation-settings:"wght" 280;letter-spacing:-.03em;max-width:14ch;text-wrap:balance}
.phero__waves{position:absolute;left:0;right:0;bottom:-1px;height:clamp(40px,6vw,90px);overflow:hidden}
.wedge{display:block;width:200%;height:100%;animation:drift2 18s linear infinite}
.wedge path{fill:none;stroke:var(--lime);stroke-width:1.4;vector-effect:non-scaling-stroke}
.wedge__l1{opacity:.45}.wedge__l2{opacity:.7}
.wedge .wedge__fill{fill:var(--lime);stroke:none}
@keyframes drift2{to{transform:translateX(-25%)}}

/* ---------------------------------------------------------------- waves */
.waves{display:block;width:100%;height:100%;overflow:visible}
.waves path{fill:none;stroke:currentColor;stroke-width:1.3;vector-effect:non-scaling-stroke}
.waves__g{animation:drift 14s linear infinite}
.waves path:nth-child(2){animation:drift 19s linear infinite reverse}
@keyframes drift{to{transform:translateX(-600px)}}

/* ---------------------------------------------------------------- arch & media helpers */
.arch{border-radius:100vmax 100vmax 0 0;overflow:hidden}
.arch img,.story__fig img,.svc__fig img{width:100%;height:100%;object-fit:cover}
[data-parallax]{height:100%;will-change:transform}
[data-parallax] img{transform:scale(1.14)}
.zoom{position:relative;display:block;overflow:hidden;border-radius:2px;background:var(--lime-2);cursor:zoom-in}
.zoom img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out),filter .6s}
.zoom:hover img{transform:scale(1.05)}
.zoom__i{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(246,241,232,.9);color:var(--ink);opacity:0;transform:translateY(6px) scale(.9);transition:opacity .4s,transform .5s var(--ease-out)}
.zoom:hover .zoom__i,.zoom:focus-visible .zoom__i{opacity:1;transform:none}
.zoom__more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(11,42,67,.55);color:#fff;font:300 clamp(1.6rem,3vw,2.6rem)/1 var(--serif);letter-spacing:-.02em;transition:background .4s}
.zoom:hover .zoom__more{background:rgba(11,42,67,.35)}

/* ---------------------------------------------------------------- section heads */
.sechead{margin-bottom:clamp(36px,5vw,72px);max-width:44rem}
.sechead--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;max-width:none}
.sechead--row > div{max-width:40rem}

/* ---------------------------------------------------------------- home: intro */
.intro{display:grid;gap:clamp(40px,6vw,96px);padding-block:clamp(80px,12vw,180px) clamp(56px,8vw,120px);align-items:center}
@media (min-width:900px){.intro{grid-template-columns:7fr 5fr}}
.intro .display{margin-bottom:2rem;max-width:15em}
.intro__p{max-width:34em;font-size:1.1rem}
.intro__fig{aspect-ratio:3/4;max-width:460px;width:100%;justify-self:center;box-shadow:var(--shadow)}
.intro__img{height:100%}
.intro__img img{width:100%;height:100%;object-fit:cover}

/* ---------------------------------------------------------------- home: facts */
.facts{padding-bottom:clamp(64px,9vw,140px)}
.facts__list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
@media (min-width:640px){.facts__list{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.facts__list{grid-template-columns:repeat(6,1fr)}}
.facts__item{display:flex;flex-direction:column;gap:.5rem;padding:1.6rem 1rem 1.6rem 0;border-bottom:1px solid var(--line)}
.facts__item+.facts__item{padding-left:1rem}
@media (min-width:1100px){.facts__item+.facts__item{border-left:1px solid var(--line);padding-left:1.4rem}}
.facts__n{font:300 clamp(2.5rem,1.6rem + 3vw,4rem)/1 var(--serif);font-variation-settings:"wght" 300;color:var(--ink);letter-spacing:-.03em;font-feature-settings:"lnum","tnum"}
.facts__t{font-size:.86rem;line-height:1.35;color:var(--mute)}

/* ---------------------------------------------------------------- home: horizon (arch opens onto the view) */
.horizon{position:relative;height:auto;background:var(--lime)}
.horizon__sticky{position:relative;height:100svh;min-height:560px;overflow:hidden;display:grid;place-items:center}
.horizon__frame{position:absolute;inset:0;overflow:hidden;background:var(--deep)}
.horizon__frame img{width:100%;height:100%;object-fit:cover}
.horizon__frame::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 50%,rgba(8,27,44,.55),rgba(8,27,44,.15) 70%),linear-gradient(180deg,rgba(8,27,44,.1),rgba(8,27,44,.45))}
.horizon__quote{position:relative;z-index:2;margin:0;width:min(46rem,100% - 2*var(--gutter));text-align:center;color:#fff}
.horizon__quote .label{justify-content:center}
.horizon__q{margin:0;text-shadow:0 2px 30px rgba(8,27,44,.45);font:300 clamp(1.7rem,1rem + 2.8vw,3.4rem)/1.18 var(--serif);font-style:italic;letter-spacing:-.015em;text-wrap:balance}
.js.has-gsap .horizon{height:240vh}
.js.has-gsap .horizon__sticky{position:sticky;top:0}
.js.has-gsap .horizon__frame{inset:auto;width:min(42vw,520px);height:min(68vh,700px);border-radius:100vmax 100vmax 0 0}

/* ---------------------------------------------------------------- home: amenities */
.amen{display:grid;gap:clamp(40px,6vw,100px);padding-block:clamp(80px,11vw,170px)}
@media (min-width:960px){.amen{grid-template-columns:5fr 7fr}}
.amen__sticky{position:sticky;top:calc(var(--hdr) + 32px)}
.amen__sticky .display{margin-bottom:2rem}
.amen__fig{aspect-ratio:4/5;max-width:380px;margin-bottom:1.6rem;display:none}
@media (min-width:960px){.amen__fig{display:block}}
.amen__list{border-top:1px solid var(--line)}
.amen__item{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.amen__item .ico{color:var(--sea);margin-top:.15rem}
.amen__t{font:400 clamp(1.25rem,1rem + .8vw,1.6rem)/1.2 var(--serif);font-variation-settings:"wght" 380;letter-spacing:-.01em;margin-bottom:.25rem}
.amen__d{margin:0;color:var(--mute);font-size:.98rem}
@media (min-width:640px){.amen__item{grid-template-columns:auto 1fr 1.2fr;align-items:center}.amen__item>div{display:contents}.amen__t{margin:0}}

/* ---------------------------------------------------------------- home: offer (deep sea) */
.offer{position:relative;padding-block:clamp(80px,11vw,170px);background:radial-gradient(120% 90% at 10% 0%,var(--deep-2) 0,var(--deep) 55%,var(--night) 100%);color:rgba(246,241,232,.82);overflow:hidden}
.offer .display{color:var(--lime)}
.offer__list{display:grid;gap:1px;background:var(--line-l);border:1px solid var(--line-l)}
@media (min-width:640px){.offer__list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.offer__list{grid-template-columns:repeat(4,1fr)}}
.offer__item{background:var(--deep)}
.offer__card{position:relative;display:flex;flex-direction:column;gap:1rem;height:100%;padding:2.2rem 1.8rem 4.2rem;text-decoration:none;color:inherit;transition:background .5s}
.offer__card:hover{background:rgba(5,161,230,.08);color:inherit}
.offer__n{font:italic 400 1rem/1 var(--serif);color:var(--sun)}
.offer__card .ico{color:#7fd0f6}
.offer__t{color:var(--lime);font:400 1.55rem/1.15 var(--serif);font-variation-settings:"wght" 380}
.offer__d{margin:0;font-size:.96rem}
.offer__go{position:absolute;left:1.8rem;bottom:1.8rem;color:var(--lime);transition:transform .5s var(--ease-out)}
.offer__card:hover .offer__go{transform:translateX(8px)}

/* ---------------------------------------------------------------- home: activities tiles */
.acts{padding-block:clamp(80px,11vw,170px)}
.acts__grid{display:grid;gap:clamp(18px,2.4vw,34px) clamp(12px,2.4vw,34px);grid-template-columns:repeat(2,1fr)}
@media (min-width:1000px){.acts__grid{grid-template-columns:repeat(4,1fr)}}
.acts__card{display:block;text-decoration:none}
.acts__fig{aspect-ratio:3/4;background:var(--lime-2)}
.acts__fig img{transition:transform 1.4s var(--ease-out)}
.acts__card:hover .acts__fig img{transform:scale(1.06)}
.acts__t{display:flex;justify-content:space-between;gap:.6rem;margin-top:1rem;font:400 clamp(1.05rem,.9rem + .6vw,1.35rem)/1.2 var(--serif);color:var(--ink);font-variation-settings:"wght" 360}
.acts__t::after{content:"→";font-family:var(--sans);font-size:1rem;opacity:.5;transition:transform .5s var(--ease-out),opacity .3s}
.acts__card:hover .acts__t::after{transform:translateX(6px);opacity:1}
@media (min-width:1000px){.acts__item:nth-child(even){margin-top:4.5rem}}
@media (max-width:999px){.acts__item:nth-child(even){margin-top:2.5rem}}

/* ---------------------------------------------------------------- home: rates */
.rates{padding-block:clamp(40px,6vw,100px) clamp(80px,11vw,170px)}
.rates__in{display:grid;gap:clamp(40px,6vw,90px);align-items:center}
@media (min-width:900px){.rates__in{grid-template-columns:1fr 1fr}}
.rates .display{margin-bottom:1.8rem;max-width:16em}
.rates__from{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;margin-bottom:2rem;color:var(--mute)}
.rates__price{font:300 clamp(3rem,2rem + 4vw,5.5rem)/1 var(--serif);color:var(--ink);letter-spacing:-.03em}
.rates__fig{aspect-ratio:5/4;border-radius:240px 240px 4px 4px;overflow:hidden;box-shadow:var(--shadow)}
.rates__fig img{width:100%;height:100%;object-fit:cover}

/* ---------------------------------------------------------------- footer CTA */
.fcta{position:relative;padding-block:clamp(90px,12vw,180px);background:linear-gradient(180deg,var(--deep-2),var(--deep));color:rgba(246,241,232,.85);text-align:center;overflow:hidden}
.fcta__waves{position:absolute;left:0;right:0;top:0;height:90px;color:rgba(127,208,246,.35)}
.fcta__in{position:relative;display:flex;flex-direction:column;align-items:center}
.fcta__title{color:var(--lime);font:300 clamp(2.4rem,1.4rem + 5vw,5.6rem)/1.02 var(--serif);letter-spacing:-.03em;font-style:italic;margin-bottom:1.2rem}
.fcta__text{max-width:32em;margin-bottom:2.4rem}

/* ---------------------------------------------------------------- footer */
.ftr{background:var(--night);color:rgba(246,241,232,.7);font-size:.95rem;padding-top:clamp(64px,8vw,110px)}
.ftr a{text-decoration:none}
.ftr a:hover{color:#9fdcfb}
.ftr .label{color:var(--sun);margin-bottom:1.2rem}
.ftr__grid{display:grid;gap:2.6rem 2rem;padding-bottom:clamp(48px,6vw,80px)}
@media (min-width:640px){.ftr__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.ftr__grid{grid-template-columns:1.3fr 1.2fr 1fr .7fr}}
.ftr__logo{display:block;width:118px;margin-bottom:1.4rem;color:var(--lime)}
.ftr__logo .logo{width:100%;height:auto}
.ftr__tag{font:italic 300 1.35rem/1.3 var(--serif);color:var(--lime);margin:0 0 .4rem;max-width:16em}
.ftr__coords{font-size:.75rem;letter-spacing:.18em;opacity:.6}
.ftr__list li{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.7rem}
.ftr__list .ico{margin-top:.2rem;color:#7fd0f6}
.ftr__nav li{margin-bottom:.45rem}
.langs--col{flex-direction:column;align-items:flex-start;font-size:.8rem;gap:0;margin-bottom:1.2rem}
.langs--col a{padding-left:0}
.langs--col a[aria-current]::after{left:0;right:auto;width:1.6em}
.ftr__fb{display:inline-flex;align-items:center;gap:.6rem}
.ftr__bar{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;align-items:center;padding-block:1.6rem 2rem;border-top:1px solid var(--line-l);font-size:.8rem}
.ftr__bar p{margin:0}
.ftr__prn{display:block;opacity:.7;margin-top:.2rem}
@media (min-width:900px){.ftr__prn{display:inline;margin:0 0 0 .8rem}}
.ftr__links{display:flex;gap:1.4rem;flex-wrap:wrap}
.ftr__links .linklike{color:inherit;font-size:inherit;text-decoration:none}
.ftr__links .linklike:hover{color:#9fdcfb}
.ftr__yns a{color:var(--lime);font-weight:600;letter-spacing:.06em;border-bottom:1px solid rgba(246,241,232,.35)}

/* ---------------------------------------------------------------- about: story */
.story{display:grid;gap:clamp(48px,6vw,96px);padding-bottom:clamp(80px,10vw,150px)}
@media (min-width:1100px){.story{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}
.story__sec{display:grid;gap:clamp(28px,4vw,64px);align-items:center;padding-block:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
@media (min-width:760px){.story__sec{grid-template-columns:1.15fr .85fr}.story__sec--rev .story__txt{order:2}}
.story__h{font:300 clamp(1.8rem,1.2rem + 2.2vw,2.9rem)/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:1.4rem;color:var(--ink)}
.story__txt .label{margin-bottom:1rem}
.story__fig{aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:var(--lime-2)}
.story__fig.arch{border-radius:100vmax 100vmax 0 0}
.story__aside{position:relative;height:100%}
.brief{position:sticky;top:calc(var(--hdr) + 28px);padding:2rem 1.8rem;background:var(--chalk);border:1px solid var(--line);border-radius:var(--r)}
.brief__t{font:400 1.6rem/1.2 var(--serif);margin-bottom:1.2rem}
.brief__dl>div{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line);font-size:.92rem;line-height:1.45}
.brief__dl dt{color:var(--mute);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding-top:.15rem}
.brief__dl dd{color:var(--ink)}
.brief .btn{margin-top:1.4rem}
.brief__map{display:flex;justify-content:center;gap:.5rem;margin-top:1rem;font-size:.86rem;text-decoration:none;color:var(--sea)}
.pull{margin:clamp(24px,4vw,64px) 0;padding:clamp(24px,4vw,48px) 0;border-top:1px solid var(--line);text-align:center}
.pull p{margin:0;font:italic 300 clamp(2rem,1.3rem + 3.2vw,4rem)/1.1 var(--serif);color:var(--navy);letter-spacing:-.02em}
.nextpage{padding-bottom:clamp(80px,10vw,150px)}
.nextpage__a{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.4rem 2rem;padding-top:2.2rem;border-top:1px solid var(--ink);text-decoration:none;color:var(--ink)}
.nextpage__a .label{grid-column:1/-1;margin:0}
.nextpage__t{font:300 clamp(2rem,1.2rem + 4vw,4.8rem)/1 var(--serif);letter-spacing:-.03em;transition:transform .7s var(--ease-out)}
.nextpage__a .ico{transition:transform .7s var(--ease-out)}
.nextpage__a:hover{color:var(--sea)}
.nextpage__a:hover .nextpage__t{transform:translateX(12px);font-style:italic}
.nextpage__a:hover .ico{transform:translateX(12px)}

/* ---------------------------------------------------------------- accommodations */
.subnav{position:sticky;top:0;z-index:40;background:rgba(246,241,232,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block:1px solid var(--line);transition:top .6s var(--ease-out)}
.hdr-shown .subnav{top:var(--hdr)}
.subnav__in{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding-block:.7rem}
.subnav__in::-webkit-scrollbar{display:none}
.subnav__a{flex:none;display:inline-flex;align-items:center;gap:.6rem;padding:.6em 1.1em;border:1px solid transparent;border-radius:999px;text-decoration:none;font:500 .76rem/1 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);transition:border-color .3s,background .3s,color .3s}
.subnav__a:hover{border-color:var(--line);color:var(--ink)}
.subnav__a.is-on{background:var(--ink);color:var(--lime)}
.subnav__n{font:italic 400 .95rem/1 var(--serif);letter-spacing:0;color:var(--sun)}
.level{padding-block:clamp(72px,9vw,140px)}
.level:nth-of-type(even){background:var(--lime-2)}
#panoramic{background:var(--deep);color:rgba(246,241,232,.82)}
#panoramic .level__t,#panoramic .room__t{color:var(--lime)}
#panoramic .level__n{-webkit-text-stroke-color:rgba(246,241,232,.3)}
#panoramic .room__count{color:rgba(246,241,232,.55)}
.level__head{display:flex;align-items:flex-end;gap:clamp(16px,2vw,32px);margin-bottom:clamp(40px,6vw,90px)}
.level__n{font:300 clamp(4.4rem,3rem + 7vw,10rem)/.8 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(19,38,58,.28);letter-spacing:-.04em}
.room{display:grid;gap:clamp(24px,3vw,56px);padding-block:clamp(36px,4.5vw,64px);border-top:1px solid var(--line)}
#panoramic .room{border-color:var(--line-l)}
@media (min-width:980px){.room{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.room__txt{position:sticky;top:calc(var(--hdr) + 90px);align-self:start}}
.room__t{font:300 clamp(1.8rem,1.2rem + 2vw,2.8rem)/1.08 var(--serif);letter-spacing:-.02em;margin-bottom:1rem}
.room__d{max-width:30em}
.room__count{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.room__grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(120px,22vw,250px)}
.room__cell .zoom{height:100%}
.room__cell:first-child{grid-column:1/-1;grid-row:span 2}
.room__cell.is-more{display:none}
.room__grid--1{grid-auto-rows:clamp(220px,40vw,560px)}
.room__grid--1 .room__cell:first-child{grid-row:span 1}
@media (min-width:700px){
  .room__grid{grid-template-columns:repeat(4,1fr)}
  .room__grid--2 .room__cell{grid-column:span 2;grid-row:span 2}
  .room__grid--3 .room__cell:first-child{grid-column:span 2}
  .room__grid--3 .room__cell:not(:first-child){grid-column:span 2}
  .room__grid--4 .room__cell:first-child{grid-column:span 4}
  .room__grid--4 .room__cell:not(:first-child){grid-column:span 4/3;grid-column:auto}
  .room__grid--4{grid-template-columns:repeat(3,1fr)}
  .room__grid--4 .room__cell:first-child{grid-column:1/-1}
  .room__grid--5 .room__cell:first-child{grid-column:span 2}
}
.room--wide .room__grid{grid-auto-rows:clamp(140px,24vw,300px)}

/* ---------------------------------------------------------------- services */
.svcs{padding-bottom:clamp(80px,10vw,150px)}
.svc{display:grid;gap:clamp(28px,4vw,72px);align-items:center;padding-block:clamp(48px,6vw,96px);border-top:1px solid var(--line)}
@media (min-width:800px){.svc{grid-template-columns:1fr 1fr}.svc--rev .svc__fig{order:2}}
.svc__fig{aspect-ratio:4/5;max-height:640px;overflow:hidden;border-radius:2px;background:var(--lime-2)}
.svc__fig.arch{border-radius:100vmax 100vmax 0 0}
.svc__txt{position:relative;max-width:30rem}
.svc__n{display:block;font:300 clamp(4rem,3rem + 4vw,7rem)/.8 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(19,38,58,.25);margin-bottom:1.4rem}
.svc__ico{color:var(--sea);margin-bottom:1rem}
.svc__t{font:300 clamp(2rem,1.3rem + 2.4vw,3.2rem)/1.06 var(--serif);letter-spacing:-.02em;margin-bottom:1.2rem}
.svc__d{font-size:1.1rem}

/* ---------------------------------------------------------------- activities */
.handmade{display:grid;gap:clamp(32px,4vw,64px);padding-block:clamp(40px,6vw,100px) clamp(80px,10vw,150px)}
@media (min-width:1000px){.handmade{grid-template-columns:1fr 1fr;column-gap:clamp(48px,6vw,110px)}.handmade__head{grid-column:1/-1}.handmade__imgs{grid-column:2;grid-row:2}.handmade__cols{grid-row:2}}
.handmade__cols p:first-child::first-line{font-variation-settings:"wght" 520;color:var(--ink)}
.handmade__imgs{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(8,minmax(40px,1fr));gap:12px;min-height:520px}
.handmade__fig{overflow:hidden;border-radius:2px;background:var(--lime-2)}
.handmade__fig img{width:100%;height:100%;object-fit:cover}
.handmade__fig--1{grid-column:1/5;grid-row:1/5}
.handmade__fig--2{grid-column:4/7;grid-row:3/8;border-radius:100vmax 100vmax 0 0;box-shadow:var(--shadow);z-index:1;border:8px solid var(--lime)}
.handmade__fig--3{grid-column:1/4;grid-row:5/9}
.see{padding-block:clamp(80px,10vw,150px);background:linear-gradient(180deg,var(--deep),var(--night));color:rgba(246,241,232,.82)}
.see .display{color:var(--lime)}
.tabs__list{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;margin-bottom:clamp(28px,4vw,56px);padding-bottom:.4rem;border-bottom:1px solid var(--line-l)}
.tabs__list::-webkit-scrollbar{display:none}
.tabs__tab{flex:none;position:relative;padding:.9em 1.1em;background:none;border:0;color:rgba(246,241,232,.62);font:500 .78rem/1 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.16em;text-transform:uppercase;transition:color .3s}
.tabs__tab::after{content:"";position:absolute;left:1.1em;right:1.1em;bottom:-.45rem;height:2px;background:var(--sun);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.tabs__tab:hover{color:var(--lime)}
.tabs__tab[aria-selected="true"]{color:var(--lime)}
.tabs__tab[aria-selected="true"]::after{transform:none}
.no-js .tabs__list{display:none}
.tabs__panel{outline:none}
.no-js .tabs__panel{padding-bottom:4rem}
.tabs__ptitle{color:var(--lime);font:300 clamp(1.8rem,1.2rem + 2vw,2.8rem)/1.1 var(--serif);margin-bottom:1.6rem}
.js .tabs__ptitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tabs__panel.is-in{animation:panelIn .8s var(--ease-out)}
@keyframes panelIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;margin-bottom:clamp(28px,4vw,56px);scrollbar-width:thin;scrollbar-color:rgba(246,241,232,.3) transparent}
.strip li{flex:0 0 auto;width:clamp(240px,30vw,420px);aspect-ratio:4/3;scroll-snap-align:start}
.strip li:first-child{width:clamp(260px,40vw,560px)}
.strip .zoom{height:100%;background:var(--deep-2)}
.tabs__arts{display:grid;gap:2rem 4rem;margin-bottom:2rem}
@media (min-width:900px){.tabs__arts{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}
.art__t{color:var(--lime);font:400 1.6rem/1.2 var(--serif);margin-bottom:1rem}
.art p{max-width:38em}
.routes{counter-reset:r;display:grid;gap:.1rem;margin-top:1.6rem}
@media (min-width:900px){.routes{grid-template-columns:1fr 1fr;column-gap:3rem}}
.routes li{counter-increment:r;display:grid;grid-template-columns:2.4rem 1fr;padding:.7rem 0;border-top:1px solid var(--line-l);font-size:.92rem;line-height:1.5}
.routes li::before{content:counter(r,decimal-leading-zero);font:italic 400 1rem/1.4 var(--serif);color:var(--sun)}
.taste{padding-block:clamp(80px,10vw,150px)}
.taste__item{display:grid;gap:clamp(28px,4vw,72px);align-items:center;padding-block:clamp(36px,4vw,64px);border-top:1px solid var(--line)}
@media (min-width:900px){.taste__item{grid-template-columns:1fr 1fr}.taste__item--rev .taste__txt{order:2}}
.taste__t{font:300 clamp(1.8rem,1.2rem + 2vw,2.8rem)/1.08 var(--serif);margin-bottom:1.2rem}
.taste__links{font-size:.92rem}
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(80px,9vw,140px);gap:10px}
.mosaic li .zoom{height:100%}
.mosaic li:nth-child(1){grid-column:1/5;grid-row:span 3}
.mosaic li:nth-child(2){grid-column:5/7;grid-row:span 2}
.mosaic li:nth-child(3){grid-column:5/7;grid-row:span 2}
.mosaic li:nth-child(4){grid-column:1/3;grid-row:span 2}
.mosaic li:nth-child(5){grid-column:3/5;grid-row:span 2}
.mosaic--4 li:nth-child(4){grid-column:1/5;grid-row:span 1}
.glance{padding-block:clamp(80px,10vw,150px);background:var(--lime-2)}
.glance__grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:700px){.glance__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.glance__grid{grid-template-columns:repeat(3,1fr)}}
.glance__card{padding:2rem 1.8rem;background:var(--lime-2);transition:background .4s}
.glance__card:hover{background:var(--chalk)}
.glance__card dt{font:italic 400 1.5rem/1.2 var(--serif);color:var(--sea);margin-bottom:.8rem}
.glance__card dd{font-size:.98rem}
.island{padding-block:clamp(80px,10vw,150px)}
.island__head{margin-bottom:clamp(32px,4vw,56px)}
.island__fig{height:clamp(280px,48vw,640px);overflow:hidden;border-radius:2px;margin-bottom:clamp(40px,5vw,80px);background:var(--lime-2)}
.island__fig img{width:100%;height:100%;object-fit:cover}
.island__cols{columns:1;column-gap:clamp(40px,5vw,80px)}
@media (min-width:900px){.island__cols{columns:2}}
.island__cols p{break-inside:avoid}
.island__first{column-span:all;font:300 clamp(1.4rem,1rem + 1.6vw,2.1rem)/1.35 var(--serif);color:var(--ink);max-width:34em;margin-bottom:2rem!important}
.island__cards{display:grid;gap:clamp(18px,2vw,32px);margin-top:clamp(40px,5vw,80px)}
@media (min-width:800px){.island__cards{grid-template-columns:1fr 1fr}}
.icard{padding:2.2rem 2rem;background:var(--chalk);border:1px solid var(--line);border-radius:var(--r)}
.icard .ico{color:var(--sun);margin-bottom:1rem}
.icard h3{font:400 1.7rem/1.2 var(--serif);margin-bottom:.8rem}

/* ---------------------------------------------------------------- gallery */
.gal{padding-bottom:clamp(80px,10vw,150px)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(28px,4vw,56px)}
.chip{display:inline-flex;align-items:center;gap:.6rem;padding:.7em 1.2em;background:transparent;border:1px solid var(--line);border-radius:999px;font:500 .76rem/1 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);transition:background .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.chip__n{font:italic 400 .95rem/1 var(--serif);letter-spacing:0;color:var(--sun)}
.masonry{columns:1;column-gap:14px}
@media (min-width:600px){.masonry{columns:2}}
@media (min-width:1050px){.masonry{columns:3}}
.masonry__item{break-inside:avoid;margin-bottom:14px}
.masonry__item.is-out{display:none}

/* ---------------------------------------------------------------- lightbox */
.lb{position:fixed;inset:0;z-index:150;display:grid;grid-template-rows:auto 1fr auto;background:rgba(6,20,33,.97);color:var(--lime);opacity:0;transition:opacity .4s var(--ease)}
.lb.is-on{opacity:1}
.lb__top{display:flex;justify-content:space-between;align-items:center;padding:14px var(--gutter);font:500 .74rem/1 var(--sans);letter-spacing:.2em}
.lb__stage{position:relative;display:grid;place-items:center;overflow:hidden;touch-action:pan-y;padding:0 clamp(8px,6vw,96px)}
.lb__img{max-width:100%;max-height:calc(100svh - 150px);width:auto;height:auto;object-fit:contain;border-radius:2px;box-shadow:0 30px 80px rgba(0,0,0,.4);transition:opacity .35s,transform .5s var(--ease-out)}
.lb__img.is-loading{opacity:.2}
.lb__btn{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line-l);border-radius:50%;background:rgba(6,20,33,.4);color:var(--lime);transition:background .3s,border-color .3s}
.lb__btn:hover{background:rgba(5,161,230,.25);border-color:#7fd0f6}
.lb__prev,.lb__next{position:absolute;top:50%;transform:translateY(-50%);z-index:2}
.lb__prev{left:clamp(8px,2vw,28px)}
.lb__next{right:clamp(8px,2vw,28px)}
@media (max-width:640px){.lb__prev,.lb__next{top:auto;bottom:12px;transform:none}}
.lb__cap{padding:14px var(--gutter) 22px;text-align:center;font:italic 300 1.05rem/1.4 var(--serif);color:rgba(246,241,232,.8);min-height:3.2rem}
html.lb-open{overflow:hidden}

/* ---------------------------------------------------------------- contact: prices */
.prices{padding-block:clamp(16px,3vw,48px) clamp(64px,8vw,120px)}
.prices__extra{margin:0;padding:.7em 1.2em;border:1px dashed var(--stone);border-radius:999px;font-size:.9rem;color:var(--ink)}
.seasons{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:s}
@media (min-width:560px){.seasons{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.seasons{grid-template-columns:repeat(3,1fr)}}
.season{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:1.2rem;padding:1.8rem 1.6rem;background:var(--lime);transition:background .4s}
.season:hover{background:var(--chalk)}
.season__n{grid-row:span 2;font:italic 400 1rem/1.6 var(--serif);color:var(--sun)}
.season__p{font:300 clamp(2.4rem,1.8rem + 2vw,3.4rem)/1 var(--serif);color:var(--ink);letter-spacing:-.03em;font-feature-settings:"lnum"}
.season__d{margin-top:.5rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.season.is-now{background:var(--chalk);box-shadow:inset 0 0 0 1px var(--sea)}
.season.is-now::after{content:attr(data-now);position:absolute;top:1.1rem;right:1.1rem;display:inline-flex;align-items:center;gap:.4rem;font:500 .64rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sea)}

/* ---------------------------------------------------------------- contact: form */
.book{display:grid;gap:clamp(48px,6vw,96px);padding-bottom:clamp(80px,10vw,150px)}
@media (min-width:1050px){.book{grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);align-items:start}}
.book__form .display{margin-bottom:clamp(28px,3vw,48px)}
.form{position:relative;display:grid;gap:1.6rem}
.form__row{display:grid;gap:1.6rem}
@media (min-width:640px){.form__row{grid-template-columns:1fr 1fr}.form__row--3{grid-template-columns:1fr 2fr}}
.field{position:relative;display:flex;flex-direction:column;gap:.45rem;min-width:0;margin:0;padding:0;border:0}
.field label,.field legend{font:500 .72rem/1.2 var(--sans);font-variation-settings:"wght" 560;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);padding:0}
.req{color:var(--bougain)}
.field input,.field select,.field textarea{width:100%;padding:.85rem 0;border:0;border-bottom:1px solid rgba(19,38,58,.3);border-radius:0;background:transparent;color:var(--ink);font:400 1.08rem/1.4 var(--sans);font-variation-settings:"wght" 400;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:140px;padding:.85rem;border:1px solid rgba(19,38,58,.3);border-radius:var(--r);background:rgba(252,250,245,.6)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sea)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{box-shadow:0 1px 0 0 var(--sea)}
.field--select::after{content:"";position:absolute;right:4px;bottom:1.25rem;width:8px;height:8px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);pointer-events:none}
.field select{padding-right:1.6rem;cursor:pointer}
.field input[type=date]{min-height:3.1rem}
.field.is-bad input,.field.is-bad select,.field.is-bad textarea{border-color:var(--bougain)}
.field__err{font-size:.8rem;color:var(--bougain)}
.people{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.4rem}
.people__opt{position:relative;cursor:pointer}
.people__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.people__opt span{display:grid;place-items:center;min-width:2.6rem;height:2.6rem;padding:0 .6rem;border:1px solid var(--line);border-radius:999px;font:400 1rem/1 var(--serif);color:var(--ink);transition:background .25s,color .25s,border-color .25s}
.people__opt:hover span{border-color:var(--ink)}
.people__opt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.people__opt input:focus-visible+span{outline:2px solid var(--aegean);outline-offset:2px}
.form__nights{margin:-.6rem 0 0;min-height:1.2em;font:italic 300 1.05rem/1.2 var(--serif);color:var(--sea)}
.check{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;font-size:.92rem;cursor:pointer}
.check input{position:absolute;opacity:0;width:22px;height:22px;margin:0}
.check__box{display:grid;place-items:center;width:22px;height:22px;margin-top:.15rem;border:1px solid rgba(19,38,58,.45);border-radius:3px;color:transparent;transition:background .25s,border-color .25s}
.check input:checked+.check__box{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.check input:focus-visible+.check__box{outline:2px solid var(--aegean);outline-offset:2px}
.check .ico{width:15px;height:15px;stroke-width:2.2}
.check.is-bad .check__box{border-color:var(--bougain)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:.4rem}
.form__status{margin:0;font-size:.95rem}
.form__status.is-err{color:var(--bougain)}
.form__done{position:absolute;inset:-12px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;background:var(--chalk);border:1px solid var(--line);border-radius:var(--r);animation:panelIn .8s var(--ease-out)}
.form__done .ico{color:var(--sea)}
.form__done h3{font:300 2.6rem/1 var(--serif)}
.form__done p{max-width:28em}
.book__aside{position:sticky;top:calc(var(--hdr) + 28px)}
.cdetails{padding:clamp(28px,3vw,44px);background:var(--deep);color:rgba(246,241,232,.82);border-radius:var(--r);position:relative;overflow:hidden}
.cdetails__mark{width:76px;margin-bottom:1.4rem}
.cdetails__t{color:var(--lime);font:300 2rem/1.1 var(--serif);margin-bottom:1.6rem}
.cdetails__list li{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid var(--line-l)}
.cdetails__list .ico{color:#7fd0f6;margin-top:.3rem}
.cdetails__list .label{color:var(--sun);margin:0 0 .35rem;font-size:.64rem}
.cdetails__list .label::before{display:none}
.cdetails__list a{color:var(--lime);text-decoration:none;font-size:1.05rem}
.cdetails__list a:hover{color:#9fdcfb}
.cdetails .alink{color:var(--lime);margin-top:1.2rem}
.cdetails__prn{margin:1.8rem 0 0;font-size:.78rem;letter-spacing:.06em;opacity:.75}
.cdetails__prn strong{font:400 1.2rem/1.4 var(--serif);letter-spacing:.06em;color:var(--lime)}

/* ---------------------------------------------------------------- privacy doc */
.dochero{position:relative;padding-top:calc(var(--hdr) + clamp(56px,9vw,130px));padding-bottom:clamp(48px,6vw,90px)}
.dochero .display{margin-bottom:1.4rem}
.dochero__lead{max-width:34em;font:300 clamp(1.25rem,1rem + 1vw,1.7rem)/1.4 var(--serif);color:var(--ink)}
.dochero__date{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.dochero__waves{height:60px;color:var(--sand);margin-top:2rem}
.doc{padding-bottom:clamp(80px,10vw,150px)}
.doc>*{max-width:56rem}
.doc__sec{padding-block:1.4rem}
.doc h2{font:400 clamp(1.5rem,1.2rem + 1vw,2rem)/1.2 var(--serif);margin-bottom:.9rem;color:var(--ink)}
.doc a{color:var(--sea)}
.doc__table{margin:1rem 0 2rem;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--chalk)}
.doc table{width:100%;border-collapse:collapse;font-size:.9rem}
.doc th,.doc td{padding:.9rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.doc th{font:500 .68rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);background:var(--lime-2)}
.doc tr:last-child td{border-bottom:0}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;color:var(--ink);white-space:nowrap}
@media (max-width:700px){
  .doc table,.doc tbody,.doc tr,.doc td{display:block}
  .doc thead{display:none}
  .doc tr{padding:.6rem 0;border-bottom:1px solid var(--line)}
  .doc td{border:0;padding:.35rem 1rem}
  .doc td::before{content:attr(data-th);display:block;font:500 .64rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
}
.pg-doc .hdr:not(.is-solid){background:transparent}

/* ---------------------------------------------------------------- cookie consent */
.ck{position:fixed;left:var(--gutter);right:var(--gutter);bottom:max(16px,env(safe-area-inset-bottom));z-index:120;max-width:440px;padding:1.4rem 1.4rem 1.2rem;background:var(--chalk);color:var(--ink-2);border:1px solid var(--line);border-radius:6px;box-shadow:0 30px 70px -20px rgba(8,27,44,.45);font-size:.9rem;line-height:1.55;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .7s var(--ease-out)}
.ck.is-on{opacity:1;transform:none}
@media (min-width:700px){.ck{left:auto;right:var(--gutter)}}
.ck__head{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem;font:400 1.35rem/1.1 var(--serif);color:var(--ink)}
.ck__head .ico{color:var(--sun);width:1.5rem;height:1.5rem}
.ck p{margin:0 0 1rem}
.ck a{color:var(--sea)}
.ck__actions{display:flex;gap:.6rem;flex-wrap:wrap}
.ck__actions .btn{flex:1;min-height:44px}

/* ---------------------------------------------------------------- 404 / maintenance */
.solo{min-height:100svh;display:grid;place-items:center;background:radial-gradient(120% 80% at 50% 0%,var(--chalk),var(--lime) 60%,var(--lime-2));overflow:hidden}
.solo__main{position:relative;z-index:2;width:min(980px,100% - 2*var(--gutter));padding-block:12vh 22vh;text-align:center}
.solo__mark{width:clamp(96px,14vw,140px);margin:0 auto 2.2rem}
.solo .label{justify-content:center}
.solo .label::before{display:none}
.solo__p{max-width:34em;margin:1.2rem auto 2rem;font-size:1.08rem}
.solo__btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.solo__langs{justify-content:center;margin-top:2.6rem}
.solo__waves{position:fixed;left:0;right:0;bottom:0;height:22vh;color:var(--sea);opacity:.45}
.solo__txt{display:none}
.solo__txt[data-l="en"]{display:block}
.lang-fr .solo__txt[data-l="en"],.lang-el .solo__txt[data-l="en"]{display:none}
.lang-fr .solo__txt[data-l="fr"],.lang-el .solo__txt[data-l="el"]{display:block}
.solo__langs3{display:grid;gap:2rem;margin-top:1rem;text-align:left}
@media (min-width:800px){.solo__langs3{grid-template-columns:repeat(3,1fr);gap:2.4rem}}
.solo__col{padding-top:1.4rem;border-top:1px solid var(--line)}
.solo__h{font:300 clamp(1.8rem,1.3rem + 1.6vw,2.6rem)/1.08 var(--serif);margin-bottom:.8rem}
.solo__col .solo__p{margin:0;font-size:1rem;max-width:none}
.solo__contact{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:center;margin-top:2.6rem;font-size:.95rem}
.solo__contact a{color:var(--sea)}
/* CSS-only logo motion for standalone pages */
.solo .lg-sun{animation:sunTurn 18s linear infinite}
.solo .lg-waves path{animation:waveSway 4.5s var(--ease) infinite alternate}
.solo .lg-waves path:nth-child(2){animation-delay:-.8s}
.solo .lg-waves path:nth-child(3){animation-delay:-1.6s}
.solo .lg-waves path:nth-child(4){animation-delay:-2.4s}
@keyframes sunTurn{to{transform:rotate(360deg)}}
@keyframes waveSway{from{transform:translateX(-5px)}to{transform:translateX(5px)}}
.solo--404 .lg-house{animation:float 5s var(--ease) infinite alternate}
@keyframes float{from{transform:translateY(-2px) rotate(-.6deg)}to{transform:translateY(3px) rotate(.6deg)}}

/* ---------------------------------------------------------------- reveal (CSS-driven, robust without GSAP) */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease-out),transform 1.2s var(--ease-out);transition-delay:var(--d,0s)}
.js [data-reveal="arch"],.js [data-reveal="clip"]{opacity:1;transform:none;clip-path:inset(100% 0 0 0);transition:clip-path 1.5s var(--ease-io);transition-delay:var(--d,0s)}
.js [data-reveal].is-in{opacity:1;transform:none}
.js [data-reveal="arch"].is-in,.js [data-reveal="clip"].is-in{clip-path:inset(0 0 0 0)}
.js [data-reveal="arch"].arch.is-in{clip-path:inset(0 0 0 0 round 100vmax 100vmax 0 0)}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.wi{display:inline-block;will-change:transform}
.js.has-gsap [data-split]:not(.is-split){visibility:hidden}

/* hero texts wait for the intro animation; a CSS fallback reveals them if scripts fail */
.js .hero [data-hero-fade],.js .hero__title,.js .hero__mark,.js .phero__title,.js .phero__eyebrow{visibility:hidden;animation:tvShow 0s 2.6s forwards}
.no-anim .hero [data-hero-fade],.no-anim .hero__title,.no-anim .hero__mark,.no-anim .phero__title,.no-anim .phero__eyebrow{visibility:visible;animation:none}
@keyframes tvShow{to{visibility:visible}}

/* ---------------------------------------------------------------- film (About): YouTube loads only on play */
.film{padding-block:clamp(48px,7vw,104px) 0}
.film__head{margin-bottom:clamp(22px,3.2vw,40px)}
.film__head .label{margin-bottom:.9rem}
.film__t{margin:0}
.film__frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--night);box-shadow:var(--shadow);isolation:isolate}
.film__media,.film__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film__media img{transform:scale(1.02);transition:transform 1.8s var(--ease-out),filter 1s var(--ease)}
.film__shade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(8,27,44,0) 0%,rgba(8,27,44,.28) 62%,rgba(8,27,44,.62) 100%),linear-gradient(180deg,rgba(8,27,44,0) 58%,rgba(8,27,44,.5))}
.film__play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:var(--lime);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:opacity .5s var(--ease)}
.film__ring{grid-area:1/1;width:clamp(136px,15.5vw,212px);height:auto;overflow:visible;animation:tvSpin 28s linear infinite}
.film__ring text{font:500 10.5px var(--sans);font-variation-settings:"wght" 620;text-transform:uppercase;fill:currentColor}
.film__btn{grid-area:1/1;display:grid;place-items:center;width:clamp(64px,7.2vw,96px);aspect-ratio:1;border-radius:50%;background:var(--chalk);color:var(--deep);
  box-shadow:0 22px 44px -16px rgba(0,0,0,.6);transition:transform .8s var(--ease-out),background-color .45s var(--ease),color .45s var(--ease)}
.film__btn .ico{width:36%;height:36%;fill:currentColor;stroke:none;margin-left:7%}
.film__cap{position:absolute;inset:auto 0 0;z-index:2;display:flex;justify-content:space-between;gap:1rem;margin:0;padding:clamp(14px,2vw,26px) clamp(16px,2.4vw,32px);
  font:500 .66rem/1 var(--sans);font-variation-settings:"wght" 600;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,241,232,.85);pointer-events:none;transition:opacity .5s var(--ease)}
.film__note{margin:.9rem 0 0;font-size:.8rem;color:var(--mute)}
@media (hover:hover){
  .film__play:hover{color:var(--lime)}
  .film__play:hover .film__btn{transform:scale(1.1);background:var(--sun);color:var(--night)}
  .film__frame:hover .film__media img{transform:scale(1.07)}
}
.film__play:focus-visible{outline:none}
.film__play:focus-visible .film__btn{outline:2px solid var(--aegean);outline-offset:6px}
.film__frame iframe{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;opacity:0;transition:opacity .9s var(--ease)}
.film__frame.is-loaded iframe{opacity:1}
.film__frame.is-playing .film__play,.film__frame.is-playing .film__cap{opacity:0;pointer-events:none}
.film__frame.is-playing .film__media img{transform:scale(1.07);filter:blur(8px) brightness(.45)}
@keyframes tvSpin{to{transform:rotate(360deg)}}
@media (max-width:599px){.film__cap span:last-child{display:none}}

/* ---------------------------------------------------------------- reCAPTCHA (booking form)
   Google's floating badge is hidden (it would sit under the back-to-top arch); the required
   notice is shown in the form instead, as Google allows. */
.grecaptcha-badge{visibility:hidden!important}
.form__rc{margin:1.1rem 0 0;font-size:.74rem;line-height:1.55;color:var(--mute);max-width:46ch}
.form__rc a{color:inherit;text-underline-offset:2px}
.form__rc a:hover{color:var(--ink)}
.form__rcw{position:absolute;width:1px;height:1px;overflow:hidden}

/* ---------------------------------------------------------------- back to top
   A small Cycladic arch (like the photo frames). Its ochre outline is drawn as you scroll,
   with a little sun travelling along it; on hover it turns deep Aegean blue. */
.totop{position:fixed;z-index:60;right:max(var(--gutter),env(safe-area-inset-right));bottom:max(22px,calc(env(safe-area-inset-bottom) + 12px));
  width:52px;height:64px;display:grid;justify-items:center;align-content:center;gap:5px;padding-top:7px;
  color:var(--deep);text-decoration:none;border-radius:26px 26px 3px 3px;
  background:rgba(252,250,245,.95);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);
  translate:0 calc(var(--lift,0px) * -1);
  box-shadow:0 22px 44px -20px rgba(8,27,44,.5),0 2px 6px -2px rgba(8,27,44,.12);
  opacity:0;visibility:hidden;transform:translateY(22px);
  transition:opacity .5s var(--ease-out),transform .8s var(--ease-out),visibility 0s .8s,background-color .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease);
  -webkit-tap-highlight-color:transparent}
.totop.is-on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.totop__arch{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.totop__arch path{fill:none;stroke-width:1.5}
.totop__track{stroke:rgba(19,38,58,.13);transition:stroke .45s var(--ease)}
.totop__prog{stroke:var(--sun);stroke-linecap:round}
.totop__sun{fill:var(--sun);transition:r .45s var(--ease-out)}
.totop__ico{width:19px;height:19px;stroke-width:1.6;transition:transform .55s var(--ease-out)}
.totop__t{font:500 .54rem/1 var(--sans);font-variation-settings:"wght" 620;letter-spacing:.22em;margin-right:-.22em;text-transform:uppercase;color:var(--ink-2);transition:color .45s var(--ease)}
@media (hover:hover){
  .totop:hover{background:var(--deep);color:var(--lime);box-shadow:0 26px 50px -18px rgba(8,27,44,.65),0 2px 6px -2px rgba(8,27,44,.2)}
  .totop:hover .totop__t{color:var(--sun)}
  .totop:hover .totop__ico{transform:translateY(-4px)}
  .totop:hover .totop__track{stroke:rgba(246,241,232,.2)}
  .totop:hover .totop__sun{r:3.6px}
}
.totop:active .totop__ico{transform:translateY(-7px);transition-duration:.25s}
.totop:focus-visible{outline:2px solid var(--aegean);outline-offset:4px;border-radius:26px 26px 3px 3px}
.is-menu .totop,.lb-open .totop,.ck-open .totop{opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .3s var(--ease),transform .45s var(--ease),visibility 0s .45s}
.no-js .totop{opacity:1;visibility:visible;transform:none}
@media (max-width:599px){.totop{width:48px;height:59px;border-radius:24px 24px 3px 3px;padding-top:6px;gap:4px}.totop__ico{width:17px;height:17px}}

/* ---------------------------------------------------------------- reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none;clip-path:none}
  [data-parallax] img{transform:none}
  .waves__g,.wedge{animation:none}
}

/* ---------------------------------------------------------------- print */
@media print{.hdr,.menu,.fcta,.ck,.lb,.burger,.totop{display:none!important}.hero,.phero{height:auto;min-height:0;color:var(--ink)}.hero__media,.phero__media{position:static}body{background:#fff}}
