/*
Theme Name: MediaManiaK
Theme URI: https://mediamaniak.co.za/
Author: MediaManiaK
Description: Bespoke editorial theme for MediaManiaK, a corporate media and event production company in Johannesburg. Built without a page builder or paid plugins.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: mediamaniak
*/

:root{
  --bg:#FFFFFF;
  --surface:#FAF7F3;
  --ink:#14110F;
  --ink-70:rgba(20,17,15,.70);
  --ink-55:rgba(20,17,15,.55);
  --accent:#F5C21C;
  --accent-deep:#B8890A;
  --line:#E9E2D9;
  --line-dark:rgba(255,255,255,.14);
  --on-dark:rgba(255,255,255,.72);
  --wrap:1200px;
  --pad:96px;
  --r:2px;
  --r-md:3px;
  --font:"Roboto","Helvetica Neue",Arial,system-ui,sans-serif;
  --ease:cubic-bezier(.32,.72,.28,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
:where(h1,h2,h3,h4,h5,h6){margin:0;font-weight:700;line-height:1.08;letter-spacing:-.02em;}
:where(p,ul,ol,figure,blockquote,dl,pre){margin:0;}
:where(img,svg,video){max-width:100%;height:auto;display:block;}
:where(a){color:inherit;text-decoration:none;}
:where(button,input,select,textarea){font:inherit;color:inherit;}
:where(ul,ol){padding:0;list-style:none;}
:where(table){border-collapse:collapse;width:100%;}

::selection{background:var(--accent);color:var(--ink);}

/* ---------- layout primitives ---------- */
.mm-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px;}
.mm-sec{padding:var(--pad) 0;}
.mm-sec--tight{padding:calc(var(--pad) * .62) 0;}
.mm-surface{background:var(--surface);}
.mm-dark{background:var(--ink);color:var(--on-dark);}
.mm-dark h1,.mm-dark h2,.mm-dark h3,.mm-dark h4{color:#fff;}
.mm-dark a{color:#fff;}
.mm-rule{height:1px;background:var(--line);border:0;margin:0;}
.mm-dark .mm-rule{background:var(--line-dark);}

/* ---------- type scale ---------- */
.mm-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 20px;}
.mm-dark .mm-eyebrow{color:var(--accent);}
.mm-h1{font-size:clamp(40px,6.2vw,78px);}
.mm-h2{font-size:clamp(30px,3.9vw,50px);}
.mm-h3{font-size:clamp(21px,2vw,26px);letter-spacing:-.015em;}
.mm-h4{font-size:17px;letter-spacing:-.005em;}
.mm-lead{font-size:clamp(18px,1.55vw,21px);line-height:1.6;color:var(--ink-70);max-width:64ch;}
.mm-dark .mm-lead{color:var(--on-dark);}
.mm-body{max-width:68ch;color:var(--ink-70);}
.mm-dark .mm-body{color:var(--on-dark);}
.mm-micro{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;}

/* ---------- buttons ---------- */
.mm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 30px;border-radius:var(--r);border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .26s var(--ease),color .26s var(--ease),border-color .26s var(--ease);}
.mm-btn--primary{background:var(--accent);color:var(--ink);border-color:var(--accent);}
.mm-btn--primary:hover{background:#E0AE0D;border-color:#E0AE0D;color:var(--ink);}
.mm-btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.mm-btn--ghost:hover{background:var(--ink);color:#fff;}
.mm-dark .mm-btn--ghost,.mm-hero .mm-btn--ghost{color:#fff;border-color:rgba(255,255,255,.5);}
.mm-dark .mm-btn--ghost:hover,.mm-hero .mm-btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff;}
.mm-btns{display:flex;flex-wrap:wrap;gap:14px;}
.mm-link{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:5px;transition:gap .26s var(--ease);}
.mm-link:hover{gap:15px;}

/* ---------- reveal (degrades to visible without JS) ---------- */
.js .mm-rev{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.js .mm-rev.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .js .mm-rev{opacity:1!important;transform:none!important;transition:none!important;}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

/* ---------- skip link ---------- */
.mm-skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--accent);color:var(--ink);padding:14px 22px;font-weight:700;}
.mm-skip:focus{left:0;}
:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px;}

@media (max-width:900px){
  :root{--pad:62px;}
  body{font-size:16px;}
  .mm-wrap{padding:0 20px;}
}
