:root{
  --ink:#0b3550;
  --ink-2:#466676;
  --teal:#0b958f;
  --teal-2:#dff4ef;
  --paper:#fbf7ef;
  --white:#ffffff;
  --line:#dce8e3;
  --yellow:#f4b94f;
  --navy:#073e4c;
  --shadow:0 18px 55px rgba(20,58,67,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 44px));margin:auto}
.announcement{background:var(--navy);color:#effffb;text-align:center;padding:9px 16px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.nav{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:25px;font-weight:900;letter-spacing:-.045em}
.brand img{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#fff}
.brand b{color:var(--teal)}
.navlinks{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:750}
.navlinks a{text-decoration:none;color:#38596a}.navlinks a:hover{color:var(--teal)}
.navcta{border:1px solid #b8d9d3;border-radius:999px;padding:10px 16px;background:#fff;color:#0c6f70!important}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:68px 0 88px}
.eyebrow,.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #b8ded5;background:#ebf8f3;color:#0a7d78;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#11ab94}
.hero h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.07em;margin:24px 0 23px;max-width:760px}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero .lede{font-size:19px;color:var(--ink-2);max-width:650px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;font-size:14px;border-radius:14px;padding:14px 19px;transition:.18s transform,.18s box-shadow}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--navy);color:#fff;box-shadow:0 12px 28px rgba(7,62,76,.18)}
.btn.secondary{background:#fff;border:1px solid var(--line);color:#1f5261}
.btn.yellow{background:var(--yellow);color:#123c4d}
.micro{font-size:12px;color:#71858f;margin-top:16px}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:var(--shadow);position:relative}
.hero-card:before{content:"Volume 01";position:absolute;top:35px;right:35px;background:#fff4d8;color:#a86f0a;font-size:10px;font-weight:900;padding:7px 10px;border-radius:999px;border:1px solid #efd29a;z-index:2}
.hero-card img{border-radius:19px;aspect-ratio:4/3;object-fit:cover}
.hero-card-bottom{display:flex;justify-content:space-between;gap:14px;align-items:end;padding:18px 4px 3px}
.hero-card-bottom h3{margin:0;font-size:22px;letter-spacing:-.04em}.hero-card-bottom span{display:block;color:#68828d;font-size:12px}.hero-card-bottom strong{font-size:22px}
.trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.45)}
.trustgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:18px 0;color:#486b77;font-size:12px;font-weight:800}.trustgrid b{color:var(--teal)}
.section{padding:88px 0}.section.alt{background:#eef7f4;border-top:1px solid #dceae5;border-bottom:1px solid #dceae5}
.kicker{font-size:12px;color:var(--teal);font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.sectionhead{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:32px}.sectionhead>div{max-width:760px}
.section h2{font-size:clamp(34px,4vw,54px);line-height:1.07;letter-spacing:-.055em;margin:11px 0}.sectionhead p,.muted{color:#64808b}
.citygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.citycard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-height:390px;box-shadow:0 10px 30px rgba(24,63,72,.06)}
.cityvisual{height:190px;padding:18px;position:relative;overflow:hidden;background:linear-gradient(145deg,#dff5f0,#fdf0d2)}
.cityvisual img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.cityvisual.placeholder:before{content:"";position:absolute;width:180px;height:180px;border:32px solid rgba(255,255,255,.5);border-radius:50%;right:-40px;top:-35px}
.cityvisual.placeholder:after{content:"";position:absolute;width:120px;height:70px;border-radius:80% 80% 16px 16px;background:rgba(7,62,76,.12);left:26px;bottom:24px;box-shadow:60px -18px 0 rgba(11,149,143,.16)}
.cityvisual.rome{background:linear-gradient(145deg,#f5dec9,#fff2dd)}
.cityvisual.paris{background:linear-gradient(145deg,#e6e9fb,#f8f0f5)}
.cityvisual.barcelona{background:linear-gradient(145deg,#fce1c4,#dff4ef)}
.citycontent{padding:20px;display:flex;flex-direction:column;flex:1}.cityno{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--teal);text-transform:uppercase}.citycontent h3{font-size:26px;letter-spacing:-.045em;margin:9px 0 6px}.citycontent p{font-size:14px;color:#69848e;margin:0 0 18px;flex:1}.citymeta{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e9f0ed;padding-top:14px;font-size:12px;font-weight:850}.status{display:inline-flex;border-radius:999px;padding:5px 9px;background:#def5ec;color:#087c70}.status.soon{background:#fff2d8;color:#aa6f08}.textlink{color:#0a7f7b;text-decoration:none;font-weight:900}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.stepnum{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;font-size:12px}.step h3{font-size:19px;letter-spacing:-.03em;margin:18px 0 7px}.step p{font-size:14px;color:#6a8490;margin:0}
.feature-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}.feature-split p{color:#64808b;font-size:17px}.checklist{list-style:none;padding:21px 25px;margin:0;background:#fff;border:1px solid var(--line);border-radius:22px}.checklist li{position:relative;padding:13px 0 13px 32px;border-bottom:1px solid #e7efec;font-weight:800;color:#3f6370}.checklist li:last-child{border-bottom:0}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:950}
.banner{background:var(--navy);color:#fff;border-radius:28px;padding:48px 50px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;overflow:hidden}.banner:after{content:"";position:absolute;width:300px;height:300px;border:50px solid #1e7778;border-radius:50%;right:250px;top:-235px;opacity:.32}.banner h2{font-size:38px;margin:0;letter-spacing:-.05em}.banner p{margin:8px 0 0;color:#bcd8dc}.banner .btn{z-index:2}
.faqgrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px}.faqdetails{border-bottom:1px solid #dfe8e5;padding:16px 0}.faqdetails summary{cursor:pointer;font-weight:850}.faqdetails p{font-size:14px;color:#64808b;margin:9px 0 2px}
.aboutbox{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px}.aboutbox p{color:#66808a}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.principle{border:1px solid var(--line);border-radius:17px;padding:18px;background:#fbfdfc}.principle strong{display:block;margin-bottom:6px}.principle span{font-size:13px;color:#6c858f}
.footer{background:#fff;border-top:1px solid var(--line);padding:38px 0;color:#657f8a;font-size:12px}.footerinner{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer strong{color:var(--ink)}.footer a{margin-left:18px;color:#355968}.footer a:first-child{margin-left:0}
.pagehero{padding:52px 0 48px;text-align:center;max-width:760px}.pagehero h1{font-size:clamp(42px,5vw,64px);line-height:1.03;letter-spacing:-.06em;margin:17px 0}.pagehero p{color:#64808b;font-size:18px}
.producthero{display:grid;grid-template-columns:.86fr 1.14fr;gap:58px;align-items:center;padding:52px 0 78px}.productcover{background:#fff;border:1px solid var(--line);border-radius:26px;padding:19px;box-shadow:var(--shadow)}.productcover img{width:100%;border-radius:17px}.productinfo h1{font-size:clamp(43px,5vw,68px);line-height:1.03;letter-spacing:-.065em;margin:18px 0}.productinfo h1 em{display:block;color:var(--teal);font-style:normal;font-size:.56em;line-height:1.15;margin-top:10px;letter-spacing:-.04em}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tags span{background:#f6fbf9;border:1px solid #d6e8e4;border-radius:999px;padding:7px 10px;font-size:11px;color:#466c77;font-weight:850}.price{font-size:30px;font-weight:950;margin:20px 0 2px}.price-note{font-size:12px;color:#6d8490;margin-bottom:22px}.notice{font-size:12px;color:#71858e;margin-top:14px}.product-section{padding:76px 0}.routecards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.routecard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.routecard small{font-weight:900;color:var(--teal)}.routecard h3{margin:10px 0 5px;font-size:20px;letter-spacing:-.03em}.routecard p{font-size:13px;color:#6a838e;margin:0}.legalmain{max-width:800px;padding:70px 0 92px;min-height:60vh}.legalmain h1{font-size:48px;letter-spacing:-.06em}.legalmain h2{font-size:22px;margin:30px 0 10px}.legalmain p,.legalmain li{color:#557180}.legalmain a{color:#087a78}
.cominghero{display:grid;grid-template-columns:1fr .85fr;gap:55px;align-items:center;padding:72px 0 100px}.comingart{min-height:430px;border-radius:30px;background:linear-gradient(145deg,#f3d7bd,#fff1d5);border:1px solid #ead9c8;position:relative;overflow:hidden}.comingart:before{content:"ROMA";position:absolute;font-size:120px;font-weight:950;letter-spacing:-.08em;color:rgba(118,66,26,.09);left:20px;bottom:10px}.comingart:after{content:"";position:absolute;width:300px;height:300px;border:55px solid rgba(255,255,255,.55);border-radius:50%;right:-80px;top:-70px}.cominghero h1{font-size:clamp(48px,6vw,76px);line-height:1;letter-spacing:-.07em;margin:20px 0}.cominghero p{font-size:18px;color:#657f8b}
@media(max-width:980px){.hero,.feature-split,.producthero,.aboutbox,.cominghero{grid-template-columns:1fr}.citygrid,.steps,.routecards{grid-template-columns:repeat(2,1fr)}.hero{padding-top:36px}.sectionhead{align-items:start}.banner:after{display:none}}
@media(max-width:700px){.container{width:min(100% - 30px,1180px)}.navlinks a:nth-child(2),.navlinks a:nth-child(3),.navlinks a:nth-child(4){display:none}.navlinks{gap:8px}.brand{font-size:22px}.brand img{width:36px;height:36px}.hero{padding:30px 0 60px;gap:35px}.hero h1{font-size:48px}.hero .lede{font-size:16px}.trustgrid{grid-template-columns:1fr 1fr}.section{padding:64px 0}.sectionhead{display:block}.citygrid,.steps,.routecards,.principles{grid-template-columns:1fr}.banner{padding:32px 24px;display:block}.banner h2{font-size:31px}.banner .btn{margin-top:22px}.faqgrid{grid-template-columns:1fr;gap:10px}.footer a{margin:0 12px 0 0}.producthero{padding-top:28px}.productinfo h1{font-size:48px}.comingart{min-height:320px}.comingart:before{font-size:78px}.aboutbox{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* V2 refinements */
.aboutbox{align-items:start}
.principles{align-self:start;align-items:start}
.principle{padding:22px 20px;min-height:0}
.principle strong{font-size:16px}
.principle span{display:block;line-height:1.55}
.cityvisual.placeholder:before,.cityvisual.placeholder:after{z-index:0}
.cityvisual.placeholder{display:flex;align-items:flex-end;justify-content:flex-start}
.visual-badge{position:absolute;left:18px;top:18px;z-index:1;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid rgba(7,62,76,.08);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8a5c07;backdrop-filter:blur(4px)}
.visual-city{position:relative;z-index:1;font-size:34px;font-weight:900;letter-spacing:-.05em;color:rgba(11,53,80,.95);margin:0 0 18px 18px}
.cityvisual.rome .visual-badge{color:#87541b}
.cityvisual.paris .visual-badge,.cityvisual.barcelona .visual-badge{color:#8a6a0a}
.sectionhead .textlink{white-space:nowrap}
.footerinner div:last-child{display:flex;gap:18px;flex-wrap:wrap}
.footer a{margin-left:0}
@media(max-width:980px){
  .visual-city{font-size:30px}
}
@media(max-width:700px){
  .aboutbox{gap:20px}
  .principle{padding:18px}
  .visual-city{font-size:28px;margin-left:16px;margin-bottom:16px}
  .visual-badge{left:16px;top:16px}
}

/* V2.1 transparent full-logo header */
.brand.brand-logo{display:flex;align-items:center;gap:0}
.brand.brand-logo img{width:188px;height:auto;object-fit:contain;display:block}
@media(max-width:700px){.brand.brand-logo img{width:154px}}

/* V2.2 transparent header logo fix */
.brand.brand-logo img{
  width:188px;
  height:auto;
  object-fit:contain;
  display:block;
  background:transparent !important;
  border-radius:0 !important;
}
@media(max-width:700px){
  .brand.brand-logo img{width:154px}
}
