/* ==========================================================================
   MMA Theme — Premium Cinematic Dark Agency Style
   Author: My Marketing Assistant
   Notes:  Designed to feel like a high-end Melbourne creative studio.
           Dark luxury, sharp accents, generous spacing, micro-interactions.
   ========================================================================== */

/* ---------- CSS Variables ---------- */
:root{
    /* Brand — Black & Gold */
    --mma-primary:    #000000;
    --mma-bg:         #000000;
    --mma-bg-2:       #0A0A0A;
    --mma-bg-3:       #141414;
    --mma-fg:         #F4F1EA;
    --mma-fg-dim:     #C8C2B4;
    --mma-fg-muted:   #8A8478;
    --mma-line:       rgba(201,169,97,.10);
    --mma-line-2:     rgba(201,169,97,.22);
    --mma-accent:     #C9A961;        /* warm antique gold (matches client logo) */
    --mma-accent-2:   #E5C76E;        /* brighter gold for hover */
    --mma-accent-dim: #8B7541;        /* deep gold */
    --mma-glass:      rgba(201,169,97,.05);

    /* Type */
    --font-display: "Clash Display", "Manrope", "Helvetica Neue", Arial, sans-serif;
    --font-body:    "Satoshi", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;

    /* Layout */
    --container: 1400px;
    --container-narrow: 880px;
    --radius: 18px;
    --radius-sm: 10px;
    --shadow-1: 0 8px 32px rgba(0,0,0,.55);
    --shadow-2: 0 30px 80px rgba(0,0,0,.65);

    /* Motion */
    --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
    margin:0;
    font-family:var(--font-body);
    font-weight:400;
    font-size:16px;
    line-height:1.6;
    color:var(--mma-fg);
    background:var(--mma-bg);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
}
img,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color .25s var(--ease); }
a:hover{ color:var(--mma-accent); }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }

::selection{ background:var(--mma-accent); color:#000; }

/* Custom scrollbar */
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--mma-bg); }
::-webkit-scrollbar-thumb{ background:rgba(201,169,97,.25); border-radius:6px; }
::-webkit-scrollbar-thumb:hover{ background:rgba(201,169,97,.45); }

.screen-reader-text{
    position:absolute !important; clip:rect(1px,1px,1px,1px);
    width:1px; height:1px; overflow:hidden;
}
.skip-link{ position:absolute; top:-100px; left:0; background:var(--mma-accent); color:#000; padding:10px 16px; z-index:1000; }
.skip-link:focus{ top:0; }

/* ---------- Typography ---------- */
h1,h2,h3,h4{
    font-family:var(--font-display);
    font-weight:600;
    letter-spacing:-.02em;
    line-height:1.05;
    margin:0 0 .6em;
    color:var(--mma-fg);
}
h1{ font-size:clamp(40px, 6vw, 88px); font-weight:700; letter-spacing:-.03em; }
h2{ font-size:clamp(32px, 4.5vw, 64px); letter-spacing:-.025em; }
h3{ font-size:clamp(22px, 2.4vw, 32px); }
h4{ font-size:18px; }
p{ margin:0 0 1.2em; color:var(--mma-fg-dim); }
em{ font-style:italic; color:var(--mma-accent); font-family:var(--font-display); }
strong{ font-weight:700; color:var(--mma-fg); }

.mma-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--font-body); font-size:13px; font-weight:500;
    text-transform:uppercase; letter-spacing:.22em;
    color:var(--mma-fg-muted);
    margin-bottom:18px;
}
.mma-eyebrow i{ color:var(--mma-accent); font-size:9px; animation:pulse 2s ease-in-out infinite; }
.mma-eyebrow-light{ color:rgba(255,255,255,.7); }

@keyframes pulse{
    0%,100%{ opacity:1; transform:scale(1); }
    50%{ opacity:.5; transform:scale(1.4); }
}

/* ---------- Layout ---------- */
.mma-container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }
.mma-narrow{ max-width:var(--container-narrow); }
.mma-section{ padding:120px 0; position:relative; }
.mma-section-head{ max-width:760px; margin:0 auto 64px; text-align:center; }
.mma-section-head h2{ margin-bottom:20px; }
.mma-section-head p{ font-size:18px; color:var(--mma-fg-dim); }

@media (max-width:768px){
    .mma-section{ padding:80px 0; }
    .mma-section-head{ margin-bottom:48px; }
}

/* ---------- Buttons ---------- */
.mma-btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:16px 28px; border-radius:999px;
    font-family:var(--font-body); font-weight:600; font-size:15px;
    letter-spacing:.01em;
    cursor:pointer;
    transition:transform .35s var(--ease), background .25s var(--ease), color .25s var(--ease), box-shadow .35s var(--ease);
    position:relative; overflow:hidden;
}
.mma-btn:hover{ transform:translateY(-2px); }
.mma-btn-sm{ padding:11px 20px; font-size:13px; }
.mma-btn-block{ display:flex; width:100%; justify-content:center; }

.mma-btn-primary{
    background:linear-gradient(135deg, #D4B871 0%, #C9A961 50%, #A8893E 100%);
    color:#000;
    box-shadow:0 10px 30px -10px rgba(201,169,97,.6), inset 0 1px 0 rgba(255,255,255,.18);
    font-weight:700;
}
.mma-btn-primary:hover{
    background:linear-gradient(135deg, #E5C76E 0%, #D4B871 50%, #C9A961 100%);
    color:#000;
    box-shadow:0 18px 40px -12px rgba(201,169,97,.75), inset 0 1px 0 rgba(255,255,255,.25);
}

.mma-btn-ghost{
    background:transparent;
    color:var(--mma-fg);
    border:1px solid var(--mma-line-2);
}
.mma-btn-ghost:hover{
    background:rgba(255,255,255,.05);
    border-color:var(--mma-accent);
    color:var(--mma-accent);
}

/* ---------- Header ---------- */
.mma-header{
    position:fixed; top:0; left:0; right:0;
    z-index:100;
    padding:14px 0;
    background:rgba(0,0,0,.65);
    backdrop-filter:blur(16px) saturate(180%);
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    border-bottom:1px solid var(--mma-line);
    transition:padding .3s var(--ease), background .3s var(--ease);
}
.mma-header.is-scrolled{ padding:8px 0; background:rgba(0,0,0,.92); }
.mma-header-inner{
    max-width:var(--container);
    margin:0 auto;
    padding:0 24px;
    display:flex; align-items:center; justify-content:space-between;
    gap:24px;
}
.mma-logo{ display:inline-flex; align-items:center; flex:0 0 auto; }
.mma-logo img{ max-height:42px; width:auto; }
.mma-logo-text{
    font-family:var(--font-display); font-weight:700; font-size:18px;
    letter-spacing:-.01em; color:var(--mma-fg);
}
.mma-logo-text .accent{ color:var(--mma-accent); font-weight:500; }

.mma-nav{ flex:1 1 auto; display:flex; justify-content:center; }
.mma-menu{
    display:flex; gap:6px; list-style:none; padding:0; margin:0;
    align-items:center;
}
.mma-menu > li > a{
    display:inline-flex; align-items:center; gap:6px;
    padding:10px 14px; border-radius:999px;
    font-size:14px; font-weight:500;
    color:var(--mma-fg-dim);
    transition:all .25s var(--ease);
}
.mma-menu > li > a:hover,
.mma-menu > li.current-menu-item > a{ color:var(--mma-fg); background:var(--mma-glass); }
.nav-caret{ font-size:10px; opacity:.6; transition:transform .25s var(--ease); }
.mma-menu > li.has-mega-menu:hover .nav-caret{ transform:rotate(180deg); }

/* Mega menu */
.mma-menu .sub-menu{
    list-style:none; padding:24px; margin:0;
    position:absolute; left:50%; top:calc(100% + 14px);
    transform:translateX(-50%) translateY(8px);
    background:rgba(15,15,20,.95);
    backdrop-filter:blur(20px);
    border:1px solid var(--mma-line);
    border-radius:var(--radius);
    box-shadow:var(--shadow-2);
    opacity:0; visibility:hidden;
    transition:all .3s var(--ease);
    min-width:680px;
}
.mma-menu .mega-menu{
    display:grid; grid-template-columns:repeat(2, minmax(280px,1fr));
    gap:8px;
}
.mma-menu > li{ position:relative; }
.mma-menu > li:hover > .sub-menu{
    opacity:1; visibility:visible;
    transform:translateX(-50%) translateY(0);
}
.mma-menu .sub-menu li{ list-style:none; }
.mma-menu .sub-menu a{
    display:flex; align-items:flex-start; gap:14px;
    padding:14px 16px; border-radius:12px;
    color:var(--mma-fg-dim); font-size:14px;
    transition:all .25s var(--ease);
}
.mma-menu .sub-menu a:hover{ background:var(--mma-glass); color:var(--mma-fg); }
.mma-menu .sub-menu a i{
    width:42px; height:42px; flex:0 0 42px;
    display:inline-flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--mma-accent), #b9d640);
    color:#000; border-radius:12px;
    font-size:18px;
}
.mma-menu .sub-menu a span{ display:flex; flex-direction:column; gap:4px; }
.mma-menu .sub-menu a strong{ font-weight:600; }
.mma-menu .sub-menu a small{ font-size:12px; color:var(--mma-fg-muted); line-height:1.4; }

.mma-header-actions{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.mma-header-phone{
    display:inline-flex; align-items:center; gap:8px;
    font-size:13px; font-weight:500; color:var(--mma-fg-dim);
    padding:8px 14px; border-radius:999px;
    transition:all .25s var(--ease);
}
.mma-header-phone:hover{ color:var(--mma-accent); }
.mma-header-phone i{ color:var(--mma-accent); }

.mma-menu-toggle{
    display:none;
    width:42px; height:42px; border-radius:50%;
    background:var(--mma-glass); border:1px solid var(--mma-line-2);
    flex-direction:column; gap:5px; align-items:center; justify-content:center;
}
.mma-menu-toggle span{ display:block; width:18px; height:1.5px; background:var(--mma-fg); border-radius:2px; transition:transform .25s var(--ease); }
.mma-menu-toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.mma-menu-toggle.is-open span:nth-child(2){ opacity:0; }
.mma-menu-toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1100px){
    .mma-header-phone{ display:none; }
}
@media (max-width:960px){
    .mma-menu-toggle{ display:flex; }
    .mma-nav{
        position:fixed; inset:0; top:72px;
        background:rgba(10,10,15,.98);
        backdrop-filter:blur(20px);
        padding:32px 24px;
        flex-direction:column;
        align-items:stretch;
        opacity:0; visibility:hidden;
        transition:all .35s var(--ease);
    }
    .mma-nav.is-open{ opacity:1; visibility:visible; }
    .mma-menu{ flex-direction:column; gap:6px; align-items:stretch; }
    .mma-menu > li > a{ font-size:20px; padding:14px 16px; }
    .mma-menu .sub-menu{
        position:static; transform:none; opacity:1; visibility:visible;
        min-width:0; padding:8px; background:transparent;
        border:none; box-shadow:none;
    }
    .mma-menu .mega-menu{ grid-template-columns:1fr; }
}

/* ---------- Hero ---------- */


.mma-hero{
    position:relative;
    min-height:100vh;
    min-height:100svh;
    display:flex; align-items:center;
    padding:140px 0 100px;
    overflow:hidden;
    isolation:isolate;
}
.mma-hero-video-wrap{
    position:absolute; inset:0; z-index:-1;
}
.mma-hero-video{
    width:100%; height:100%;
    object-fit:cover;
}
.mma-hero-overlay{
    position:absolute; inset:0;
    background:
        linear-gradient(180deg, rgba(10,10,15,.55) 0%, rgba(10,10,15,.4) 40%, rgba(10,10,15,.95) 100%),
        linear-gradient(90deg, rgba(10,10,15,.7) 0%, transparent 60%);
}
.mma-hero-grain{
    position:absolute; inset:0; pointer-events:none; opacity:.18; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}
.mma-hero-content{ width:100%; }
.mma-hero-text{ max-width:760px; }
.mma-hero-title{
    margin:0 0 22px;
    font-size:clamp(44px, 7vw, 104px);
    line-height:1; letter-spacing:-.035em;
}
.mma-hero-sub{
    font-size:clamp(16px, 1.5vw, 22px);
    line-height:1.5; max-width:580px;
    color:var(--mma-fg-dim);
    margin-bottom:36px;
}
.mma-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }
.mma-hero-trust{
    list-style:none; padding:0; margin:0;
    display:flex; gap:24px; flex-wrap:wrap;
    font-size:13px; color:var(--mma-fg-muted);
}
.mma-hero-trust i{ color:var(--mma-accent); margin-right:6px; }

.mma-hero-scroll{
    position:absolute; left:50%; bottom:36px;
    transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:10px;
    font-size:11px; letter-spacing:.3em; text-transform:uppercase;
    color:var(--mma-fg-muted);
    z-index:2;
}
.mma-hero-scroll span{
    width:1px; height:42px;
    background:linear-gradient(180deg, transparent 0%, var(--mma-fg-dim) 100%);
    position:relative; overflow:hidden;
}
.mma-hero-scroll span::after{
    content:""; position:absolute; top:0; left:0; right:0; height:14px;
    background:var(--mma-accent);
    animation:scrollIndicator 2.2s var(--ease) infinite;
}
@keyframes scrollIndicator{
    0%{ transform:translateY(-100%); }
    100%{ transform:translateY(420%); }
}

/* ---------- Logo Strip ---------- */
.mma-logo-strip{ padding:64px 0; background:var(--mma-bg-2); border-block:1px solid var(--mma-line); overflow:hidden; }
.mma-logo-strip-label{
    text-align:center; font-size:12px; letter-spacing:.3em; text-transform:uppercase;
    color:var(--mma-fg-muted); margin-bottom:36px;
    display:inline-flex; align-items:center; gap:10px; width:100%; justify-content:center;
}
.mma-pulse-dot{
    width:8px; height:8px; border-radius:50%; background:#2ad17b;
    box-shadow:0 0 0 0 rgba(42,209,123,.6);
    animation:pulseDot 1.8s infinite;
}
@keyframes pulseDot{
    0%{ box-shadow:0 0 0 0 rgba(42,209,123,.5); }
    70%{ box-shadow:0 0 0 14px rgba(42,209,123,0); }
    100%{ box-shadow:0 0 0 0 rgba(42,209,123,0); }
}
.mma-marquee{ display:flex; overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.mma-marquee-track{
    display:flex; gap:64px;
    animation:marquee 38s linear infinite;
    flex-shrink:0;
}
@keyframes marquee{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}
.mma-marquee:hover .mma-marquee-track{ animation-play-state:paused; }
.mma-marquee-item{
    flex:0 0 auto;
    height:60px;
    display:flex; align-items:center;
    filter:grayscale(1) brightness(1.6);
    opacity:.6;
    transition:all .3s var(--ease);
}
.mma-marquee-item:hover{ filter:none; opacity:1; }
.mma-marquee-item img,
.mma-marquee-item svg{ max-height:50px; width:auto; }

/* ---------- Studio video section ---------- */
.mma-studio{ position:relative; min-height:80vh; display:flex; align-items:flex-end; overflow:hidden; }
.mma-studio-video-wrap{ position:absolute; inset:0; z-index:0; }
.mma-studio-video{ width:100%; height:100%; object-fit:cover; }
.mma-studio-overlay{
    position:absolute; inset:0;
    background:
        linear-gradient(180deg, rgba(10,10,15,.4) 0%, rgba(10,10,15,.8) 100%);
}
.mma-studio-content{ position:relative; z-index:2; width:100%; padding:140px 0 80px; }
.mma-studio-title{
    font-size:clamp(48px, 8vw, 140px); line-height:.95;
    letter-spacing:-.04em; margin-bottom:32px;
}
.mma-studio-lede{ font-size:20px; max-width:520px; color:var(--mma-fg-dim); margin-bottom:48px; }
.mma-studio-stats{ display:flex; gap:48px; flex-wrap:wrap; }
.mma-studio-stats > div{ display:flex; flex-direction:column; gap:4px; }
.mma-studio-stats strong{ font-family:var(--font-display); font-size:42px; font-weight:600; color:var(--mma-accent); }
.mma-studio-stats span{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--mma-fg-muted); }

/* ---------- Services grid ---------- */
.mma-service-cards{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
}
@media (max-width:960px){ .mma-service-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .mma-service-cards{ grid-template-columns:1fr; } }

.mma-service-card{
    position:relative;
    display:flex; flex-direction:column;
    padding:36px;
    background:var(--mma-bg-2);
    border:1px solid var(--mma-line);
    border-radius:var(--radius);
    overflow:hidden;
    transition:transform .4s var(--ease), border-color .3s var(--ease), background .4s var(--ease);
    color:var(--mma-fg);
    min-height:280px;
}
.mma-service-card:hover{
    transform:translateY(-6px);
    border-color:var(--mma-accent);
    background:var(--mma-bg-3);
}
.mma-service-card-icon{
    width:84px; height:84px; border-radius:18px;
    display:inline-flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(201,169,97,.12), rgba(0,0,0,.4));
    border:1px solid rgba(201,169,97,.30);
    color:var(--mma-accent);
    font-size:34px;
    margin-bottom:24px;
    transition:all .35s var(--ease);
    overflow:hidden;
    padding:8px;
}
.mma-service-card-icon img{
    width:100%; height:100%; object-fit:contain;
    filter:drop-shadow(0 0 8px rgba(201,169,97,.25));
}
.mma-service-card:hover .mma-service-card-icon{ transform:rotate(-8deg) scale(1.06); }
.mma-service-card-title{ font-size:24px; margin-bottom:12px; }
.mma-service-card-desc{ color:var(--mma-fg-dim); margin-bottom:24px; flex:1; font-size:15px; }
.mma-service-card-cta{
    display:inline-flex; align-items:center; gap:8px;
    font-size:13px; font-weight:600; letter-spacing:.05em;
    color:var(--mma-accent);
}
.mma-service-card-cta i{ transition:transform .25s var(--ease); }
.mma-service-card:hover .mma-service-card-cta i{ transform:translateX(6px); }
.mma-service-card-bg{
    position:absolute; right:-60px; bottom:-60px;
    width:240px; height:240px; border-radius:50%;
    background:radial-gradient(circle, rgba(201,169,97,.10), transparent 70%);
    opacity:0; transition:opacity .4s var(--ease);
}
.mma-service-card:hover .mma-service-card-bg{ opacity:1; }

/* ---------- Stats ---------- */
.mma-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media (max-width:760px){ .mma-stats{ grid-template-columns:repeat(2,1fr); } }
.mma-stat{ text-align:center; padding:32px 16px; border:1px solid var(--mma-line); border-radius:var(--radius); background:var(--mma-bg-2); }
.mma-stat-num, .mma-stat-suffix{
    display:inline-block;
    font-family:var(--font-display);
    font-size:clamp(40px, 5vw, 64px); font-weight:600;
    color:var(--mma-accent); letter-spacing:-.03em;
}
.mma-stat-suffix{ margin-left:2px; }
.mma-stat-label{ font-size:13px; letter-spacing:.15em; text-transform:uppercase; color:var(--mma-fg-muted); margin-top:8px; }

/* ---------- Showcase ---------- */
.mma-showcase-filters{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:32px; }
.mma-chip{
    padding:9px 18px; border-radius:999px;
    border:1px solid var(--mma-line-2);
    background:transparent; color:var(--mma-fg-dim);
    font-size:13px; font-weight:500;
    transition:all .25s var(--ease);
}
.mma-chip:hover{ background:var(--mma-glass); color:var(--mma-fg); }
.mma-chip.is-active{ background:var(--mma-accent); color:#000; border-color:var(--mma-accent); }

.mma-showcase-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    grid-auto-rows:300px;
    gap:14px;
}
.mma-showcase-item.mma-span-2{ grid-column:span 2; grid-row:span 1; }
@media (max-width:960px){
    .mma-showcase-grid{ grid-template-columns:repeat(2,1fr); }
    .mma-showcase-item.mma-span-2{ grid-column:span 2; }
}
@media (max-width:560px){
    .mma-showcase-grid{ grid-template-columns:1fr; grid-auto-rows:240px; }
    .mma-showcase-item.mma-span-2{ grid-column:span 1; }
}

.mma-showcase-item{
    position:relative; overflow:hidden; border-radius:var(--radius);
    background:var(--mma-bg-2);
    transition:transform .45s var(--ease);
    display:block;
}
.mma-showcase-item:hover{ transform:translateY(-4px); }
.mma-showcase-media{
    width:100%; height:100%; object-fit:cover;
    transition:transform .8s var(--ease), filter .35s var(--ease);
}
.mma-showcase-item:hover .mma-showcase-media{ transform:scale(1.06); filter:brightness(.7); }
.mma-showcase-info{
    position:absolute; left:0; right:0; bottom:0;
    padding:24px;
    background:linear-gradient(180deg, transparent, rgba(0,0,0,.85));
    transform:translateY(20px); opacity:.85;
    transition:all .35s var(--ease);
}
.mma-showcase-item:hover .mma-showcase-info{ transform:translateY(0); opacity:1; }
.mma-showcase-cat{
    font-size:11px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--mma-accent);
}
.mma-showcase-info h3{ font-size:20px; margin:6px 0 0; color:#fff; }
.mma-showcase-icon{
    position:absolute; top:18px; right:18px;
    width:42px; height:42px; border-radius:50%;
    background:rgba(255,255,255,.1); color:#fff;
    display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(8px);
    opacity:0; transform:translateY(-8px);
    transition:all .35s var(--ease);
}
.mma-showcase-item:hover .mma-showcase-icon{ opacity:1; transform:translateY(0); background:var(--mma-accent); color:#000; }
.mma-showcase-cta{ text-align:center; margin-top:48px; }

/* ---------- Testimonials ---------- */
.mma-testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:900px){ .mma-testimonial-grid{ grid-template-columns:1fr; } }
.mma-testimonial{
    margin:0; padding:36px;
    background:var(--mma-bg-2);
    border:1px solid var(--mma-line);
    border-radius:var(--radius);
    transition:transform .35s var(--ease), border-color .25s var(--ease);
}
.mma-testimonial:hover{ transform:translateY(-4px); border-color:var(--mma-accent); }
.mma-stars{ color:var(--mma-accent); margin-bottom:18px; font-size:13px; display:flex; gap:3px; }
.mma-testimonial blockquote{
    margin:0 0 28px; font-family:var(--font-display); font-size:20px;
    line-height:1.5; letter-spacing:-.01em; color:var(--mma-fg);
}
.mma-testimonial figcaption{ display:flex; align-items:center; gap:14px; }
.mma-testimonial figcaption img,
.mma-avatar-initial{
    width:48px; height:48px; border-radius:50%; object-fit:cover;
    background:linear-gradient(135deg, var(--mma-accent), var(--mma-accent-2));
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:700; color:#000; font-size:20px;
}
.mma-testimonial figcaption strong{ display:block; font-size:14px; color:var(--mma-fg); }
.mma-testimonial figcaption span{ font-size:12px; color:var(--mma-fg-muted); }

/* ---------- FAQ ---------- */
.mma-faq{ border-top:1px solid var(--mma-line); max-width:900px; margin-left:auto; margin-right:auto; }
.mma-faq-item{ border-bottom:1px solid var(--mma-line); }
.mma-faq-q{
    display:flex; justify-content:space-between; align-items:center;
    width:100%; padding:24px 0; text-align:left;
    font-family:var(--font-display); font-size:20px; font-weight:500;
    color:var(--mma-fg);
}
.mma-faq-q i{ color:var(--mma-accent); transition:transform .3s var(--ease); }
.mma-faq-q[aria-expanded="true"] i{ transform:rotate(45deg); }
.mma-faq-a{
    max-height:0; overflow:hidden;
    transition:max-height .4s var(--ease), padding .3s var(--ease);
    color:var(--mma-fg-dim);
}
.mma-faq-q[aria-expanded="true"] + .mma-faq-a{ max-height:500px; padding:0 0 24px; }

/* ---------- Forms ---------- */
.mma-lead-form-wrap{
    background:linear-gradient(160deg, var(--mma-bg-2), var(--mma-bg-3));
    border:1px solid var(--mma-line);
    border-radius:var(--radius);
    padding:48px;
    max-width:680px; margin:0 auto;
    position:relative; overflow:hidden;
}
.mma-lead-form-wrap::before{
    content:""; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg, var(--mma-accent), transparent);
}
.mma-lead-form-head{ margin-bottom:32px; }
.mma-lead-form-head h2{ font-size:32px; margin-bottom:8px; }
.mma-lead-form-head p{ font-size:15px; }
.mma-lead-form label{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.mma-lead-form label > span{ font-size:13px; font-weight:500; color:var(--mma-fg-dim); }
.mma-lead-form label em{ color:var(--mma-accent); font-style:normal; font-family:inherit; }
.mma-lead-form input,
.mma-lead-form select,
.mma-lead-form textarea{
    width:100%; padding:14px 16px;
    background:var(--mma-bg);
    border:1px solid var(--mma-line-2);
    border-radius:12px;
    color:var(--mma-fg); font-family:inherit; font-size:15px;
    transition:border-color .25s var(--ease), background .25s var(--ease);
}
.mma-lead-form input:focus,
.mma-lead-form select:focus,
.mma-lead-form textarea:focus{ outline:none; border-color:var(--mma-accent); background:var(--mma-bg-2); }
.mma-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px){ .mma-form-row{ grid-template-columns:1fr; } .mma-lead-form-wrap{ padding:32px 24px; } }
.mma-form-trust{ font-size:12px; color:var(--mma-fg-muted); margin-top:14px; text-align:center; }
.mma-form-trust i{ color:var(--mma-accent); margin-right:5px; }
.mma-form-response{ margin-top:18px; padding:14px 18px; border-radius:12px; font-size:14px; display:none; }
.mma-form-response.is-success{ display:block; background:rgba(42,209,123,.12); border:1px solid rgba(42,209,123,.4); color:#7be0a8; }
.mma-form-response.is-error{ display:block; background:rgba(255,80,80,.12); border:1px solid rgba(255,80,80,.4); color:#ff9a9a; }

/* ---------- Contact page ---------- */
.mma-contact-hero{
    position:relative; min-height:60vh; display:flex; align-items:center;
    padding:160px 0 80px; overflow:hidden; isolation:isolate;
}
.mma-contact-hero-bg{ position:absolute; inset:0; z-index:-1; }
.mma-contact-hero-bg video{ width:100%; height:100%; object-fit:cover; }
.mma-contact-hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,15,.65), rgba(10,10,15,.95)); }

.mma-quick-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media (max-width:900px){ .mma-quick-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .mma-quick-cards{ grid-template-columns:1fr; } }
.mma-quick-card{
    padding:28px; border-radius:var(--radius);
    background:var(--mma-bg-2); border:1px solid var(--mma-line);
    transition:all .3s var(--ease);
    display:block;
}
.mma-quick-card:hover{ transform:translateY(-4px); border-color:var(--mma-accent); }
.mma-quick-card i{
    width:48px; height:48px; border-radius:12px;
    background:rgba(232,255,90,.1); color:var(--mma-accent);
    display:inline-flex; align-items:center; justify-content:center;
    font-size:20px; margin-bottom:18px;
}
.mma-quick-card h3{ font-size:18px; margin-bottom:6px; }
.mma-quick-card p{ font-weight:600; color:var(--mma-fg); margin-bottom:4px; }
.mma-quick-card span{ font-size:12px; color:var(--mma-fg-muted); letter-spacing:.05em; }

.mma-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
@media (max-width:900px){ .mma-contact-grid{ grid-template-columns:1fr; } }
.mma-contact-info ul.mma-contact-list{ list-style:none; padding:0; margin:24px 0; }
.mma-contact-info ul.mma-contact-list li{ display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--mma-line); color:var(--mma-fg-dim); }
.mma-contact-info ul.mma-contact-list i{ color:var(--mma-accent); width:18px; }
.mma-map{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--mma-line); margin-bottom:24px; }
.mma-socials{ display:flex; gap:10px; }
.mma-socials a{
    width:42px; height:42px; border-radius:50%;
    border:1px solid var(--mma-line-2);
    display:inline-flex; align-items:center; justify-content:center;
    transition:all .25s var(--ease);
}
.mma-socials a:hover{ background:var(--mma-accent); color:#000; border-color:var(--mma-accent); transform:translateY(-2px); }

/* ---------- Service hero (single) ---------- */
.mma-service-hero{
    position:relative; min-height:60vh; display:flex; align-items:flex-end;
    padding:200px 0 80px; overflow:hidden; isolation:isolate;
}
.mma-service-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; }
.mma-service-hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,15,.3), rgba(10,10,15,.95)); z-index:-1; }
.mma-service-hero-content{ width:100%; }
.mma-service-hero-lede{ font-size:20px; max-width:680px; color:var(--mma-fg-dim); margin:18px 0 32px; }

/* ---------- Archive head ---------- */
.mma-archive-head{ padding:160px 0 80px; border-bottom:1px solid var(--mma-line); }
.mma-archive-head-dark{ background:linear-gradient(180deg, var(--mma-bg-2), var(--mma-bg)); }

/* ---------- Blog ---------- */
.mma-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:60px 0; }
@media (max-width:900px){ .mma-blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .mma-blog-grid{ grid-template-columns:1fr; } }
.mma-blog-card{
    background:var(--mma-bg-2);
    border:1px solid var(--mma-line);
    border-radius:var(--radius);
    overflow:hidden;
    transition:all .3s var(--ease);
}
.mma-blog-card:hover{ transform:translateY(-4px); border-color:var(--mma-accent); }
.mma-blog-card-link{ display:block; color:inherit; }
.mma-blog-card-img img{ width:100%; height:220px; object-fit:cover; }
.mma-blog-card-body{ padding:24px; }
.mma-blog-meta{ font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--mma-fg-muted); }
.mma-blog-title{ font-size:22px; margin:8px 0 12px; }
.mma-blog-readmore{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--mma-accent); margin-top:12px; }

/* ---------- Single ---------- */
.mma-single-hero{ position:relative; min-height:55vh; display:flex; align-items:flex-end; padding:200px 0 60px; overflow:hidden; }
.mma-single-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; }
.mma-single-hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,15,.4), rgba(10,10,15,.95)); z-index:-1; }
.mma-single-body{ padding:60px 0; font-size:17px; }
.mma-single-body p{ color:var(--mma-fg-dim); }
.mma-single-body h2,.mma-single-body h3{ margin-top:1.6em; }

/* ---------- CTA Block ---------- */
.mma-cta-block{ padding:80px 0; }
.mma-cta-block-inner{
    max-width:var(--container); margin:0 auto;
    background:linear-gradient(135deg, var(--mma-accent), #b9d640);
    color:#000;
    border-radius:var(--radius);
    padding:64px;
    display:flex; align-items:center; justify-content:space-between; gap:32px;
    flex-wrap:wrap;
    position:relative; overflow:hidden;
}
.mma-cta-block-inner::before{
    content:""; position:absolute; right:-50px; top:-50px;
    width:240px; height:240px; border-radius:50%;
    background:rgba(255,255,255,.2);
    filter:blur(60px);
}
.mma-cta-block-inner h3{ font-size:clamp(28px, 4vw, 44px); color:#000; margin:0; max-width:680px; position:relative; }
.mma-cta-block-inner .mma-btn{ background:#000; color:#fff; position:relative; }
.mma-cta-block-inner .mma-btn:hover{ background:#1a1a1a; }

/* ---------- Footer CTA + Footer ---------- */
.mma-footer{ background:#050505; border-top:1px solid var(--mma-line); }
.mma-footer-cta{
    background:
        radial-gradient(ellipse at top left, rgba(201,169,97,.10), transparent 60%),
        var(--mma-bg-2);
    padding:120px 0;
    text-align:center;
    border-bottom:1px solid var(--mma-line);
}
.mma-footer-cta h2{ font-size:clamp(40px, 6vw, 88px); margin-bottom:16px; }
.mma-footer-cta p{ font-size:18px; color:var(--mma-fg-dim); margin-bottom:32px; }
.mma-footer-cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.mma-footer-grid{
    max-width:var(--container); margin:0 auto;
    padding:80px 24px 40px;
    display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr;
    gap:48px;
}
@media (max-width:900px){ .mma-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .mma-footer-grid{ grid-template-columns:1fr; } }

.mma-footer-col h4.footer-widget-title{ font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--mma-fg-muted); margin-bottom:18px; }
.mma-footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.mma-footer-col ul a{ color:var(--mma-fg-dim); font-size:14px; }
.mma-footer-col ul a:hover{ color:var(--mma-accent); }
.mma-footer-tagline{ font-size:14px; color:var(--mma-fg-muted); max-width:380px; margin:20px 0 28px; line-height:1.6; }
.mma-footer-contact p{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--mma-fg-dim); margin-bottom:10px; }
.mma-footer-contact p i{ color:var(--mma-accent); margin-top:4px; }

.mma-footer-bottom{
    border-top:1px solid var(--mma-line);
    padding:24px;
    max-width:var(--container); margin:0 auto;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
    font-size:12px; color:var(--mma-fg-muted);
}
.mma-footer-bottom i{ color:var(--mma-accent); margin-right:6px; }

/* ---------- Sticky Mobile CTA ---------- */
.mma-sticky-cta{
    position:fixed; bottom:16px; left:16px; right:16px; z-index:90;
    display:none; gap:8px;
    background:rgba(10,10,15,.92);
    backdrop-filter:blur(16px);
    border:1px solid var(--mma-line-2);
    border-radius:999px; padding:8px;
    box-shadow:var(--shadow-2);
}
.mma-sticky-btn{
    flex:1;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:12px 8px; border-radius:999px;
    font-size:13px; font-weight:600;
    transition:all .25s var(--ease);
}
.mma-sticky-btn.call{ background:rgba(255,255,255,.06); color:#fff; }
.mma-sticky-btn.whatsapp{ background:#25d366; color:#fff; }
.mma-sticky-btn.primary{ background:linear-gradient(135deg,#D4B871,#C9A961); color:#000; font-weight:700; }
@media (max-width:760px){ .mma-sticky-cta{ display:flex; } body{ padding-bottom:80px; } }

/* ---------- Reveal animation ---------- */
[data-reveal]{ opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].is-visible{ opacity:1; transform:translateY(0); }

/* ---------- Utility ---------- */
@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ---------- Multi-page page header ---------- */
.mma-page-hero{
    position:relative; min-height:56vh; display:flex; align-items:flex-end;
    padding:200px 0 80px; overflow:hidden; isolation:isolate;
    background:
      radial-gradient(ellipse at 70% 30%, rgba(201,169,97,.15), transparent 60%),
      linear-gradient(180deg, #000 0%, #0a0a0a 100%);
    border-bottom:1px solid var(--mma-line);
}
.mma-page-hero h1{ font-size:clamp(44px,7vw,96px); margin-bottom:18px; }
.mma-page-hero .lede{ font-size:clamp(16px,1.4vw,20px); max-width:680px; color:var(--mma-fg-dim); }
.mma-page-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.35; z-index:-1; }

/* ---------- Breadcrumb ---------- */
.mma-crumb{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--mma-fg-muted); margin-bottom:22px; }
.mma-crumb a{ color:var(--mma-fg-muted); }
.mma-crumb a:hover{ color:var(--mma-accent); }
.mma-crumb .sep{ opacity:.5; margin:0 8px; }

/* ---------- Process steps ---------- */
.mma-process{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:48px 0; }
@media (max-width:900px){ .mma-process{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px){ .mma-process{ grid-template-columns:1fr; } }
.mma-process-step{
    padding:32px 28px; border:1px solid var(--mma-line); border-radius:var(--radius);
    background:var(--mma-bg-2); position:relative;
    transition:all .3s var(--ease);
}
.mma-process-step:hover{ border-color:var(--mma-accent-dim); transform:translateY(-4px); }
.mma-process-num{
    font-family:var(--font-display); font-size:48px; font-weight:600;
    color:var(--mma-accent); letter-spacing:-.04em; line-height:1;
    margin-bottom:18px; opacity:.85;
}
.mma-process-step h3{ font-size:20px; margin-bottom:8px; }
.mma-process-step p{ font-size:14px; margin:0; color:var(--mma-fg-dim); }

/* ---------- Benefits / checklist ---------- */
.mma-bullets{ list-style:none; padding:0; margin:32px 0; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:680px){ .mma-bullets{ grid-template-columns:1fr; } }
.mma-bullets li{
    display:flex; gap:14px; padding:18px 20px; border:1px solid var(--mma-line);
    border-radius:12px; background:var(--mma-bg-2); color:var(--mma-fg-dim);
}
.mma-bullets li i{ color:var(--mma-accent); margin-top:4px; }

/* ---------- Pricing card (used on Content Creation) ---------- */
.mma-pricing{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
@media (max-width:900px){ .mma-pricing{ grid-template-columns:1fr; } }
.mma-price{
    background:var(--mma-bg-2); border:1px solid var(--mma-line); border-radius:var(--radius);
    padding:36px 32px; position:relative; transition:all .3s var(--ease);
}
.mma-price:hover{ border-color:var(--mma-accent-dim); transform:translateY(-4px); }
.mma-price.featured{ border-color:var(--mma-accent); background:linear-gradient(180deg, rgba(201,169,97,.06), var(--mma-bg-3)); }
.mma-price.featured::before{
    content:"Most Popular"; position:absolute; top:-12px; left:50%; transform:translateX(-50%);
    background:linear-gradient(135deg,#D4B871,#C9A961); color:#000;
    padding:5px 16px; border-radius:999px; font-size:11px; font-weight:700;
    letter-spacing:.15em; text-transform:uppercase;
}
.mma-price-name{ font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--mma-fg-muted); margin-bottom:10px; }
.mma-price-cost{ font-family:var(--font-display); font-size:48px; font-weight:600; color:var(--mma-accent); letter-spacing:-.03em; margin-bottom:4px; }
.mma-price-cost small{ font-size:14px; color:var(--mma-fg-muted); font-weight:400; letter-spacing:0; }
.mma-price-pay{ font-size:13px; color:var(--mma-fg-muted); margin-bottom:24px; }
.mma-price ul{ list-style:none; padding:0; margin:0 0 24px; display:flex; flex-direction:column; gap:10px; }
.mma-price ul li{ display:flex; gap:10px; font-size:14px; color:var(--mma-fg-dim); }
.mma-price ul li i{ color:var(--mma-accent); margin-top:4px; }

/* ---------- About story ---------- */
.mma-about-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; }
@media (max-width:900px){ .mma-about-grid{ grid-template-columns:1fr; } }
.mma-about-img{ border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5; }
.mma-about-img img{ width:100%; height:100%; object-fit:cover; }

/* ---------- Suburb chips ---------- */
.mma-suburb-cloud{ display:flex; flex-wrap:wrap; gap:8px; margin:32px 0; }
.mma-suburb-cloud a{
    padding:8px 16px; border-radius:999px; border:1px solid var(--mma-line-2);
    font-size:13px; color:var(--mma-fg-dim); transition:all .25s var(--ease);
}
.mma-suburb-cloud a:hover{ background:var(--mma-accent); color:#000; border-color:var(--mma-accent); }

/* ---------- Real header logo ---------- */
.mma-logo img{ max-height:48px; width:auto; }
@media (max-width:600px){ .mma-logo img{ max-height:38px; } }

/* ---------- Hero with side-by-side enquiry form ---------- */
.mma-hero-grid{
    display:grid;
    grid-template-columns: 1.15fr 1fr;
    gap:64px;
    align-items:center;
    width:100%;
}
@media (max-width:1100px){
    .mma-hero-grid{ grid-template-columns:1fr; gap:40px; }
}
.mma-hero .mma-hero-title{
    font-size:clamp(40px, 5.5vw, 80px);
}
.mma-hero .mma-hero-sub{ font-size:clamp(16px, 1.3vw, 19px); max-width:520px; margin-bottom:28px; }

/* Compact hero enquiry card */
.mma-hero-form-card{
    background:
      linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.48) 100%);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    border:1px solid rgba(201,169,97,.38);
    border-radius:22px;
    padding:30px 28px;
    box-shadow:0 30px 80px rgba(0,0,0,.45),
               inset 0 1px 0 rgba(255,255,255,.06),
               inset 0 0 0 1px rgba(201,169,97,.06);
    position:relative;
    overflow:hidden;
    max-width:440px;
    justify-self:end;
    width:100%;
}
@media (max-width:1100px){
    .mma-hero-form-card{ justify-self:stretch; max-width:none; }
}
.mma-hero-form-card::before{
    content:""; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg, transparent, var(--mma-accent), transparent);
}

.mma-hero-form-head{ display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
.mma-hero-form-head .icon{
    width:42px; height:42px; flex:0 0 42px; border-radius:12px;
    background:linear-gradient(135deg,#D4B871,#C9A961);
    color:#000; display:inline-flex; align-items:center; justify-content:center; font-size:18px;
}
.mma-hero-form-head h3{ font-size:22px; margin:0 0 4px; letter-spacing:-.01em; }
.mma-hero-form-head p{ font-size:13px; margin:0; color:var(--mma-fg-muted); }

.mma-hero-form{ display:flex; flex-direction:column; gap:10px; }
.mma-hero-form .row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:480px){ .mma-hero-form .row{ grid-template-columns:1fr; } }
.mma-hero-form input,
.mma-hero-form select,
.mma-hero-form textarea{
    width:100%; padding:12px 14px;
    background:rgba(0,0,0,.30);
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    color:#fff; font-family:inherit; font-size:14px;
    transition:all .25s var(--ease);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
}
.mma-hero-form input::placeholder,
.mma-hero-form textarea::placeholder{ color:rgba(255,255,255,.55); }
.mma-hero-form input:focus,
.mma-hero-form select:focus,
.mma-hero-form textarea:focus{
    outline:none; border-color:var(--mma-accent);
    background:rgba(0,0,0,.45);
    box-shadow:0 0 0 3px rgba(201,169,97,.18);
}
.mma-hero-form select{ color:var(--mma-fg-dim); }
.mma-hero-form select option{ background:#0a0a0a; color:var(--mma-fg); }
.mma-hero-form textarea{ resize:vertical; min-height:64px; }
.mma-hero-form button{
    margin-top:6px; padding:14px 20px; border-radius:999px;
    background:linear-gradient(135deg,#D4B871 0%,#C9A961 50%,#A8893E 100%);
    color:#000; font-weight:700; font-size:14px;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    box-shadow:0 10px 28px -10px rgba(201,169,97,.55);
    transition:all .25s var(--ease); cursor:pointer; border:none;
}
.mma-hero-form button:hover{ transform:translateY(-2px); background:linear-gradient(135deg,#E5C76E,#D4B871); }
.mma-hero-form button:disabled{ opacity:.6; cursor:not-allowed; transform:none; }
.mma-hero-form-foot{
    display:flex; gap:14px; flex-wrap:wrap; align-items:center; justify-content:space-between;
    margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.06);
    font-size:11.5px; color:var(--mma-fg-muted); letter-spacing:.04em;
}
.mma-hero-form-foot i{ color:var(--mma-accent); margin-right:5px; }
.mma-hero-form-resp{
    margin-top:12px; padding:11px 14px; border-radius:10px; font-size:13px;
    display:none;
}
.mma-hero-form-resp.is-success{ display:block; background:rgba(42,209,123,.12); border:1px solid rgba(42,209,123,.35); color:#9be4be; }
.mma-hero-form-resp.is-error{ display:block; background:rgba(255,80,80,.12); border:1px solid rgba(255,80,80,.35); color:#ff9a9a; }

/* Adjust hero padding when form is present */
.mma-hero.has-form{ padding:130px 0 80px; min-height:auto; }
.mma-hero.has-form .mma-hero-text{ max-width:none; }
.mma-hero.has-form .mma-hero-trust{ margin-top:8px; }

/* Dim video overlay slightly less, so video remains clearly visible behind */
.mma-hero.has-form .mma-hero-overlay{
    background:
      linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.20) 40%, rgba(0,0,0,.80) 100%),
      linear-gradient(90deg, rgba(0,0,0,.50) 0%, transparent 60%);
}

/* ---------- Floating WhatsApp button ---------- */
.mma-whatsapp-fab{
    position:fixed; right:22px; bottom:22px; z-index:95;
    width:62px; height:62px; border-radius:50%;
    background:linear-gradient(135deg,#25d366 0%,#128c7e 100%);
    color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:28px;
    box-shadow:0 10px 32px rgba(37,211,102,.55), 0 0 0 0 rgba(37,211,102,.6);
    animation:waPulse 2.2s infinite;
    text-decoration:none;
    transition:transform .25s var(--ease);
}
.mma-whatsapp-fab:hover{ transform:scale(1.08); color:#fff; }
.mma-whatsapp-fab::after{
    content:""; position:absolute; inset:-2px; border-radius:50%;
    border:2px solid rgba(37,211,102,.5); animation:waRing 2.2s infinite;
}
@keyframes waPulse{
    0%,100%{ box-shadow:0 10px 32px rgba(37,211,102,.55), 0 0 0 0 rgba(37,211,102,.6); }
    50%    { box-shadow:0 10px 32px rgba(37,211,102,.6), 0 0 0 14px rgba(37,211,102,0); }
}
@keyframes waRing{
    0%   { transform:scale(1); opacity:.8; }
    100% { transform:scale(1.55); opacity:0; }
}
.mma-whatsapp-fab-label{
    position:absolute; right:74px; top:50%; transform:translateY(-50%);
    background:#000; color:#fff; font-size:12px; font-weight:600;
    padding:8px 14px; border-radius:999px; white-space:nowrap;
    border:1px solid var(--mma-line-2);
    opacity:0; pointer-events:none;
    transition:all .25s var(--ease);
}
.mma-whatsapp-fab:hover .mma-whatsapp-fab-label{ opacity:1; transform:translateY(-50%) translateX(-4px); }
@media (max-width:760px){
    .mma-whatsapp-fab{ width:56px; height:56px; font-size:24px; right:14px; bottom:90px; }
    .mma-whatsapp-fab-label{ display:none; }
}

/* ---------- Lead magnet banner ---------- */
.mma-lead-magnet{
    background:linear-gradient(135deg, #0A0A0A 0%, #16140E 100%);
    border-top:1px solid rgba(201,169,97,.2);
    border-bottom:1px solid rgba(201,169,97,.2);
    padding:64px 0;
    position:relative; overflow:hidden;
}
.mma-lead-magnet::before{
    content:""; position:absolute; left:-10%; top:-30%;
    width:60%; height:160%; border-radius:50%;
    background:radial-gradient(circle, rgba(201,169,97,.18), transparent 60%);
    filter:blur(40px);
}
.mma-lead-magnet-inner{ position:relative; display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; }
@media (max-width:900px){ .mma-lead-magnet-inner{ grid-template-columns:1fr; } }
.mma-lead-magnet .badge{
    display:inline-flex; align-items:center; gap:6px;
    background:rgba(201,169,97,.15); color:var(--mma-accent);
    border:1px solid rgba(201,169,97,.3);
    font-size:11px; letter-spacing:.18em; text-transform:uppercase;
    padding:6px 12px; border-radius:999px; margin-bottom:16px; font-weight:600;
}
.mma-lead-magnet h2{ font-size:clamp(28px,3.4vw,44px); margin-bottom:14px; }
.mma-lead-magnet h2 em{ font-style:italic; }
.mma-lead-magnet p{ color:var(--mma-fg-dim); margin-bottom:18px; }
.mma-lead-magnet ul{ list-style:none; padding:0; margin:0 0 22px; display:flex; flex-direction:column; gap:6px; }
.mma-lead-magnet ul li{ display:flex; gap:10px; font-size:14px; color:var(--mma-fg-dim); }
.mma-lead-magnet ul li i{ color:var(--mma-accent); margin-top:5px; }
.mma-lead-magnet-form{
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(10px);
    border:1px solid rgba(201,169,97,.28);
    border-radius:18px;
    padding:28px;
    display:flex; flex-direction:column; gap:10px;
}
.mma-lead-magnet-form h3{ font-size:20px; margin:0 0 6px; }
.mma-lead-magnet-form small{ font-size:12px; color:var(--mma-fg-muted); margin-bottom:8px; display:block; }
.mma-lead-magnet-form input{
    width:100%; padding:14px 16px; background:#000;
    border:1px solid var(--mma-line-2); border-radius:10px; color:#fff; font-size:14px;
}
.mma-lead-magnet-form input:focus{ outline:none; border-color:var(--mma-accent); }
.mma-lead-magnet-form button{
    padding:14px 20px; border-radius:999px;
    background:linear-gradient(135deg,#D4B871,#C9A961); color:#000;
    font-weight:700; font-size:14px; cursor:pointer; border:none;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    transition:all .25s var(--ease);
}
.mma-lead-magnet-form button:hover{ transform:translateY(-2px); }

/* ---------- Social proof toast ---------- */
.mma-social-toast{
    position:fixed; left:18px; bottom:18px; z-index:90;
    background:rgba(15,15,15,.95);
    border:1px solid var(--mma-line-2);
    border-radius:14px;
    padding:14px 18px;
    display:flex; gap:12px; align-items:center;
    box-shadow:0 18px 50px rgba(0,0,0,.5);
    max-width:340px;
    transform:translateY(40px); opacity:0;
    transition:all .5s var(--ease);
    backdrop-filter:blur(12px);
}
.mma-social-toast.is-visible{ transform:translateY(0); opacity:1; }
.mma-social-toast .avatar{
    width:38px; height:38px; flex:0 0 38px; border-radius:50%;
    background:linear-gradient(135deg,#D4B871,#C9A961); color:#000;
    display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:700; font-size:16px;
}
.mma-social-toast strong{ color:#fff; font-size:13px; display:block; }
.mma-social-toast span{ font-size:11.5px; color:var(--mma-fg-muted); }
.mma-social-toast .dot{ color:#2ad17b; }
.mma-social-toast button{
    margin-left:auto; background:none; border:0; color:var(--mma-fg-muted);
    font-size:14px; cursor:pointer; padding:4px;
}
@media (max-width:760px){
    .mma-social-toast{ left:14px; right:84px; bottom:158px; max-width:none; }
}

/* ---------- Locations index ---------- */
.mma-locations-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px;
}
@media (max-width:900px){ .mma-locations-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px){ .mma-locations-grid{ grid-template-columns:1fr; } }
.mma-location-card{
    padding:24px 26px; background:var(--mma-bg-2);
    border:1px solid var(--mma-line); border-radius:var(--radius);
    transition:all .3s var(--ease); display:block;
}
.mma-location-card:hover{ transform:translateY(-3px); border-color:var(--mma-accent-dim); }
.mma-location-card h3{ font-size:18px; margin:0 0 6px; color:#fff; display:flex; align-items:center; gap:8px; }
.mma-location-card h3 i{ color:var(--mma-accent); font-size:14px; }
.mma-location-card p{ margin:0 0 12px; font-size:13px; color:var(--mma-fg-muted); }
.mma-location-card-links{ display:flex; flex-wrap:wrap; gap:6px; }
.mma-location-card-links a{
    font-size:11.5px; padding:4px 10px; border-radius:999px;
    background:rgba(201,169,97,.08); border:1px solid rgba(201,169,97,.18);
    color:var(--mma-fg-dim);
}
.mma-location-card-links a:hover{ background:var(--mma-accent); color:#000; }

/* ==========================================================================
   ELEMENTOR NATIVE WIDGETS — inherit MMA cinematic styling.
   These rules ensure Elementor's built-in Heading / Text / Button / Counter /
   Accordion widgets render with our brand fonts, colours and rhythm — so the
   page stays pixel-perfect while every block is inline-editable.
   ========================================================================== */

/* Sections — keep the dark backdrop and proper rhythm */
body.mma-theme .elementor-section,
body.mma-theme .e-con,
body.mma-theme .elementor-widget-wrap{ background-color: transparent; }
body.mma-theme .elementor-section > .elementor-container{ max-width:100%; width: 100% !important; }
body.mma-theme .elementor-element{ color: var(--mma-fg); }

/* ---------- Headings ---------- */
body.mma-theme .elementor-widget-heading .elementor-heading-title{
    font-family: var(--font-display);
    color: var(--mma-fg);
    line-height: 1.04;
    letter-spacing: -0.02em;
    font-weight: 600;
    margin: 0 0 12px;
}
body.mma-theme .elementor-widget-heading h1.elementor-heading-title{ font-size: clamp(46px, 7.4vw, 96px); }
body.mma-theme .elementor-widget-heading h2.elementor-heading-title{ font-size: clamp(36px, 5vw, 60px); margin-bottom: 18px; }
body.mma-theme .elementor-widget-heading h3.elementor-heading-title{ font-size: clamp(24px, 2.6vw, 32px); }
body.mma-theme .elementor-widget-heading h6.elementor-heading-title{
    font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
    color: var(--mma-accent); font-weight: 500; font-family: var(--font-body);
    margin-bottom: 18px;
}
body.mma-theme .elementor-widget-heading em,
body.mma-theme .elementor-widget-heading i:not([class*="fa-"]){
    font-style: italic; color: var(--mma-accent); font-family: var(--font-display);
}

/* ---------- Text editor ---------- */
body.mma-theme .elementor-widget-text-editor{
    font-family: var(--font-body);
    color: var(--mma-fg-dim);
    font-size: 17px;
    line-height: 1.65;
}
body.mma-theme .elementor-widget-text-editor p{ margin: 0 0 14px; }
body.mma-theme .elementor-widget-text-editor ul{ list-style: none; padding: 0; margin: 16px 0; }
body.mma-theme .elementor-widget-text-editor ul li{
    padding: 6px 0 6px 28px; position: relative; color: var(--mma-fg-dim);
}
body.mma-theme .elementor-widget-text-editor ul li::before{
    content: "\f00c"; font: 900 13px "Font Awesome 6 Free";
    color: var(--mma-accent);
    position: absolute; left: 0; top: 9px;
}
body.mma-theme .elementor-widget-text-editor strong{ color: var(--mma-fg); }

/* ---------- Buttons ---------- */
body.mma-theme .elementor-widget-button .elementor-button{
    font-family: var(--font-display);
    font-weight: 500; letter-spacing: 0.01em;
    font-size: 16px;
    padding: 16px 30px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--mma-accent), var(--mma-accent-dim));
    color: #000;
    border: 1px solid var(--mma-accent);
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
    box-shadow: 0 8px 28px rgba(201, 169, 97, .2);
}
body.mma-theme .elementor-widget-button .elementor-button:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 42px rgba(201, 169, 97, .4);
}
body.mma-theme .elementor-widget-button .elementor-button .elementor-button-icon{
    margin-left: 10px;
}
/* Secondary / ghost button when section has a "ghost" class */
body.mma-theme .elementor-element.is-ghost-btn .elementor-button{
    background: transparent; color: var(--mma-fg);
    border: 1px solid var(--mma-line-2);
    box-shadow: none;
}
body.mma-theme .elementor-element.is-ghost-btn .elementor-button:hover{
    border-color: var(--mma-accent); color: var(--mma-accent);
}

/* ---------- Counter (stats) ---------- */
body.mma-theme .elementor-widget-counter .elementor-counter{ text-align: center; }
body.mma-theme .elementor-widget-counter .elementor-counter-number-wrapper{
    font-family: var(--font-display);
    color: var(--mma-accent);
    font-size: clamp(56px, 7vw, 96px);
    font-weight: 600;
    line-height: 1; letter-spacing: -0.02em;
    display: flex; justify-content: center; align-items: baseline;
}
body.mma-theme .elementor-widget-counter .elementor-counter-number-suffix,
body.mma-theme .elementor-widget-counter .elementor-counter-number-prefix{
    color: var(--mma-accent); font-family: var(--font-display); font-weight: 600;
}
body.mma-theme .elementor-widget-counter .elementor-counter-title{
    font-family: var(--font-body);
    color: var(--mma-fg-muted);
    font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
    margin-top: 12px;
}

/* ---------- Accordion (FAQ) ---------- */
body.mma-theme .elementor-widget-accordion .elementor-accordion{
    max-width: 900px; margin: 0 auto;
    border-top: 1px solid var(--mma-line);
}
body.mma-theme .elementor-widget-accordion .elementor-accordion-item{
    background: transparent;
    border: none; border-bottom: 1px solid var(--mma-line);
    margin: 0;
}
body.mma-theme .elementor-widget-accordion .elementor-tab-title{
    font-family: var(--font-display);
    font-size: 20px; font-weight: 500;
    color: var(--mma-fg);
    background: transparent;
    border: none;
    padding: 24px 0;
    transition: color .3s var(--ease);
}
body.mma-theme .elementor-widget-accordion .elementor-tab-title:hover,
body.mma-theme .elementor-widget-accordion .elementor-tab-title.elementor-active{
    color: var(--mma-accent);
}
body.mma-theme .elementor-widget-accordion .elementor-accordion-icon{
    color: var(--mma-accent);
    width: auto; padding: 0;
}
body.mma-theme .elementor-widget-accordion .elementor-accordion-icon svg,
body.mma-theme .elementor-widget-accordion .elementor-accordion-icon i{ font-size: 16px; }
body.mma-theme .elementor-widget-accordion .elementor-tab-content{
    background: transparent;
    border: none;
    padding: 0 0 24px;
    color: var(--mma-fg-dim);
    font-family: var(--font-body);
    font-size: 16px; line-height: 1.65;
}
body.mma-theme .elementor-widget-accordion .elementor-tab-content p{ margin: 0 0 10px; }

/* ---------- Section bg-video (Elementor native) gets a dark overlay ---------- */
body.mma-theme .elementor-section[data-element_type="section"].elementor-section[data-settings*='"background_background":"video"']::before,
body.mma-theme .elementor-section.elementor-section-stretched.elementor-section-content-top{ position: relative; }
body.mma-theme .elementor-background-video-container::after{
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.78) 100%);
    pointer-events: none;
}

/* ---------- Section rhythm ---------- */
body.mma-theme .elementor-section{ padding: 80px 24px; }
@media (max-width: 768px){
    body.mma-theme .elementor-section{ padding: 60px 18px; }
}

/* Hero section (first section on home) — taller and full-bleed */
body.mma-theme .elementor-section:first-of-type{
    min-height: 92vh;
    display: flex; align-items: center;
    padding-top: 0px; padding-bottom: 80px;
}

/* ---------- Page-hero (About / Contact / Services / Showcase) ---------- */
body.mma-theme .elementor-section:first-of-type .elementor-widget-heading h1.elementor-heading-title{
    margin-bottom: 18px;
}
