:root{--black:#211f1f;--ink:#2d2b2a;--taupe:#746c63;--gold:#b69a69;--pale:#ded0b5;--cream:#f5f1ea;--paper:#fbf9f5;--white:#fff;--sage:#60736b;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e4dc;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:78px;padding:8px 4vw;background:rgba(33,31,31,.92);backdrop-filter:blur(12px);color:#fff;transition:.3s}.topbar.hidden{transform:translateY(-100%)}.brand img{width:54px;height:54px;object-fit:cover}.topbar nav{display:flex;gap:2rem}.topbar nav a{font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;color:#e7ded0}.topbar nav a:hover{color:var(--gold)}.menu-button{display:none;background:none;border:0;width:44px;height:44px}.menu-button span{display:block;width:24px;height:1px;background:#fff;margin:7px auto}
main{max-width:1440px;margin:auto;box-shadow:0 0 70px rgba(0,0,0,.13)}.page,.suite-details,.split-copy{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,8vw,9rem);background:var(--paper);min-height:80vh}.dark{background:var(--black);color:#fff}.eyebrow{margin:0 0 1.4rem;color:var(--gold);font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}.serif,h1,h2,h3{font-family:var(--serif);font-weight:400}.italic,.english{font-family:var(--serif);font-style:italic;color:var(--taupe)}h1{font-size:clamp(3.2rem,8vw,7.8rem);line-height:.92;letter-spacing:-.04em;margin:.2em 0}h2{font-size:clamp(2.5rem,5.6vw,5.5rem);line-height:1.02;letter-spacing:-.035em;margin:.15em 0 .35em}h3{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.1}.gold-rule{display:block;width:95px;height:1px;background:var(--gold);margin:2rem 0}.micro{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}.lead{max-width:760px;font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.65}.text-link{display:inline-block;color:var(--gold);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-top:2rem}.button{display:inline-flex;align-items:center;margin-top:1rem;padding:.9rem 1.2rem;background:var(--gold);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dark-button{background:var(--black)}
.photo-page{position:relative;min-height:100vh;background-position:center;background-size:cover;color:#fff}.cover{background-image:linear-gradient(to top,rgba(33,31,31,.98) 0 37%,transparent 62%),url('assets/croisette.png')}.cover-logo,.page-logo{position:absolute;top:8rem;left:6vw;width:106px}.cover-copy{position:absolute;left:6vw;bottom:7vh}.cover .english{color:#fff}.manifesto{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.manifesto-logo{width:140px;margin-bottom:2.5rem}.manifesto h2{font-size:clamp(2.1rem,4vw,4.2rem)}.manifesto .lead{max-width:850px}.manifesto .english{color:var(--pale);max-width:700px}.contents-list{margin:4rem 0;max-width:900px}.contents-list a{display:grid;grid-template-columns:70px 1fr 1fr;gap:1.3rem;padding:1.5rem 0;border-top:1px solid var(--pale);align-items:center}.contents-list span{color:var(--gold);font-weight:700}.contents-list strong{font-family:var(--serif);font-size:1.25rem}.contents-list em{font-family:var(--serif);color:var(--taupe)}.wide-image{width:100%;max-height:520px;object-fit:cover;margin-top:3rem}
.suite{background:var(--paper)}.suite-hero{position:relative;min-height:76vh;background-size:cover;background-position:center}.suite-hero:after,.split-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(33,31,31,.78),transparent 47%,rgba(33,31,31,.7))}.suite-hero>div{position:absolute;z-index:1;left:6vw;right:6vw;top:12%;color:#fff}.suite-hero h2{font-size:clamp(3rem,6vw,6.5rem)}.address{position:absolute;top:58vh;font-size:.78rem;font-weight:700;letter-spacing:.08em}.prestige{background-image:url('assets/prestige1.webp')}.elegance{background-image:url('assets/elegance1.webp')}.leopold{background-image:url('assets/leopold1.webp')}.notre-dame{background-image:url('assets/mougins1.webp')}.suite-details{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;min-height:auto}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gallery img{width:100%;height:320px;object-fit:cover}.suite-copy{font-family:var(--serif);font-size:1.1rem}.suite-copy ul{list-style:none;padding:0;border-top:1px solid var(--pale)}.suite-copy li{padding:.7rem 0;border-bottom:1px solid var(--pale);font-family:var(--sans);font-size:.9rem}
.numbered{margin:4rem 0;max-width:800px}.numbered article,.timeline-list article,.route-list article{display:grid;grid-template-columns:70px 1fr;gap:1.2rem;padding:1.5rem 0;border-top:1px solid var(--pale)}.numbered span,.route-list span{color:var(--gold);font-weight:700}.numbered h3,.numbered p{margin:.1rem 0}.dark-card{display:grid;grid-template-columns:1.2fr .8fr;background:var(--black);color:#fff}.dark-card>div{padding:3rem}.dark-card img{width:100%;height:100%;object-fit:cover}.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.actions a,.list-grid a,.now a{color:var(--gold);font-size:.78rem;font-weight:700;text-transform:uppercase}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:4rem 0 2rem}.mini-grid article,.card-grid article{background:var(--cream);padding:2rem}.mini-grid h3,.card-grid h3{margin-top:0}.parking-feature{display:grid;grid-template-columns:1fr 310px;gap:3rem;background:var(--black);color:#fff;padding:clamp(2rem,5vw,5rem);border-radius:8px}.parking-feature h2{font-size:clamp(2.4rem,5vw,4.5rem)}.parking-sub{font-family:var(--serif);font-size:1.35rem}.parking-feature dl>div{margin:1.5rem 0}.parking-feature dt{color:var(--gold);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.parking-feature dd{margin:.35rem 0;font-family:var(--serif);font-size:1.08rem}.qr-action{text-align:center;align-self:center}.qr-action img{background:#fff;padding:.7rem;width:220px;margin:auto}.qr-action strong{display:block;margin-top:.8rem;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase}
.sea-intro{background-image:url('assets/lerins.jpg')}.taste-intro{background-image:url('assets/forville.jpg')}.mougins{background-image:url('assets/mougins.jpg')}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:5rem 6vw;background:var(--black)}.photo-caption h2{margin:0}.photo-caption p:last-child{font-family:var(--serif);color:var(--pale)}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;margin-top:3rem}.note{border-left:2px solid var(--gold);padding-left:1.2rem;font-family:var(--serif);font-style:italic}.note strong{display:block;color:var(--gold);font-family:var(--sans);font-style:normal;font-size:.72rem;text-transform:uppercase;margin-bottom:.5rem}.link-card{background:var(--cream);padding:2rem}.link-card img{width:150px;background:#fff;padding:.5rem;margin:1.5rem 0 .6rem}.link-card a{color:var(--gold);font-weight:700;font-size:.8rem;text-transform:uppercase}.split-photo{display:grid;grid-template-columns:1.1fr .9fr;background:var(--paper);min-height:85vh}.split-image{position:relative;min-height:80vh}.split-image>img{width:100%;height:100%;object-fit:cover}.split-image>div{position:absolute;z-index:1;left:6vw;bottom:7vh;color:#fff}.split-image h2{margin:.1em 0}.split-image .english{color:#fff}.split-copy{display:flex;flex-direction:column;justify-content:center;min-height:auto}.card-grid,.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:4rem}.card-grid article span,.meta{color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.09em}.food-photos{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;margin-top:3rem}.food-photos img{width:100%;height:430px;object-fit:cover}.list-grid article{padding:1.5rem 0;border-top:1px solid var(--pale)}.carlton .split-image>img{object-position:center}.timeline-list{max-width:800px;margin-top:4rem}.timeline-list time{color:var(--gold);font-weight:700}.timeline-list h3,.timeline-list p{margin:.1rem 0}.route-list{margin-top:4rem}.route-list article{grid-template-columns:70px 1fr;background:var(--cream);padding:2rem;margin-bottom:1rem;border:1px solid var(--pale)}.route-list h3,.route-list p{margin:.1rem 0}.dark-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:4rem}.dark-columns article{background:var(--black);color:#fff;padding:2.2rem}.dark-columns h3{color:var(--gold)}.dark-columns strong{display:block;font-family:var(--serif);font-size:1.05rem;margin-top:1.5rem}.desk{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.desk h2{font-size:clamp(2.7rem,6vw,5rem)}.qr-grid{display:grid;grid-template-columns:repeat(3,150px);gap:2.2rem;margin:3rem 0}.qr-grid a{display:flex;flex-direction:column;gap:.6rem;align-items:center;color:var(--gold);font-size:.72rem;font-weight:700;text-transform:uppercase}.qr-grid img{width:130px;background:#fff;padding:.55rem}footer{max-width:1440px;margin:auto;background:var(--black);color:var(--pale);display:flex;justify-content:space-between;padding:2rem 6vw;font-size:.75rem;letter-spacing:.08em}
@media(max-width:800px){body{font-size:16px}.topbar{height:64px}.brand img{width:46px;height:46px}.menu-button{display:block}.topbar nav{position:absolute;top:64px;left:0;right:0;display:none;flex-direction:column;gap:0;background:var(--black);padding:1rem 6vw 1.8rem}.topbar nav.open{display:flex}.topbar nav a{padding:.8rem 0;border-bottom:1px solid #3d3937}.page,.suite-details,.split-copy{padding:5rem 1.35rem}.cover-logo,.page-logo{top:5.5rem;left:1.35rem;width:78px}.cover-copy{left:1.35rem;bottom:5vh}.cover{background-image:linear-gradient(to top,rgba(33,31,31,.98) 0 43%,transparent 68%),url('assets/croisette.png')}.manifesto-logo{width:100px}.contents-list a{grid-template-columns:42px 1fr}.contents-list em{grid-column:2}.suite-hero{min-height:70vh}.suite-hero>div{left:1.35rem;right:1.35rem;top:18%}.address{top:52vh}.suite-details,.split-photo,.dark-card,.two-col,.parking-feature{grid-template-columns:1fr}.gallery img{height:190px}.dark-card img{height:240px;order:-1}.mini-grid,.card-grid,.list-grid,.dark-columns{grid-template-columns:1fr}.mini-grid{margin-top:2.5rem}.parking-feature{padding:2rem 1.3rem}.qr-action img{width:190px}.split-image{min-height:66vh}.split-image>div{left:1.35rem;bottom:4rem}.food-photos{grid-template-columns:1fr}.food-photos img{height:260px}.qr-grid{grid-template-columns:repeat(2,120px);gap:1.5rem}.qr-grid img{width:110px}.photo-caption{padding:3rem 1.35rem}.sea-intro,.taste-intro,.mougins{min-height:86vh}.dark-columns article{padding:1.5rem}footer{padding:1.5rem 1.35rem;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Compact concierge edition */
.topbar nav{order:2;margin-left:auto;gap:1.35rem}
.topbar nav a{font-size:.72rem}
.header-tools{display:flex;align-items:center;gap:.7rem;order:3;margin-left:1.3rem}
.language-switcher{display:flex;gap:.22rem;padding:.2rem;border:1px solid rgba(255,255,255,.18);border-radius:999px}
.language-switcher button{width:34px;height:30px;padding:0;border:0;border-radius:999px;background:transparent;filter:grayscale(.8);opacity:.58;cursor:pointer;font-size:1rem}
.language-switcher button:hover,.language-switcher button.active{background:rgba(255,255,255,.12);filter:none;opacity:1}
.compact-lead{max-width:720px;margin-bottom:2.5rem}
.suite-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:3rem}
.suite-card{display:grid;grid-template-columns:42% 58%;background:var(--cream);min-height:470px;overflow:hidden}
.suite-card>img{width:100%;height:100%;object-fit:cover}
.suite-card>div{padding:2rem}
.suite-card h3{font-size:1.65rem;margin:.2rem 0}
.address-inline{font-size:.83rem;font-weight:700;letter-spacing:.035em}
.travel-mode{display:inline-block;margin:.3rem 0 .8rem;color:var(--gold);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.suite-card dl{margin:.3rem 0;border-top:1px solid var(--pale)}
.suite-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px solid var(--pale);font-size:.78rem}
.suite-card dd{margin:0;font-weight:700}
.locker-line{font-size:.75rem;line-height:1.45;margin-top:1rem}
.locker-line strong{display:block;color:var(--gold);text-transform:uppercase;font-size:.67rem;letter-spacing:.08em}
.suite-card .actions{margin-top:1rem;gap:.7rem}
.suite-card .actions a{font-size:.67rem}
.compact-dark{max-width:900px}
.small-lead{font-size:1.08rem}
.island-list article{padding:1rem 0;border-top:1px solid var(--pale)}
.island-list h3,.island-list p{margin:.25rem 0}
.island-list a,.split-copy>a{color:var(--gold);font-size:.75rem;font-weight:700;text-transform:uppercase}
.beach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:3rem 0}
.beach-grid article{position:relative;background:var(--cream);padding:2rem 1.6rem 3.5rem;border-top:3px solid var(--gold)}
.beach-grid span{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.08em}
.beach-grid small{display:inline-block;padding:.25rem .5rem;border:1px solid var(--gold);color:var(--gold);font-weight:700;font-size:.62rem;letter-spacing:.06em}
.beach-grid a{position:absolute;left:1.6rem;bottom:1.25rem;color:var(--gold);font-size:.7rem;font-weight:700;text-transform:uppercase}
.meta-address{font-size:.9rem}
.detailed article{padding-right:1rem}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}
.three-grid article{padding:2rem;background:var(--cream);border-top:3px solid var(--gold)}
.three-grid article span{color:var(--gold);font-size:.68rem;font-weight:700}
.three-grid article a{color:var(--gold);font-size:.75rem;font-weight:700;text-transform:uppercase}
.spacious{margin-top:2rem}
.expanded article{padding:2.2rem;margin-bottom:1rem}
.expanded article p{max-width:920px;line-height:1.72}
.rain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}
.rain-grid article{background:var(--black);color:#fff;padding:2rem}
.rain-grid span,.event-grid span{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.1em}
.rain-grid h3{color:#fff}
.rain-grid a{color:var(--gold);font-size:.72rem;font-weight:700;text-transform:uppercase}
.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:3rem}
.event-grid>a{display:block;padding:2rem;background:var(--cream);border-top:3px solid var(--gold);transition:.2s}
.event-grid>a:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(33,31,31,.09)}
.event-grid strong{display:block;margin-top:1.2rem;color:var(--gold);font-size:.72rem;text-transform:uppercase}

@media(max-width:1100px){
  .suite-grid{grid-template-columns:1fr}
  .topbar nav{gap:.8rem}
}
@media(max-width:800px){
  .topbar nav{order:4;margin:0}
  .header-tools{margin-left:auto}
  .language-switcher button{width:31px;height:28px;font-size:.9rem}
  .suite-grid,.beach-grid,.three-grid,.rain-grid,.event-grid{grid-template-columns:1fr}
  .suite-card{grid-template-columns:1fr;min-height:0}
  .suite-card>img{height:260px}
  .suite-card>div{padding:1.5rem}
  .collection.page{padding-top:6rem}
}
