/*
Theme Name: TDV — Terra da Vivere
Theme URI: https://www.tdv.social/
Author: TDV
Author URI: https://www.tdv.social/
Description: Tema editoriale standalone per TDV — Terra da Vivere. Magazine territoriale SEO/GEO-first, responsive e compatibile con WordPress classico.
Version: 1.9.6
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: tdv-terra-da-vivere
*/

/* ==========================================================
   TDV — Terra da Vivere
   Editorial system: ivory / ink / TDV gold
   ========================================================== */

:root{
  --tdv-ink:#101010;
  --tdv-ink-soft:#282828;
  --tdv-paper:#f7f7f4;
  --tdv-paper-2:#efefeb;
  --tdv-white:#fff;
  --tdv-gold:#b8923e;
  --tdv-gold-2:#d6b861;
  --tdv-muted:#6f6b65;
  --tdv-line:rgba(16,16,16,.14);
  --tdv-dark-line:rgba(255,255,255,.18);
  --tdv-serif:"Bodoni Moda", Georgia, serif;
  --tdv-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --tdv-shell:min(1440px, calc(100vw - 48px));
  --tdv-radius:2px;
  --tdv-shadow:0 18px 60px rgba(0,0,0,.08);
  --tdv-shadow-deep:0 28px 90px rgba(0,0,0,.18);
  --tdv-metal:linear-gradient(115deg,#6f4b11 0%,#c99a38 20%,#f4df9b 38%,#b88a2e 53%,#f8e8af 69%,#8d671c 100%);
  --tdv-metal-soft:linear-gradient(115deg,#9e7625,#edd590 45%,#b88a2e 70%,#f5e5b1);
  --tdv-glass:rgba(255,255,255,.64);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--tdv-ink);
  background:var(--tdv-paper);
  font-family:var(--tdv-sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.admin-bar .tdv-site-header{top:32px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--tdv-gold)}
button,input,textarea,select{font:inherit}
.screen-reader-text,
.tdv-skip-link{
  position:absolute!important;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.tdv-skip-link:focus{
  width:auto;height:auto;clip:auto;overflow:visible;
  background:var(--tdv-white);color:var(--tdv-ink);
  left:16px;top:16px;padding:12px 16px;z-index:99999;
}
.tdv-shell{width:var(--tdv-shell);margin-inline:auto}
.tdv-site-content{min-height:60vh}

/* Header */
.tdv-site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(247,247,244,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(16,16,16,.10);
  box-shadow:0 5px 18px rgba(0,0,0,.025);
}
.tdv-site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:var(--tdv-metal);opacity:.72;pointer-events:none;
}
.tdv-topbar{background:var(--tdv-ink);color:#fff}
.tdv-topbar-inner{
  min-height:34px;display:flex;align-items:center;justify-content:space-between;
  gap:24px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
}
.tdv-topbar p{margin:0}
.tdv-topbar nav{display:flex;gap:20px;align-items:center}
.tdv-topbar a{color:#fff;opacity:.84}
.tdv-topbar a:hover{opacity:1;color:var(--tdv-gold-2)}
.tdv-masthead{
  display:grid;grid-template-columns:minmax(240px,auto) 1fr auto;
  align-items:center;gap:28px;min-height:104px;
}
.tdv-brand{display:flex;align-items:center;min-width:240px}
.tdv-brand .custom-logo-link{display:inline-flex;align-items:center;line-height:0}
.tdv-brand .custom-logo{display:block;max-height:68px;width:auto;max-width:260px;object-fit:contain}
.tdv-brand img{max-height:68px;width:auto}
.tdv-brand-wordmark{
  display:flex;align-items:baseline;gap:10px;
  font-family:var(--tdv-serif);font-size:48px;font-weight:800;letter-spacing:-.04em;
}
.tdv-brand-wordmark b{
  color:transparent;background:var(--tdv-metal);
  -webkit-background-clip:text;background-clip:text;
  text-shadow:0 10px 30px rgba(184,138,46,.15);
}
.tdv-brand-wordmark span{font-family:var(--tdv-sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.tdv-masthead-copy{
  justify-self:end;text-align:right;text-transform:uppercase;
  font-size:11px;letter-spacing:.16em;color:var(--tdv-muted);
}
.tdv-masthead-copy strong{
  display:block;color:var(--tdv-ink);font-size:15px;letter-spacing:.02em;margin-top:6px;
}
.tdv-menu-toggle{
  display:none;align-items:center;gap:9px;background:none;border:0;
  text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.1em;
}
.tdv-menu-icon,.tdv-menu-icon:before,.tdv-menu-icon:after{
  display:block;width:22px;height:2px;background:var(--tdv-ink);content:"";
}
.tdv-menu-icon{position:relative}
.tdv-menu-icon:before{position:absolute;top:-7px;left:0}
.tdv-menu-icon:after{position:absolute;top:7px;left:0}
.tdv-nav-wrap{border-top:1px solid var(--tdv-line)}
.tdv-nav-row{display:flex;align-items:center;gap:18px}
.tdv-main-nav{flex:1;min-width:0}
.tdv-nav-list{
  list-style:none;padding:0;margin:0;display:flex;align-items:center;
  gap:18px;min-height:50px;overflow-x:auto;scrollbar-width:none;
}
.tdv-nav-list::-webkit-scrollbar{display:none}
.tdv-nav-list li{position:relative;flex:0 0 auto}
.tdv-nav-list>li>a{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap;
}
.tdv-nav-list .sub-menu{
  display:none;position:absolute;left:0;top:100%;min-width:260px;
  background:var(--tdv-ink);color:#fff;padding:14px 0;list-style:none;z-index:100;
  box-shadow:var(--tdv-shadow);
}
.tdv-nav-list li:hover>.sub-menu{display:block}
.tdv-nav-list .sub-menu a{display:block;padding:9px 18px;font-size:13px}
.tdv-header-search{display:flex;align-items:center;border-left:1px solid var(--tdv-line);padding-left:16px;flex:0 0 auto}
.tdv-header-search input{
  width:92px;background:transparent;border:0;outline:0;padding:8px 0;color:var(--tdv-ink);
}
.tdv-header-search button{border:0;background:none;font-size:24px;cursor:pointer;padding:4px}

/* Shared typography */
.tdv-eyebrow,.tdv-section-kicker,.tdv-topic-label,.tdv-kicker{
  font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.tdv-eyebrow,.tdv-section-kicker,.tdv-topic-label{color:var(--tdv-muted)}
.tdv-kicker{display:inline-block;color:var(--tdv-gold);margin-bottom:12px}
.tdv-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:11px;letter-spacing:.04em;color:var(--tdv-muted);text-transform:uppercase;
}
.tdv-read-more,.tdv-section-link{
  display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:3px;
}

/* Hero */
.tdv-hero{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  gap:0;padding-top:34px;padding-bottom:44px;
}
.tdv-hero-media{min-height:590px;background:#d8d2c7;overflow:hidden}
.tdv-hero-media a,.tdv-hero-media img{width:100%;height:100%}
.tdv-hero-media img{object-fit:cover;transition:transform .65s ease}
.tdv-hero-media:hover img{transform:scale(1.018)}
.tdv-hero-copy{
  background:var(--tdv-ink);color:#fff;padding:44px 42px;
  display:flex;flex-direction:column;justify-content:flex-end;min-width:0;
}
.tdv-hero-copy .tdv-eyebrow{color:rgba(255,255,255,.55);margin:0 0 auto}
.tdv-hero-copy h1{
  font-family:var(--tdv-serif);font-size:clamp(40px,4.15vw,68px);
  line-height:.98;letter-spacing:-.04em;margin:16px 0 22px;
  overflow-wrap:anywhere;
}
.tdv-hero-copy h1 a:hover{color:#fff}
.tdv-hero-deck{font-size:16px;line-height:1.75;color:rgba(255,255,255,.74);max-width:58ch}
.tdv-hero-copy .tdv-meta{color:rgba(255,255,255,.5);margin-top:22px}
.tdv-hero-copy .tdv-read-more{color:var(--tdv-gold-2);margin-top:30px;align-self:flex-start}

/* Topics + ads */
.tdv-topic-strip{border-top:1px solid var(--tdv-line);border-bottom:1px solid var(--tdv-line);background:var(--tdv-paper-2)}
.tdv-topic-strip .tdv-shell{
  display:flex;align-items:center;gap:22px;min-height:58px;overflow-x:auto;scrollbar-width:none;
}
.tdv-topic-strip .tdv-shell::-webkit-scrollbar{display:none}
.tdv-topic-strip a{font-size:12px;font-weight:700;white-space:nowrap}
.tdv-topic-label{color:var(--tdv-gold);margin-right:5px}
.tdv-ad{
  width:var(--tdv-shell);margin:34px auto 10px;display:flex;justify-content:center;overflow:hidden;
}
.tdv-ad img{max-width:100%;height:auto!important}

/* Sections */
.tdv-section{padding-block:78px}
.tdv-section-tinted{background:var(--tdv-paper-2)}
.tdv-section-head{
  display:grid;grid-template-columns:1fr minmax(280px,.55fr);gap:38px;
  align-items:end;margin-bottom:34px;padding-bottom:22px;border-bottom:1px solid var(--tdv-line);
}
.tdv-section-head h2,.tdv-home-about h2,.tdv-archive-head h1{
  font-family:var(--tdv-serif);font-size:clamp(40px,4vw,68px);
  line-height:1;letter-spacing:-.04em;margin:6px 0 0;
}
.tdv-section-head p{margin:0;color:var(--tdv-muted);line-height:1.7}
.tdv-section-head-link{grid-template-columns:1fr auto}
.tdv-section-link{align-self:end;white-space:nowrap}
.tdv-grid{display:grid;gap:28px}
.tdv-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tdv-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Cards */
.tdv-card{min-width:0}
.tdv-card-media{
  display:block;aspect-ratio:4/3;background:#d8d2c7;overflow:hidden;margin-bottom:20px;
}
.tdv-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.tdv-card-media:hover img{transform:scale(1.025)}
.tdv-placeholder{
  width:100%;height:100%;display:grid;place-items:center;
  font-family:var(--tdv-serif);font-size:64px;color:rgba(16,16,16,.25);
}
.tdv-card-title{
  font-family:var(--tdv-serif);font-size:clamp(25px,2vw,34px);
  line-height:1.05;letter-spacing:-.025em;margin:0 0 12px;
}
.tdv-card-title a:hover{color:var(--tdv-gold)}
.tdv-card-excerpt{color:var(--tdv-muted);font-size:14px;line-height:1.7;margin:0 0 18px}

/* Dark ideas section */
.tdv-ideas{background:var(--tdv-ink);color:#fff;padding-block:82px}
.tdv-section-head-dark{border-color:var(--tdv-dark-line)}
.tdv-section-head-dark .tdv-section-kicker{color:var(--tdv-gold-2)}
.tdv-section-head-dark p{color:rgba(255,255,255,.62)}
.tdv-card-dark .tdv-card-title a{color:#fff}
.tdv-card-dark .tdv-card-title a:hover{color:var(--tdv-gold-2)}
.tdv-card-dark .tdv-card-excerpt,.tdv-card-dark .tdv-meta{color:rgba(255,255,255,.58)}
.tdv-card-dark .tdv-card-media{background:#252525}

/* Home about */
.tdv-home-about{padding-block:92px;max-width:980px}
.tdv-home-about h2{max-width:850px}
.tdv-home-about>p:not(.tdv-section-kicker){
  font-family:var(--tdv-serif);font-size:clamp(22px,2.1vw,31px);line-height:1.38;
  color:var(--tdv-ink-soft);max-width:900px;
}
.tdv-home-about .tdv-read-more{margin-top:18px}

/* Archive */
.tdv-archive{padding-block:52px 88px}
.tdv-breadcrumbs{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  color:var(--tdv-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:32px;
}
.tdv-archive-head{max-width:880px;margin-bottom:44px}
.tdv-archive-head p{color:var(--tdv-muted);font-size:16px}
.tdv-archive-grid{margin-top:34px}
.tdv-pagination{margin-top:54px}
.tdv-pagination .nav-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tdv-pagination a,.tdv-pagination .current{
  border:1px solid var(--tdv-line);padding:10px 14px;font-size:12px;font-weight:800;
}
.tdv-pagination .current{background:var(--tdv-ink);color:#fff}

/* Single */
.tdv-single{padding-block:48px 96px}
.tdv-article-header{max-width:1050px;margin:0 auto 42px}
.tdv-article-header h1{
  font-family:var(--tdv-serif);font-size:clamp(48px,6vw,92px);
  line-height:.98;letter-spacing:-.045em;margin:12px 0 26px;
}
.tdv-article-subtitle{
  font-family:var(--tdv-serif);font-size:clamp(21px,2.3vw,32px);
  line-height:1.35;color:var(--tdv-muted);margin:0 0 22px;
}
.tdv-article-hero{max-width:1240px;margin:0 auto 50px}
.tdv-article-hero img{width:100%;max-height:780px;object-fit:cover}
.tdv-article-layout{
  display:grid;grid-template-columns:minmax(0,790px) 260px;gap:70px;
  max-width:1120px;margin:0 auto;
}
.tdv-article-content{font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.85}
.tdv-article-content>p:first-of-type::first-letter{
  float:left;font-family:var(--tdv-serif);font-size:78px;line-height:.78;
  padding-right:10px;padding-top:12px;color:var(--tdv-gold);
}
.tdv-article-content h2,.tdv-article-content h3,.tdv-article-content h4{
  font-family:var(--tdv-sans);line-height:1.15;letter-spacing:-.02em;margin-top:2.1em;color:var(--tdv-ink);
}
.tdv-article-content h2{font-size:36px}
.tdv-article-content h3{font-size:28px}
.tdv-article-content a{text-decoration:underline;text-decoration-color:var(--tdv-gold);text-underline-offset:3px}
.tdv-article-content blockquote{
  margin:2.2em 0;padding:0 0 0 28px;border-left:3px solid var(--tdv-gold);
  font-family:var(--tdv-serif);font-size:28px;line-height:1.4;
}
.tdv-article-content figure{margin:2.2em 0}
.tdv-article-content figcaption{font-family:var(--tdv-sans);font-size:12px;color:var(--tdv-muted);margin-top:8px}
.tdv-article-aside{font-size:13px}
.tdv-article-aside-inner{position:sticky;top:180px;border-top:3px solid var(--tdv-gold);padding-top:18px}
.tdv-article-aside h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.tdv-article-aside p{line-height:1.6;color:var(--tdv-muted)}
.tdv-post-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px}
.tdv-post-tags a{border:1px solid var(--tdv-line);padding:8px 10px;font-family:var(--tdv-sans);font-size:11px;text-transform:uppercase}
.tdv-related{max-width:1240px;margin:80px auto 0;padding-top:34px;border-top:1px solid var(--tdv-line)}
.tdv-related>h2{font-family:var(--tdv-serif);font-size:42px;letter-spacing:-.03em}

/* Pages */
.tdv-page{padding-block:52px 96px}
.tdv-page-head{max-width:900px;margin-bottom:42px}
.tdv-page-head h1{
  font-family:var(--tdv-serif);font-size:clamp(48px,6vw,86px);line-height:1;letter-spacing:-.04em;margin:0;
}
.tdv-page-content{max-width:880px;font-size:18px;line-height:1.8}
.tdv-page-content h2,.tdv-page-content h3{font-family:var(--tdv-serif);letter-spacing:-.02em}

/* Search / 404 */
.tdv-search-page,.tdv-not-found{padding-block:62px 96px}
.tdv-not-found{text-align:center;max-width:900px}
.tdv-not-found .tdv-404{
  font-family:var(--tdv-serif);font-size:clamp(100px,19vw,280px);line-height:.72;color:var(--tdv-gold);
}
.tdv-not-found h1{font-family:var(--tdv-serif);font-size:48px}

/* Footer */
.tdv-footer{background:#090909;color:#fff;padding-top:72px}
.tdv-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:46px;padding-bottom:58px}
.tdv-footer-mark{font-family:var(--tdv-serif);font-size:72px;color:var(--tdv-gold)}
.tdv-footer h2{font-family:var(--tdv-serif);font-size:38px;margin:0 0 16px}
.tdv-footer h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tdv-gold-2)}
.tdv-footer p{color:rgba(255,255,255,.6);line-height:1.7;font-size:14px}
.tdv-footer-col{display:flex;flex-direction:column;gap:11px}
.tdv-footer-col a{font-size:13px;color:rgba(255,255,255,.8)}
.tdv-footer-col a:hover{color:var(--tdv-gold-2)}
.tdv-footer-newsletter form input[type="email"]{
  width:100%;background:transparent;border:1px solid var(--tdv-dark-line);color:#fff;padding:12px;
}
.tdv-footer-newsletter form input[type="submit"]{
  margin-top:8px;border:0;background:var(--tdv-gold);color:#111;padding:11px 16px;font-weight:800;cursor:pointer;
}
.tdv-footer-bottom{border-top:1px solid var(--tdv-dark-line);padding:18px 0;color:rgba(255,255,255,.45)}
.tdv-footer-bottom .tdv-shell{display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}

/* WordPress content safety */
.wp-caption{max-width:100%}
.aligncenter{margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 24px 18px 0}
.alignright{float:right;margin:0 0 18px 24px}
.gallery{display:grid;gap:12px}
iframe{max-width:100%}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border:1px solid var(--tdv-line)}

/* Responsive */
@media (max-width:1180px){
  :root{--tdv-shell:min(100% - 36px, 1180px)}
  .tdv-masthead{grid-template-columns:minmax(200px,auto) 1fr auto}
  .tdv-brand{min-width:200px}
  .tdv-brand .custom-logo{max-width:220px;max-height:60px}
  .tdv-hero{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)}
  .tdv-hero-media{min-height:520px}
  .tdv-hero-copy{padding:34px 30px}
  .tdv-hero-copy h1{font-size:clamp(38px,4.4vw,58px)}
  .tdv-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tdv-footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .tdv-footer-newsletter{grid-column:1/-1;max-width:520px}
}
@media (max-width:980px){
  body.admin-bar .tdv-site-header{top:46px}
  .tdv-topbar{display:none}
  .tdv-masthead{min-height:88px;grid-template-columns:1fr auto}
  .tdv-masthead-copy{display:none}
  .tdv-brand{min-width:0}
  .tdv-brand-wordmark{font-size:38px}
  .tdv-menu-toggle{display:flex}
  .tdv-nav-wrap{border-top:0}
  .tdv-nav-row{display:block}
  .tdv-main-nav{
    display:none;border-top:1px solid var(--tdv-line);padding:14px 0 18px;
  }
  .tdv-main-nav.is-open{display:block}
  .tdv-nav-list{display:block;min-height:0;overflow:visible}
  .tdv-nav-list>li>a{display:block;padding:11px 0;font-size:14px}
  .tdv-nav-list .sub-menu{position:static;display:block;background:transparent;color:inherit;box-shadow:none;padding:0 0 0 18px}
  .tdv-nav-list .sub-menu a{padding:7px 0;color:var(--tdv-muted)}
  .tdv-header-search{display:none}
  .tdv-hero{grid-template-columns:1fr;padding-top:24px}
  .tdv-hero-media{min-height:0;aspect-ratio:16/11}
  .tdv-hero-copy{padding:34px 28px}
  .tdv-hero-copy .tdv-eyebrow{margin-bottom:22px}
  .tdv-section-head,.tdv-section-head-link{grid-template-columns:1fr;gap:18px}
  .tdv-section-link{justify-self:start}
  .tdv-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tdv-article-layout{grid-template-columns:1fr}
  .tdv-article-aside{display:none}
  .tdv-footer-grid{grid-template-columns:1fr 1fr}
  .tdv-footer-brand{grid-column:1/-1}
}
@media (max-width:620px){
  :root{--tdv-shell:calc(100vw - 28px)}
  .tdv-masthead{min-height:76px}
  .tdv-brand-wordmark{font-size:31px}
  .tdv-brand-wordmark span{display:none}
  .tdv-menu-toggle span:last-child{display:none}
  .tdv-hero{padding-bottom:30px}
  .tdv-hero-copy{padding:28px 22px}
  .tdv-hero-copy h1{font-size:43px}
  .tdv-hero-deck{font-size:14px}
  .tdv-topic-strip .tdv-shell{min-height:52px;gap:18px}
  .tdv-ad{width:100%;padding:0 14px}
  .tdv-section{padding-block:54px}
  .tdv-section-head h2,.tdv-home-about h2,.tdv-archive-head h1{font-size:43px}
  .tdv-grid-3,.tdv-grid-4{grid-template-columns:1fr}
  .tdv-card-media{aspect-ratio:16/11}
  .tdv-card-title{font-size:30px}
  .tdv-ideas{padding-block:58px}
  .tdv-article-header h1{font-size:48px}
  .tdv-article-content{font-size:18px;line-height:1.75}
  .tdv-article-content h2{font-size:31px}
  .tdv-article-content h3{font-size:25px}
  .tdv-footer-grid{grid-template-columns:1fr}
  .tdv-footer-brand,.tdv-footer-newsletter{grid-column:auto}
  .tdv-footer-bottom .tdv-shell{display:block}
  .tdv-footer-bottom span{display:block;margin:4px 0}
}


/* ==========================================================
   TDV 1.2 — Editorial Luxe Layer
   Premium gloss, restrained motion, metallic accents
   ========================================================== */

.tdv-main-nav .tdv-nav-list>li>a{
  position:relative;
  transition:color .25s ease, opacity .25s ease;
}
.tdv-main-nav .tdv-nav-list>li>a::after{
  content:"";
  position:absolute;left:0;right:100%;bottom:-9px;height:2px;
  background:var(--tdv-metal);
  transition:right .35s cubic-bezier(.2,.7,.2,1);
}
.tdv-main-nav .tdv-nav-list>li>a:hover::after,
.tdv-main-nav .tdv-nav-list>.current-menu-item>a::after{
  right:0;
}

.tdv-hero{
  position:relative;
  filter:drop-shadow(0 30px 45px rgba(0,0,0,.11));
}
.tdv-hero::before{
  content:"";
  position:absolute;z-index:-1;
  width:44%;height:54%;right:-2%;top:-4%;
  background:radial-gradient(circle,rgba(213,180,92,.25),rgba(184,138,46,.07) 42%,transparent 70%);
  filter:blur(24px);
}
.tdv-hero-media{
  position:relative;
}
.tdv-hero-media::after{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(110deg,transparent 0%,transparent 43%,rgba(255,255,255,.12) 50%,transparent 57%,transparent 100%),
    linear-gradient(to top,rgba(0,0,0,.18),transparent 36%);
  background-size:240% 100%,100% 100%;
  background-position:170% 0,0 0;
  opacity:.75;
  animation:tdvHeroSheen 9s ease-in-out infinite;
}
@keyframes tdvHeroSheen{
  0%,72%,100%{background-position:170% 0,0 0}
  86%{background-position:-70% 0,0 0}
}

.tdv-hero-copy{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(184,138,46,.17),transparent 24%),
    linear-gradient(145deg,#070707 0%,#111 46%,#050505 100%);
  box-shadow:inset 1px 0 rgba(255,255,255,.04);
}
.tdv-hero-copy::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(125deg,transparent 0%,rgba(255,255,255,.025) 36%,rgba(213,180,92,.07) 49%,transparent 64%);
  transform:translateX(-70%);
  animation:tdvPanelShine 11s ease-in-out infinite;
}
@keyframes tdvPanelShine{
  0%,76%,100%{transform:translateX(-70%)}
  88%{transform:translateX(70%)}
}
.tdv-hero-copy>*{position:relative;z-index:1}
.tdv-hero-copy .tdv-kicker{
  background:var(--tdv-metal);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.tdv-hero-copy h1{
  text-shadow:0 18px 45px rgba(0,0,0,.38);
}
.tdv-hero-copy .tdv-read-more{
  border:1px solid rgba(213,180,92,.46);
  border-radius:999px;
  padding:10px 16px;
  background:rgba(184,138,46,.08);
  backdrop-filter:blur(8px);
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.tdv-hero-copy .tdv-read-more:hover{
  transform:translateY(-2px);
  background:rgba(184,138,46,.17);
  box-shadow:0 12px 30px rgba(184,138,46,.12);
}

.tdv-topic-strip{
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,.06)),
    var(--tdv-paper-2);
}
.tdv-topic-strip::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.35) 47%,transparent 56%);
  transform:translateX(-100%);
  animation:tdvTopicGleam 14s ease-in-out infinite;
  pointer-events:none;
}
@keyframes tdvTopicGleam{
  0%,78%,100%{transform:translateX(-100%)}
  90%{transform:translateX(100%)}
}

.tdv-section-head{
  position:relative;
}
.tdv-section-head::after{
  content:"";position:absolute;left:0;bottom:-1px;width:110px;height:2px;
  background:var(--tdv-metal);
}
.tdv-section-kicker,.tdv-topic-label{
  background:var(--tdv-metal-soft);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.tdv-section-head h2{
  text-wrap:balance;
}

.tdv-card{
  position:relative;
  transition:transform .32s cubic-bezier(.2,.7,.2,1), filter .32s ease;
}
.tdv-card:hover{transform:translateY(-5px)}
.tdv-card-media{
  position:relative;
  box-shadow:0 14px 35px rgba(0,0,0,.07);
}
.tdv-card-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(112deg,transparent 0%,transparent 46%,rgba(255,255,255,.18) 51%,transparent 57%);
  transform:translateX(-120%);
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.tdv-card:hover .tdv-card-media::after{transform:translateX(120%)}
.tdv-card-title{
  transition:color .25s ease;
}
.tdv-card .tdv-kicker{
  position:relative;
}
.tdv-card .tdv-kicker::before{
  content:"";display:inline-block;width:20px;height:1px;
  background:var(--tdv-metal);vertical-align:middle;margin-right:8px;
}

.tdv-section-tinted{
  background:
    radial-gradient(circle at 88% 12%,rgba(184,138,46,.08),transparent 25%),
    linear-gradient(180deg,#eee8dc 0%,#e9e2d5 100%);
  border-top:1px solid rgba(184,138,46,.14);
  border-bottom:1px solid rgba(184,138,46,.14);
}

.tdv-ideas{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 12%,rgba(184,138,46,.14),transparent 28%),
    radial-gradient(circle at 82% 68%,rgba(102,83,42,.15),transparent 24%),
    linear-gradient(145deg,#050505,#101010 52%,#050505);
}
.tdv-ideas::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 30%,rgba(255,255,255,.12) 0 1px,transparent 1.3px),
    radial-gradient(circle at 70% 75%,rgba(213,180,92,.12) 0 1px,transparent 1.3px);
  background-size:85px 85px,120px 120px;
  opacity:.35;
}
.tdv-ideas>.tdv-shell{position:relative;z-index:1}
.tdv-section-head-dark::after{background:var(--tdv-metal)}
.tdv-card-dark .tdv-card-media{
  box-shadow:0 18px 45px rgba(0,0,0,.32);
  border:1px solid rgba(213,180,92,.12);
}

.tdv-home-about{
  position:relative;
}
.tdv-home-about::before{
  content:"TDV";position:absolute;right:-2%;top:20px;
  font-family:var(--tdv-serif);font-size:clamp(120px,18vw,270px);
  line-height:1;color:rgba(184,138,46,.045);pointer-events:none;z-index:-1;
}
.tdv-home-about>p:not(.tdv-section-kicker){
  position:relative;
}

.tdv-footer{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 72% 12%,rgba(184,138,46,.10),transparent 25%),
    #070707;
}
.tdv-footer::before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--tdv-metal);
}
.tdv-footer-mark{
  background:var(--tdv-metal);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 14px 28px rgba(184,138,46,.12));
}

/* premium interaction without harming accessibility */
::selection{background:#caa44d;color:#111}
:focus-visible{outline:2px solid var(--tdv-gold);outline-offset:4px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}

.tdv-signature{
  background:var(--tdv-ink);color:#fff;border-top:1px solid rgba(213,180,92,.18);
  border-bottom:1px solid rgba(213,180,92,.18);
}
.tdv-signature-inner{
  min-height:62px;display:grid;grid-template-columns:auto 1fr auto;
  gap:28px;align-items:center;
}
.tdv-signature-number,.tdv-signature-meta{
  font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tdv-gold-2);
}
.tdv-signature p{
  margin:0;text-align:center;font-family:var(--tdv-serif);font-size:18px;letter-spacing:-.01em;
}
.tdv-signature p strong{font-family:var(--tdv-sans);font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--tdv-gold-2)}
@media(max-width:700px){
  .tdv-signature-inner{grid-template-columns:1fr;gap:5px;padding:14px 0;text-align:center}
  .tdv-signature p{font-size:16px}
}

.tdv-site-header.is-scrolled{
  box-shadow:0 12px 38px rgba(0,0,0,.07);
}
.tdv-site-header.is-scrolled .tdv-masthead{
  min-height:86px;
}
.tdv-masthead{transition:min-height .28s ease}

/* ==========================================================
   TDV 1.3 — EDITORIAL CINEMA
   Less "luxury brand", more international digital magazine.
   ========================================================== */

.tdv-site-header::after{opacity:.35}
.tdv-topbar{background:#0c0c0c}

.tdv-masthead{
  min-height:94px;
}
.tdv-brand .custom-logo{
  max-height:58px;
}
.tdv-masthead-copy strong{
  font-size:14px;
}
.tdv-nav-wrap{
  background:#fff;
}
.tdv-nav-list>li>a{
  font-size:10.5px;
  letter-spacing:.055em;
}

/* HERO: photography first */
.tdv-hero{
  grid-template-columns:minmax(0,1.55fr) minmax(380px,.75fr);
  padding-top:26px;
  padding-bottom:36px;
  filter:none;
  box-shadow:none;
}
.tdv-hero::before{display:none}
.tdv-hero-media{
  min-height:0;
  aspect-ratio:16 / 10;
  background:#111;
  overflow:hidden;
}
.tdv-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}
.tdv-hero-media::after{
  background:linear-gradient(to top,rgba(0,0,0,.17),transparent 38%);
  animation:none;
  opacity:1;
}
.tdv-hero-copy{
  padding:36px 34px;
  background:#0d0d0d;
  box-shadow:none;
}
.tdv-hero-copy::before{display:none}
.tdv-hero-copy .tdv-eyebrow{
  font-size:10px;
  letter-spacing:.16em;
}
.tdv-hero-copy h1{
  font-size:clamp(38px,3.85vw,64px);
  line-height:1;
  text-shadow:none;
}
.tdv-hero-deck{
  font-size:15px;
  line-height:1.65;
}
.tdv-hero-copy .tdv-read-more{
  border:0;
  border-bottom:1px solid var(--tdv-gold-2);
  border-radius:0;
  padding:0 0 4px;
  background:none;
  backdrop-filter:none;
}
.tdv-hero-copy .tdv-read-more:hover{
  transform:none;
  background:none;
  box-shadow:none;
}

/* cover images: consistent, editorial crops */
.tdv-card-media{
  aspect-ratio:3 / 2;
  background:#ddd;
  box-shadow:none;
  border-radius:0;
}
.tdv-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}
.tdv-card:hover{transform:none}
.tdv-card:hover .tdv-card-media img{transform:scale(1.018)}
.tdv-card-media::after{
  display:none;
}
.tdv-card-title{
  font-size:clamp(24px,1.75vw,31px);
  line-height:1.08;
}
.tdv-card-excerpt{
  font-size:13.5px;
  line-height:1.65;
}

/* more dynamic editorial grid */
.tdv-grid-3{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:28px;
}
.tdv-grid-3>.tdv-card{
  grid-column:span 4;
}
.tdv-grid-3>.tdv-card:nth-child(1){
  grid-column:span 6;
}
.tdv-grid-3>.tdv-card:nth-child(2){
  grid-column:span 6;
}
.tdv-grid-3>.tdv-card:nth-child(1) .tdv-card-media,
.tdv-grid-3>.tdv-card:nth-child(2) .tdv-card-media{
  aspect-ratio:16 / 10;
}
.tdv-grid-4{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
}
.tdv-grid-4>.tdv-card{
  grid-column:span 3;
}
.tdv-grid-4>.tdv-card:nth-child(1){
  grid-column:span 6;
}
.tdv-grid-4>.tdv-card:nth-child(1) .tdv-card-media{
  aspect-ratio:16 / 10;
}

/* topic strip: simple, useful */
.tdv-topic-strip{
  background:#fff;
}
.tdv-topic-strip::before{display:none}
.tdv-topic-strip .tdv-shell{
  min-height:52px;
}

/* signature: editorial not manifesto */
.tdv-signature{
  background:#fff;
  color:var(--tdv-ink);
  border-top:1px solid var(--tdv-line);
  border-bottom:1px solid var(--tdv-line);
}
.tdv-signature-number,.tdv-signature-meta{
  color:var(--tdv-gold);
}
.tdv-signature p{
  font-family:var(--tdv-sans);
  font-size:13px;
  letter-spacing:.02em;
}
.tdv-signature p strong{
  font-size:11px;
}

/* section rhythm */
.tdv-section{
  padding-block:68px;
}
.tdv-section-tinted{
  background:#f0f0ec;
  border-top:1px solid rgba(16,16,16,.08);
  border-bottom:1px solid rgba(16,16,16,.08);
}
.tdv-section-head::after{
  width:70px;
  height:1px;
}
.tdv-section-head h2{
  font-size:clamp(38px,3.6vw,60px);
}

/* dark editorial section: cleaner, less decorative */
.tdv-ideas{
  background:#0b0b0b;
}
.tdv-ideas::before{
  display:none;
}
.tdv-card-dark .tdv-card-media{
  box-shadow:none;
  border:0;
}
.tdv-card-dark .tdv-card-title{
  font-size:clamp(23px,1.6vw,29px);
}

/* about block */
.tdv-home-about::before{
  display:none;
}
.tdv-home-about>p:not(.tdv-section-kicker){
  font-size:clamp(21px,1.9vw,29px);
}

/* footer simpler */
.tdv-footer{
  background:#0b0b0b;
}
.tdv-footer::before{
  height:1px;
  opacity:.5;
}

/* image helpers for legacy content / cover art */
.tdv-article-hero{
  background:#111;
  overflow:hidden;
}
.tdv-article-hero img{
  width:100%;
  max-height:none;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center 35%;
}
.tdv-article-content img{
  max-width:100%;
  height:auto;
}
.tdv-article-content figure img{
  width:100%;
  height:auto;
}

/* Customizer/tablet */
@media (max-width:1180px){
  .tdv-hero{
    grid-template-columns:minmax(0,1.35fr) minmax(350px,.8fr);
  }
  .tdv-hero-copy h1{
    font-size:clamp(36px,4.25vw,54px);
  }
  .tdv-grid-4>.tdv-card{
    grid-column:span 6;
  }
  .tdv-grid-4>.tdv-card:nth-child(1){
    grid-column:span 12;
  }
}
@media (max-width:980px){
  .tdv-hero{
    grid-template-columns:1fr;
  }
  .tdv-hero-media{
    aspect-ratio:16/9;
  }
  .tdv-grid-3>.tdv-card,
  .tdv-grid-3>.tdv-card:nth-child(1),
  .tdv-grid-3>.tdv-card:nth-child(2){
    grid-column:span 6;
  }
}
@media (max-width:620px){
  .tdv-hero-media{
    aspect-ratio:4/3;
  }
  .tdv-hero-media img{
    object-position:center 32%;
  }
  .tdv-card-media,
  .tdv-grid-3>.tdv-card:nth-child(1) .tdv-card-media,
  .tdv-grid-3>.tdv-card:nth-child(2) .tdv-card-media,
  .tdv-grid-4>.tdv-card:nth-child(1) .tdv-card-media{
    aspect-ratio:4/3;
  }
  .tdv-grid-3>.tdv-card,
  .tdv-grid-3>.tdv-card:nth-child(1),
  .tdv-grid-3>.tdv-card:nth-child(2),
  .tdv-grid-4>.tdv-card,
  .tdv-grid-4>.tdv-card:nth-child(1){
    grid-column:1/-1;
  }
}


/* ==========================================================
   TDV 1.4 — REAL BRAND MASTHEAD
   Uses the original TDV mark from the site's media library.
   ========================================================== */

.tdv-brand-real{
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-width:0;
  line-height:1;
}
.tdv-brand-real:hover{
  color:inherit;
}
.tdv-brand-mark-wrap{
  display:inline-flex;
  align-items:center;
  width:96px;
  height:48px;
  overflow:hidden;
  flex:0 0 auto;
}
.tdv-brand-mark-real{
  display:block;
  width:96px;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:left center;
}
.tdv-brand-name{
  display:inline-block;
  font-family:var(--tdv-sans);
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--tdv-ink);
  white-space:nowrap;
}
.tdv-masthead{
  grid-template-columns:minmax(300px,auto) 1fr auto;
}
@media(max-width:1180px){
  .tdv-masthead{
    grid-template-columns:minmax(270px,auto) 1fr auto;
  }
  .tdv-brand-mark-wrap{width:84px;height:44px}
  .tdv-brand-mark-real{width:84px}
  .tdv-brand-name{font-size:12px;letter-spacing:.15em}
}
@media(max-width:980px){
  .tdv-masthead{
    grid-template-columns:1fr auto;
  }
  .tdv-brand-real{gap:12px}
  .tdv-brand-name{font-size:11px;letter-spacing:.13em}
}
@media(max-width:620px){
  .tdv-brand-mark-wrap{width:72px;height:38px}
  .tdv-brand-mark-real{width:72px}
  .tdv-brand-name{font-size:10px;letter-spacing:.12em}
}


/* ==========================================================
   TDV 1.5 — BRAND GOLD + MOBILE FIRST + SEO/GEO UX
   This final layer intentionally sets phone defaults first,
   then progressively enhances at larger min-width breakpoints.
   ========================================================== */

.tdv-brand-current{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.tdv-brand-round{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.tdv-brand-round img{
  width:100%;
  height:100%;
  object-fit:cover;
  max-width:none;
  max-height:none;
}
.tdv-brand-lockup{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
.tdv-brand-tdv{
  font-family:var(--tdv-serif);
  font-weight:800;
  font-size:31px;
  line-height:.86;
  letter-spacing:-.065em;
  color:#b8923e;
  background:linear-gradient(115deg,#8b651c 0%,#d3ab50 38%,#f0d88b 52%,#b58a2e 73%,#77520f 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.tdv-brand-name{
  font-family:var(--tdv-sans);
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--tdv-ink);
}

/* PHONE BASE */
:root{
  --tdv-shell:calc(100vw - 28px);
}
body{
  font-size:16px;
  overflow-x:hidden;
}
.tdv-masthead{
  min-height:70px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}
.tdv-masthead-copy{display:none}
.tdv-menu-toggle{display:flex}
.tdv-main-nav{display:none}
.tdv-main-nav.is-open{display:block}
.tdv-nav-row{display:block}
.tdv-nav-list{
  display:block;
  min-height:0;
  overflow:visible;
  padding:8px 0 14px;
}
.tdv-nav-list>li>a{
  display:block;
  padding:10px 0;
  font-size:13px;
  letter-spacing:.055em;
}
.tdv-nav-list .sub-menu{
  display:block;
  position:static;
  min-width:0;
  padding:0 0 0 14px;
  box-shadow:none;
  background:transparent;
  color:var(--tdv-ink);
}
.tdv-nav-list .sub-menu a{
  padding:6px 0;
  color:var(--tdv-muted);
}
.tdv-header-search{display:none}

.tdv-hero{
  display:grid;
  grid-template-columns:1fr;
  padding-top:14px;
  padding-bottom:24px;
}
.tdv-hero-media{
  aspect-ratio:4/3;
}
.tdv-hero-media img{
  object-position:center 32%;
}
.tdv-hero-copy{
  padding:24px 20px 26px;
}
.tdv-hero-copy h1{
  font-size:clamp(38px,12vw,52px);
  line-height:.96;
  margin:13px 0 17px;
}
.tdv-hero-deck{
  font-size:14px;
}
.tdv-topic-strip .tdv-shell{
  min-height:50px;
  gap:18px;
}
.tdv-signature-inner{
  grid-template-columns:1fr;
  text-align:center;
  gap:5px;
  padding:13px 0;
}
.tdv-signature p{font-size:15px}
.tdv-section{padding-block:48px}
.tdv-section-head,
.tdv-section-head-link{
  grid-template-columns:1fr;
  gap:14px;
  margin-bottom:26px;
}
.tdv-section-head h2,
.tdv-home-about h2,
.tdv-archive-head h1{
  font-size:clamp(38px,11vw,49px);
}
.tdv-grid,
.tdv-grid-3,
.tdv-grid-4{
  display:grid;
  grid-template-columns:1fr;
  gap:34px;
}
.tdv-grid-3>.tdv-card,
.tdv-grid-3>.tdv-card:nth-child(1),
.tdv-grid-3>.tdv-card:nth-child(2),
.tdv-grid-4>.tdv-card,
.tdv-grid-4>.tdv-card:nth-child(1){
  grid-column:1;
}
.tdv-card-media,
.tdv-grid-3>.tdv-card:nth-child(1) .tdv-card-media,
.tdv-grid-3>.tdv-card:nth-child(2) .tdv-card-media,
.tdv-grid-4>.tdv-card:nth-child(1) .tdv-card-media{
  aspect-ratio:4/3;
}
.tdv-card-title{font-size:29px}
.tdv-card-excerpt{font-size:14px}
.tdv-article-header h1{
  font-size:clamp(44px,13vw,58px);
}
.tdv-article-layout{
  display:block;
}
.tdv-article-aside{display:none}
.tdv-article-content{
  font-size:18px;
  line-height:1.76;
}
.tdv-article-hero img{
  aspect-ratio:4/3;
}
.tdv-footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
}
.tdv-footer-brand,
.tdv-footer-newsletter{
  grid-column:auto;
}
.tdv-footer-bottom .tdv-shell{
  display:block;
}
.tdv-footer-bottom span{
  display:block;
  margin:4px 0;
}

/* visible entity/location cue */
.tdv-geo-context{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:15px;
  padding-top:12px;
  border-top:1px solid var(--tdv-line);
  color:var(--tdv-muted);
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.tdv-geo-pin{
  color:var(--tdv-gold);
  font-size:16px;
}

/* Defer paint for deep below-fold blocks on capable browsers */
.tdv-section,
.tdv-ideas,
.tdv-home-about,
.tdv-related{
  content-visibility:auto;
  contain-intrinsic-size:1px 900px;
}
.tdv-hero,
.tdv-topic-strip{
  content-visibility:visible;
}

/* TABLET */
@media (min-width:700px){
  :root{--tdv-shell:min(calc(100vw - 44px), 1100px)}
  .tdv-brand-round{width:42px;height:42px;flex-basis:42px}
  .tdv-brand-tdv{font-size:36px}
  .tdv-brand-name{font-size:10px;letter-spacing:.15em}
  .tdv-hero-media{aspect-ratio:16/9}
  .tdv-hero-copy{padding:30px 28px}
  .tdv-hero-copy h1{font-size:clamp(44px,7vw,62px)}
  .tdv-grid-3,
  .tdv-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
  }
  .tdv-grid-3>.tdv-card,
  .tdv-grid-3>.tdv-card:nth-child(1),
  .tdv-grid-3>.tdv-card:nth-child(2),
  .tdv-grid-4>.tdv-card,
  .tdv-grid-4>.tdv-card:nth-child(1){
    grid-column:auto;
  }
  .tdv-card-media{aspect-ratio:3/2}
  .tdv-article-hero img{aspect-ratio:16/9}
  .tdv-footer-grid{grid-template-columns:1fr 1fr}
  .tdv-footer-brand{grid-column:1/-1}
}

/* DESKTOP */
@media (min-width:981px){
  :root{--tdv-shell:min(1440px, calc(100vw - 48px))}
  .tdv-masthead{
    min-height:94px;
    grid-template-columns:minmax(330px,auto) 1fr auto;
    gap:28px;
  }
  .tdv-masthead-copy{display:block}
  .tdv-menu-toggle{display:none}
  .tdv-nav-row{display:flex}
  .tdv-main-nav{display:block!important;flex:1;min-width:0}
  .tdv-nav-list{
    display:flex;
    align-items:center;
    min-height:50px;
    padding:0;
    overflow-x:auto;
  }
  .tdv-nav-list>li>a{
    display:inline-block;
    padding:0;
    font-size:10.5px;
  }
  .tdv-nav-list .sub-menu{
    display:none;
    position:absolute;
    background:var(--tdv-ink);
    color:#fff;
    padding:14px 0;
    min-width:250px;
    box-shadow:var(--tdv-shadow);
  }
  .tdv-nav-list li:hover>.sub-menu{display:block}
  .tdv-header-search{display:flex}
  .tdv-brand-round{width:46px;height:46px;flex-basis:46px}
  .tdv-brand-tdv{font-size:43px}
  .tdv-brand-name{font-size:11px;letter-spacing:.17em}
  .tdv-hero{
    grid-template-columns:minmax(0,1.55fr) minmax(380px,.75fr);
    padding-top:26px;
    padding-bottom:36px;
  }
  .tdv-hero-media{aspect-ratio:16/10}
  .tdv-hero-copy{padding:36px 34px}
  .tdv-hero-copy h1{font-size:clamp(38px,3.85vw,64px)}
  .tdv-section{padding-block:68px}
  .tdv-section-head{
    grid-template-columns:1fr minmax(280px,.55fr);
    gap:38px;
  }
  .tdv-section-head-link{grid-template-columns:1fr auto}
  .tdv-grid-3{
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:28px;
  }
  .tdv-grid-3>.tdv-card{grid-column:span 4}
  .tdv-grid-3>.tdv-card:nth-child(1),
  .tdv-grid-3>.tdv-card:nth-child(2){grid-column:span 6}
  .tdv-grid-4{
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:24px;
  }
  .tdv-grid-4>.tdv-card{grid-column:span 3}
  .tdv-grid-4>.tdv-card:nth-child(1){grid-column:span 6}
  .tdv-article-layout{
    display:grid;
    grid-template-columns:minmax(0,790px) 260px;
    gap:70px;
  }
  .tdv-article-aside{display:block}
  .tdv-footer-grid{
    grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  }
  .tdv-footer-brand,
  .tdv-footer-newsletter{grid-column:auto}
}


/* ==========================================================
   TDV 1.6 — ORIGINAL TDV WORDMARK ONLY
   The current round-gold logo artwork is used as source,
   but the masthead crops only its original TDV lettering.
   No circle. No descriptor.
   ========================================================== */

.tdv-brand-wordmark-original{
  display:inline-flex;
  align-items:center;
  width:auto;
  min-width:0;
  line-height:0;
}
.tdv-original-tdv-crop{
  position:relative;
  display:block;
  width:116px;
  height:48px;
  overflow:hidden;
  flex:0 0 auto;
}
.tdv-original-tdv-crop img{
  position:absolute;
  width:208px;
  height:208px;
  max-width:none;
  max-height:none;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  object-fit:cover;
}

/* Remove all previous visual lockup elements from v1.5. */
.tdv-brand-round,
.tdv-brand-lockup,
.tdv-brand-tdv,
.tdv-brand-name{
  display:none!important;
}

/* Masthead proportion now follows a pure editorial wordmark. */
.tdv-masthead{
  grid-template-columns:minmax(150px,auto) 1fr auto;
}

@media(min-width:700px){
  .tdv-original-tdv-crop{
    width:132px;
    height:54px;
  }
  .tdv-original-tdv-crop img{
    width:236px;
    height:236px;
  }
}

@media(min-width:981px){
  .tdv-original-tdv-crop{
    width:146px;
    height:58px;
  }
  .tdv-original-tdv-crop img{
    width:258px;
    height:258px;
  }
  .tdv-masthead{
    grid-template-columns:minmax(190px,auto) 1fr auto;
  }
}

@media(max-width:620px){
  .tdv-original-tdv-crop{
    width:106px;
    height:44px;
  }
  .tdv-original-tdv-crop img{
    width:192px;
    height:192px;
  }
}


/* ==========================================================
   TDV 1.7 — ADVERTISING ARCHITECTURE
   AdRotate group 1: 360x360 lateral
   AdRotate group 2: 728x90 leaderboard
   ========================================================== */

.tdv-ad{
  margin-inline:auto;
}
.tdv-ad a{
  display:block;
  line-height:0;
}
.tdv-ad img{
  display:block;
  width:100%;
  height:auto!important;
  object-fit:contain;
}

.tdv-ad-leaderboard{
  width:min(100%,728px);
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  margin-top:30px;
  margin-bottom:34px;
}
.tdv-ad-leaderboard > *,
.tdv-ad-leaderboard iframe,
.tdv-ad-leaderboard ins{
  max-width:100%!important;
}

.tdv-article-content .tdv-mid-article-ad{
  margin-top:48px;
  margin-bottom:48px;
  clear:both;
}

.tdv-sidebar-ad-wrap{
  width:100%;
  margin-bottom:34px;
}
.tdv-ad-square{
  width:min(100%,360px);
  min-height:360px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}
.tdv-ad-square img{
  aspect-ratio:1/1;
  object-fit:contain;
}

@media (min-width:1180px){
  .tdv-article-layout{
    grid-template-columns:minmax(0,820px) minmax(320px,360px);
    gap:56px;
    max-width:1236px;
  }
  .tdv-article-aside-inner{
    position:sticky;
    top:145px;
    border-top:0;
    padding-top:0;
  }
  .tdv-aside-editorial{
    border-top:3px solid var(--tdv-gold);
    padding-top:18px;
  }
}

@media (min-width:981px) and (max-width:1179px){
  .tdv-article-layout{
    grid-template-columns:minmax(0,1fr) minmax(280px,320px);
    gap:38px;
    max-width:1100px;
  }
  .tdv-ad-square{
    min-height:280px;
  }
}

@media (max-width:980px){
  .tdv-article-aside{
    display:block!important;
    margin-top:46px;
  }
  .tdv-article-aside-inner{
    position:static;
    border-top:0;
    padding-top:0;
  }
  .tdv-sidebar-ad-wrap{
    width:min(100%,360px);
    margin-left:auto;
    margin-right:auto;
  }
  .tdv-ad-square{
    min-height:0;
    aspect-ratio:1/1;
  }
  .tdv-aside-editorial{
    margin-top:34px;
    padding-top:18px;
    border-top:2px solid var(--tdv-gold);
  }
  .tdv-ad-leaderboard{
    min-height:0;
    margin-top:34px;
    margin-bottom:34px;
  }
}

@media (max-width:760px){
  .tdv-ad-leaderboard{
    width:100%;
    aspect-ratio:728/90;
  }
  .tdv-ad-leaderboard img{
    width:100%;
    height:100%!important;
    object-fit:contain;
  }
}


/* ==========================================================
   TDV 1.8 FINAL — INTERNATIONAL EDITORIAL
   Elegant TDV wordmark + disciplined image system.
   ========================================================== */

/* Masthead: only TDV, elegant, editorial, gold. */
.tdv-brand-editorial{
  display:inline-flex;
  align-items:center;
  min-width:0;
  line-height:1;
}
.tdv-editorial-wordmark{
  display:inline-block;
  font-family:var(--tdv-serif);
  font-weight:800;
  font-size:clamp(44px,4.2vw,66px);
  line-height:.78;
  letter-spacing:-.075em;
  color:#b8923e;
  background:linear-gradient(110deg,#75510f 0%,#b88a2e 28%,#efd98d 49%,#b78b2f 69%,#7d5914 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 8px 18px rgba(184,146,62,.10));
}
.tdv-brand-editorial:hover .tdv-editorial-wordmark{
  filter:drop-shadow(0 8px 22px rgba(184,146,62,.16));
}
.tdv-original-tdv-crop,
.tdv-brand-wordmark-original,
.tdv-brand-current,
.tdv-brand-round,
.tdv-brand-lockup,
.tdv-brand-tdv,
.tdv-brand-name{
  display:none!important;
}
.tdv-masthead{
  grid-template-columns:minmax(150px,auto) 1fr auto;
}

/* COVER IMAGE SYSTEM — one visual language across the magazine */
.tdv-hero-media,
.tdv-card-media,
.tdv-article-hero{
  background:#111;
  overflow:hidden;
}

/* Hero desktop */
.tdv-hero-media{
  aspect-ratio:16/10;
}
.tdv-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 36%;
}

/* Cards */
.tdv-card-media{
  aspect-ratio:3/2;
}
.tdv-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  transition:transform .42s cubic-bezier(.2,.7,.2,1), filter .3s ease;
}
.tdv-card:hover .tdv-card-media img{
  transform:scale(1.016);
}

/* Large lead cards */
.tdv-grid-3>.tdv-card:nth-child(1) .tdv-card-media,
.tdv-grid-3>.tdv-card:nth-child(2) .tdv-card-media,
.tdv-grid-4>.tdv-card:nth-child(1) .tdv-card-media{
  aspect-ratio:16/10;
}

/* Single article cover */
.tdv-article-hero{
  max-width:1280px;
}
.tdv-article-hero img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center 36%;
}

/* Safer defaults for portrait-heavy featured images. */
.tdv-card-media img[width][height],
.tdv-hero-media img[width][height],
.tdv-article-hero img[width][height]{
  min-width:100%;
}

/* Elegant image frame, international magazine feel. */
.tdv-card-media,
.tdv-article-hero{
  box-shadow:0 12px 34px rgba(0,0,0,.045);
}
.tdv-hero-media{
  box-shadow:0 18px 48px rgba(0,0,0,.07);
}

/* Caption discipline */
.tdv-article-hero figcaption,
.tdv-article-content figcaption{
  margin-top:8px;
  font-family:var(--tdv-sans);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.03em;
  color:var(--tdv-muted);
}

/* Mobile-first cover behavior */
@media(max-width:699px){
  .tdv-editorial-wordmark{
    font-size:48px;
  }
  .tdv-hero-media,
  .tdv-card-media,
  .tdv-grid-3>.tdv-card:nth-child(1) .tdv-card-media,
  .tdv-grid-3>.tdv-card:nth-child(2) .tdv-card-media,
  .tdv-grid-4>.tdv-card:nth-child(1) .tdv-card-media,
  .tdv-article-hero img{
    aspect-ratio:4/3;
  }
  .tdv-hero-media img,
  .tdv-card-media img,
  .tdv-article-hero img{
    object-position:center 34%;
  }
}

@media(min-width:700px) and (max-width:980px){
  .tdv-editorial-wordmark{
    font-size:56px;
  }
  .tdv-hero-media,
  .tdv-article-hero img{
    aspect-ratio:16/9;
  }
}

/* Preserve per-post focal point inline styles from _tdv_featured_position. */
.tdv-hero-media img[style],
.tdv-card-media img[style],
.tdv-article-hero img[style]{
  /* inline object-position wins intentionally */
}

/* Typography refinement for a more international editorial tone */
.tdv-hero-copy h1{
  max-width:14ch;
  text-wrap:balance;
}
.tdv-card-title{
  text-wrap:balance;
}
.tdv-section-head h2{
  max-width:16ch;
  text-wrap:balance;
}

/* Cleaner white space around editorial sections */
.tdv-section{
  padding-block:72px;
}
.tdv-section-head{
  margin-bottom:38px;
}

/* Keep gold as signature, not decoration overload */
.tdv-kicker,
.tdv-section-kicker,
.tdv-topic-label{
  letter-spacing:.14em;
}

/* Final footer visual balance */
.tdv-footer-mark{
  font-family:var(--tdv-serif);
  font-weight:800;
  font-size:68px;
  letter-spacing:-.06em;
}


/* v1.8.1 — legacy menu-location compatibility */
.tdv-footer-nav{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:11px;
}
.tdv-footer-nav li{margin:0}
.tdv-footer-nav a{
  font-size:13px;
  color:rgba(255,255,255,.8);
}
.tdv-footer-nav a:hover{color:var(--tdv-gold-2)}

/* ==========================================================
   TDV 1.9.2 — HERO SLIDESHOW / ULTIMI 7 ARTICOLI
   ========================================================== */
.tdv-hero-carousel{
  position:relative;
  width:100%;
}
.tdv-hero-carousel-track{
  position:relative;
}
.tdv-hero-slide{
  display:none;
  margin-inline:auto;
}
.tdv-hero-slide.is-active{
  display:grid;
  animation:tdvHeroReveal .48s ease both;
}
@keyframes tdvHeroReveal{
  from{opacity:.28;transform:translateY(4px)}
  to{opacity:1;transform:none}
}
.tdv-hero-slide .tdv-hero-copy{
  padding-bottom:82px;
}
.tdv-hero-slide .tdv-hero-title{
  font-family:var(--tdv-serif);
  font-size:clamp(38px,3.85vw,64px);
  line-height:.96;
  letter-spacing:-.045em;
  margin:13px 0 17px;
  max-width:14ch;
  text-wrap:balance;
}
.tdv-hero-slide .tdv-hero-title a{color:inherit}
.tdv-hero-controls{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  pointer-events:none;
}
.tdv-hero-counter,
.tdv-hero-dots,
.tdv-hero-arrows{
  pointer-events:auto;
}
.tdv-hero-counter{
  min-width:48px;
  color:#fff;
  font-family:var(--tdv-sans);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.tdv-hero-separator{opacity:.4;margin:0 4px}
.tdv-hero-dots{
  display:flex;
  align-items:center;
  gap:6px;
}
.tdv-hero-dot{
  appearance:none;
  border:0;
  padding:0;
  width:22px;
  height:2px;
  background:rgba(255,255,255,.28);
  cursor:pointer;
  transition:width .25s ease,background-color .25s ease;
}
.tdv-hero-dot.is-active{
  width:38px;
  background:var(--tdv-gold-2,#d7b76a);
}
.tdv-hero-arrows{
  display:flex;
  gap:6px;
}
.tdv-hero-arrow{
  appearance:none;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
  cursor:pointer;
  transition:border-color .2s ease,background-color .2s ease,transform .2s ease;
}
.tdv-hero-arrow:hover,
.tdv-hero-arrow:focus-visible{
  border-color:var(--tdv-gold-2,#d7b76a);
  background:rgba(0,0,0,.45);
  transform:translateY(-1px);
}
.tdv-hero-arrow svg{width:18px;height:18px}

@media(max-width:980px){
  .tdv-hero-slide .tdv-hero-copy{padding-bottom:76px}
  .tdv-hero-controls{
    bottom:15px;
    gap:10px;
  }
  .tdv-hero-dot{width:14px}
  .tdv-hero-dot.is-active{width:26px}
  .tdv-hero-counter{font-size:9px;min-width:42px}
}

@media(max-width:699px){
  .tdv-hero-slide .tdv-hero-title{
    font-size:clamp(38px,12vw,52px);
  }
  .tdv-hero-slide .tdv-hero-copy{
    padding-bottom:78px;
  }
  .tdv-hero-controls{
    justify-content:space-between;
    bottom:14px;
  }
  .tdv-hero-dots{display:none}
  .tdv-hero-arrow{width:36px;height:36px}
}

@media(prefers-reduced-motion:reduce){
  .tdv-hero-slide.is-active{animation:none}
  .tdv-hero-dot,.tdv-hero-arrow{transition:none}
}

/* ==========================================================
   TDV 1.9.3 — HERO PERFECT INTEGRATION
   Image + copy are one continuous editorial module.
   ========================================================== */
@media(min-width:981px){
  .tdv-hero-carousel{
    overflow:hidden;
  }
  .tdv-hero-slide{
    padding-top:0;
    padding-bottom:0;
    align-items:stretch;
  }
  .tdv-hero-slide.is-active{
    display:grid;
    align-items:stretch;
  }
  .tdv-hero-slide .tdv-hero-media{
    aspect-ratio:auto!important;
    min-height:640px;
    height:auto;
    align-self:stretch;
    box-shadow:none;
  }
  .tdv-hero-slide .tdv-hero-media a{
    display:block;
    width:100%;
    height:100%;
  }
  .tdv-hero-slide .tdv-hero-media img{
    display:block;
    width:100%;
    height:100%;
    min-height:100%;
    object-fit:cover;
  }
  .tdv-hero-slide .tdv-hero-copy{
    min-height:640px;
    height:auto;
    align-self:stretch;
    justify-content:flex-end;
    padding-bottom:92px;
  }
  .tdv-hero-controls{
    left:auto;
    right:max(24px,calc((100vw - 1240px)/2 + 24px));
    bottom:18px;
    transform:none;
    width:auto;
    margin:0;
    justify-content:flex-end;
  }
}

@media(min-width:981px) and (max-width:1180px){
  .tdv-hero-slide .tdv-hero-media,
  .tdv-hero-slide .tdv-hero-copy{
    min-height:590px;
  }
  .tdv-hero-controls{
    right:36px;
  }
}

@media(max-width:980px){
  .tdv-hero-slide{
    padding-top:0;
    padding-bottom:0;
  }
  .tdv-hero-slide .tdv-hero-media{
    min-height:0;
    height:auto;
    aspect-ratio:16/10!important;
  }
  .tdv-hero-slide .tdv-hero-media a,
  .tdv-hero-slide .tdv-hero-media img{
    display:block;
    width:100%;
    height:100%;
  }
  .tdv-hero-slide .tdv-hero-copy{
    min-height:0;
    height:auto;
    padding-bottom:78px;
  }
  .tdv-hero-controls{
    left:auto;
    right:22px;
    transform:none;
    width:auto;
    bottom:18px;
  }
}

@media(max-width:699px){
  .tdv-hero-slide .tdv-hero-media{
    aspect-ratio:4/3!important;
  }
  .tdv-hero-slide .tdv-hero-copy{
    padding-bottom:74px;
  }
  .tdv-hero-controls{
    right:16px;
    bottom:16px;
  }
}
