/* ============================================
   BESI OGA PORTFOLIO — THEME STYLES v1.1.0
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');

:root {
  --bo-background: hsl(50,7%,95%);
  --bo-foreground: hsl(0,0%,10%);
  --bo-primary:    hsl(14,100%,50%);
  --bo-primary-fg: hsl(0,0%,100%);
  --bo-muted:      hsl(50,5%,88%);
  --bo-muted-fg:   hsl(0,0%,45%);
  --bo-border:     hsla(0,0%,10%,0.1);
  --bo-font-serif: 'Instrument Serif', Georgia, serif;
  --bo-font-mono:  'Geist Mono','SF Mono','Fira Code',ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background-color:var(--bo-background);color:var(--bo-foreground);font-family:var(--bo-font-mono);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:var(--bo-font-serif);font-weight:400;line-height:.9;text-wrap:balance;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}

/* ── Typography helpers ── */
.bo-serif{font-family:var(--bo-font-serif);}
.bo-mono{font-family:var(--bo-font-mono);}
.bo-text-hero{font-family:var(--bo-font-serif);font-size:clamp(5rem,15vw,22rem);letter-spacing:-.04em;line-height:.85;}
.bo-text-section{font-family:var(--bo-font-serif);font-size:clamp(3rem,8vw,10rem);letter-spacing:-.03em;line-height:.9;}
.bo-text-meta{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;}
.bo-text-body-mono{font-family:var(--bo-font-mono);font-size:.875rem;letter-spacing:.02em;text-transform:uppercase;}

/* ── Colors ── */
.bo-color-fg{color:var(--bo-foreground);}
.bo-color-muted{color:var(--bo-muted-fg);}
.bo-color-primary{color:var(--bo-primary);}
.bo-bg-primary{background-color:var(--bo-primary);}
.bo-bg-fg{background-color:var(--bo-foreground);}

/* ── Borders ── */
.bo-border-t{border-top:1px solid var(--bo-border);}
.bo-border-b{border-bottom:1px solid var(--bo-border);}

/* ── Layout ── */
.bo-container{width:100%;padding-left:2rem;padding-right:2rem;}
@media(min-width:1280px){.bo-container{padding-left:4rem;padding-right:4rem;}}

/* ── CTA link ── */
.bo-cta-link{display:inline-block;font-family:var(--bo-font-mono);font-size:.875rem;letter-spacing:.02em;text-transform:uppercase;color:var(--bo-foreground);border-bottom:2px solid var(--bo-primary);padding-bottom:.25rem;transition:color 300ms;}
.bo-cta-link:hover{color:var(--bo-primary);}

/* ── Skill tag ── */
.bo-skill-tag{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-foreground);border:1px solid hsla(0,0%,10%,.2);padding:.5rem .75rem;display:inline-block;}

/* ── Stats grid ── */
.bo-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--bo-border);}
@media(min-width:768px){.bo-stats-grid{grid-template-columns:repeat(4,1fr);}}
.bo-stat{padding:3rem 2rem 3rem 0;border-right:1px solid var(--bo-border);}
.bo-stat:last-child{border-right:none;}
.bo-stat__number{font-family:var(--bo-font-serif);font-size:clamp(3rem,8vw,5rem);color:var(--bo-foreground);display:block;}
.bo-stat__label{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-muted-fg);margin-top:1rem;display:block;}

/* ── Timeline ── */
.bo-timeline-item{display:grid;grid-template-columns:6rem 1fr;border-bottom:1px solid var(--bo-border);padding:1.5rem 0;gap:1rem;}
@media(min-width:768px){.bo-timeline-item{grid-template-columns:10rem 1fr;}}
.bo-timeline-year{font-family:var(--bo-font-serif);font-size:clamp(1.5rem,4vw,2.5rem);color:var(--bo-foreground);}
.bo-timeline-event{font-family:var(--bo-font-mono);font-size:.875rem;letter-spacing:.02em;color:var(--bo-muted-fg);align-self:center;text-transform:none;}

/* ── Project card ── */
.bo-project-card{display:block;border-bottom:1px solid var(--bo-border);text-decoration:none;color:inherit;overflow:hidden;}
.bo-project-card__image{position:relative;aspect-ratio:3/4;overflow:hidden;}
.bo-project-card__image img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:filter 500ms,transform 700ms;}
.bo-project-card:hover .bo-project-card__image img{filter:grayscale(0%);transform:scale(1.05);}
.bo-project-card__badge{position:absolute;bottom:0;left:0;right:0;padding:1rem;transform:translateY(100%);transition:transform 500ms cubic-bezier(.85,0,.15,1);}
.bo-project-card:hover .bo-project-card__badge{transform:translateY(0);}
.bo-project-card__badge span{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-background);background-color:var(--bo-foreground);padding:.25rem .5rem;display:inline-block;}
.bo-project-card__meta{padding:1rem 0;display:flex;justify-content:space-between;align-items:baseline;}
.bo-project-card__category{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-muted-fg);}
.bo-project-card__title{font-family:var(--bo-font-serif);font-size:1.125rem;}

/* ── Ticker ── */
@keyframes bo-ticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.bo-ticker-wrap{overflow:hidden;padding:1rem 0;border-bottom:1px solid var(--bo-border);}
.bo-ticker-inner{display:flex;white-space:nowrap;animation:bo-ticker 30s linear infinite;}
.bo-ticker-inner span{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-muted-fg);margin:0 2rem;}

/* ── Navigation (fallback) ── */
.bo-nav{position:fixed;top:0;left:0;right:0;z-index:9999;mix-blend-mode:difference;}
.bo-nav__inner{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;}
.bo-nav__logo{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;}
.bo-nav__links{display:flex;align-items:center;gap:2rem;list-style:none;}
.bo-nav__links a{font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;opacity:.5;transition:opacity 300ms;}
.bo-nav__links a:hover,.bo-nav__links .current-menu-item a,.bo-nav__links .current_page_item a{opacity:1;}
.bo-nav__mobile-toggle{display:none;background:none;border:none;cursor:pointer;font-family:var(--bo-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;}
@media(max-width:767px){
  .bo-nav__links{display:none;}
  .bo-nav__mobile-toggle{display:block;}
  .bo-nav__links.is-open{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--bo-foreground);mix-blend-mode:normal;padding:2rem 2rem 4rem;justify-content:flex-end;align-items:flex-start;gap:1rem;z-index:-1;}
  .bo-nav__links.is-open a{font-family:var(--bo-font-serif);font-size:clamp(3rem,12vw,6rem);letter-spacing:-.03em;line-height:.9;color:var(--bo-background);opacity:1;}
}

/* ── Elementor overrides ── */
.elementor-widget-heading .elementor-heading-title{font-family:var(--bo-font-serif);}
.elementor-widget-text-editor{font-family:var(--bo-font-mono);}
#content{min-height:100vh;}
