/* VIP Today Magazine — front page. Everything is scoped to .vtm-mag so the Divi header and footer are untouched. */
.vtm-mag-main{background:#F8F6F1;padding:0!important}
.vtm-mag{
  --paper:#F8F6F1; --surface:#FFFFFF; --ink:#1A1611; --muted:#6B6358; --rule:#E2DCD0;
  --bronze:#8E5F0E; --gold-lt:#BE9257; --gold:#B08519;
  --band:#15120E; --band-fg:#F1EBE0; --band-muted:#A99F90;
  --ph1:#DDD3C2; --ph2:#C4B8A4;
  --f-display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --f-body:"EB Garamond",Garamond,Georgia,"Times New Roman",serif;
  --f-ui:"Jost","Futura","Avenir Next","Helvetica Neue",Arial,sans-serif;
  --wrap:1180px;
  background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:19px;line-height:1.55;
  -webkit-font-smoothing:antialiased;font-feature-settings:"kern","liga","onum";overflow-x:clip;padding-bottom:1px
}
.vtm-mag *,.vtm-mag *::before,.vtm-mag *::after{box-sizing:border-box}
/* neutralise theme defaults inside the magazine */
.vtm-mag h1,.vtm-mag h2,.vtm-mag h3{font-family:var(--f-display);font-weight:600;color:var(--ink);text-wrap:balance;margin:0;padding:0;letter-spacing:-.01em;line-height:1.1;font-feature-settings:"kern","liga","lnum";text-transform:none}
.vtm-mag p{margin:0;padding:0}
.vtm-mag ul,.vtm-mag ol{margin:0;padding:0;list-style:none}
.vtm-mag li{padding:0}
.vtm-mag a{color:inherit;text-decoration:none}
.vtm-mag img{max-width:100%;height:auto}
.vtm-mag a:focus-visible,.vtm-mag button:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}

.vtm-mag .wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.vtm-mag .sym{display:block;height:auto}
.vtm-mag .kicker{font-family:var(--f-ui);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);line-height:1.3}
.vtm-mag .meta{font-family:var(--f-ui);font-size:13px;color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1.4}
.vtm-mag .orn{display:flex;align-items:center;gap:18px;justify-content:center;padding-top:28px}
.vtm-mag .orn::before,.vtm-mag .orn::after{content:"";flex:1 1 0;max-width:260px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-lt))}
.vtm-mag .orn::after{background:linear-gradient(90deg,var(--gold-lt),transparent)}
.vtm-mag .orn img{width:26px}

/* masthead */
.vtm-mag .masthead::after{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,var(--gold-lt) 18%,var(--bronze) 50%,var(--gold) 82%,transparent)}
.vtm-mag .topline{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-block:14px;border-bottom:1px solid var(--rule)}
.vtm-mag .issue{display:flex;align-items:center;gap:10px}
.vtm-mag .issue img{width:18px}
.vtm-mag .topline .sub{font-family:var(--f-ui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid var(--bronze);padding:7px 14px;line-height:1.2}
.vtm-mag .topline .sub:hover{background:var(--bronze);color:var(--paper)}
.vtm-mag .brand{text-align:center;padding-block:clamp(28px,5vw,56px) clamp(18px,2.4vw,26px)}
.vtm-mag .brand-h{font-size:inherit;line-height:1;margin:0}
.vtm-mag .brand a{display:inline-grid;justify-items:center;gap:clamp(14px,1.8vw,20px)}
.vtm-mag .wordmark{width:clamp(210px,36vw,440px);height:auto;display:block}
.vtm-mag .mag{font-family:var(--f-ui);font-weight:500;font-size:clamp(14px,1.9vw,21px);letter-spacing:.92em;margin-right:-.92em;display:block;color:var(--ink);line-height:1}
.vtm-mag .tagline{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(18px,1.8vw,21px);color:var(--muted);margin-top:14px}
.vtm-mag nav.sections{border-top:1px solid var(--rule)}
.vtm-mag nav.sections ul{display:flex;justify-content:center;flex-wrap:wrap;gap:4px clamp(14px,3vw,36px);padding-block:12px}
.vtm-mag nav.sections a{font-family:var(--f-ui);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.vtm-mag nav.sections a:hover{color:var(--bronze)}

/* image frames */
.vtm-mag .ph{position:relative;background:linear-gradient(135deg,var(--ph1),var(--ph2));aspect-ratio:3/2;width:100%;overflow:hidden}
.vtm-mag .ph.tall{aspect-ratio:4/5}
.vtm-mag .ph img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none}

/* cover */
.vtm-mag .coverhero{position:relative;display:grid;grid-template-areas:"stack";overflow:hidden;background:var(--band)}
.vtm-mag .coverhero > img{grid-area:stack;display:block;width:100%;height:100%;min-height:clamp(460px,66vh,700px);object-fit:cover;object-position:72% 50%;max-width:100%}
.vtm-mag .coverhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,6,.86) 0%,rgba(10,8,6,.62) 38%,rgba(10,8,6,.1) 68%,rgba(10,8,6,0) 100%),linear-gradient(180deg,rgba(10,8,6,0) 55%,rgba(10,8,6,.6) 100%);pointer-events:none}
.vtm-mag .coverhero .txt{grid-area:stack;align-self:end;position:relative;z-index:1;padding-top:clamp(40px,6vw,72px)}
.vtm-mag .coverhero .txt .wrap{padding-block:clamp(24px,4vw,52px)}
.vtm-mag .coverlink{display:grid;gap:14px}
.vtm-mag .coverhero .badge{font-family:var(--f-ui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#E3D7C4;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.vtm-mag .coverhero .badge .k{color:#D9B47A}
.vtm-mag .coverhero h2{color:#F5EFE5;font-size:clamp(36px,5.2vw,70px);line-height:1;max-width:15ch}
.vtm-mag .coverhero .dek{color:#E3D7C4;font-size:clamp(18px,1.8vw,22px);max-width:44ch}
.vtm-mag .coverhero .meta{color:#E3D7C4}
.vtm-mag .coverlink:hover h2{color:#E9C98F}
.vtm-mag .coverrow{padding-block:clamp(28px,4vw,44px);border-bottom:1px solid var(--rule)}
.vtm-mag .coverrow .card h3{font-size:24px}

/* cards and grids */
.vtm-mag .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.vtm-mag .card{display:grid;gap:10px;align-content:start;min-width:0}
.vtm-mag .card h3{font-size:26px;line-height:1.12}
.vtm-mag .card p{font-size:17px;color:var(--muted);line-height:1.45}
.vtm-mag a.story:hover h2,.vtm-mag a.story:hover h3{color:var(--bronze)}
.vtm-mag .soon{display:grid;align-content:end;gap:6px;border:1px solid var(--rule);padding:16px}
.vtm-mag .soon.wide{aspect-ratio:3/2}
.vtm-mag .soon.tall{aspect-ratio:4/5}
.vtm-mag .soon h3{color:var(--muted);font-style:italic;font-weight:500;font-size:23px}

/* briefing */
.vtm-mag .briefing{padding-block:28px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px}
.vtm-mag .briefing h2{font-size:32px;font-style:italic;font-weight:500}
.vtm-mag .briefing ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px 28px}
.vtm-mag .briefing li{display:grid;gap:4px;align-content:start}
.vtm-mag .briefing li a{font-family:var(--f-body);font-size:18px;line-height:1.3}
.vtm-mag .briefing li a:hover{color:var(--bronze)}

/* intelligence band */
.vtm-mag .band{background:var(--band);color:var(--band-fg);margin-block:clamp(32px,5vw,56px);position:relative;overflow:hidden}
.vtm-mag .band .wm{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(560px,70vw);opacity:.09;pointer-events:none;max-width:none}
.vtm-mag .band .wrap{position:relative;padding-block:clamp(36px,5vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px)}
.vtm-mag .band .wrap.one{grid-template-columns:minmax(0,1fr)}
.vtm-mag .band .kicker{color:var(--gold-lt)}
.vtm-mag .band .col{display:grid;gap:16px;align-content:start;min-width:0}
.vtm-mag .band .second{border-left:1px solid #ffffff22;padding-left:clamp(20px,3vw,40px)}
.vtm-mag .stat{font-family:var(--f-display);font-size:clamp(72px,9vw,116px);line-height:1;color:var(--gold-lt);font-weight:500;letter-spacing:-.02em;font-feature-settings:"lnum","tnum";padding-bottom:6px}
.vtm-mag .band .big{font-family:var(--f-display);font-weight:500;font-size:clamp(24px,2.6vw,33px);line-height:1.18;color:var(--band-fg)}
.vtm-mag .band .src{font-family:var(--f-ui);font-size:12px;letter-spacing:.06em;color:var(--band-muted);text-transform:uppercase}
.vtm-mag .band a.more{font-family:var(--f-ui);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--gold-lt);justify-self:start;padding-bottom:2px;color:var(--band-fg)}
.vtm-mag .band a.more:hover{color:var(--gold-lt)}

/* section blocks */
.vtm-mag .block{padding-block:clamp(24px,3vw,36px)}
.vtm-mag .secthead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:1px solid var(--ink);padding-top:12px;margin-bottom:20px}
.vtm-mag .secthead h2{font-size:clamp(32px,3.4vw,44px);font-weight:500}
.vtm-mag .secthead a{font-family:var(--f-ui);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vtm-mag .secthead a:hover{color:var(--bronze)}

/* subscribe */
.vtm-mag .subscribe{border-block:1px solid var(--ink);margin-block:clamp(24px,4vw,48px)}
.vtm-mag .subscribe .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);padding-block:clamp(32px,4vw,48px);align-items:center}
.vtm-mag .subscribe h2{font-size:clamp(34px,4vw,52px);line-height:1.04;font-weight:500;margin-top:6px}
.vtm-mag .subscribe .seal{width:40px;margin-bottom:16px}
.vtm-mag .subscribe p{margin-top:10px;color:var(--muted);font-size:17px}
.vtm-mag .cta{display:grid;gap:14px;justify-items:start}
.vtm-mag .btn{display:inline-block;font:600 13px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--paper)!important;border:1px solid var(--ink);padding:15px 22px;border-radius:0}
.vtm-mag .btn:hover{background:var(--bronze);border-color:var(--bronze)}
.vtm-mag .hint{font-family:var(--f-ui);font-size:13px!important;color:var(--muted);line-height:1.5;margin-top:0!important}
html.vtm-has-access .vtm-mag .subscribe,html.vtm-has-access .vtm-mag .topline .sub{display:none}

/* lifestyle */
.vtm-mag .life{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.vtm-mag .life .card h3{font-size:23px}

/* contact */
.vtm-mag .contact{max-width:var(--wrap);margin:clamp(40px,6vw,72px) auto clamp(32px,5vw,56px);padding-inline:clamp(16px,4vw,40px)}
.vtm-mag .contact .inner{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding-block:clamp(28px,4vw,44px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);column-gap:clamp(24px,4vw,56px);row-gap:32px;align-items:start}
.vtm-mag .contact .c-brand{display:grid;gap:14px;justify-items:start;min-width:0}
.vtm-mag .contact .c-logo{display:inline-grid;justify-items:center;gap:10px}
.vtm-mag .contact .c-logo img{width:clamp(180px,22vw,240px);height:auto;display:block}
.vtm-mag .contact .fm{font-family:var(--f-ui);font-weight:500;letter-spacing:.78em;margin-right:-.78em;font-size:12px;color:var(--ink);line-height:1}
.vtm-mag .contact .c-desc{color:var(--muted);font-size:16px;line-height:1.45;max-width:34ch}
.vtm-mag .contact .kicker{margin-bottom:6px}
.vtm-mag .contact .ch{display:grid;gap:8px;min-width:0;justify-items:start}
.vtm-mag .contact .ch p{color:var(--muted);font-size:16px;line-height:1.45}
.vtm-mag .contact .mail{font-family:var(--f-ui);font-size:15px;color:var(--ink);border-bottom:1px solid var(--gold-lt);overflow-wrap:anywhere;padding-bottom:2px}
.vtm-mag .contact .mail:hover{color:var(--bronze)}

@media (max-width:900px){
  .vtm-mag .band .wrap,.vtm-mag .subscribe .wrap{grid-template-columns:minmax(0,1fr)}
  .vtm-mag .band .second{border-left:0;padding-left:0;border-top:1px solid #ffffff22;padding-top:28px}
  .vtm-mag .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vtm-mag .life{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vtm-mag .contact .inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .vtm-mag .contact .c-brand{grid-column:1/-1}
}
@media (max-width:700px){
  .vtm-mag .coverhero::after{background:linear-gradient(180deg,rgba(10,8,6,.1) 0%,rgba(10,8,6,.55) 45%,rgba(10,8,6,.92) 100%)}
}
@media (max-width:620px){
  .vtm-mag{font-size:17px}
  .vtm-mag .briefing{grid-template-columns:minmax(0,1fr);gap:14px}
  .vtm-mag .grid3{grid-template-columns:minmax(0,1fr)}
  .vtm-mag .contact .inner{grid-template-columns:minmax(0,1fr)}
  .vtm-mag .topline .tl-mid{display:none}
}
@media (prefers-reduced-motion:no-preference){
  .vtm-mag .story h3,.vtm-mag .coverlink h2{transition:color .2s ease}
}
