/* London private-client additions on top of the shared Titan Power design system. */
.london .hero.lux .bgimg img{filter:contrast(1.04)}
.london .hero .micro{color:#cfcabf}
.london .closing .secondary a{color:var(--gold2);text-decoration:none}
.london .closing .secondary a:hover{text-decoration:underline}
.london main a:not([class]){color:var(--gold2);text-underline-offset:3px;text-decoration-thickness:1px}
.fine{font-size:13px;line-height:1.6;color:var(--muted)}

/* reviews */
.gq-grid.three{grid-template-columns:1fr}
@media(min-width:900px){.gq-grid.three{grid-template-columns:repeat(3,1fr)}}
.gq-note{margin-top:22px;text-align:center}

/* programme inclusions */
.incl-list{list-style:none;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.incl-list li{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--line)}
.incl-list strong{font:500 22px/1.15 var(--serif);color:var(--ink)}
.incl-list span{color:#cfcabd;font-size:15px;line-height:1.6}
@media(min-width:720px){.incl-list li{grid-template-columns:180px 1fr;gap:20px;align-items:baseline}}
.price .from{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-right:4px;vertical-align:middle}
.spot.programme .ph{min-height:300px}

/* clubs */
.tile{position:relative}
.tile.club{padding-top:28px}
.tile.club.feat{border-color:rgba(201,164,92,.5);background:linear-gradient(180deg,#19211c,#121815)}
.tile.club .addr{font-size:14px;color:var(--muted);line-height:1.55;flex:0}
.tile.club .cprice{flex:0;color:var(--muted);font-size:14px}
.tile.club .cprice strong{font:500 32px/1 var(--serif);color:var(--gold2);margin-right:4px}
.tile.club .badge{top:14px;right:14px}
.tiles.two{grid-template-columns:1fr}
@media(min-width:720px){.tiles.two{grid-template-columns:repeat(2,1fr)}}
a.tile.ins{text-decoration:none;color:inherit}
a.tile.ins h3{color:var(--ink)}

/* performance video */
.spot.perf .vid-ph{margin:0;position:relative;background:#000;min-height:420px;cursor:pointer}
.spot.perf video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.spot.perf figcaption{position:absolute!important;left:18px;bottom:16px;z-index:2;font:600 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);background:rgba(10,12,11,.6);padding:8px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.spot.perf .vid-ph::before{content:"";position:absolute;inset:14px;border:1px solid rgba(236,208,150,.3);border-radius:16px;z-index:1;pointer-events:none}
.spot.perf .vid-ph.is-paused::after{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;pointer-events:none;z-index:2;background:rgba(10,12,11,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23ecd096'/%3E%3C/svg%3E") 56% 50%/28px no-repeat;border:1px solid rgba(236,208,150,.6)}
@media(min-width:960px){.spot.perf{grid-template-columns:.8fr 1.2fr}.spot.perf .vid-ph{min-height:620px}}

/* insurance */
.insure{margin-top:28px;border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:18px;padding:24px 26px;background:var(--bg2);display:grid;gap:8px;max-width:820px}
.insure .num{font:600 12px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.insure h3{font-size:28px}
.insure p{color:#cfcabd;font-size:15px}

/* location club panel */
.story p{margin-bottom:14px;color:#d6d1c5;font-size:16px;line-height:1.7}
@media(min-width:960px){.head.split .story{justify-self:end;max-width:480px}}
.clubpanel{display:grid;gap:0;border:1px solid rgba(201,164,92,.35);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#161d19,#0f1411)}
.clubpanel>div{padding:clamp(26px,5vw,56px);display:grid;gap:16px;align-content:start}
.clubpanel h2{font-size:clamp(34px,4.4vw,54px);margin:0}
.clubpanel .addr{color:var(--muted);font-size:15px;margin-top:-6px}
.cp-incl{background:rgba(10,12,11,.35);border-top:1px solid var(--line)}
@media(min-width:960px){.clubpanel{grid-template-columns:1fr 1fr}.cp-incl{border-top:0;border-left:1px solid var(--line)}}

/* plain pages */
.page-top{padding-top:clamp(120px,16vw,170px)}
.wrap.narrow{max-width:780px}
.legal h2{font-size:clamp(28px,3.4vw,38px);margin:40px 0 12px}
.legal p{color:#d6d1c5;margin-bottom:14px}
.library{display:grid;border-top:1px solid var(--line)}
.librow{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:30px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .3s}
.librow:hover{background:rgba(201,164,92,.05)}
.librow .num{grid-column:1/-1;font:600 12.5px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.librow strong{display:block;font:500 clamp(28px,3.4vw,42px)/1.08 var(--serif)}
.librow small{display:block;margin-top:8px;color:#cfcabd;font-size:15.5px}
.librow .go{align-self:center;color:var(--gold2);font-size:22px}
@media(min-width:900px){.librow{grid-template-columns:260px 1fr auto}.librow .num{grid-column:auto;align-self:center}}

/* articles (ported markup) */
.article-shell{padding-top:clamp(120px,16vw,170px)}
.insight-hero{display:grid;gap:36px;align-items:center;margin-bottom:clamp(40px,6vw,72px)}
.insight-hero h1{font-size:clamp(46px,6.4vw,84px)}
.insight-deck{font-size:clamp(17px,1.6vw,20px);color:#d6d1c5;margin:20px 0;max-width:600px}
.insight-byline{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.insight-hero-image{margin:0;border-radius:24px;overflow:hidden;border:1px solid var(--line);max-width:460px;justify-self:center}
.insight-hero-image figcaption{font-size:12.5px;color:var(--muted);padding:12px 16px;background:var(--bg2)}
.insight-hero-editorial{grid-template-columns:1fr!important}
@media(min-width:960px){.insight-hero{grid-template-columns:1.2fr .8fr}}
.insight-layout{display:grid;gap:40px}
@media(min-width:1000px){.insight-layout{grid-template-columns:230px 1fr;gap:70px;align-items:start}.insight-contents{position:sticky;top:110px}}
.insight-contents{display:grid;gap:10px;border-left:1px solid var(--line);padding-left:18px}
.insight-contents a{color:#cfcabd;text-decoration:none;font-size:14.5px}
.insight-contents a:hover{color:var(--gold2)}
.insight-body{max-width:720px}
.insight-body h2{font-size:clamp(32px,4vw,46px);margin:48px 0 16px}
.insight-body h3{font-size:clamp(24px,2.6vw,30px);margin:28px 0 10px}
.insight-body p,.insight-body li{color:#dcd7cb;font-size:17px;line-height:1.75}
.insight-body p{margin-bottom:16px}
.insight-body ul,.insight-body ol{padding-left:22px;margin-bottom:18px;display:grid;gap:8px}
.insight-body a{color:var(--gold2)}
.insight-opening{font-size:19px!important;color:var(--ink)!important}
.insight-quote{margin:30px 0;padding:6px 0 6px 24px;border-left:2px solid var(--gold);font:italic 500 clamp(24px,2.8vw,32px)/1.3 var(--serif);color:var(--gold2)}
.insight-quote p{font:inherit!important;color:inherit!important}
.insight-brief,.insight-practical,.insight-product,.insight-conclusion,.insight-faq{border:1px solid var(--line);border-radius:20px;padding:24px 26px;background:var(--bg2);margin:30px 0}
.insight-brief h2,.insight-practical h2,.insight-product h2,.insight-conclusion h2,.insight-faq h2{margin-top:0}
.insight-faq details{border-top:1px solid var(--line);padding:14px 0}
.insight-faq summary{cursor:pointer;font:500 21px/1.3 var(--serif);color:var(--ink)}
.insight-references ol{font-size:14px}
.insight-references li,.insight-references a{font-size:14.5px!important;color:#cfcabd}
.insight-affiliate-disclosure{font-size:13px!important;color:var(--muted)!important}
.insight-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.insight-body th,.insight-body td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;color:#dcd7cb}
.insight-body th{color:var(--gold2);font-weight:600}
.article-page .insight-next{display:none}
.insight-body .text-link{color:var(--gold2);font-weight:600;text-decoration:none}
.insight-body aside{border:1px solid var(--line);border-radius:20px;padding:22px 24px;background:var(--bg2);margin:28px 0}
.insight-body dl{display:grid;gap:6px 18px;margin:16px 0}
.insight-body dt{color:var(--gold2);font-weight:600}
.insight-body dd{margin:0 0 10px;color:#dcd7cb}
@media(min-width:720px){.insight-body dl div{display:grid;grid-template-columns:160px 1fr;gap:18px}.insight-body dd{margin:0}}
.insight-body sup a{text-decoration:none;font-size:12px}
.insight-quote span{display:block;font:600 11.5px/1.4 var(--sans);font-style:normal;letter-spacing:.22em;color:var(--gold);margin-bottom:8px}
.insight-body aside.insight-quote{background:none;border:0;border-left:2px solid var(--gold);border-radius:0;padding:6px 0 6px 24px}
.insight-body>section{margin-top:56px}
.insight-body>section>.eyebrow{margin-bottom:10px}
.insight-body>section>h2{margin-top:0}

/* private concierge */
.clubpanel.concierge{border-color:rgba(201,164,92,.55);background:radial-gradient(120% 90% at 0% 0%,rgba(201,164,92,.12),transparent 60%),linear-gradient(180deg,#141a16,#0c100e)}
.clubpanel.concierge .story-lead{color:#d6d1c5;font-size:17px;line-height:1.7;margin:0}
.cprice-lg{margin:4px 0 0;color:var(--muted)}
.cprice-lg strong{font:500 clamp(30px,3.4vw,40px)/1 var(--serif);color:var(--gold2)}
.cprice-lg .from{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-right:8px;vertical-align:middle}
.clubpanel.concierge .incl-list{border-top:0}
.clubpanel.concierge .incl-list li{grid-template-columns:1fr!important;gap:4px}
/* Language switch (English ⇄ Greek) */
a.lang{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;border:1px solid rgba(236,208,150,.35);background:rgba(255,255,255,.03);font-size:19px;line-height:1;text-decoration:none;transition:border-color .2s,background .2s}
a.lang:hover,a.lang:focus-visible{border-color:var(--gold2);background:rgba(236,208,150,.1);outline:none}
header.site .bar a.lang{margin-left:auto}
@media(max-width:959px){header.site .bar a.lang{margin-left:auto;margin-right:-8px}}
.overlay a.lang-overlay{margin-top:22px;width:48px;height:48px;font-size:22px}
footer nav a.lang-footer{width:34px;height:34px;font-size:17px}

/* Mobile menu: keep items full height when the menu is taller than the screen (e.g. Firefox on iPhone). */
.overlay>*{flex-shrink:0}
.open header.site{background:#0a0c0b;transform:none}

.res-band{background:var(--bg2)}.gq.res{padding:14px 14px 22px;justify-content:flex-start}.gq.res img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;display:block}.gq.res figcaption{display:grid;gap:6px;padding:0 6px}.gq.res .res-k{color:#ecd096;font-weight:600;letter-spacing:.02em}.gq.res b{font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;font-weight:500;color:#f3efe6}.gq.res figcaption>span:last-child{color:#cfcabf;line-height:1.5}
