/*
Theme Name: Thomas Yalda Oshana — Modern Executive
Theme URI: https://example.com/
Author: Grafix / Custom Build
Description: Premium responsive personal brand and investment portfolio theme for Thomas Yalda Oshana, with a fully white-labelled client dashboard, brand controls, homepage controls, ventures, engagements and insights.
Version: 1.19.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: tyo-modern
*/


/* v1.10 — Venture logo presentation */
.venture-card .card-media.has-venture-logo{
  background:linear-gradient(145deg,#f3f6f2 0%,#e8eee9 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  overflow:hidden;
}
.venture-logo-wrap{
  width:100%;
  height:100%;
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.venture-logo-wrap .venture-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:74%;
  max-height:150px;
  object-fit:contain;
  object-position:center;
}
.single-venture-logo{
  width:min(240px,60vw);
  min-height:110px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:0 0 26px;
}
.single-venture-logo img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:120px;
  object-fit:contain;
}
@media (max-width: 767px){
  .venture-card .card-media.has-venture-logo{padding:24px;}
  .venture-logo-wrap{min-height:150px;}
  .venture-logo-wrap .venture-logo{max-width:72%;max-height:110px;}
}


/* v1.10 — force venture artwork to stay fully visible (never crop logos). */
.venture-card .card-media.has-venture-logo{
  aspect-ratio:16/10;
  padding:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f3f6f2 !important;
}
.venture-card .card-media.has-venture-logo .venture-logo-wrap{
  width:100%;
  height:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.venture-card .card-media.has-venture-logo img.venture-logo{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}
@media (max-width:767px){
  .venture-card .card-media.has-venture-logo{padding:20px !important;}
}


/* v1.11 — denser venture grid and edge-to-edge logo canvas */
.ventures-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.venture-card .card-media.has-venture-logo{
  padding:0 !important;
}
.venture-card .card-media.has-venture-logo .venture-logo-wrap{
  width:100% !important;
  height:100% !important;
  padding:0 !important;
}
.venture-card .card-media.has-venture-logo img.venture-logo{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}
@media (max-width:1100px){
  .ventures-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:760px){
  .ventures-grid{grid-template-columns:1fr !important;}
  .venture-card .card-media.has-venture-logo{padding:0 !important;}
}

/* v1.12 — Venture Learn More uses External Link when provided; otherwise falls back to the internal venture detail page. */


/* v1.13 — clean white logo canvases across venture cards and venture detail pages */
.venture-card .card-media.has-venture-logo{
  background:#fff !important;
}
.venture-card .card-media.has-venture-logo .venture-logo-wrap{
  background:#fff !important;
}
.venture-card .card-media.has-venture-logo img.venture-logo{
  background:#fff;
}
.single-venture-logo{
  background:#fff;
  padding:16px 18px;
  border:1px solid #e7e9e4;
  border-radius:14px;
  box-sizing:border-box;
}
.single-venture-logo img{
  background:#fff;
  object-fit:contain !important;
}


/* v1.15 — full-width editorial hero inspired by the supplied reference */
@media (min-width:1001px){
  .hero .hero-grid.shell{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    grid-template-columns:41% 59% !important;
  }
  .hero-copy{
    padding:96px 72px 82px clamp(58px,6vw,112px) !important;
  }
  .hero h1{
    max-width:650px;
  }
  .hero-visual{
    border-radius:0 !important;
    border-bottom-left-radius:0 !important;
    min-height:690px;
  }
  .hero-visual:before{
    content:"";
    position:absolute;
    z-index:1;
    inset:0 auto 0 0;
    width:25%;
    pointer-events:none;
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 16%,rgba(255,255,255,.58) 48%,rgba(255,255,255,0) 100%);
  }
  .hero-visual:after{z-index:1;}
  .hero-orbit{z-index:2;}
}
@media (max-width:1000px){
  .hero .hero-grid.shell{
    width:100% !important;
    max-width:none !important;
  }
  .hero-copy{
    padding-left:clamp(24px,5vw,54px) !important;
    padding-right:clamp(24px,5vw,54px) !important;
  }
  .hero-visual{
    border-radius:0 !important;
  }
  .hero-visual:before{display:none !important;}
}


/* v1.16 — remove hero floating labels and expand the entire site canvas */
.hero-orbit{
  display:none !important;
}

/* Global full-width layout with premium responsive gutters instead of a fixed 1180px container. */
.shell{
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(28px,5vw,96px);
  padding-right:clamp(28px,5vw,96px);
}

/* Header/menu now follows the full viewport width. */
.site-header .nav-shell{
  width:100% !important;
  max-width:none !important;
}

/* The hero itself remains truly edge-to-edge; its copy owns its own spacing. */
.hero .hero-grid.shell{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Keep wide editorial sections fluid rather than returning to old fixed-width limits. */
.section > .shell,
.highlights > .shell,
.site-footer > .shell,
.page-hero > .shell,
.single-content.shell{
  max-width:none !important;
}

/* Narrow text pages should still be readable, but the section canvas stays full width. */
.shell.narrow{
  width:100% !important;
  max-width:none !important;
}
.shell.narrow > *{
  max-width:900px;
}

@media (max-width:900px){
  .shell{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width:600px){
  .shell{
    padding-left:18px;
    padding-right:18px;
  }
  .hero .hero-grid.shell{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* v1.17 — center editorial sections + pure-white hero blend */
.hero{
  background:#fff !important;
}
.hero-copy{
  background:#fff !important;
}
@media (min-width:1001px){
  .hero-visual:before{
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 16%,rgba(255,255,255,.64) 48%,rgba(255,255,255,0) 100%) !important;
  }
}

/* Full-width canvas, centered content blocks. */
.intro .shell.narrow,
.cta .shell.narrow{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.intro .shell.narrow > *,
.cta .shell.narrow > *{
  margin-left:auto;
  margin-right:auto;
}
.intro .shell.narrow h2,
.intro .shell.narrow p,
.cta .shell.narrow h2,
.cta .shell.narrow p{
  width:min(100%,900px);
}

/* Keep the Sectors & Initiatives heading visually centered over the full row. */
.sectors .section-head.compact{
  max-width:none !important;
  width:100%;
  margin:0 auto 28px !important;
  text-align:center;
}
.sectors .sector-row{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

/* General narrow-layout rule: constrain readable content without pinning it left. */
.shell.narrow > *{
  margin-left:auto;
  margin-right:auto;
}


/* v1.18 — definitive alignment + white hero blend (cache-busted via filemtime) */
.hero,
.hero .hero-grid,
.hero-copy{
  background:#fff !important;
}

@media (min-width:1001px){
  .hero-visual::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:2 !important;
    top:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:30% !important;
    pointer-events:none !important;
    background:linear-gradient(90deg,
      rgb(255,255,255) 0%,
      rgba(255,255,255,.98) 15%,
      rgba(255,255,255,.82) 35%,
      rgba(255,255,255,.42) 65%,
      rgba(255,255,255,0) 100%) !important;
  }
}

/* Center the actual content block, not only the text inside it. */
.intro > .shell.narrow,
.cta > .shell.narrow{
  width:100% !important;
  max-width:none !important;
  padding-left:clamp(28px,5vw,96px) !important;
  padding-right:clamp(28px,5vw,96px) !important;
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
}
.intro > .shell.narrow > *,
.cta > .shell.narrow > *{
  width:min(100%,980px) !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.intro > .shell.narrow > .section-kicker,
.cta > .shell.narrow > .section-kicker{
  width:auto !important;
}

/* Sectors title centered relative to the same full-width icon grid. */
.sectors > .shell{
  display:block !important;
}
.sectors .section-head.compact{
  width:100% !important;
  max-width:none !important;
  margin:0 0 30px !important;
  text-align:center !important;
}
.sectors .section-head.compact .section-kicker{
  display:inline-block !important;
  text-align:center !important;
}
.sectors .sector-row{
  width:100% !important;
  margin:0 auto !important;
}

/* v1.19 — premium Engagement / Insight detail pages */
.story-detail{
  background:#fff;
}
.story-hero{
  background:#f8f6f2;
  border-bottom:1px solid rgba(13,48,42,.08);
}
.story-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);
  gap:clamp(48px,7vw,120px);
  align-items:center;
  padding-top:clamp(72px,8vw,132px);
  padding-bottom:clamp(72px,8vw,132px);
}
.story-hero-copy{max-width:820px;}
.story-kicker-row{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
.story-icon{
  width:42px;height:42px;border:1px solid rgba(13,48,42,.13);border-radius:50%;
  display:grid;place-items:center;background:#fff;color:var(--tyo-primary);flex:0 0 42px;
}
.story-icon svg{width:20px;height:20px;stroke:currentColor;}
.story-hero h1{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(48px,5.2vw,88px);
  line-height:.98;
  letter-spacing:-.045em;
  color:var(--tyo-text);
  max-width:900px;
}
.story-deck{
  max-width:760px;margin:28px 0 0;font-size:clamp(17px,1.35vw,22px);line-height:1.65;color:#5f6a66;
}
.story-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;color:#53635d;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;}
.story-meta span{display:flex;align-items:center;gap:18px;}
.story-meta span+span:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--tyo-secondary);margin-right:0;}
.story-hero-media{
  margin:0;position:relative;overflow:hidden;background:#ecefea;aspect-ratio:4/3;max-height:620px;
}
.story-hero-media:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(13,48,42,.06);pointer-events:none;}
.story-hero-media img{width:100%;height:100%;object-fit:cover;display:block;}
.story-hero-art{aspect-ratio:4/3;background:var(--tyo-primary);display:grid;place-items:center;overflow:hidden;}
.story-hero-art svg{width:34%;height:34%;stroke:#fff;opacity:.72;}

.story-body{
  display:grid;grid-template-columns:minmax(0,900px) minmax(250px,340px);justify-content:center;gap:clamp(54px,7vw,110px);
  padding-top:clamp(72px,8vw,128px);padding-bottom:clamp(88px,9vw,150px);
}
.story-main{min-width:0;}
.story-side{min-width:0;}
.story-info-card{position:sticky;top:110px;padding:28px;border:1px solid rgba(13,48,42,.11);background:#fbfbf9;}
.story-info-card .section-kicker{display:block;margin-bottom:18px;}
.story-info-card dl{margin:0;display:grid;gap:0;}
.story-info-card dl div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:14px 0;border-top:1px solid rgba(13,48,42,.09);}
.story-info-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#88918d;font-weight:700;}
.story-info-card dd{margin:0;font-size:13px;line-height:1.5;color:#22322d;font-weight:600;}
.story-external-link{display:flex!important;justify-content:center;margin-top:22px;width:100%;}
.story-block-label{font-size:10px;font-weight:800;letter-spacing:.17em;color:var(--tyo-primary);margin-bottom:14px;}
.story-video-block{margin-bottom:clamp(52px,6vw,84px);}
.story-video-frame{position:relative;background:#0d1714;overflow:hidden;aspect-ratio:16/9;}
.story-video-frame iframe,.story-video-frame video,.story-video-frame .wp-video,.story-video-frame .mejs-container{width:100%!important;height:100%!important;max-width:none!important;}
.story-video-frame iframe{position:absolute;inset:0;border:0;}
.story-video-frame .wp-video{position:absolute;inset:0;}
.story-video-fallback{display:grid;place-items:center;height:100%;color:#fff;text-decoration:none;font-weight:700;}
.story-pull-quote{margin:0 0 clamp(52px,6vw,86px);padding:38px 0 38px clamp(28px,4vw,56px);border:0;border-left:2px solid var(--tyo-secondary);position:relative;}
.story-pull-quote>span{position:absolute;left:clamp(28px,4vw,56px);top:-18px;font:600 72px/1 "Playfair Display",Georgia,serif;color:var(--tyo-secondary);opacity:.48;}
.story-pull-quote p{margin:0;padding-top:24px;font:500 clamp(30px,3vw,50px)/1.18 "Playfair Display",Georgia,serif;letter-spacing:-.025em;color:var(--tyo-primary);}
.story-prose{font-size:18px;line-height:1.82;color:#394943;}
.story-prose>*:first-child{margin-top:0;}
.story-prose p{margin:0 0 1.55em;}
.story-prose h2,.story-prose h3,.story-prose h4{font-family:"Playfair Display",Georgia,serif;color:var(--tyo-text);letter-spacing:-.025em;line-height:1.12;margin:2.1em 0 .72em;}
.story-prose h2{font-size:clamp(34px,3.2vw,52px);}
.story-prose h3{font-size:clamp(27px,2.5vw,38px);}
.story-prose ul,.story-prose ol{padding-left:1.3em;margin:0 0 1.8em;}
.story-prose li{padding-left:.3em;margin:.6em 0;}
.story-prose blockquote{margin:2.2em 0;padding:28px 34px;background:#f8f6f2;border-left:3px solid var(--tyo-secondary);font:500 25px/1.45 "Playfair Display",Georgia,serif;color:var(--tyo-primary);}
.story-prose a{color:var(--tyo-primary);text-decoration-thickness:1px;text-underline-offset:4px;}
.story-prose img{max-width:100%;height:auto;margin:2em 0;}
.story-prose figure{max-width:100%;margin:2.4em 0;}
.story-prose figcaption{font-size:11px;color:#7b8782;margin-top:8px;}
.story-prose .alignwide{width:min(1100px,calc(100vw - 48px));max-width:none;margin-left:50%;transform:translateX(-50%);}

.story-related{padding-top:clamp(72px,7vw,110px);padding-bottom:clamp(82px,8vw,128px);}
.story-related-head{max-width:900px;margin-bottom:42px;}
.story-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.story-related-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(13,48,42,.11);transition:transform .25s ease,box-shadow .25s ease;}
.story-related-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(13,48,42,.09);}
.story-related-media{aspect-ratio:16/10;background:#eef1ed;overflow:hidden;display:grid;place-items:center;}
.story-related-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.story-related-card:hover .story-related-media img{transform:scale(1.03);}
.story-related-icon{width:76px;height:76px;display:grid;place-items:center;color:var(--tyo-primary);}
.story-related-icon svg{width:54px;height:54px;stroke:currentColor;}
.story-related-copy{padding:25px 26px 28px;}
.story-related-copy>span{font-size:10px;letter-spacing:.12em;color:#78857f;text-transform:uppercase;}
.story-related-copy h3{margin:9px 0 20px;font:600 27px/1.15 "Playfair Display",Georgia,serif;color:var(--tyo-text);}
.story-related-copy b{font-size:12px;color:var(--tyo-primary);}

@media(max-width:1080px){
  .story-hero-grid{grid-template-columns:1fr;gap:46px;}
  .story-hero-media,.story-hero-art{max-width:900px;width:100%;aspect-ratio:16/10;}
  .story-body{grid-template-columns:minmax(0,820px);}
  .story-side{order:-1;}
  .story-info-card{position:static;display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;}
  .story-info-card dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;}
  .story-external-link{width:auto;min-width:150px;}
}
@media(max-width:760px){
  .story-hero-grid{padding-top:58px;padding-bottom:58px;gap:34px;}
  .story-hero h1{font-size:clamp(44px,13vw,68px);}
  .story-deck{font-size:17px;}
  .story-hero-media,.story-hero-art{aspect-ratio:4/3;}
  .story-body{padding-top:52px;padding-bottom:80px;gap:42px;}
  .story-info-card{display:block;padding:22px;}
  .story-info-card dl{display:block;}
  .story-external-link{width:100%;}
  .story-prose{font-size:16px;line-height:1.75;}
  .story-pull-quote p{font-size:32px;}
  .story-related-grid{grid-template-columns:1fr;}
}
