
:root{
--midnight:#08111f;
--navy:#0e1d33;
--silver:#d9e2ec;
--mist:#edf3f9;
--soft:#73849b;
--white:#ffffff;
--line:rgba(255,255,255,.10);
--glass:rgba(255,255,255,.06);
--shadow:0 30px 80px rgba(5,10,20,.15);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:#fff;color:var(--navy);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:-.04em;}
a{text-decoration:none;color:inherit;}
img,video{display:block;max-width:100%;}
.container{width:min(1280px,calc(100% - 48px));margin:auto;}
header{position:fixed;top:0;width:100%;z-index:999;background:rgba(255,255,255,.72);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.04);}
.nav{height:92px;display:flex;align-items:center;justify-content:space-between;}
.logo img{
    width: 260px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 10px 30px rgba(0,0,0,.15));
    transition: .3s ease;
}
.logo img:hover{
    transform: scale(1.02);
}
nav ul{display:flex;list-style:none;gap:38px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#617287;}
.btn{height:54px;padding:0 30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;transition:.3s ease;}
.btn-dark{background:var(--midnight);color:#fff;box-shadow:0 18px 40px rgba(8,17,31,.18);}
.btn-light{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(12px);}
.btn:hover{transform:translateY(-3px);}
.hero-inner{
    position:relative;
    z-index:2;
    height:100%;
    display:grid;
    grid-template-columns:1fr 460px;
    gap:30px;
    align-items:center;
}

.hero-visual{
    position:relative;
    min-height:640px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-visual-frame{
    position:relative;
    width:100%;
    height:610px;
    border-radius:42px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 40px 90px rgba(0,0,0,.32);
    background:rgba(255,255,255,.05);
}

.hero-visual-frame video,
.hero-visual-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.04);
    animation:luxuryZoom 18s ease-in-out infinite alternate;
}

.hero-visual-frame::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(5,10,20,.68),
        rgba(5,10,20,.05) 52%,
        rgba(255,255,255,.08)
    );
}

.hero-glass-card{
    position:absolute;
    left:-46px;
    bottom:52px;
    width:310px;
    padding:28px;
    border-radius:28px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.22);
    backdrop-filter:blur(20px);
    color:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.hero-glass-card h3{
    font-size:34px;
    line-height:.95;
    margin-bottom:14px;
}

.hero-glass-card p{
    font-size:15px;
    line-height:1.8;
    color:#e0ebf7;
    font-weight:300;
    margin:0;
}

.hero-mini-stats{
    position:absolute;
    right:-28px;
    top:72px;
    display:grid;
    gap:12px;
}

.hero-mini-stat{
    width:150px;
    padding:18px 16px;
    border-radius:22px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(18px);
    box-shadow:0 18px 45px rgba(0,0,0,.18);
}

.hero-mini-stat strong{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:34px;
    line-height:1;
    color:var(--navy);
    letter-spacing:-.03em;
}

.hero-mini-stat span{
    display:block;
    margin-top:6px;
    font-size:10px;
    line-height:1.5;
    text-transform:uppercase;
    letter-spacing:.15em;
    color:#617287;
    font-weight:700;
}

@keyframes luxuryZoom{
    from{
        transform:scale(1.02);
    }

    to{
        transform:scale(1.1);
    }
}
.arrival-visual{
    position:relative;
    min-height:820px;
}

.arrival-frame{
    position:absolute;
    left:0;
    top:0;
    width:82%;
    height:760px;
    border-radius:46px;
    overflow:hidden;
    box-shadow:0 34px 90px rgba(8,17,31,.18);
}

.arrival-frame video,
.arrival-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    animation:arrivalDrift 20s ease-in-out infinite alternate;
}

.arrival-frame::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(8,17,31,.62),
        rgba(8,17,31,.06) 56%,
        rgba(255,255,255,.08)
    );
}

.arrival-card{
    position:absolute;
    right:0;
    bottom:60px;
    width:360px;
    padding:34px;
    border-radius:34px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(20px);
    box-shadow:0 24px 70px rgba(8,17,31,.16);
}

.arrival-card h3{
    font-size:44px;
    line-height:.9;
    color:var(--navy);
    margin-bottom:18px;
}

.arrival-card p{
    font-size:17px;
    line-height:1.9;
    color:#617287;
    font-weight:300;
}

.arrival-detail{
    position:absolute;
    left:42px;
    bottom:24px;
    width:240px;
    padding:24px;
    border-radius:28px;
    background:#0d1727;
    color:#fff;
    box-shadow:0 24px 60px rgba(8,17,31,.26);
}

.arrival-detail strong{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:34px;
    line-height:.95;
    letter-spacing:-.03em;
    margin-bottom:10px;
}

.arrival-detail span{
    display:block;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.17em;
    color:#c9d8ea;
    font-weight:700;
    line-height:1.6;
}

@keyframes arrivalDrift{

    from{
        transform:scale(1.02) translateY(0);
    }

    to{
        transform:scale(1.08) translateY(-14px);
    }

}
.seamless-visual{
    position:relative;
    min-height:760px;
}

.seamless-frame{
    height:760px;
    border-radius:42px;
    overflow:hidden;
    box-shadow:0 34px 90px rgba(8,17,31,.18);
}

.seamless-frame video,
.seamless-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    animation:seamlessDrift 22s ease-in-out infinite alternate;
}

.seamless-frame::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(8,17,31,.60),
        rgba(8,17,31,.08) 55%,
        rgba(255,255,255,.06)
    );
}

.seamless-card{
    position:absolute;
    left:-34px;
    bottom:52px;
    width:360px;
    padding:34px;
    border-radius:34px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(20px);
    box-shadow:0 24px 70px rgba(8,17,31,.16);
}

.seamless-card h3{
    font-size:42px;
    line-height:.92;
    color:var(--navy);
    margin-bottom:18px;
}

.seamless-card p{
    font-size:17px;
    line-height:1.9;
    color:#617287;
    font-weight:300;
}

@keyframes seamlessDrift{
    from{
        transform:scale(1.02);
    }

    to{
        transform:scale(1.08);
    }
}
/* SCUDO BRAND COLOR UPGRADE */

:root{
    --scudo-blue:#1677ff;
    --scudo-deep-blue:#071b3d;
    --scudo-silver:#d9e6f2;
    --scudo-ice:#f3f8ff;
}

/* Adds Scudo blue glow to main buttons */
.btn-dark{
    background:linear-gradient(135deg, #071b3d, #1677ff);
    color:#fff;
    box-shadow:0 18px 45px rgba(22,119,255,.28);
}

.btn-dark:hover{
    box-shadow:0 24px 60px rgba(22,119,255,.42);
}

/* Gives glass cards a blue/silver luxury tone */
.hero-glass-card,
.arrival-card,
.seamless-card{
    border:1px solid rgba(22,119,255,.18);
    box-shadow:
        0 24px 70px rgba(8,17,31,.16),
        0 0 45px rgba(22,119,255,.10);
}

/* Adds subtle blue cinematic overlays to videos */
.hero-overlay{
    background:
        radial-gradient(circle at 75% 35%, rgba(22,119,255,.22), transparent 35%),
        linear-gradient(90deg, rgba(5,10,20,.86), rgba(7,27,61,.48) 50%, rgba(5,10,20,.18));
}

/* Adds Scudo-blue atmosphere to dark areas */
.contact,
.statement{
    background:
        radial-gradient(circle at 80% 20%, rgba(22,119,255,.18), transparent 32%),
        linear-gradient(180deg, #071b3d, #08111f);
}

/* Makes section labels feel more branded */
.eyebrow{
    color:#1677ff;
}

/* Adds a subtle silver-blue border to visual frames */
.hero-visual-frame,
.arrival-frame,
.seamless-frame,
.gallery-card{
    border:1px solid rgba(217,230,242,.22);
    box-shadow:
        0 34px 90px rgba(8,17,31,.20),
        0 0 55px rgba(22,119,255,.10);
}

/* Adds luxury blue highlight to city dropdowns */
details[open] summary{
    color:#1677ff;
}

/* Adds a soft Scudo color wash behind the page */
body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
        radial-gradient(circle at 10% 15%, rgba(22,119,255,.08), transparent 28%),
        radial-gradient(circle at 90% 40%, rgba(217,230,242,.12), transparent 30%);
}
/* MAJOR SCUDO BRAND IMPACT UPGRADE */

/* Stronger blue/silver luxury atmosphere across the whole site */
body{
    background:
        radial-gradient(circle at 15% 8%, rgba(22,119,255,.14), transparent 28%),
        radial-gradient(circle at 85% 22%, rgba(217,230,242,.18), transparent 26%),
        #ffffff;
}

/* Make the header feel more branded and premium */
header{
    background:
        linear-gradient(90deg, rgba(255,255,255,.92), rgba(232,242,255,.86));
    border-bottom:1px solid rgba(22,119,255,.16);
    box-shadow:0 12px 40px rgba(8,17,31,.08);
}

/* Make the logo feel more present */
.logo img{
    filter:
        drop-shadow(0 12px 28px rgba(22,119,255,.20))
        drop-shadow(0 4px 12px rgba(8,17,31,.12));
}

/* Stronger Scudo-blue hero atmosphere */
.hero-overlay{
    background:
        radial-gradient(circle at 78% 28%, rgba(22,119,255,.42), transparent 34%),
        radial-gradient(circle at 45% 80%, rgba(217,230,242,.22), transparent 30%),
        linear-gradient(90deg, rgba(5,10,20,.90), rgba(7,27,61,.62) 52%, rgba(5,10,20,.22));
}

/* Add a luxury blue glow behind hero text */
.hero-copy{
    position:relative;
}

.hero-copy::before{
    content:"";
    position:absolute;
    left:-80px;
    top:-80px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(22,119,255,.16);
    filter:blur(80px);
    z-index:-1;
}

/* Bigger branded headline treatment */
.hero h1,
#philosophy h2,
#experience h2,
.city-copy h2,
.contact h2{
    background:linear-gradient(135deg, #08111f, #0d3d87 52%, #7fb8ff);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

/* Keep hero headline white/blue because it sits on video */
.hero h1{
    background:linear-gradient(135deg, #ffffff, #cfe6ff 48%, #58a6ff);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

/* Make visual frames feel custom Scudo-branded */
.hero-visual-frame,
.arrival-frame,
.seamless-frame,
.gallery-card{
    border:1px solid rgba(127,184,255,.38);
    box-shadow:
        0 34px 90px rgba(8,17,31,.24),
        0 0 0 1px rgba(255,255,255,.08) inset,
        0 0 85px rgba(22,119,255,.22);
}

/* Add blue cinematic tint to visual frames */
.hero-visual-frame::before,
.arrival-frame::before,
.seamless-frame::before,
.gallery-card::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        radial-gradient(circle at 70% 20%, rgba(22,119,255,.20), transparent 32%),
        linear-gradient(to bottom, rgba(22,119,255,.06), transparent 42%);
    mix-blend-mode:screen;
}

/* Make sure existing overlays stay above media but below text */
.hero-visual-frame::after,
.arrival-frame::after,
.seamless-frame::after,
.gallery-card::after{
    z-index:3;
}

/* Branded floating cards */
.hero-glass-card,
.arrival-card,
.seamless-card{
    background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(232,242,255,.88));
    border:1px solid rgba(22,119,255,.24);
    box-shadow:
        0 24px 70px rgba(8,17,31,.18),
        0 0 70px rgba(22,119,255,.20);
}

/* Larger Scudo blue card headlines */
.hero-glass-card h3,
.arrival-card h3,
.seamless-card h3,
.soft-card h3{
    color:#071b3d;
}

/* Upgrade buttons into a signature Scudo look */
.btn-dark,
.btn-primary{
    background:
        linear-gradient(135deg, #061533, #0b4ea2 48%, #42a5ff);
    color:#fff;
    border:1px solid rgba(177,216,255,.35);
    box-shadow:
        0 18px 45px rgba(22,119,255,.34),
        inset 0 1px 0 rgba(255,255,255,.25);
}

.btn-dark:hover,
.btn-primary:hover{
    box-shadow:
        0 26px 70px rgba(22,119,255,.50),
        inset 0 1px 0 rgba(255,255,255,.35);
}

/* Make the dark contact/footer areas unmistakably Scudo */
.contact,
footer{
    background:
        radial-gradient(circle at 82% 18%, rgba(22,119,255,.28), transparent 34%),
        radial-gradient(circle at 12% 85%, rgba(217,230,242,.10), transparent 30%),
        linear-gradient(180deg, #071b3d, #050b16);
}

/* Branded service areas section */
.cities-section{
    background:
        radial-gradient(circle at 85% 12%, rgba(22,119,255,.12), transparent 30%),
        linear-gradient(180deg, #ffffff, #eef6ff);
}

details{
    border:1px solid rgba(22,119,255,.14);
    box-shadow:
        0 18px 45px rgba(8,17,31,.07),
        0 0 45px rgba(22,119,255,.06);
}

details[open]{
    border-color:rgba(22,119,255,.34);
}

/* Add small blue accent line to cards */
.soft-card{
    position:relative;
    overflow:hidden;
}

.soft-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg, #071b3d, #1677ff, #d9e6f2);
}

/* Stronger branded eyebrow labels */
.eyebrow{
    color:#1677ff;
    text-shadow:0 0 24px rgba(22,119,255,.18);
}
/* FIX WHITE TEXT VISIBILITY ISSUE */

.hero-glass-card p,
.arrival-card p,
.seamless-card p,
.soft-card p,
.statement p,
.city-copy p,
.contact p,
#philosophy p,
#experience p{
    color:#5c6f86 !important;
}

/* Keeps white text only where needed */
.hero p{
    color:#dbe7f5 !important;
}
/* FORCE CONTRAST FOR WHITE FLOATING CARDS */

.hero-glass-card,
.arrival-card,
.seamless-card{
    background:rgba(255,255,255,.94) !important;
}

.hero-glass-card h3,
.arrival-card h3,
.seamless-card h3{
    color:#071b3d !important;
}

.hero-glass-card p,
.arrival-card p,
.seamless-card p{
    color:#4f6076 !important;
}
/* FIX GALLERY TEXT CONTRAST */

.gallery-card::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    background:
        linear-gradient(
            to top,
            rgba(5,10,20,.92) 0%,
            rgba(5,10,20,.72) 28%,
            rgba(5,10,20,.28) 62%,
            rgba(5,10,20,.08) 100%
        ) !important;
}

.gallery-content{
    position:absolute !important;
    left:0 !important;
    bottom:0 !important;
    z-index:5 !important;
    padding:42px !important;
    color:#ffffff !important;
    text-shadow:0 3px 18px rgba(0,0,0,.65);
}

.gallery-content h3{
    color:#ffffff !important;
}

.gallery-content p{
    color:#e7f1ff !important;
}
/* FIX "EFFORTLESS" CARD CONTRAST */

.arrival-detail{
    background:
        linear-gradient(
            145deg,
            rgba(7,27,61,.96),
            rgba(6,15,30,.96)
        ) !important;

    border:1px solid rgba(127,184,255,.22);

    box-shadow:
        0 24px 60px rgba(8,17,31,.34),
        0 0 45px rgba(22,119,255,.18);

    backdrop-filter:blur(20px);
}

.arrival-detail strong{
    color:#ffffff !important;
    text-shadow:0 2px 14px rgba(0,0,0,.45);
}

.arrival-detail span{
    color:#dbe9ff !important;
    opacity:1 !important;
    line-height:1.7;
}
/* FIX HERO BUTTONS BEING HIDDEN */

.hero{
    height:auto !important;
    min-height:120vh !important;
    padding-bottom:10px !important;
}

.hero-inner{
    min-height:120vh !important;
    height:auto !important;
    padding-top:40px !important;
    padding-bottom:10px !important;
    align-items:center !important;
}

.hero-actions{
    position:relative !important;
    z-index:20 !important;
    margin-bottom:20px !important;
}
/* REDUCE EXCESS SPACE ABOVE EXPERIENCE SECTION */

#experience{
    margin-top:20px;
    position:relative;
    z-index:5;
}
/* MOBILE FIXES */
* {
  box-sizing: border-box;
}

img,
video {
  max-width: 100%;
  height: auto;
}

body {
  overflow-x: hidden;
}

@media (max-width: 768px) {

  .container,
  section,
main {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.container {
  width: calc(100% - 32px) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

  nav,
  .navbar {
    flex-wrap: wrap;
  }

  h1 {
    font-size: 32px;
  }

  h2 {
    font-size: 26px;
  }

  p {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .hero-inner {
    display: block !important;
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding-top: 120px !important;
  }

  .hero-visual {
    min-height: auto !important;
    margin-top: 40px !important;
  }

  .hero-visual-frame {
    height: 420px !important;
    border-radius: 28px !important;
  }

  .hero-glass-card,
  .hero-mini-stats,
  .arrival-card,
  .arrival-detail,
  .seamless-card {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin-top: 20px !important;
  }

  .arrival-frame {
    position: relative !important;
    width: 100% !important;
    height: 420px !important;
  }

  .arrival-visual,
  .seamless-visual {
    min-height: auto !important;
  }

  .seamless-frame {
    height: 420px !important;
  }

  .editorial {
    grid-template-columns: 1fr !important;
  }

  .editorial-image {
    min-height: 420px !important;
    transform: none !important;
  }

  .scroll-gallery {
    overflow-x: auto !important;
  }

  .gallery-card {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  .scroll-gallery {
    overflow-x: auto !important;
    padding-right: 60px;
    scroll-snap-type: x mandatory;
  }

  .gallery-card {
    display: block !important;
    flex: 0 0 82vw !important;
    min-width: 82vw !important;
    width: 82vw !important;
    scroll-snap-align: start;
  }
}
@media(max-width:760px){
  header {
    height: auto !important;
  }

  .nav {
    height: auto !important;
    padding: 14px 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  nav ul {
    display: none !important;
  }

  .logo img {
    width: 175px !important;
  }

  .nav .btn {
    display: inline-flex !important;
    height: 42px !important;
    padding: 0 16px !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
  }
}
/* FINAL MOBILE WIDTH FIX */
@media(max-width:760px){

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  section,
  main,
  .hero,
  .statement,
  .gallery,
  .cities-section,
  .contact {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  .container {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-inner,
  .editorial,
  .city-layout,
  .footer-grid,
  .statement-wrap,
  .contact-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-copy,
  .editorial-copy,
  .gallery-title,
  .city-copy {
    width: 100% !important;
    max-width: 100% !important;
  }
}
.floating-note{position:absolute;right:6%;bottom:7%;width:360px;padding:34px;border-radius:34px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(20px);color:#fff;box-shadow:var(--shadow);}
.floating-note h3{font-size:40px;line-height:.92;margin-bottom:18px;}
.floating-note p{line-height:1.8;color:#dce7f4;font-size:17px;}
section{padding:40px 0;position:relative;} .flow-section{margin-top:-120px;z-index:2;} .soft-transition{position:relative;overflow:hidden;} .soft-transition::before{content:'';position:absolute;top:-180px;left:0;width:100%;height:240px;background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));z-index:1;pointer-events:none;} .dark-transition{position:relative;overflow:hidden;} .dark-transition::before{content:'';position:absolute;top:-220px;left:0;width:100%;height:280px;background:linear-gradient(to bottom, rgba(8,17,31,0), rgba(8,17,31,1));z-index:1;pointer-events:none;}
.editorial{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch;}
.editorial-image{min-height:760px;border-radius:42px;overflow:hidden;position:relative;box-shadow:var(--shadow);transform:translateY(40px);} .editorial-copy{position:relative;z-index:2;}
.editorial-image video,.editorial-image img{width:100%;height:100%;object-fit:cover;}
.editorial-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,10,20,.68),rgba(5,10,20,.08));}
.editorial-copy{padding:70px;background:var(--mist);border-radius:42px;display:flex;flex-direction:column;justify-content:center;}
.editorial-copy h2{font-size:clamp(52px,6vw,92px);line-height:.9;max-width:700px;}
.editorial-copy p{margin-top:28px;color:#5f7086;font-size:21px;line-height:1.95;max-width:620px;font-weight:300;}
.divider{width:80px;height:1px;background:#c3d1df;margin:40px 0;}
.soft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:60px;}
.soft-card{padding:40px;border-radius:34px;background:#fff;box-shadow:0 18px 40px rgba(15,30,50,.06);border:1px solid rgba(15,30,50,.05);}
.soft-card h3{font-size:42px;line-height:.92;margin-bottom:18px;}
.soft-card p{color:#68798f;line-height:1.9;font-size:17px;font-weight:300;}
.statement{background:linear-gradient(180deg,#0b1220,#08111f);color:#fff;position:relative;overflow:hidden;border-radius:80px 80px 0 0;}
.statement::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,.04);}
.statement-wrap{position:relative;z-index:2;max-width:1100px;}
.statement h2{font-size:clamp(70px,8vw,120px);line-height:.88;max-width:1000px;}
.statement p{margin-top:34px;max-width:760px;color:#cfdceb;font-size:22px;line-height:2;font-weight:300;}
.gallery-title{margin-bottom:70px;max-width:900px;}
.gallery-title h2{font-size:clamp(58px,7vw,102px);line-height:.9;}
.gallery-title p{margin-top:24px;font-size:20px;line-height:1.9;color:#62748b;font-weight:300;}
.scroll-gallery{display:flex;gap:28px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;}
.scroll-gallery::-webkit-scrollbar{height:8px;}
.scroll-gallery::-webkit-scrollbar-thumb{background:#ccd8e6;border-radius:999px;}
.gallery-card{flex:0 0 540px;height:720px;border-radius:42px;overflow:hidden;position:relative;scroll-snap-align:start;box-shadow:var(--shadow);}
.gallery-card video,.gallery-card img{width:100%;height:100%;object-fit:cover;}
.gallery-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,10,20,.88),rgba(5,10,20,.12));}
.gallery-content{position:absolute;left:0;bottom:0;padding:42px;color:#fff;z-index:2;}
.gallery-content h3{font-size:52px;line-height:.92;max-width:420px;}
.gallery-content p{margin-top:18px;color:#dce8f4;line-height:1.9;font-weight:300;font-size:18px;}
.cities-section{background:linear-gradient(180deg,#fdfefe,#f4f8fc);}
.city-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;}
.city-copy h2{font-size:clamp(54px,6vw,90px);line-height:.9;}
.city-copy p{margin-top:24px;font-size:20px;color:#64758a;line-height:1.95;font-weight:300;}
.city-accordion{display:grid;gap:18px;}
details{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 40px rgba(15,30,50,.05);border:1px solid rgba(15,30,50,.05);}
summary{padding:28px 34px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:#4b5f78;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+';font-size:26px;color:#7f93aa;}
details[open] summary::after{content:'–';}
.city-list{padding:0 34px 34px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.city-list span{padding:14px 16px;border-radius:18px;background:#f2f6fb;color:#506175;font-size:14px;}
.request-box{padding:0 34px 34px;}
.request-box p{color:#64758a;line-height:1.9;font-weight:300;margin-bottom:26px;}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
label{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#71849b;}
input,select,textarea{border:none;background:#f3f7fb;padding:18px;border-radius:18px;font:inherit;color:#203148;}
textarea{min-height:160px;resize:vertical;}
.full{grid-column:1/-1;}
.contact{background:linear-gradient(180deg,#0f1728,#09111e);color:#fff;border-radius:80px 80px 0 0;}
.contact-wrap{max-width:980px;}
.contact h2{font-size:clamp(60px,7vw,110px);line-height:.88;max-width:900px;}
.contact p{margin-top:30px;max-width:700px;color:#d5e2ef;font-size:21px;line-height:2;font-weight:300;}
footer{padding:70px 0;background:#07101c;color:#c7d4e3;}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;}
footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:18px;color:#fff;font-family:'Inter',sans-serif;font-weight:700;}
footer p,footer li{line-height:2;color:#aebfd1;font-weight:300;}
footer ul{list-style:none;display:grid;gap:10px;}
.bottom{margin-top:50px;padding-top:30px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#8ca1b8;font-size:14px;}
@media(max-width:1100px){.editorial,.city-layout,.footer-grid{grid-template-columns:1fr;}form,.city-list,.soft-grid{grid-template-columns:1fr 1fr;}.floating-note{position:relative;right:auto;bottom:auto;width:100%;margin-top:40px;}.hero{
    min-height:80vh;
    position:relative;
    overflow:hidden;
}}
@media(max-width:760px){nav ul,.nav .btn{display:none;}.hero h1{font-size:64px;}section{padding:110px 0;}.flow-section{margin-top:-60px;}.gallery-card{flex:0 0 88vw;height:620px;}.editorial-copy,.soft-card{padding:36px;}form,.city-list,.soft-grid{grid-template-columns:1fr;}.contact h2{font-size:62px;}}
/* TRUE FINAL MOBILE FIX FOR SECTIONS 3 AND 4 */
@media(max-width:760px){

  nav ul {
    display: none !important;
  }

  .nav .btn {
    display: inline-flex !important;
  }

  .editorial {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 24px !important;
    overflow: hidden !important;
  }

  .editorial-image,
  .editorial-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  .editorial-copy {
    padding: 34px 24px !important;
    border-radius: 28px !important;
  }

  .editorial-copy h2,
  .editorial-copy p {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  .editorial-image {
    min-height: 420px !important;
    border-radius: 28px !important;
  }
}
/* PORTRAIT PHONE ONLY - PREVENT RIGHT-SIDE OVERFLOW */
@media(max-width:480px) and (orientation:portrait){

  .arrival-card,
  .seamless-card {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    left: 16px !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .seamless-frame {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }

}
/* SECTION 4 ONLY - MOBILE WIDTH FIX */
@media(max-width:760px){

  .seamless-visual {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .seamless-frame {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .seamless-card {
    left: 0 !important;
    right: auto !important;
    max-width: 100% !important;
  }
}
/* SECTION 4 VIEWPORT-LOCK FIX */
@media(max-width:760px){

  .seamless-visual {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden !important;
  }

  .seamless-frame,
  .seamless-card {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    left: auto !important;
    right: auto !important;
  }
}

