/* ============================================================
   OLA WALE — standalone editorial section within PEX Visuals
   Warm, magazine-led identity. Intentionally distinct from the
   monochrome studio brand: cream/ink/terracotta instead of
   black/white, Playfair Display instead of Fraunces.
   ============================================================ */

html:has(.ow-root){ overflow-x:hidden; }

/* Keep the sticky nav below the WordPress admin bar when logged in. */
body.admin-bar .ow-nav{top:32px;}
body.admin-bar .ow-mobile, body.admin-bar .ow-scrim{top:32px; height:calc(100dvh - 32px);}
@media (max-width:782px){
  body.admin-bar .ow-nav{top:46px;}
  body.admin-bar .ow-mobile, body.admin-bar .ow-scrim{top:46px; height:calc(100dvh - 46px);}
}
.ow-root{
  --ow-display:'Playfair Display', serif;
  --ow-body:'Inter', sans-serif;
  --ow-mono:'IBM Plex Mono', monospace;
  font-family:var(--ow-body);
  line-height:1.55; -webkit-font-smoothing:antialiased;
  transition:background .3s ease, color .3s ease;
  overflow-x:hidden; width:100%; position:relative;
}
html[data-theme="light"] .ow-root{
  --ow-bg:#ece4d3; --ow-bg-2:#e1d6c3; --ow-card:#f7f2e8;
  --ow-ink:#3a352d; --ow-ink-dim:#8c8271;
  --ow-accent:#6f6a60; --ow-accent-ink:#f7f2e8;
  --ow-line:rgba(58,53,45,0.16);
}
html[data-theme="dark"] .ow-root{
  --ow-bg:#231f1a; --ow-bg-2:#2c2620; --ow-card:#282219;
  --ow-ink:#ece4d3; --ow-ink-dim:#a89b87;
  --ow-accent:#a39c8d; --ow-accent-ink:#231f1a;
  --ow-line:rgba(236,228,211,0.14);
}
.ow-root{ background:var(--ow-bg,#ece4d3); color:var(--ow-ink,#3a352d); }
.ow-root *{box-sizing:border-box;}
.ow-root a{color:inherit;}
.ow-wrap{max-width:1240px; margin:0 auto; padding:0 clamp(24px,5vw,56px);}
.ow-root ::selection{background:var(--ow-accent); color:var(--ow-bg);}

/* NAV */
.ow-nav{
  position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between;
  padding:22px clamp(24px,5vw,56px); background:color-mix(in srgb, var(--ow-bg) 86%, transparent); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ow-line);
}
.ow-logo{display:flex; align-items:center; gap:10px; font-family:var(--ow-display); font-weight:700; font-size:1.35rem; letter-spacing:0.01em; text-decoration:none; color:var(--ow-ink);}
.ow-logo em{font-style:italic; color:var(--ow-accent); font-weight:400;}
.ow-mark{width:32px; height:32px; flex-shrink:0;}
.ow-mark path, .ow-mark circle{stroke:var(--ow-ink); fill:none; stroke-width:1.3;}
.ow-mark .ow-mark-knot{fill:var(--ow-accent); stroke:none;}
.ow-navlinks{display:flex; gap:clamp(18px,3vw,38px); font-family:var(--ow-mono); font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em;}
.ow-navlinks a{text-decoration:none; color:var(--ow-ink-dim); transition:color .2s; padding-bottom:2px; border-bottom:1px solid transparent;}
.ow-navlinks a:hover, .ow-navlinks a.is-active{color:var(--ow-ink); border-color:var(--ow-accent);}
.ow-navmenu{display:none; background:none; border:1px solid var(--ow-line); border-radius:8px; width:40px; height:40px; align-items:center; justify-content:center; font-size:1rem;}
.ow-navright{display:flex; align-items:center; gap:10px;}
.ow-themebtn{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--ow-line); background:none; color:var(--ow-ink);
  cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0.95rem; transition:.2s;
}
.ow-themebtn:hover{border-color:var(--ow-accent); color:var(--ow-accent);}
.ow-back{
  border:1px solid var(--ow-ink); color:var(--ow-ink); text-decoration:none; padding:9px 16px;
  font-family:var(--ow-mono); font-size:0.68rem; text-transform:uppercase; letter-spacing:0.08em; border-radius:2px; transition:.2s; white-space:nowrap;
}
.ow-back:hover{background:var(--ow-ink); color:var(--ow-bg);}
@media (max-width:760px){ .ow-navlinks{display:none;} .ow-navmenu{display:flex;} }

.ow-mobile{
  position:fixed; inset:0 0 0 auto; width:min(320px,86vw); height:100dvh; background:var(--ow-bg);
  border-left:1px solid var(--ow-line); z-index:100; transform:translateX(100%); transition:transform .3s ease;
  padding:24px; display:flex; flex-direction:column;
}
.ow-mobile.is-open{transform:translateX(0);}
.ow-mobile a{display:block; padding:14px 0; text-decoration:none; color:var(--ow-ink); font-family:var(--ow-display); font-size:1.3rem; border-bottom:1px solid var(--ow-line);}
.ow-scrim{position:fixed; inset:0; background:rgba(34,29,23,0.4); z-index:90; opacity:0; visibility:hidden; transition:.25s;}
.ow-scrim.is-open{opacity:1; visibility:visible;}
.ow-mobile-close{align-self:flex-end; background:none; border:1px solid var(--ow-line); width:36px; height:36px; border-radius:50%; margin-bottom:20px;}

/* HERO / MAGAZINE COVER */
.ow-hero{
  position:relative; min-height:82svh; display:flex; align-items:flex-end;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  padding:clamp(28px,6vh,60px) 0;
}
.ow-hero::before{
  content:''; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(34,29,23,0.08) 0%, rgba(34,29,23,0.55) 75%, rgba(34,29,23,0.72) 100%);
}
.ow-hero-inner{position:relative; z-index:1; color:#f5efe3; max-width:760px;}
.ow-hero-issue{font-family:var(--ow-mono); font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; opacity:0.85; margin-bottom:18px;}
.ow-hero h1{
  font-family:var(--ow-display); font-weight:700; font-size:clamp(2.6rem,9vw,6rem); line-height:0.96; margin:0 0 20px; letter-spacing:-0.01em;
}
.ow-hero h1 em{font-style:italic; color:#e7c9a9; font-weight:400;}
.ow-hero p{max-width:520px; font-size:clamp(1rem,2.2vw,1.15rem); opacity:0.92; margin-bottom:30px;}
.ow-btn{
  display:inline-block; background:var(--ow-accent,#6f6a60); color:var(--ow-accent-ink,#f7f2e8); text-decoration:none; padding:15px 30px;
  font-family:var(--ow-mono); font-size:0.74rem; text-transform:uppercase; letter-spacing:0.1em; border-radius:2px; border:1px solid var(--ow-accent,#6f6a60);
  transition:.2s;
}
.ow-btn:hover{background:transparent; color:var(--ow-accent,#6f6a60);}
.ow-btn-outline{
  display:inline-block; text-decoration:none; padding:15px 30px; color:#f5efe3; border:1px solid rgba(245,239,227,0.5);
  font-family:var(--ow-mono); font-size:0.74rem; text-transform:uppercase; letter-spacing:0.1em; border-radius:2px; margin-left:14px; transition:.2s;
}
.ow-btn-outline:hover{border-color:#fff;}
.ow-hero .ow-btn{box-shadow:0 10px 26px rgba(0,0,0,0.35); transition:transform .2s ease, box-shadow .2s ease, background .2s ease;}
.ow-hero .ow-btn:hover{color:#f5efe3; transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,0,0,0.4);}

/* SECTION SCAFFOLDING */
.ow-section{padding:clamp(60px,10vw,110px) 0;}
.ow-label{font-family:var(--ow-mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.16em; color:var(--ow-accent); display:flex; align-items:center; gap:14px; margin-bottom:22px;}
.ow-label::after{content:''; flex:1; height:1px; background:var(--ow-line);}
.ow-title{font-family:var(--ow-display); font-weight:700; font-size:clamp(1.9rem,4.6vw,3.2rem); max-width:700px; margin:0 0 24px; line-height:1.05;}
.ow-lede{color:var(--ow-ink-dim); font-size:1.05rem; max-width:640px; margin-bottom:10px;}

/* EDITORIAL / MAGAZINE-STYLE GRID */
.ow-editorial{display:grid; grid-template-columns:1.3fr 0.7fr; gap:20px;}
.ow-editorial .ow-big{aspect-ratio:4/5; overflow:hidden; border-radius:2px;}
.ow-editorial .ow-stack{display:flex; flex-direction:column; gap:20px;}
.ow-editorial .ow-small{aspect-ratio:4/3; overflow:hidden; border-radius:2px;}
.ow-editorial img{width:100%; height:100%; object-fit:cover;}
@media (max-width:820px){ .ow-editorial{grid-template-columns:1fr;} }

.ow-filters{display:flex; flex-wrap:wrap; gap:8px;}
.ow-chip{
  font-family:var(--ow-mono); font-size:0.68rem; text-transform:uppercase; letter-spacing:0.06em;
  padding:9px 16px; border:1px solid var(--ow-line); background:none; color:var(--ow-ink-dim);
  cursor:pointer; border-radius:20px; transition:.2s;
}
.ow-chip.is-active, .ow-chip:hover{border-color:var(--ow-accent); color:var(--ow-accent);}

/* LOOKBOOK GRID */
.ow-looks{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.ow-look{display:block; text-decoration:none; color:var(--ow-ink);}
.ow-look-img{aspect-ratio:3/4; overflow:hidden; border-radius:2px; margin-bottom:14px; background:var(--ow-bg-2); position:relative;}
.ow-look-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.ow-look:hover .ow-look-img img{transform:scale(1.04);}
.ow-no-photo{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:20px;
  font-family:var(--ow-mono); font-size:0.68rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--ow-ink-dim); opacity:0.6;
}
.ow-look-num{font-family:var(--ow-mono); font-size:0.68rem; color:var(--ow-accent); letter-spacing:0.1em; margin-bottom:6px;}
.ow-look h3{font-family:var(--ow-display); font-weight:700; font-size:1.2rem; margin:0 0 4px;}
.ow-look p{color:var(--ow-ink-dim); font-size:0.86rem; margin:0;}
@media (max-width:1024px){
  .ow-wrap, .ow-nav{padding-left:32px !important; padding-right:32px !important;}
}
@media (max-width:900px){ .ow-looks{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .ow-looks{grid-template-columns:1fr; max-width:420px; margin:0 auto;} }
@media (max-width:560px){
  .ow-wrap, .ow-nav{padding-left:24px !important; padding-right:24px !important;}
}

/* PULL QUOTE */
.ow-pullquote{
  background:var(--ow-ink); color:var(--ow-bg); padding:clamp(60px,10vw,100px) 0; text-align:center;
}
.ow-pullquote blockquote{
  font-family:var(--ow-display); font-style:italic; font-weight:400; font-size:clamp(1.3rem,3.6vw,2.3rem);
  max-width:780px; margin:0 auto 22px; line-height:1.3;
}
.ow-pullquote cite{font-family:var(--ow-mono); font-style:normal; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.65;}

/* ABOUT PAGE */
.ow-about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(30px,5vw,60px); align-items:start;}
.ow-about-grid img{width:100%; border-radius:2px; display:block;}
.ow-about-copy p{color:var(--ow-ink-dim); font-size:1.02rem; margin:0 0 20px;}
.ow-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--ow-line); border:1px solid var(--ow-line); margin-top:30px;}
.ow-stat{background:var(--ow-card); padding:22px 16px; text-align:center;}
.ow-stat b{display:block; font-family:var(--ow-display); font-size:1.9rem; color:var(--ow-accent);}
.ow-stat span{font-family:var(--ow-mono); font-size:0.64rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--ow-ink-dim);}
@media (max-width:820px){ .ow-about-grid{grid-template-columns:1fr;} }

/* CONTACT / INQUIRE */
.ow-contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,60px); align-items:start;}
.ow-form-row{margin-bottom:20px;}
.ow-form-row label{display:block; font-family:var(--ow-mono); font-size:0.66rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--ow-ink-dim); margin-bottom:8px;}
.ow-form-row input, .ow-form-row select, .ow-form-row textarea{
  width:100%; background:var(--ow-card); border:1px solid var(--ow-line); color:var(--ow-ink);
  font-family:var(--ow-body); font-size:1rem; padding:12px 14px; outline:none; border-radius:2px; transition:.2s;
}
.ow-form-row input:focus, .ow-form-row select:focus, .ow-form-row textarea:focus{border-color:var(--ow-accent);}
.ow-form-row textarea{min-height:120px; resize:vertical;}
.ow-note{font-family:var(--ow-mono); font-size:0.76rem; padding:14px 16px; border:1px solid var(--ow-line); margin-bottom:22px; background:var(--ow-card);}
.ow-detail{margin-bottom:20px;}
.ow-detail span{display:block; font-family:var(--ow-mono); font-size:0.64rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--ow-ink-dim); margin-bottom:4px;}
.ow-detail a{text-decoration:none; font-size:1rem;}
@media (max-width:820px){ .ow-contact-grid{grid-template-columns:1fr;} }

/* SINGLE LOOK */
.ow-single-hero{aspect-ratio:16/9; overflow:hidden; margin-bottom:34px; border-radius:2px;}
.ow-single-hero img{width:100%; height:100%; object-fit:cover;}
.ow-single-meta{display:flex; gap:24px; flex-wrap:wrap; font-family:var(--ow-mono); font-size:0.72rem; color:var(--ow-ink-dim); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:30px; border-top:1px solid var(--ow-line); border-bottom:1px solid var(--ow-line); padding:18px 0;}
.ow-description p{color:var(--ow-ink-dim); font-size:1.02rem; margin:0 0 20px; max-width:720px;}
.ow-shot-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px;}
.ow-shot-grid img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:2px; display:block;}
@media (max-width:820px){ .ow-shot-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .ow-shot-grid{grid-template-columns:1fr; max-width:420px;} }

/* FOOTER */
.ow-footer{border-top:1px solid var(--ow-line); background:var(--ow-bg-2);}
.ow-foot-top{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:clamp(24px,4vw,40px); padding:clamp(48px,8vw,72px) 0 clamp(32px,5vw,48px);}
.ow-foot-brand p{color:var(--ow-ink-dim); font-size:0.88rem; max-width:280px; margin:14px 0 18px;}
.ow-foot-social{display:flex; gap:12px;}
.ow-foot-social a{width:34px; height:34px; border:1px solid var(--ow-line); border-radius:50%; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:.2s; color:var(--ow-ink);}
.ow-foot-social a:hover{border-color:var(--ow-accent); color:var(--ow-accent);}
.ow-foot-col h4{font-family:var(--ow-mono); font-size:0.66rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--ow-ink-dim); margin:0 0 16px;}
.ow-foot-col a{display:block; text-decoration:none; color:var(--ow-ink); font-size:0.92rem; margin-bottom:10px; opacity:0.88;}
.ow-foot-col a:hover{opacity:1; color:var(--ow-accent);}
.ow-foot-credit{font-size:0.86rem; color:var(--ow-ink-dim); margin:0 0 12px; line-height:1.5;}
.ow-foot-bottom{border-top:1px solid var(--ow-line); padding:20px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-family:var(--ow-mono); font-size:0.65rem; color:var(--ow-ink-dim); text-transform:uppercase; letter-spacing:0.08em;}
.ow-foot-bottom a{text-decoration:none; opacity:0.85;}
.ow-foot-bottom a:hover{opacity:1; color:var(--ow-accent);}
@media (max-width:820px){ .ow-foot-top{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .ow-foot-top{grid-template-columns:1fr;} }

/* PHOTOGRAPHY CROSS-PROMO */
.ow-credit{
  background:var(--ow-card); border:1px solid var(--ow-line); border-radius:2px;
  padding:clamp(32px,5vw,48px); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.ow-credit-text h3{font-family:var(--ow-display); font-size:1.4rem; margin:0 0 8px;}
.ow-credit-text p{color:var(--ow-ink-dim); font-size:0.92rem; margin:0; max-width:480px;}
