
/* ============================================================
   TIPOGRAFIA
   Base: Glacial Indifference — metti i file in /assets/fonts/
   Rilievo: Amsterdam Four — font commerciale, serve la licenza
   Finche' i file non ci sono, i fallback Google reggono il layout.
   ============================================================ */
@font-face{font-family:'Glacial Indifference';src:url('/assets/fonts/GlacialIndifference-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Glacial Indifference';src:url('/assets/fonts/GlacialIndifference-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Glacial Indifference';src:url('/assets/fonts/GlacialIndifference-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Amsterdam Four';src:url('/assets/fonts/AmsterdamFour.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  --obsidian:#000000;
  --graphite:#070707;
  --smoke:#101010;
  --ivory:#EDE8DF;
  --ivory-dim:rgba(237,232,223,.58);
  --champagne:#C9A961;
  --hair:rgba(237,232,223,.11);
  --ease:cubic-bezier(.16,1,.3,1);
  --shell:clamp(20px,6vw,96px);
  --sans:'Glacial Indifference','Jost','Futura','Helvetica Neue',system-ui,sans-serif;
  --display:'Glacial Indifference','Jost','Futura','Helvetica Neue',system-ui,sans-serif;
  --script:'Amsterdam Four','Pinyon Script','Snell Roundhand','Apple Chancery',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--obsidian)}
html[lang="ru"]{--sans:'Jost','Helvetica Neue',Arial,system-ui,sans-serif;--display:'Jost','Helvetica Neue',Arial,sans-serif;--script:'Marck Script',cursive}
body{
  font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.75;
  color:var(--ivory);background:var(--obsidian);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.locked{overflow:hidden;height:100vh}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:1px solid var(--champagne);outline-offset:5px}

/* grana fissa, mai su contenitori in scroll */
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.22;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.5'/></svg>")}

/* ---------- tipografia ---------- */
.d1,.d2,.d3{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:1.12}
.d1{font-size:clamp(30px,3.9vw,54px);letter-spacing:.035em;line-height:1.1}
.d2{font-size:clamp(24px,2.9vw,40px);letter-spacing:.045em}
.d3{font-size:clamp(17px,1.6vw,21px);letter-spacing:.07em;line-height:1.3}

/* rilievo: l'unico corsivo del sito */
.eb{font-family:var(--script);font-size:clamp(21px,2.3vw,30px);line-height:1;
  letter-spacing:0;text-transform:none;color:var(--champagne);font-weight:400}
.num{font-family:var(--script)}
.lead{font-size:clamp(16px,1.35vw,19px);line-height:1.72;color:var(--ivory-dim);max-width:52ch}
p{color:var(--ivory-dim);max-width:62ch}
.num{font-size:clamp(38px,4.2vw,58px);line-height:.9;font-weight:400;color:var(--champagne)}

.shell{padding-inline:var(--shell)}
.band{padding-block:clamp(84px,11vw,168px)}
.rule{height:1px;background:var(--hair);border:0}

/* ---------- entry gate ---------- */
.gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;text-align:center;isolation:isolate}
.gate .curtain{position:absolute;left:0;right:0;height:50.6%;background:#000;transition:transform 1.15s var(--ease);z-index:-1}
.gate .curtain.t{top:0}
.gate .curtain.b{bottom:0}
.gate.out .curtain.t{transform:translate3d(0,-100%,0)}
.gate.out .curtain.b{transform:translate3d(0,100%,0)}
.gate.out .gate-inner{opacity:0;transform:translate3d(0,-14px,0)}
.gate.gone{display:none}
.gate-inner{display:grid;justify-items:center;gap:26px;padding:40px 24px;transition:opacity .5s var(--ease),transform .7s var(--ease);width:min(720px,92vw)}
.gate-mark{width:96px;opacity:0;animation:fadeUp 1s var(--ease) .15s forwards}
.gate-title{opacity:0;animation:fadeUp 1s var(--ease) .3s forwards}
.gate-title .d2{font-family:var(--script);text-transform:none;letter-spacing:0;font-size:clamp(38px,5vw,62px);line-height:1.1}
.gate-title .eb{font-family:var(--sans);font-size:10px;letter-spacing:.4em;text-transform:uppercase}
.gate-sub{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:rgba(237,232,223,.4);opacity:0;animation:fadeUp 1s var(--ease) .45s forwards}
.langs{width:100%;border-top:1px solid var(--hair);margin-top:6px}
.lang-row{
  --i:0;position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;
  width:100%;background:none;border:0;border-bottom:1px solid var(--hair);
  padding:17px 18px;cursor:pointer;text-align:left;overflow:hidden;
  opacity:0;animation:fadeUp .9s var(--ease) calc(.55s + var(--i)*.08s) forwards;
}
.lang-row span{position:relative;z-index:1;transition:color .5s var(--ease),transform .5s var(--ease)}
.lang-row .name{font-family:var(--sans);font-size:clamp(15px,1.6vw,18px);letter-spacing:.2em;text-transform:uppercase}
.lang-row .code{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--champagne)}
.lang-row::before{content:"";position:absolute;inset:0;background:var(--ivory);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease);z-index:0}
.lang-row:hover::before{transform:scaleX(1)}
.lang-row:hover span{color:var(--obsidian)}
.lang-row:hover .name{transform:translate3d(10px,0,0)}
.lang-row:active{transform:translate3d(0,1px,0)}
@keyframes fadeUp{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;
  padding:18px var(--shell);transition:background .6s var(--ease),padding .6s var(--ease),border-color .6s var(--ease);border-bottom:1px solid transparent}
.nav.stuck{background:rgba(0,0,0,.82);backdrop-filter:blur(16px);border-bottom-color:var(--hair);padding-block:11px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{width:34px}
.brand b{font-family:var(--sans);font-weight:400;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;line-height:1.3}
.brand small{display:block;font-size:8.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--champagne);font-family:var(--sans)}
.menu{display:flex;gap:34px;justify-content:center;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase}
.menu a{position:relative;color:rgba(237,232,223,.72);padding-block:5px;transition:color .45s var(--ease)}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--champagne);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.menu a:hover{color:var(--ivory)}
.menu a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-right{display:flex;align-items:center;gap:18px}
.globe{background:none;border:0;cursor:pointer;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-dim);transition:color .4s var(--ease)}
.globe:hover{color:var(--champagne)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(201,169,97,.35);
  background:transparent;color:var(--ivory);padding:13px 26px;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;
  overflow:hidden;transition:color .5s var(--ease),border-color .5s var(--ease),transform .35s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--champagne);transform:translate3d(0,101%,0);transition:transform .55s var(--ease);z-index:0}
.btn>*{position:relative;z-index:1}
.btn:hover{color:var(--obsidian);border-color:var(--champagne)}
.btn:hover::before{transform:translate3d(0,0,0)}
.btn:active{transform:scale(.98)}
.btn.filled{background:var(--ivory);border-color:var(--ivory);color:var(--obsidian)}
.btn.filled::before{background:var(--champagne)}
.burger{display:none;background:none;border:0;cursor:pointer;width:38px;padding:8px 4px}
.burger i{display:block;height:1px;background:var(--ivory);margin:7px 0;transition:transform .5s var(--ease),opacity .3s}
.nav.open .burger i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav.open .burger i:nth-child(2){opacity:0}
.nav.open .burger i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ---------- hero asimmetrico ---------- */
.hero{display:grid;grid-template-columns:1.05fr 1.15fr;min-height:100dvh;align-items:center;gap:clamp(28px,5vw,72px);padding:132px var(--shell) 78px}
.hero-copy{display:grid;gap:26px;max-width:620px}
.hero-copy .d1{max-width:14ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.hero-meta{display:flex;gap:22px;align-items:center;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(237,232,223,.42);margin-top:8px}
.dot{width:5px;height:5px;border-radius:50%;background:var(--champagne);animation:breathe 3.4s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}
.hero-visual{position:relative;height:min(80vh,760px);overflow:hidden}
.hero-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.72);transform:scale(1.04);animation:slowzoom 22s var(--ease) forwards}
@keyframes slowzoom{to{transform:scale(1)}}
.hero-visual::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,var(--obsidian) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,0) 68%,var(--obsidian) 100%),
  linear-gradient(90deg,var(--obsidian) 0%,rgba(0,0,0,0) 22%),
  linear-gradient(0deg,rgba(201,169,97,.1),rgba(201,169,97,.1))}
.ticker{position:absolute;top:0;bottom:0;right:-1px;width:34px;border-inline:1px solid var(--hair);overflow:hidden;z-index:2}
.ticker div{position:absolute;top:0;left:0;writing-mode:vertical-rl;font-size:9.5px;letter-spacing:.5em;text-transform:uppercase;color:rgba(201,169,97,.55);padding:14px 0;animation:roll 34s linear infinite}
@keyframes roll{to{transform:translate3d(0,-50%,0)}}

/* ---------- manifesto ---------- */
.manifesto{display:grid;grid-template-columns:1fr 1.55fr;gap:clamp(28px,6vw,110px);align-items:start}
.manifesto .col2{display:grid;gap:22px;padding-top:6px}
.facts{display:grid;grid-template-columns:repeat(3,auto);gap:clamp(24px,5vw,76px);justify-content:start;margin-top:14px;border-top:1px solid var(--hair);padding-top:30px}
.fact .l{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--champagne);margin-top:11px}

/* ---------- accordion servizi ---------- */
.svc-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:44px}
.acc{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;height:min(72vh,620px);transition:grid-template-columns 1s var(--ease)}
.acc .p{position:relative;overflow:hidden;background:var(--graphite);cursor:pointer;transition:filter .8s var(--ease)}
.acc .p img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5) contrast(1.05);transition:filter .9s var(--ease),transform 1.2s var(--ease)}
.acc .p::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92) 4%,rgba(0,0,0,.15) 60%)}
.acc .p .vert{position:absolute;left:0;right:0;bottom:0;padding:26px 20px;z-index:2}
.acc .p .idx{font-size:9.5px;letter-spacing:.32em;color:var(--champagne);display:block;margin-bottom:12px}
.acc .p .ttl{font-family:var(--sans);font-size:clamp(14px,1.2vw,16px);letter-spacing:.16em;text-transform:uppercase;line-height:1.15;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;transition:writing-mode 0s}
.acc .p .txt{opacity:0;transform:translate3d(0,14px,0);transition:opacity .5s var(--ease) .15s,transform .6s var(--ease) .15s;max-width:38ch;margin-top:12px;font-size:14px;line-height:1.6;color:rgba(237,232,223,.75)}
.acc .p .go{opacity:0;transition:opacity .5s var(--ease) .25s;margin-top:16px;display:inline-block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--champagne)}
.acc:has(.p:nth-child(1):hover){grid-template-columns:2.9fr 1fr 1fr 1fr 1fr 1fr}
.acc:has(.p:nth-child(2):hover){grid-template-columns:1fr 2.9fr 1fr 1fr 1fr 1fr}
.acc:has(.p:nth-child(3):hover){grid-template-columns:1fr 1fr 2.9fr 1fr 1fr 1fr}
.acc:has(.p:nth-child(4):hover){grid-template-columns:1fr 1fr 1fr 2.9fr 1fr 1fr}
.acc:has(.p:nth-child(5):hover){grid-template-columns:1fr 1fr 1fr 1fr 2.9fr 1fr}
.acc:has(.p:nth-child(6):hover){grid-template-columns:1fr 1fr 1fr 1fr 1fr 2.9fr}
.acc .p:hover img{filter:grayscale(.15) brightness(.62) contrast(1.05);transform:scale(1.05)}
.acc .p:hover .ttl{writing-mode:horizontal-tb;transform:none;white-space:normal}
.acc .p:hover .txt,.acc .p:hover .go{opacity:1;transform:none}

/* ---------- editoriale zig-zag ---------- */
.zig{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
.zig+.zig{margin-top:clamp(56px,9vw,140px)}
.zig .fig{position:relative;overflow:hidden;aspect-ratio:4/5}
.zig .fig img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(.76);transition:transform 1.4s var(--ease),filter 1s var(--ease)}
.zig .fig:hover img{transform:scale(1.05);filter:grayscale(.2) contrast(1.06) brightness(.82)}
.zig .txt{display:grid;gap:20px;align-content:center}
.zig:nth-child(even) .fig{order:2}
.zig:nth-child(even) .txt{padding-left:clamp(0px,4vw,64px)}
.zig .txt{margin-top:0}
.zig ul{list-style:none;display:grid;gap:0;margin-top:6px;border-top:1px solid var(--hair)}
.zig li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair);font-size:14.5px;color:var(--ivory-dim)}
.zig li em{font-style:normal;color:var(--champagne);font-size:10px;letter-spacing:.24em;text-transform:uppercase;padding-top:5px}

/* ---------- destinazioni ---------- */
.dest{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:clamp(180px,22vw,270px);gap:14px;margin-top:46px}
.tile{position:relative;overflow:hidden;background:var(--graphite)}
.tile img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.62) contrast(1.06);transition:transform 1.5s var(--ease),filter 1s var(--ease)}
.tile:hover img{transform:scale(1.06);filter:grayscale(.2) brightness(.7)}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(transparent,rgba(0,0,0,.9))}
.tile h4{font-family:var(--sans);font-weight:400;font-size:15px;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;margin-top:4px}
.tile span{font-family:var(--script);font-size:20px;letter-spacing:0;text-transform:none;color:var(--champagne);line-height:1}
.t1{grid-column:1;grid-row:span 2}
.t2{grid-column:2/4}
.t3{grid-column:2}
.t4{grid-column:3}

/* ---------- access ---------- */
.access{background:var(--graphite);border-block:1px solid var(--hair)}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:48px;border-top:1px solid var(--hair)}
.tier{padding:44px clamp(20px,3vw,52px);border-bottom:1px solid var(--hair);display:grid;gap:16px;align-content:start;transition:background .6s var(--ease)}
.tier+.tier{border-left:1px solid var(--hair)}
.tier:hover{background:rgba(201,169,97,.05)}
.tier .price{font-family:var(--script);font-size:clamp(30px,3.2vw,42px);color:var(--champagne);line-height:1}
.tier ul{list-style:none;display:grid;gap:10px;font-size:14.5px;color:var(--ivory-dim)}
.tier li{display:grid;grid-template-columns:14px 1fr;gap:12px}
.tier li::before{content:"";width:5px;height:5px;margin-top:10px;background:var(--champagne);transform:rotate(45deg)}

/* ---------- citazioni ---------- */
.quotes{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,6vw,90px);align-items:start}
.q{border-top:1px solid var(--champagne);padding-top:26px}
.q p{font-family:var(--script);font-size:clamp(26px,2.9vw,40px);line-height:1.28;color:var(--ivory);max-width:22ch}
.q .who{margin-top:20px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--champagne)}
.quotes .q:nth-child(2){margin-top:clamp(24px,6vw,86px)}

/* ---------- contatto ---------- */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,96px);align-items:start}
.cinfo{display:grid;gap:30px;align-content:start}
.cinfo a.big{font-family:var(--sans);font-size:clamp(15px,1.5vw,18px);letter-spacing:.08em;display:inline-block;margin-top:8px;transition:color .4s var(--ease),transform .4s var(--ease)}
.cinfo a.big:hover{color:var(--champagne);transform:translate3d(5px,0,0)}
form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.fld{display:grid;gap:8px}
.fld.full{grid-column:1/-1}
label{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--champagne)}
.fld input,.fld select,.fld textarea{background:transparent;border:0;border-bottom:1px solid var(--hair);padding:11px 0;font-weight:300;font-size:15px;transition:border-color .45s var(--ease)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-bottom-color:var(--champagne)}
.fld select option{background:var(--graphite)}
.fld textarea{resize:vertical;min-height:96px}
.hint{font-size:11.5px;color:rgba(237,232,223,.34)}
.err{font-size:11.5px;color:#C98B7A;min-height:0;opacity:0;transform:translate3d(0,-4px,0);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.fld.bad input,.fld.bad textarea,.fld.bad select{border-bottom-color:#C98B7A}
.fld.bad .err{opacity:1;transform:none}
.form-foot{grid-column:1/-1;display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:6px}
.btn.loading{pointer-events:none;color:transparent;position:relative}
.btn.loading::after{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(100deg,transparent 20%,rgba(237,232,223,.28) 50%,transparent 80%);
  background-size:220% 100%;animation:shim 1.15s linear infinite}
@keyframes shim{from{background-position:120% 0}to{background-position:-120% 0}}
.sent{display:none;border:1px solid var(--champagne);padding:clamp(28px,4vw,46px);gap:14px}
.sent.on{display:grid;animation:fadeUp .8s var(--ease) forwards}
.sent .d3{color:var(--ivory)}
form.gone{display:none}
.formerr{grid-column:1/-1;font-size:13px;color:#C98B7A;display:none}
.formerr.on{display:block}

/* ---------- footer ---------- */
footer{background:var(--graphite);border-top:1px solid var(--hair);padding-block:clamp(56px,7vw,92px) 26px}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(26px,4vw,60px)}
.fgrid img{width:158px;margin-bottom:20px}
.fgrid h5{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--champagne);font-weight:400;margin-bottom:18px}
.fgrid ul{list-style:none;display:grid;gap:11px;font-size:14px}
.fgrid ul a{color:var(--ivory-dim);transition:color .4s var(--ease)}
.fgrid ul a:hover{color:var(--ivory)}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:58px;padding-top:22px;border-top:1px solid var(--hair);font-size:11px;letter-spacing:.08em;color:rgba(237,232,223,.36)}


/* ---------- yacht: formati e incluso ---------- */
.charter{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,84px);align-items:start}
.charter .fig{position:relative;overflow:hidden;aspect-ratio:3/4}
.charter .fig img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(.74);transition:transform 1.4s var(--ease)}
.charter .fig:hover img{transform:scale(1.05)}
.formats{border-top:1px solid var(--hair);margin-top:26px}
.fmt{display:grid;grid-template-columns:1fr auto;gap:10px 26px;align-items:baseline;padding:22px 4px;border-bottom:1px solid var(--hair);transition:padding-left .6s var(--ease),background .6s var(--ease)}
.fmt:hover{padding-left:16px;background:linear-gradient(90deg,rgba(201,169,97,.07),transparent 62%)}
.fmt h4{font-family:var(--sans);font-weight:400;font-size:clamp(15px,1.35vw,17px);letter-spacing:.13em;text-transform:uppercase}
.fmt .from{font-family:var(--script);font-size:22px;letter-spacing:0;text-transform:none;color:var(--champagne);white-space:nowrap;line-height:1}
.fmt p{grid-column:1/-1;font-size:14.5px;margin-top:-4px}
.incl{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(237,232,223,.5)}
.incl span{display:flex;align-items:center;gap:22px}
.incl span::after{content:"";width:4px;height:4px;background:var(--champagne);transform:rotate(45deg)}
.incl span:last-child::after{display:none}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--hair);margin-top:44px}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;padding:24px 44px 24px 4px;position:relative;font-family:var(--sans);font-weight:400;font-size:clamp(15px,1.4vw,17.5px);letter-spacing:.06em;text-transform:uppercase;line-height:1.4;transition:color .45s var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--champagne)}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:1px;background:var(--champagne);transition:transform .5s var(--ease)}
.faq summary::before{content:"";position:absolute;right:13px;top:50%;width:1px;height:11px;background:var(--champagne);margin-top:-5px;transition:transform .5s var(--ease),opacity .4s}
.faq details[open] summary::before{transform:rotate(90deg);opacity:0}
.faq details p{padding:0 44px 26px 4px;font-size:15px}

/* ---------- whatsapp ---------- */
.wa{position:fixed;right:20px;bottom:20px;z-index:75;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(201,169,97,.4);background:rgba(0,0,0,.86);backdrop-filter:blur(10px);color:var(--champagne);
  box-shadow:inset 0 1px 0 rgba(237,232,223,.08);transition:transform .45s var(--ease),background .45s var(--ease),color .45s var(--ease)}
.wa:hover{transform:translate3d(0,-2px,0);background:var(--champagne);color:var(--obsidian)}
.wa svg{width:24px;height:24px}
@media(max-width:1080px){.charter{grid-template-columns:1fr}.charter .fig{aspect-ratio:16/10}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translate3d(0,26px,0);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0)*90ms)}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:118px}
  .hero-visual{height:60vh;order:-1;margin-inline:calc(var(--shell)*-1)}
  .manifesto,.zig,.quotes,.contact,.tiers{grid-template-columns:1fr}
  .zig:nth-child(even) .fig{order:0}
  .zig:nth-child(even) .txt{padding-left:0}
  .zig:nth-child(odd) .txt{margin-top:0}
  .zig .fig{aspect-ratio:16/10}
  .tier+.tier{border-left:0}
  .quotes .q:nth-child(2){margin-top:0}
  .fgrid{grid-template-columns:1fr 1fr}
  .dest{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
  .t1{grid-column:1/3;grid-row:auto}.t2{grid-column:1/3}.t3{grid-column:1}.t4{grid-column:2}
}
@media(max-width:768px){
  .burger{display:block}
  .menu{position:fixed;inset:0;background:rgba(0,0,0,.97);backdrop-filter:blur(12px);flex-direction:column;justify-content:center;align-items:center;gap:30px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}
  .nav.open .menu{opacity:1;pointer-events:auto}
  .nav .btn{display:none}
  .brand b span{display:none}
  form{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr;gap:22px}
  .acc{display:grid;grid-template-columns:1fr;height:auto;gap:10px}
  .acc .p{height:230px}
  .acc .p .ttl{writing-mode:horizontal-tb;transform:none;white-space:normal}
  .acc .p .txt,.acc .p .go{opacity:1;transform:none}
  .acc .p img{filter:grayscale(.3) brightness(.5)}
  .fgrid{grid-template-columns:1fr}
  .dest{grid-template-columns:1fr}
  .t1,.t2,.t3,.t4{grid-column:1}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

/* ---------- pagine interne ---------- */
.page-hero{display:grid;grid-template-columns:1.05fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(128px,14vw,178px) var(--shell) clamp(48px,7vw,96px)}
.page-hero .fig{position:relative;overflow:hidden;height:min(66vh,600px)}
.page-hero .fig img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.72);transform:scale(1.04);animation:slowzoom 22s var(--ease) forwards}
.page-hero .fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--obsidian) 0%,rgba(0,0,0,0) 24%,rgba(0,0,0,0) 72%,var(--obsidian) 100%),linear-gradient(90deg,var(--obsidian) 0%,rgba(0,0,0,0) 20%)}
.crumb{display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(237,232,223,.42)}
.crumb a{transition:color .4s var(--ease)}
.crumb a:hover{color:var(--champagne)}
.intro{display:grid;grid-template-columns:1fr 1.55fr;gap:clamp(28px,6vw,110px);align-items:start}
.cta-band{border-block:1px solid var(--hair);background:var(--graphite)}
.cta-inner{display:grid;grid-template-columns:1.2fr auto;gap:clamp(24px,5vw,64px);align-items:center}
.cta-inner .btns{display:flex;gap:14px;flex-wrap:wrap}
.next{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border-block:1px solid var(--hair)}
.next a{background:var(--obsidian);padding:30px clamp(18px,2.4vw,34px);display:grid;gap:8px;transition:background .55s var(--ease)}
.next a:hover{background:var(--graphite)}
.next a span{font-family:var(--script);font-size:19px;letter-spacing:0;text-transform:none;color:var(--champagne);line-height:1}
.next a h4{font-family:var(--sans);font-weight:400;font-size:clamp(14px,1.3vw,16px);letter-spacing:.16em;text-transform:uppercase}
@media(max-width:1080px){.page-hero{grid-template-columns:1fr;padding-top:118px}.page-hero .fig{order:-1;height:52vh;margin-inline:calc(var(--shell)*-1)}.intro{grid-template-columns:1fr}.cta-inner{grid-template-columns:1fr}.next{grid-template-columns:1fr}}
