:root{--ink:#101010;--paper:#fbfaf6;--white:#fff;--champagne:#c7ad7f;--champagne-soft:#eee5d4;--line:rgba(16,16,16,.16);--muted:#6d6a64}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}.top{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.top-in{height:72px;max-width:1500px;margin:auto;padding:0 34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{font-size:18px;font-weight:600;letter-spacing:.045em;text-transform:uppercase}.nav{justify-self:end;display:flex;gap:28px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.nav a:hover{opacity:.5}.city,.eyebrow,.label,.num{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.hero{min-height:78vh;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.inner{width:min(1360px,calc(100% - 68px));margin:auto}.hero-in{padding:110px 0 72px;display:grid;grid-template-columns:1.55fr .55fr;gap:9vw;align-items:end}.eyebrow{margin:0 0 28px}.hero h1,h1,h2,h3,blockquote{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:600;margin:0;text-transform:uppercase}.hero h1{font-size:clamp(58px,8vw,128px);line-height:.88;letter-spacing:-.055em;max-width:1080px}.hero-copy{font-size:15px;line-height:1.65;max-width:370px;margin:0}.arrow{display:inline-block;margin-top:28px;border-bottom:1px solid;padding-bottom:5px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.image-slot{background:var(--champagne-soft);min-height:62vh;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);position:relative}.image-slot:before{content:'IMAGE — ADD LATER';font-size:10px;letter-spacing:.18em;color:#847a69}.image-slot small{position:absolute;bottom:20px;left:28px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.section{padding:120px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:.45fr 1.55fr;gap:5vw}.section h2{font-size:clamp(42px,5.7vw,88px);line-height:.94;letter-spacing:-.045em;max-width:1050px}.editorial{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.editorial>a{padding:34px 28px 42px 0;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}.editorial>a+a{border-left:1px solid var(--line);padding-left:34px}.editorial h3{font-size:clamp(38px,4.4vw,70px);letter-spacing:-.04em}.editorial p{max-width:450px;line-height:1.7}.quote-section{background:var(--champagne);color:#fff;padding:135px 0}.quote-section blockquote{font-size:clamp(46px,7vw,108px);line-height:.9;letter-spacing:-.055em;max-width:1250px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.copy h2{font-size:clamp(40px,5vw,76px);margin-bottom:30px}.copy p{font-size:15px;line-height:1.8;max-width:570px}.steps{counter-reset:item;margin:0;padding:0;list-style:none}.steps li{counter-increment:item;padding:25px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:50px 1fr;gap:20px}.steps li:before{content:'0' counter(item);font-size:10px;letter-spacing:.1em}.steps b{display:block;font-weight:600;margin-bottom:8px;text-transform:uppercase}.steps span span{color:var(--muted);line-height:1.6}.contact h2{font-size:clamp(58px,8vw,125px);line-height:.87}.contact-row{margin-top:60px;display:flex;justify-content:space-between;align-items:end;gap:30px}.mail{font-size:clamp(20px,2.6vw,40px);font-weight:600;border-bottom:1px solid}.footer{padding:35px 0}.foot-in{width:min(1360px,calc(100% - 68px));margin:auto;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase}@media(max-width:760px){.top-in{padding:0 18px;grid-template-columns:1fr auto}.city{display:none}.nav{gap:13px}.brand{font-size:13px}.inner{width:calc(100% - 36px)}.hero{min-height:70vh}.hero-in,.section-head,.split{grid-template-columns:1fr}.hero-in{gap:50px;padding:90px 0 45px}.hero h1{font-size:16vw}.section{padding:80px 0}.editorial{grid-template-columns:1fr}.editorial>a+a{border-left:0;border-top:1px solid var(--line);padding-left:0}.image-slot{min-height:50vh}.contact-row,.foot-in{align-items:flex-start;flex-direction:column}}

/* V4 — full-bleed hero video only. V3 typography, sizing and content remain unchanged. */
body.home-video .top{}
.hero--video{position:relative;overflow:hidden;color:var(--white);margin-top:-72px;padding-top:72px;border-bottom:0;background:#111}
.hero--video .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero--video .hero-video-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.04) 42%,rgba(0,0,0,.30) 100%);pointer-events:none}
.hero--video .hero-in{position:relative;z-index:2}
body:has(.hero--video) .top{position:absolute;top:0;left:0;right:0;background:transparent;backdrop-filter:none;border-bottom:0;color:var(--white)}
body:has(.hero--video) .top .brand,body:has(.hero--video) .top .nav a,body:has(.hero--video) .top .city{color:var(--white)}
@media(max-width:760px){.hero--video{margin-top:-72px;padding-top:72px}}

/* V6 — suppress native video UI; autoplay handling is in index.html. */
.hero-video::-webkit-media-controls{display:none!important}
.hero-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}

/* V12 — homepage imagery: natural photos, no tint and no hover zoom. */
.campaign-image{width:100%;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--line);background:var(--champagne-soft)}
.campaign-image img{display:block;width:100%;height:100%;object-fit:cover}
.editorial-card{position:relative;overflow:hidden;isolation:isolate;color:#fff!important}
.editorial-card>.editorial-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background-position:center;background-size:cover;transform:none}
.editorial-card--oysters>.editorial-bg{background-image:url('oyster.jpeg')}
.editorial-card--caviar>.editorial-bg{background-image:url('caviar.jpeg')}
.editorial-card>.num,.editorial-card>div,.editorial-card h3,.editorial-card p{position:relative;z-index:1;color:#fff!important}
.editorial-card:hover>.editorial-bg{transform:none}
@media(max-width:760px){.campaign-image{aspect-ratio:16/9}}

/* V14 — full-bleed editorial image pair with subtle champagne veil + hover zoom. */
.section:has(.editorial){overflow:hidden}
.section:has(.editorial)>.inner{width:100%;max-width:none}
.section:has(.editorial) .editorial{margin-top:0;width:100%;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.section:has(.editorial) .editorial>a{min-height:520px;padding:34px max(34px,calc((100vw - 1360px)/2 + 34px)) 42px max(34px,calc((100vw - 1360px)/2 + 34px))}
.section:has(.editorial) .editorial>a:first-child{padding-right:34px}
.section:has(.editorial) .editorial>a+a{padding-left:34px;padding-right:max(34px,calc((100vw - 1360px)/2 + 34px))}
.editorial-card>.editorial-bg{inset:0;z-index:-2;transform:scale(1.001);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.editorial-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(199,173,127,.24);transition:background-color .9s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover) and (pointer:fine){
  .editorial-card:hover>.editorial-bg{transform:scale(1.075)}
  .editorial-card:hover::after{background:rgba(199,173,127,.18)}
}
@media(max-width:760px){
  .section:has(.editorial) .editorial{grid-template-columns:1fr}
  .section:has(.editorial) .editorial>a,.section:has(.editorial) .editorial>a:first-child,.section:has(.editorial) .editorial>a+a{min-height:440px;padding:28px 18px 36px}
}

/* V15 — enquiry / Bring us into the room image background. */
.contact{position:relative;overflow:hidden;color:#fff;background:#1b1712;border-bottom:0;isolation:isolate}
.contact::before{content:"";position:absolute;inset:0;z-index:-2;background:url('room.jpeg') center center/cover no-repeat}
.contact::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(20,14,8,.25);pointer-events:none}
.contact .inner,.contact .label,.contact h2,.contact p,.contact .mail{color:#fff}
.contact .mail{border-bottom-color:rgba(255,255,255,.8)}

/* V18 — slightly stronger champagne veil on homepage service cards. */
.editorial-card::after{background:rgba(199,173,127,.32)}
@media (hover:hover) and (pointer:fine){.editorial-card:hover::after{background:rgba(199,173,127,.24)}}

/* V18 — Oysters page full-bleed image hero beneath transparent navigation. */
body.oysters-page .top{position:absolute;top:0;left:0;right:0;background:transparent;backdrop-filter:none;border-bottom:0;color:#fff}
body.oysters-page .top .brand,body.oysters-page .top .nav a,body.oysters-page .top .city{color:#fff}
body.oysters-page .hero--oysters-image{position:relative;overflow:hidden;color:#fff;margin-top:0;padding-top:72px;border-bottom:0;background:#17130f;isolation:isolate}
body.oysters-page .hero--oysters-image::before{content:"";position:absolute;inset:0;z-index:-2;background:url('oysters-hero.jpg') center 43%/cover no-repeat}
body.oysters-page .hero--oysters-image::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.08) 44%,rgba(0,0,0,.34) 100%)}
body.oysters-page .hero--oysters-image .hero-in,body.oysters-page .hero--oysters-image .eyebrow,body.oysters-page .hero--oysters-image h1,body.oysters-page .hero--oysters-image .hero-copy,body.oysters-page .hero--oysters-image .arrow{color:#fff}

/* V19 — stronger champagne veil on homepage cards; Oysters editorial image below hero. */
.editorial-card::after{background:rgba(199,173,127,.42)}
@media (hover:hover) and (pointer:fine){.editorial-card:hover::after{background:rgba(199,173,127,.32)}}
body.oysters-page .oysters-below-hero{border-top:0}


/* V21 — Caviar page full-bleed image hero beneath transparent navigation. */
body.caviar-page .top{position:absolute;top:0;left:0;right:0;background:transparent;backdrop-filter:none;border-bottom:0;color:#fff}
body.caviar-page .top .brand,body.caviar-page .top .nav a,body.caviar-page .top .city{color:#fff}
body.caviar-page .hero--caviar-image{position:relative;overflow:hidden;color:#fff;margin-top:0;padding-top:72px;border-bottom:0;background:#b99b72;isolation:isolate}
body.caviar-page .hero--caviar-image::before{content:"";position:absolute;inset:0;z-index:-2;background:url('caviar-hero.jpeg') center center/cover no-repeat}
body.caviar-page .hero--caviar-image::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.02) 42%,rgba(0,0,0,.22) 100%)}
body.caviar-page .hero--caviar-image .hero-in,body.caviar-page .hero--caviar-image .eyebrow,body.caviar-page .hero--caviar-image h1,body.caviar-page .hero--caviar-image .hero-copy,body.caviar-page .hero--caviar-image .arrow{color:#fff}

/* V28 — dark editorial overlay on homepage service cards */
.editorial-card::after{background:rgba(0,0,0,.64)}
@media (hover:hover) and (pointer:fine){.editorial-card:hover::after{background:rgba(0,0,0,.52)}}

/* V29 — lighter dark overlay on home editorial cards */
.editorial-card::after{background:rgba(0,0,0,.32)}
@media (hover:hover) and (pointer:fine){.editorial-card:hover::after{background:rgba(0,0,0,.26)}}

/* V31 — preserve the original hero-video height after removing the small top-left label. */
.hero--video{min-height:calc(78vh + 38px)}
@media(max-width:760px){.hero--video{min-height:calc(70vh + 38px)}}

/* V32 — restore a taller, cinematic homepage hero. */
.hero--video{min-height:92vh}
@media(max-width:760px){.hero--video{min-height:82vh}}

/* V33 — dark reveal footer beneath the page. */
.footer--reveal{background:#181818;color:#f4f1eb;border-top:0;padding:0}
.footer--reveal .footer-reveal-in{max-width:1360px;margin:0 auto;padding:88px 34px 110px;min-height:320px}
.footer--reveal .footer-title{margin:0 0 48px;font-size:12px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:#aaa49a}
.footer--reveal .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.footer--reveal .footer-links a{color:#f4f1eb;text-decoration:none;font-size:14px;line-height:1.3;letter-spacing:.02em}
.footer--reveal .footer-links a:hover{opacity:.62}
@media(max-width:760px){.footer--reveal .footer-reveal-in{padding:64px 18px 80px;min-height:280px}.footer--reveal .footer-title{margin-bottom:36px}}


/* V34 — Careers page hero. */
body.careers-page .top{position:absolute;top:0;left:0;right:0;background:transparent;backdrop-filter:none;border-bottom:0;color:#fff}
body.careers-page .top .brand,body.careers-page .top .nav a,body.careers-page .top .city{color:#fff}
.career-hero{position:relative;width:100%;height:100vh;min-height:680px;background:url('careers-hero.png') center center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#fff;isolation:isolate}
.career-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);z-index:-1}
.career-hero-title{text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:0 24px;text-shadow:0 1px 18px rgba(0,0,0,.18)}
.career-hero-title span{display:block;font-size:clamp(13px,1.25vw,18px);font-weight:500;letter-spacing:.18em;margin-bottom:12px}
.career-hero-title strong{display:block;font-size:clamp(34px,5vw,76px);line-height:.95;letter-spacing:-.025em;font-weight:600}
@media(max-width:760px){.career-hero{min-height:620px;background-position:58% center}.career-hero-title strong{font-size:clamp(32px,10vw,52px)}}

/* Careers — open positions */
.career-jobs{background:#fff;color:#111;padding:110px 6vw 130px}
.career-jobs-inner{max-width:1280px;margin:0 auto}
.career-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.22em;margin:0 0 52px;color:#555}
.career-job{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr) 36px;gap:34px;align-items:start;padding:34px 0 38px;border-top:1px solid #cfcfcf;color:inherit;text-decoration:none}
.career-job:last-child{border-bottom:1px solid #cfcfcf}
.career-job h2{margin:0 0 16px;text-transform:uppercase;font-size:clamp(23px,2.2vw,36px);line-height:1.04;font-weight:500;letter-spacing:-.02em}
.career-job p{max-width:760px;margin:0;font-size:14px;line-height:1.65;color:#4d4d4d}
.career-job-meta{text-transform:uppercase;font-size:10px;letter-spacing:.16em;line-height:1.7;padding-top:5px}
.career-job-arrow{font-size:25px;line-height:1;transition:transform .25s ease;padding-top:2px}
.career-job:hover .career-job-arrow{transform:translateX(7px)}
.career-apply-note{margin:30px 0 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#777}
@media(max-width:760px){.career-jobs{padding:74px 24px 90px}.career-eyebrow{margin-bottom:35px}.career-job{grid-template-columns:1fr 28px;gap:18px;padding:29px 0 32px}.career-job-meta{grid-column:1/2;grid-row:2}.career-job p{grid-column:1/3}.career-job-arrow{grid-column:2;grid-row:1}.career-job h2{padding-right:8px}}

/* V37 — Team follows the established careers editorial layout. */
.team-member{cursor:default}.team-member:hover .career-job-arrow{transform:none}

/* V39 — restore the original light signature strip above the dark reveal footer */
.footer-signature{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:#fbfaf6;color:#101010;padding:28px 34px;font-size:10px;letter-spacing:.10em;line-height:1.5;text-transform:uppercase}
.footer-signature span:nth-child(2){text-align:center}.footer-signature span:last-child{text-align:right}
@media(max-width:700px){.footer-signature{grid-template-columns:1fr;gap:12px;text-align:center;padding:26px 18px}.footer-signature span:last-child{text-align:center}}

/* Legal & Privacy */
.legal-page{background:#fff;color:#111}.legal-main{background:#fff;padding:170px 28px 120px}.legal-inner{max-width:900px;margin:0 auto}.legal-eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.18em;margin:0 0 30px;color:#777}.legal-inner>h1{font-size:clamp(48px,8vw,104px);font-weight:400;letter-spacing:-.04em;line-height:.95;margin:0 0 100px}.legal-inner section{display:grid;grid-template-columns:minmax(170px,.38fr) minmax(0,1fr);column-gap:60px;padding:34px 0;border-top:1px solid #d5d5d5}.legal-inner section:last-child{border-bottom:1px solid #d5d5d5}.legal-inner section h2{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;font-weight:500;margin:2px 0}.legal-inner section p{grid-column:2;margin:0 0 16px;font-size:14px;line-height:1.7;color:#444}.legal-inner section p:last-child{margin-bottom:0}.legal-inner section a{color:inherit;text-underline-offset:3px}.legal-updated{text-transform:uppercase;font-size:10px!important;letter-spacing:.12em;color:#777!important}@media(max-width:700px){.legal-main{padding:130px 24px 90px}.legal-inner>h1{margin-bottom:65px}.legal-inner section{grid-template-columns:1fr;gap:18px}.legal-inner section p{grid-column:1}}
