/* M'Imbarco, presence layer (premium craft) */

/* Film grain, subtle travel editorial */
body:after{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:9998;
  opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Scroll progress */
.mi-progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:60;
  background:linear-gradient(90deg,var(--coral),#ff9a7a);
  box-shadow:0 0 12px rgba(239,108,87,.45);
  pointer-events:none;
  transform-origin:left center;
}

/* Brand: logo reale in pill sul hero scuro */
.brand:has(.brand-logo) > span:not(.brand-logo){
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;
}
.brand:has(.brand-logo){gap:0;position:relative}
.brand-logo{height:40px;width:auto;max-width:200px;object-fit:contain}
.site-header:not(.is-scrolled):not(.inner-header):not(.template-header) .brand:has(.brand-logo){
  background:rgba(251,250,247,.96);
  padding:7px 14px 7px 10px;
  border-radius:999px;
  box-shadow:0 14px 40px rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
}
.site-header.is-scrolled .brand:has(.brand-logo),
.inner-header .brand:has(.brand-logo),
.template-header .brand:has(.brand-logo){
  background:transparent;padding:0;box-shadow:none;border-radius:0;
}
.footer-brand .brand:has(.brand-logo){
  background:rgba(255,255,255,.96);
  padding:8px 14px 8px 10px;
  border-radius:999px;
  display:inline-flex;
}

/* Hero: cinematic depth */
.hero{isolation:isolate}
.hero-media{filter:saturate(1.05) contrast(1.04)}
.hero-shade{
  background:
    radial-gradient(ellipse 55% 70% at 85% 20%,rgba(43,184,166,.18),transparent 55%),
    linear-gradient(105deg,rgba(4,20,35,.88) 0%,rgba(4,20,35,.72) 38%,rgba(4,20,35,.42) 68%,rgba(4,20,35,.28) 100%),
    linear-gradient(0deg,rgba(4,20,35,.65),transparent 48%);
}
.hero-shade:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 20% 80%,rgba(43,184,166,.1),transparent 40%);
  pointer-events:none;
}
.hero h1{
  font-size:clamp(52px,7vw,92px);
  letter-spacing:-.055em;
  line-height:1.12;
  color:#fff;
  overflow:visible;
  padding-bottom:.14em;
  text-shadow:0 2px 0 rgba(0,0,0,.15),0 18px 50px rgba(0,0,0,.45);
}
.hero h1 em{
  display:inline;
  font-size:1.02em;
  color:#c8f0ea;
  -webkit-text-fill-color:#c8f0ea;
  background:none;
}
.hero-lead{
  font-size:20px;
  max-width:520px;
  color:rgba(255,255,255,.92);
  text-shadow:0 8px 24px rgba(0,0,0,.35);
}

/* Journey finder, glass luxury */
.journey-finder fieldset{
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(18px);
  border-radius:16px;
  padding:10px;
  box-shadow:
    0 30px 80px rgba(0,0,0,.28),
    0 0 0 1px rgba(255,255,255,.35),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.journey-finder label span{
  color:var(--coral-dark);
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:10px;
}
.finder-submit{
  border-radius:11px;
  min-width:180px;
  box-shadow:0 12px 28px rgba(239,108,87,.35);
}
.trust-line{
  gap:28px;
  font-size:12px;
  letter-spacing:.02em;
}
.trust-line span{
  display:inline-flex;align-items:center;
  padding:6px 0;
}

/* Section rhythm */
.section{padding:var(--section-y) 0}
.section-heading h2,
.process-intro h2,
.promise h2,
.faq h2{
  font-size:clamp(40px,4.4vw,64px);
  letter-spacing:-.05em;
}
.section-heading h2 em,
.process-intro h2 em,
.promise h2 em,
.faq h2 em,
.page-hero h1 em,
.archive-head h1 em,
.blog-head h1 em{
  font-family:"Playfair Display",serif;
  font-weight:500;
  font-style:italic;
  color:inherit;
}
.eyebrow{
  position:relative;
  padding-left:28px;
}
.eyebrow:before{
  content:"";
  position:absolute;left:0;top:50%;
  width:18px;height:1px;
  background:currentColor;
  transform:translateY(-50%);
  opacity:.7;
}
.eyebrow-light:before{background:#f5b8a9}

/* Services, watermark numbers + depth */
.service-grid{
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(8,42,58,.06);
  border:1px solid var(--line);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.service-card{min-height:230px;padding:24px}
.service-number{
  font:600 11px/1 Manrope,sans-serif;
  letter-spacing:.14em;
  opacity:.45;
}
.service-card:after{
  content:attr(data-n);
  position:absolute;right:12px;top:8px;
  font:500 88px/1 Manrope,sans-serif;
  letter-spacing:-.06em;
  color:currentColor;opacity:.05;
  pointer-events:none;
  transition:opacity .4s,transform .5s var(--reveal-ease);
}
.service-card:hover:after{opacity:.1;transform:translateY(-4px)}
.service-featured{
  background:
    radial-gradient(ellipse 80% 70% at 100% 0%,rgba(239,108,87,.28),transparent 50%),
    linear-gradient(145deg,#061a2e 0%,#0d3348 55%,#123f50 100%);
}
.service-featured .service-icon{font-size:40px}
.service-copy strong{font-size:21px;letter-spacing:-.02em}

/* Process, soft panel */
.process-section{
  background:
    radial-gradient(ellipse 50% 60% at 0% 100%,rgba(239,108,87,.08),transparent 50%),
    var(--sand);
}
.steps li>span{
  background:#fff;
  box-shadow:0 8px 20px rgba(8,42,58,.06);
}

/* Seasonal, gallery feel */
.season-card{
  border-radius:16px;
  box-shadow:0 16px 40px rgba(8,42,58,.1);
}
.season-card:first-child .season-card-copy strong{
  font:500 clamp(28px,3vw,42px)/1.2 "Playfair Display",serif;
  font-style:italic;
  letter-spacing:-.02em;
}
.season-card:after{
  background:linear-gradient(0deg,rgba(3,28,39,.82) 0%,rgba(3,28,39,.2) 55%,transparent 75%);
}
.season-tabs{
  background:rgba(251,250,247,.9);
  backdrop-filter:blur(8px);
  border-radius:12px;
  padding:6px;
}
.season-tabs button[aria-selected="true"]{
  background:linear-gradient(135deg,var(--ink),var(--ink-2));
}

/* Destinations, editorial crop */
.destination-card{border-radius:16px;box-shadow:0 20px 50px rgba(8,42,58,.12)}
.destination-overlay strong{
  font:500 clamp(26px,2.5vw,36px)/1 "Playfair Display",serif;
  font-style:italic;
  letter-spacing:-.02em;
}
.destination-card:after{
  background:linear-gradient(0deg,rgba(3,28,39,.78) 0%,rgba(3,28,39,.15) 50%,transparent 70%);
}
.destination-large .destination-overlay{inset:auto 28px 28px}

/* Mood row, tactile */
.mood-row{
  border-radius:16px;
  box-shadow:0 18px 45px rgba(8,42,58,.06);
}
.mood-row a{min-height:160px;gap:18px}
.mood-row span{font-size:32px}

/* Editorial band, richer */
.editorial-band{
  background:
    radial-gradient(ellipse 40% 50% at 90% 10%,rgba(239,108,87,.2),transparent 50%),
    linear-gradient(160deg,#041825,#082a3a 40%,#0b3548);
  padding:var(--section-y) 0;
}
.editorial-image img{
  border-radius:12px;
  box-shadow:0 40px 80px rgba(0,0,0,.35);
}
.image-note{
  border-radius:4px;
  letter-spacing:.2em;
}

/* Articles */
.article-card>a{
  border-radius:14px;
  box-shadow:0 16px 40px rgba(8,42,58,.1);
}
.article-card h3{font-size:22px;letter-spacing:-.025em}

/* Promise */
.promise{
  background:
    radial-gradient(ellipse 60% 50% at 100% 0%,rgba(255,255,255,.5),transparent 50%),
    var(--mint);
}
.promise-list>div{
  background:rgba(255,255,255,.45);
  border-top:0;
  border-radius:14px;
  padding:22px;
  box-shadow:0 12px 30px rgba(8,42,58,.05);
}
.promise-list span{letter-spacing:.12em}

/* Final CTA, vista */
.final-cta{min-height:560px}
.final-cta-bg{
  background:
    linear-gradient(180deg,rgba(4,31,43,.45) 0%,rgba(4,31,43,.72) 100%),
    url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1900&q=84") center 58%/cover;
  transform:scale(1.04);
}
.final-cta:before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 50% 40% at 50% 60%,rgba(239,108,87,.18),transparent 70%);
}
.final-cta-inner{z-index:2}
.final-cta h2{
  font-size:clamp(46px,5.5vw,76px);
  letter-spacing:-.055em;
  text-shadow:0 16px 40px rgba(0,0,0,.3);
}
.final-cta h2 em{
  font-family:"Playfair Display",serif;
  font-style:italic;
  font-weight:500;
}
.final-cta .button-light{
  min-height:56px;
  padding-inline:28px;
  border-radius:11px;
  box-shadow:0 16px 40px rgba(0,0,0,.25);
}

/* Footer */
.site-footer{
  background:
    radial-gradient(ellipse 50% 40% at 0% 0%,rgba(239,108,87,.12),transparent 50%),
    #041825;
}

/* Archive / page heroes, more air */
.archive-head,.blog-head{padding:var(--page-hero-top) 0 var(--page-hero-bottom)}
.archive-head h1,.blog-head h1{
  font-size:clamp(52px,7vw,92px);
  letter-spacing:-.06em;
}
.page-hero{padding:var(--page-hero-top) 0 var(--page-hero-bottom)}
.page-hero h1{font-size:clamp(50px,6.8vw,90px);letter-spacing:-.06em}

/* Soft section seams, keep band rhythm intact */
.services{background:var(--paper)}
.seasonal{background:var(--sky)}
.journal{background:var(--sand)}

@media(max-width:760px){
  .section{padding:var(--section-y) 0}
  .hero h1{font-size:44px;line-height:1.14}
  .service-card:after{font-size:64px}
  .archive-head,.blog-head{padding:var(--page-hero-top) 0 var(--page-hero-bottom)}
  .brand-logo{height:34px;max-width:150px}
  .site-header:not(.is-scrolled):not(.inner-header):not(.template-header) .brand:has(.brand-logo){
    padding:5px 10px 5px 8px;
  }
}
@media(prefers-reduced-motion:reduce){
  body:after,.mi-progress{display:none}
  .hero h1 em{
    background:none;color:#c8f0ea;-webkit-text-fill-color:#c8f0ea;
  }
}
