:root{--ink:#0F2445;--ink2:#2B3D5C;--muted:#566381;--line:#E2E7EF;--soft:#F4F6FA;--red:#D7262E;--plred:#DC143C;--blue:#1748B0;--navy:#0F2445}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;color:var(--ink);font-family:'Figtree',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--blue)}a:hover{color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #5B83D6;outline-offset:3px}
img{max-width:100%;display:block}
.w{max-width:1240px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.d{font-family:'Urbanist',system-ui,sans-serif}
.m{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
/* eyebrow label, as on the Italian site */
.tag{display:inline-flex;align-items:center;gap:14px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tag b{font-weight:500;color:var(--red)}
.head .tag::after{content:"";width:48px;height:1px;background:currentColor;opacity:.4}
.dark .tag,section.ink .tag{color:rgba(255,255,255,.62)}
.fl{display:inline-flex;flex-direction:column;width:22px;height:13px;border-radius:2px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.fl i{flex:1;display:block}
.route{display:inline-flex;align-items:center;gap:8px}
.route s{text-decoration:none;color:rgba(255,255,255,.5);font-family:'JetBrains Mono',monospace}
/* dark top band: header + hero */
.dark,section.ink,footer{background:radial-gradient(1100px 620px at 78% 18%,#1D3F75 0%,#12305E 30%,#0F2445 58%,#0A1A33 100%);color:#FFFFFF;position:relative;overflow:hidden}
.dark::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(180deg,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%);pointer-events:none}
.dark>*{position:relative}
.dark a{color:#FFFFFF}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px}
.logo img{height:64px;width:auto;margin-left:-6px}
nav.main{display:flex;gap:4px;flex-wrap:wrap;font-size:15px;font-weight:500}
nav.main a{text-decoration:none;color:rgba(255,255,255,.72);padding:10px 13px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
nav.main a:hover{color:#FFFFFF;background:rgba(255,255,255,.06)}
nav.main a.on{color:#FFFFFF;background:rgba(255,255,255,.1)}
.crumbs{font-size:14px;color:rgba(255,255,255,.55);padding-top:8px}
.crumbs a{color:rgba(255,255,255,.7);text-decoration:none}
.crumbs a:hover{color:#FFFFFF}
details.mm{display:none;position:relative}
details.mm summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:#FFFFFF;font-size:15px;font-weight:600}
details.mm summary::-webkit-details-marker{display:none}
details.mm[open] summary{background:#FFFFFF;color:var(--ink)}
details.mm div{position:absolute;right:0;top:calc(100% + 10px);z-index:20;background:#FFFFFF;border-radius:20px;min-width:250px;display:flex;flex-direction:column;padding:10px;box-shadow:0 30px 60px -20px rgba(10,26,51,.6)}
details.mm div a{padding:12px 14px;text-decoration:none;color:var(--ink);border-radius:12px;font-weight:500}
details.mm div a:hover{background:var(--soft)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;background:var(--red);color:#FFFFFF!important;font-weight:600;text-decoration:none;font-size:16px;border:0;white-space:nowrap;transition:background .2s,transform .2s;box-shadow:0 18px 40px -18px rgba(215,38,46,.8)}
.btn:hover{background:#B81E25;transform:translateY(-1px)}
.btn.sm{min-height:46px;padding:0 22px;font-size:15px}
.btn.ghost{background:#FFFFFF;color:var(--ink)!important;border:1px solid var(--line);box-shadow:none;font-weight:500}
.btn.ghost:hover{border-color:var(--ink);background:#FFFFFF}
.dark .btn.ghost,section.ink .btn.ghost{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.28);color:#FFFFFF!important}
.dark .btn.ghost:hover,section.ink .btn.ghost:hover{border-color:#FFFFFF;background:rgba(255,255,255,.08)}
/* type */
.h1{font-family:'Urbanist',system-ui,sans-serif;font-weight:600;font-size:clamp(42px,4.8vw,72px);line-height:.98;letter-spacing:-.035em;margin:0;text-wrap:balance}
.h1 em{display:block;font-style:normal;font-weight:300}
.h2{font-family:'Urbanist',system-ui,sans-serif;font-weight:600;font-size:clamp(30px,3vw,44px);line-height:1.06;letter-spacing:-.03em;margin:0;text-wrap:balance;max-width:22ch}
.h2 em{font-style:normal;font-weight:300}
.h3{font-family:'Urbanist',system-ui,sans-serif;font-size:24px;line-height:1.2;margin:0;font-weight:600;letter-spacing:-.015em}
.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:58ch;margin:0}
.dark .lead,section.ink .lead{color:rgba(255,255,255,.76)}
.head{display:flex;flex-direction:column;gap:20px;margin-bottom:44px}
section{padding:96px 0}
section.stone{background:var(--soft)}
section.ink a{color:#FFFFFF}
/* hero */
.hero{padding:56px 0 96px}
.hero-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.hero .act{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.live{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:14px;color:rgba(255,255,255,.7)}
.live b{font-family:'JetBrains Mono',monospace;color:#FFFFFF;font-weight:500}
@keyframes pnpulse{0%{box-shadow:0 0 0 0 rgba(215,38,46,.55)}100%{box-shadow:0 0 0 12px rgba(215,38,46,0)}}
.pulse{width:9px;height:9px;border-radius:50%;background:var(--red);animation:pnpulse 1.8s ease-out infinite;flex:none}
/* key figures: in dark hero */
.spec{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.18)}
.spec div{display:grid;grid-template-columns:150px 1fr;gap:4px 20px;align-items:baseline;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.spec .v{font-family:'Urbanist',sans-serif;font-size:36px;font-weight:600;letter-spacing:-.04em;line-height:1}
.spec .k{color:rgba(255,255,255,.72);font-size:15.5px}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14);margin-top:64px}
.stats>div{display:flex;flex-direction:column;gap:10px;padding:28px 24px 0;border-left:1px solid rgba(255,255,255,.14);min-width:0}
.stats>div:first-child{border-left:0;padding-left:0}
.stats .v{font-family:'Urbanist',sans-serif;font-size:clamp(32px,3vw,46px);font-weight:600;letter-spacing:-.04em;line-height:1}
.stats .k{font-size:15px;color:rgba(255,255,255,.7);max-width:24ch}
/* globe */
.globe{display:flex;flex-direction:column;align-items:center;gap:18px}
.globe canvas{display:block;width:100%;max-width:600px;aspect-ratio:1;cursor:grab;touch-action:pan-y}
.gpanel{width:100%;max-width:600px;background:rgba(10,26,51,.55);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px 20px;display:flex;flex-direction:column;gap:16px;backdrop-filter:blur(10px)}
.gchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gchips .tag{flex-basis:100%;margin-bottom:2px}
.gchip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.85);font-family:'Figtree',system-ui,sans-serif;font-size:14px;cursor:pointer;transition:background .2s,color .2s}
.gchip:hover{border-color:#FFFFFF}
.gchip[aria-pressed="true"]{background:#FFFFFF;color:var(--ink);border-color:#FFFFFF;font-weight:600}
.gstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.gsv{font-family:'Urbanist',sans-serif;font-size:26px;font-weight:600;letter-spacing:-.02em;color:#FFFFFF;font-variant-numeric:tabular-nums}
.gsk{font-size:12px;color:rgba(255,255,255,.6)}
/* layout */
.rule{height:4px;width:64px;border-radius:4px;background:linear-gradient(90deg,#FFFFFF 50%,var(--plred) 50%);margin-bottom:22px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.g4>div{background:#FFFFFF;border:1px solid var(--line);border-radius:24px;padding:30px 26px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:0 30px 60px -48px rgba(15,36,69,.4)}
section.ink .g4>div{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);box-shadow:none}
.n{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--red)}
section.ink .n{color:#FF8A90}
.card{background:#FFFFFF;border:1px solid var(--line);border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:14px;min-width:0;box-shadow:0 1px 0 rgba(15,36,69,.04),0 30px 60px -40px rgba(15,36,69,.35)}
.card.navy{background:radial-gradient(700px 400px at 85% 0%,#1D3F75,#0F2445 60%);color:#FFFFFF;border-color:transparent}
.card.navy .tag{color:rgba(255,255,255,.62)}
a.card{color:var(--ink);transition:transform .25s,border-color .25s}
a.card:hover{transform:translateY(-3px);border-color:#C9D3E3}
.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
.list li::before{content:"";width:28px;height:28px;border-radius:50%;background:var(--soft);border:1px solid var(--line)}
.list.yes li::before{content:"✓";display:flex;align-items:center;justify-content:center;background:var(--red);border-color:var(--red);color:#FFFFFF;font-size:14px;font-weight:700}
.list.no li::before{content:"✕";display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}
.card.navy .list li{border-top-color:rgba(255,255,255,.14)}
.big{font-family:'Urbanist',sans-serif;font-weight:600;font-size:clamp(44px,5vw,72px);line-height:.95;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.src{font-size:13.5px;color:var(--muted);margin-top:32px;border-top:1px solid var(--line);padding-top:16px}
section.ink .src{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.15)}
/* packages */
.pk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.pk>div{background:#FFFFFF;border:1px solid var(--line);border-radius:28px;padding:36px 32px;display:flex;flex-direction:column;gap:16px;min-width:0;box-shadow:0 30px 60px -44px rgba(15,36,69,.4)}
.pk>div.hi{background:radial-gradient(700px 400px at 85% 0%,#1D3F75,#0F2445 60%);color:#FFFFFF;border-color:transparent;box-shadow:0 40px 80px -40px rgba(15,36,69,.75);transform:translateY(-8px)}
.pk .price{font-family:'Urbanist',sans-serif;font-weight:600;font-size:52px;line-height:1;letter-spacing:-.04em}
.pk .lbl{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pk .hi .lbl{color:#FF8A90}
.pk ul{list-style:none;padding:0;margin:0;font-size:15.5px}
.pk li{padding:10px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.pk .hi li{border-color:rgba(255,255,255,.14)}
.pk li span:last-child{font-weight:600;text-align:right}
.pk .btn.ghost{margin-top:auto}
/* tables */
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:24px;background:#FFFFFF;box-shadow:0 30px 60px -48px rgba(15,36,69,.4)}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px}
.tbl th,.tbl td{padding:16px 20px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.tbl thead th{font-family:'Urbanist',sans-serif;font-weight:600;font-size:18px;color:var(--ink);border-top:0}
.tbl td.c{text-align:center;font-weight:600}
.tbl tbody th{font-weight:600}
.tbl col.py{background:#F2F5FB}
/* steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative;margin:0;padding:0}
.steps::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:2px;background:linear-gradient(90deg,var(--red),#C9D3E3 50%,var(--blue))}
.steps>div{display:flex;flex-direction:column;gap:10px;position:relative;min-width:0}
.steps .n{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#FFFFFF;font-size:14px;margin-bottom:8px}
.steps>div:first-child .n{background:var(--red)}
.steps .t{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* time zones */
.tz{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px}
.tz i{height:32px;border-radius:5px;background:#EEF1F6}
.tz i.a{background:var(--blue)}
.tz i.b{background:#F3B8BB}
.tz i.ab{background:var(--red)}
.tzrow{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;margin-bottom:10px;font-size:15px;font-weight:500}
.axis{display:flex;justify-content:space-between;margin-left:176px;font-size:12px;color:var(--muted)}
.dist{display:flex;flex-direction:column;gap:14px}
.dist div{display:grid;grid-template-columns:130px 1fr 90px;gap:16px;align-items:center;font-size:15px}
.dist b{display:block;height:12px;border-radius:999px;background:#5B83D6}
.dist b.near{background:var(--red)}
/* faq */
.faq details{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-family:'Urbanist',sans-serif;font-size:21px;font-weight:600;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:'Figtree',sans-serif;font-weight:400;color:var(--ink)}
.faq details[open] summary::after{content:"–";background:var(--ink);color:#FFFFFF;border-color:var(--ink)}
.faq p{margin:0 0 24px;color:var(--ink2);max-width:70ch}
.cta{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
/* photos */
.photo{margin:0;position:relative;border-radius:20px;overflow:hidden;background:var(--ink)}
.photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.photo:hover img{transform:scale(1.05)}
.photo figcaption{position:absolute;left:14px;bottom:12px;font-size:13px;font-weight:600;color:#FFFFFF;background:rgba(10,26,51,.55);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px}
.band{position:relative;min-height:340px;display:flex;align-items:flex-end;color:#FFFFFF;overflow:hidden;padding:0}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,26,51,.9) 0%,rgba(10,26,51,.55) 50%,rgba(220,20,60,.25) 100%)}
.band>.w{position:relative;z-index:1;padding-block:56px;width:100%}
/* articles */
.prose{max-width:740px}
.prose h2{font-family:'Urbanist',sans-serif;font-size:32px;line-height:1.1;margin:56px 0 16px;letter-spacing:-.025em}
.prose p,.prose li{color:var(--ink2)}
.prose ol,.prose ul{padding-left:22px}
.prose li{margin:6px 0}
.note{border-radius:20px;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--red);padding:20px 24px;margin:28px 0;font-size:16px}
.person{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:start}
.av{width:72px;height:72px;border-radius:50%;background:var(--ink);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-family:'Urbanist',sans-serif;font-weight:600;font-size:22px}
.todo{background:#FFF4E0;color:#B26A00;padding:0 6px;border-radius:6px}
/* footer */
footer{padding:72px 0 48px;font-size:15px;color:rgba(255,255,255,.7)}
footer a{color:rgba(255,255,255,.75);text-decoration:none}
footer a:hover{color:#FFFFFF}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer h4{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 14px;font-weight:500}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
footer .bot{border-top:1px solid rgba(255,255,255,.14);margin-top:48px;padding-top:22px;font-size:13.5px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@keyframes pnrv{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){.card,.g4>div,.pk>div,.photo{animation:pnrv linear both;animation-timeline:view();animation-range:entry 0% cover 20%}}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}.btn,.photo img,a.card{transition:none}}
@media (max-width:1180px){nav.main{display:none}details.mm{display:block}.bar>.btn{display:none}}
@media (max-width:1040px){.hero-g,.g2{grid-template-columns:minmax(0,1fr)}.g3,.pk{grid-template-columns:minmax(0,1fr)}.pk>div.hi{transform:none}.g4,.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}.steps::before{display:none}.stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.stats>div:nth-child(4){border-left:0;padding-left:0}footer .fg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){section{padding:72px 0}.hero{padding:32px 0 72px}.g4,.steps{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div{border-left:0;padding-left:0}.tzrow{grid-template-columns:1fr;gap:6px}.axis{margin-left:0}.dist div{grid-template-columns:100px 1fr 74px}.card{padding:26px}.pk>div{padding:28px 24px}footer .fg{grid-template-columns:minmax(0,1fr)}.lead{font-size:17px}.spec div{grid-template-columns:104px 1fr}.spec .v{font-size:28px}.logo img{height:52px}.gstats .gsv{font-size:21px}}
.lang{display:inline-flex;align-items:center;gap:2px;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:600;letter-spacing:.06em;flex:none}
.lang>*{padding:6px 11px;border-radius:999px;text-decoration:none}
.lang a{color:rgba(255,255,255,.78)!important}
.lang a:hover{color:#FFFFFF!important;background:rgba(255,255,255,.08)}
.lang span[aria-current]{background:#FFFFFF;color:var(--ink)}
@media (max-width:1180px){.bar{gap:12px}.bar .lang{margin-left:auto}}
