/*
Theme Name: Theiner Universe
Theme URI: https://theiner.de
Author: Werner Theiner / ChatGPT
Description: Voll bearbeitbares WordPress Theme für Hub, Table Society, Experiences und Denkraum im Theiner Design System.
Version: 2.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: theiner-universe
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--white:#fff;--black:#060606;--nav-bg:#f3f2f3;--border:#e8e8e8;--light:#f7f7f7;--muted:#6b6b6b;--red:#b03924;--red-dk:#8c2c1c;--page:#fff;--text:#060606;--card:#fff}html[data-theme="dark"]{--page:#060606;--text:#fff;--card:#101010;--nav-bg:#121212;--border:#2b2b2b;--light:#151515;--muted:#a8a8a8}html{scroll-behavior:smooth}body{font-family:Barlow,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;background:var(--page);color:var(--text);padding-top:52px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav{position:fixed;top:0;left:0;right:0;height:52px;z-index:100;background:var(--nav-bg);border-bottom:1px solid var(--border)}.nav-inner{max-width:1280px;margin:0 auto;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:18px}.logo{font-family:'Barlow Condensed';font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:18px}.nav-links a,.mini-link{font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:none;border:0}.nav-cta,.btn{background:var(--black);color:#fff;padding:13px 20px;border:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}html[data-theme="dark"] .nav-cta,html[data-theme="dark"] .btn{background:#fff;color:#060606}.nav-cta{padding:7px 16px;font-size:.7rem}.btn:hover{background:#222}.btn.red{background:var(--red);color:#fff}.btn.red:hover{background:var(--red-dk)}.btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.secondary:hover{border-color:var(--text)}.hamb{display:none;background:none;border:0;color:var(--text);font-size:1.4rem;cursor:pointer}.wrap{max-width:1280px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border);min-height:calc(100vh - 52px)}.section-label{padding:16px 40px;font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);background:var(--light);border-bottom:1px solid var(--border)}.hero{display:grid;grid-template-columns:1.05fr .95fr;border-bottom:1px solid var(--border);min-height:580px}.hero-copy{padding:70px 40px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:14px}h1,h2,h3{font-family:'Barlow Condensed';font-weight:900;text-transform:uppercase;letter-spacing:-.01em;color:var(--text)}h1{font-size:clamp(2.8rem,5vw,4.2rem);line-height:.95;margin-bottom:22px}h2{font-size:clamp(2rem,4vw,2.4rem);line-height:1;margin-bottom:14px}h3{font-size:1.05rem;line-height:1.05;margin-bottom:10px}p{font-size:.9rem;line-height:1.62;color:var(--muted);margin-bottom:14px}strong{font-weight:500;color:var(--text)}.lead{font-size:1rem;line-height:1.6;max-width:570px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hero-media{border-left:1px solid var(--border);background:var(--light);position:relative;min-height:420px;display:flex;align-items:stretch}.image-cover{width:100%;min-height:280px;background:var(--light);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}.image-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.slot-note{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);color:#060606;padding:10px 12px;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);z-index:2}.media-marquee{overflow:hidden;border-bottom:1px solid var(--border);background:var(--page)}.marquee-track{display:flex;gap:46px;width:max-content;padding:18px 0;animation:marquee 28s linear infinite}.marquee-track span{font-family:'Barlow Condensed';font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:1.05rem}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.split{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}.split>div{padding:40px}.split>div+div{border-left:1px solid var(--border)}.grid{display:grid;border-bottom:1px solid var(--border)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card,.world-card{padding:28px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);transition:background .15s}.card:hover,.world-card:hover{background:var(--light)}.card:nth-child(3n){border-right:0}.people-card{padding:0}.people-card .body{padding:28px}.people-card .image-cover{height:210px}.world-card{padding:0;overflow:hidden}.world-card .image-cover{height:240px}.world-card .body{padding:28px}.badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;background:#e8e8e8;color:#555;margin-bottom:12px}.badge.plus{background:var(--red);color:#fff}.dark-cta{background:var(--light);color:var(--muted);border-top:2px solid var(--red);border-bottom:1px solid var(--border);padding:42px 40px}.dark-cta h2,.dark-cta strong{color:var(--text)}.testimonial{padding:44px 40px;border-bottom:1px solid var(--border)}.testimonial blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.18;color:var(--text);margin-bottom:16px}.form{display:grid;gap:12px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--border);background:var(--page);color:var(--text);padding:13px}.footer{padding:30px 40px;color:var(--muted);border-top:1px solid var(--border);font-size:.78rem}.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.nav-links{display:none;position:absolute;top:52px;left:0;right:0;background:var(--nav-bg);border-bottom:1px solid var(--border);padding:16px 24px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hamb{display:block}.wrap{border-left:0;border-right:0}.hero,.split,.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.hero-media,.split>div+div{border-left:0}.hero-copy,.split>div,.dark-cta,.testimonial{padding:34px 24px}.section-label{padding:16px 24px}.card,.world-card{border-right:0}}@media(max-width:520px){h1{font-size:3rem}.hero{min-height:auto}.hero-copy{padding:44px 24px}.world-card .image-cover,.people-card .image-cover{height:210px}}

/* v1.1: weichere Sektionen und sichtbare Platzhalter */
.image-cover.placeholder,.world-img:empty,.hero-portrait:empty{background:linear-gradient(135deg,#f3f2f3 0%,#ffffff 48%,#ededed 100%);}
.world-card .image-cover img,.people-card .image-cover img{display:block;}
.testimonial-grid blockquote{font-family:'Cormorant Garamond',serif;font-size:1.35rem;line-height:1.22;color:var(--text);margin-bottom:14px;}
.dark-cta a{color:var(--text);text-decoration:underline;text-underline-offset:3px;}


.hero-subline{font-size:1.12rem;line-height:1.5;color:var(--text);font-weight:400;max-width:560px;margin:-8px 0 18px}
.known-strip{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--border);background:var(--page);overflow:hidden}
.known-label{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border);font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);background:var(--light);white-space:nowrap}
.known-strip .media-marquee{border-bottom:0}
.known-strip .marquee-track{padding:15px 0}
@media(max-width:700px){.known-strip{grid-template-columns:1fr}.known-label{justify-content:flex-start;padding:12px 24px;border-right:0;border-bottom:1px solid var(--border)}}

.grid.cols-1{grid-template-columns:1fr}.testimonial{padding:40px;border-bottom:1px solid var(--border)}


/* v1.6 fixes: robust hero, known-from strip, filled testimonials */
.hero-subline{font-size:1.12rem;line-height:1.5;color:var(--text);font-weight:400;max-width:560px;margin:-8px 0 18px}
.known-strip{display:grid;grid-template-columns:160px minmax(0,1fr);border-bottom:1px solid var(--border);background:var(--page);overflow:hidden}
.known-label{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border);font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);background:var(--light);white-space:nowrap}
.known-strip .media-marquee{border-bottom:0;overflow:hidden;min-width:0}
.known-strip .marquee-track{padding:15px 0;display:flex;gap:46px;width:max-content;animation:marquee 32s linear infinite}
.known-strip .marquee-track span{white-space:nowrap}
.testimonial blockquote{font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.25;color:var(--text);margin-bottom:18px}
@media(max-width:700px){.known-strip{grid-template-columns:1fr}.known-label{justify-content:flex-start;padding:12px 24px;border-right:0;border-bottom:1px solid var(--border)}}


/* v1.7: Impulsgeber as editorial list + Denkraum included in memberships */
.roster-list{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}
.roster-item{display:grid;grid-template-columns:118px 1fr;gap:22px;align-items:center;padding:26px 32px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);transition:background .15s}
.roster-item:hover{background:var(--light)}
.roster-item:nth-child(2n){border-right:0}
.roster-img{width:118px;height:118px;background:var(--light);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center}
.roster-img img{width:100%;height:100%;object-fit:cover;display:block}
.roster-img span{font-family:'Barlow Condensed';font-size:3rem;font-weight:900;color:var(--muted)}
.roster-copy h3{margin-bottom:8px}
.roster-copy p{margin-bottom:0}
.included-denkraum{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.membership-card .badge.plus{background:var(--red);color:#fff}
@media(max-width:900px){.roster-list{grid-template-columns:1fr}.roster-item{border-right:0}}
@media(max-width:520px){.roster-item{grid-template-columns:82px 1fr;gap:16px;padding:22px 24px}.roster-img{width:82px;height:82px}}


/* v1.8: wider layout and four membership levels */
.grid.cols-4.membership-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.grid.cols-4.membership-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid.cols-4.membership-grid{grid-template-columns:1fr}}


/* v1.9: Denkraum included note from level II and calmer format layout */
.format-grid{grid-template-columns:repeat(3,1fr)}
.format-grid .card{min-height:230px;display:flex;flex-direction:column;justify-content:flex-start}
.format-grid .card h3{font-size:1.25rem;margin-bottom:16px}
.format-grid .card p{font-size:.95rem;line-height:1.65}
@media(max-width:900px){.format-grid{grid-template-columns:1fr}}


/* v2.0: Membership CTAs */
.membership-card{display:flex;flex-direction:column}
.membership-card p{flex:1}
.membership-cta{margin-top:18px;width:100%;text-align:center}
.membership-card .included-denkraum + .membership-cta{margin-top:18px}


/* v2.1 Table Society Landingpage */
.ts-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px;border-bottom:1px solid var(--border)}
.ts-hero-copy{padding:82px 40px;display:flex;flex-direction:column;justify-content:center}
.ts-hero-aside{border-left:1px solid var(--border);background:linear-gradient(135deg,var(--light),var(--page));display:flex;align-items:end;padding:40px}
.ts-statement{border-top:2px solid var(--red);background:var(--page);padding:30px;border:1px solid var(--border);width:100%}
.ts-statement span{display:block;font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.ts-statement p{font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1.15;color:var(--text);margin:0}
.ts-intro p,.ts-fit p{font-size:.96rem}
.ts-memberships .membership-card{min-height:390px}
.ts-benefits{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}
.ts-benefit{padding:32px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.ts-benefit:last-child{border-right:0}
.ts-benefit h3{font-size:1.2rem;margin-bottom:14px}
.ts-final .actions{margin-top:24px}
@media(max-width:1000px){
  .ts-hero{grid-template-columns:1fr}
  .ts-hero-aside{border-left:0;border-top:1px solid var(--border)}
  .ts-benefits{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .ts-hero-copy{padding:56px 24px}
  .ts-hero-aside{padding:24px}
  .ts-statement p{font-size:1.55rem}
  .ts-benefits{grid-template-columns:1fr}
}


/* v2.2 Table Society full landingpage from May 2026 content */
.ts-hero-v12{display:grid;grid-template-columns:1.12fr .88fr;min-height:650px;border-bottom:1px solid var(--border)}
.ts-hero-copy{padding:82px 40px;display:flex;flex-direction:column;justify-content:center}
.ts-hero-aside{border-left:1px solid var(--border);background:linear-gradient(135deg,var(--light),var(--page));display:flex;align-items:end;padding:40px}
.ts-statement{border-top:2px solid var(--red);background:var(--page);padding:30px;border:1px solid var(--border);width:100%}
.ts-statement span{display:block;font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.ts-statement p{font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1.15;color:var(--text);margin:0}
.ts-note{display:block;color:var(--muted);font-size:.72rem;line-height:1.4;margin-top:12px}
.ts-ladder{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}
.ts-step{padding:32px;border-right:1px solid var(--border);background:var(--page)}
.ts-step:last-child{border-right:0}
.ts-step span{display:block;color:var(--red);font-weight:700;font-size:.7rem;letter-spacing:.16em;margin-bottom:18px}
.ts-calendar{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}
.ts-cal-item{padding:24px 28px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.ts-cal-item:nth-child(4n){border-right:0}
.ts-cal-item strong{display:block;font-family:'Barlow Condensed';font-size:1.3rem;text-transform:uppercase;color:var(--text);margin-bottom:8px}
.ts-cal-item span{color:var(--muted);font-size:.9rem;line-height:1.45}
.ts-formats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border)}
.ts-format{padding:32px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:260px}
.ts-format:nth-child(3n){border-right:0}
.ts-format h3{font-size:1.22rem;margin-bottom:14px}
.ts-format span{display:inline-block;margin-top:14px;background:var(--red);color:#fff;padding:4px 9px;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ts-format-wide{grid-column:span 3;min-height:auto}
.ts-price-logic{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border)}
.ts-price-logic>div{padding:32px;border-right:1px solid var(--border)}
.ts-price-logic>div:last-child{border-right:0}
.ts-contact-line{margin-top:24px;font-size:.9rem;color:rgba(255,255,255,.65)}
@media(max-width:1000px){
  .ts-hero-v12{grid-template-columns:1fr}
  .ts-hero-aside{border-left:0;border-top:1px solid var(--border)}
  .ts-ladder,.ts-calendar,.ts-price-logic{grid-template-columns:repeat(2,1fr)}
  .ts-formats{grid-template-columns:1fr 1fr}
  .ts-format:nth-child(3n){border-right:1px solid var(--border)}
  .ts-format:nth-child(2n){border-right:0}
  .ts-format-wide{grid-column:span 2}
}
@media(max-width:620px){
  .ts-hero-copy{padding:56px 24px}
  .ts-hero-aside{padding:24px}
  .ts-statement p{font-size:1.55rem}
  .ts-ladder,.ts-calendar,.ts-price-logic,.ts-formats{grid-template-columns:1fr}
  .ts-step,.ts-cal-item,.ts-format,.ts-price-logic>div{border-right:0}
  .ts-format-wide{grid-column:span 1}
}


/* v2.3 Theiner Experiences Landingpage */
.ex-hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:650px;border-bottom:1px solid var(--border)}
.ex-hero-copy{padding:82px 40px;display:flex;flex-direction:column;justify-content:center}
.ex-hero-aside{border-left:1px solid var(--border);background:linear-gradient(135deg,var(--light),var(--page));display:flex;align-items:end;padding:40px}
.ex-statement{border-top:2px solid var(--red);background:var(--page);padding:30px;border:1px solid var(--border);width:100%}
.ex-statement span{display:block;font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.ex-statement p{font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1.15;color:var(--text);margin:0}
.ex-format-list{border-bottom:1px solid var(--border)}
.ex-format-row{display:grid;grid-template-columns:90px 1fr 280px;border-bottom:1px solid var(--border);background:var(--page)}
.ex-format-row:last-child{border-bottom:0}
.ex-num{display:flex;align-items:flex-start;justify-content:center;padding-top:34px;border-right:1px solid var(--border);font-family:'Barlow Condensed';font-size:2rem;font-weight:900;color:var(--red)}
.ex-copy{padding:34px 36px;border-right:1px solid var(--border)}
.ex-copy h2{font-size:2rem}
.ex-meta{padding:34px 28px;display:flex;flex-direction:column;gap:10px;background:var(--light)}
.ex-meta span{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:10px}
.ex-highlight{background:linear-gradient(90deg,var(--page),var(--light))}
.ex-fourchain{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}
.ex-act{padding:30px;border-right:1px solid var(--border)}
.ex-act:last-child{border-right:0}
.ex-act span{display:block;color:var(--red);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.ex-travel-intro p{max-width:900px}
.ex-destinations{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}
.ex-destination{padding:30px;border-right:1px solid var(--border);background:var(--page)}
.ex-destination:last-child{border-right:0}
.ex-destination ul{margin:14px 0 0 18px;color:var(--muted);font-size:.86rem;line-height:1.6}
.ex-travel-points{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}
.ex-travel-points>div{padding:30px;border-right:1px solid var(--border)}
.ex-travel-points>div:last-child{border-right:0}
.ex-overview{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--border)}
.ex-overview>div{padding:24px 30px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.ex-overview>div:nth-child(2n){border-right:0}
.ex-overview strong{display:block;font-family:'Barlow Condensed';font-size:1.25rem;text-transform:uppercase;color:var(--text);margin-bottom:8px}
.ex-overview span{font-size:.88rem;color:var(--muted)}
.ex-roster{border-bottom:1px solid var(--border)}
.ex-final .actions{margin-top:24px}
.ex-contact-line{margin-top:24px;font-size:.9rem;color:rgba(255,255,255,.65)}
@media(max-width:1050px){
  .ex-hero{grid-template-columns:1fr}
  .ex-hero-aside{border-left:0;border-top:1px solid var(--border)}
  .ex-format-row{grid-template-columns:70px 1fr}
  .ex-meta{grid-column:1 / -1;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(2,1fr)}
  .ex-fourchain,.ex-destinations,.ex-travel-points{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .ex-hero-copy{padding:56px 24px}
  .ex-hero-aside{padding:24px}
  .ex-statement p{font-size:1.55rem}
  .ex-format-row{grid-template-columns:1fr}
  .ex-num{justify-content:flex-start;padding:22px 24px;border-right:0;border-bottom:1px solid var(--border)}
  .ex-copy{padding:26px 24px;border-right:0}
  .ex-meta{grid-template-columns:1fr;padding:24px}
  .ex-fourchain,.ex-destinations,.ex-travel-points,.ex-overview{grid-template-columns:1fr}
  .ex-act,.ex-destination,.ex-travel-points>div,.ex-overview>div{border-right:0}
}


/* v2.4 Experiences premium visuals */
.ex-hero-image{position:relative;overflow:hidden;padding:0;min-height:520px;align-items:end}
.ex-hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05)}
.ex-hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.10));z-index:1}
.ex-hero-image .ex-statement{position:relative;z-index:2;margin:40px;background:rgba(255,255,255,.94)}
.ex-image-strip{min-height:220px;background:var(--light);border-right:1px solid var(--border);overflow:hidden}
.ex-image-strip img{width:100%;height:100%;object-fit:cover;display:block}
.ex-format-row{grid-template-columns:90px 260px 1fr 280px}
.ex-mini-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;background:var(--black);color:#fff;padding:10px 12px;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
html[data-theme="dark"] .ex-mini-cta{background:#fff;color:#060606}
.ex-route-map{display:grid;grid-template-columns:.8fr 1.2fr;border-bottom:1px solid var(--border)}
.ex-route-copy{padding:40px;border-right:1px solid var(--border)}
.ex-route-dots{padding:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:center;background:var(--light)}
.ex-route-dots span{min-height:92px;border:1px solid var(--border);background:var(--page);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Barlow Condensed';font-weight:900;text-transform:uppercase;font-size:1rem;color:var(--text)}
.ex-destinations-visual{grid-template-columns:repeat(2,1fr)}
.ex-destinations-visual .ex-destination{display:grid;grid-template-columns:190px 1fr;padding:0;min-height:320px}
.ex-dest-img{background:var(--light);overflow:hidden;border-right:1px solid var(--border)}
.ex-dest-img img{width:100%;height:100%;object-fit:cover;display:block}
.ex-dest-body{padding:28px}
.ex-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;border-bottom:1px solid var(--border);min-height:360px}
.ex-gallery>div{position:relative;overflow:hidden;border-right:1px solid var(--border);background:var(--light)}
.ex-gallery>div:last-child{border-right:0}
.ex-gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.1)}
.ex-gallery span{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.92);color:#060606;padding:9px 12px;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1150px){
  .ex-format-row{grid-template-columns:70px 220px 1fr}
  .ex-meta{grid-column:1 / -1}
}
@media(max-width:850px){
  .ex-format-row{grid-template-columns:1fr}
  .ex-image-strip{min-height:260px;border-right:0;border-bottom:1px solid var(--border)}
  .ex-route-map{grid-template-columns:1fr}
  .ex-route-copy{border-right:0;border-bottom:1px solid var(--border)}
  .ex-route-dots{grid-template-columns:repeat(2,1fr)}
  .ex-destinations-visual{grid-template-columns:1fr}
  .ex-gallery{grid-template-columns:1fr;min-height:auto}
  .ex-gallery>div{min-height:260px;border-right:0;border-bottom:1px solid var(--border)}
}
@media(max-width:620px){
  .ex-destinations-visual .ex-destination{grid-template-columns:1fr}
  .ex-dest-img{min-height:220px;border-right:0;border-bottom:1px solid var(--border)}
  .ex-route-dots{grid-template-columns:1fr}
}
