:root{--pmu-gold:#D4AF37;--pmu-gold-2:#E8C66B;--pmu-black:#0D0D0D;--pmu-charcoal:#1A1A1A;--pmu-surface:#2A2A2A;--pmu-off:#FAFAFA;--pmu-muted:#6B6B6B}

/* ---------- Eyebrows / labels ---------- */
.pmu-eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:600;color:var(--pmu-gold);font-family:Inter,sans-serif;display:inline-block}

/* ---------- Gold accents ---------- */
.pmu-hairline{height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--pmu-gold),transparent);margin:1.25rem 0}
.pmu-gold-text{background:linear-gradient(120deg,var(--pmu-gold-2),var(--pmu-gold),#bd962b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ---------- Dark / light sections ---------- */
.pmu-dark{background:var(--pmu-black);color:var(--pmu-off)}
.pmu-dark h1,.pmu-dark h2,.pmu-dark h3,.pmu-dark h4{color:#fff}
.pmu-section{padding:clamp(3.5rem,8vw,7rem) 0}

/* ---------- Gold button (magnetic + glow) ---------- */
.pmu-btn,.pmu-dark .wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce .button.alt,.tutor-btn-primary{position:relative;display:inline-flex;align-items:center;gap:.6rem;background:linear-gradient(120deg,var(--pmu-gold-2),var(--pmu-gold));color:#1a1a1a!important;font-family:Inter,sans-serif;font-weight:600;letter-spacing:.04em;padding:.95rem 2rem;border:none;border-radius:2px;text-decoration:none;transition:transform .25s ease,box-shadow .35s ease,filter .25s ease;will-change:transform}
.pmu-btn:hover,.pmu-dark .wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.tutor-btn-primary:hover{box-shadow:0 0 0 1px rgba(212,175,55,.6),0 12px 40px -8px rgba(212,175,55,.55);filter:brightness(1.05)}
.pmu-btn--ghost{background:transparent;color:var(--pmu-gold)!important;border:1px solid var(--pmu-gold);box-shadow:none}
.pmu-btn--ghost:hover{background:rgba(212,175,55,.08)}

/* ---------- Film grain overlay ---------- */
.pmu-grain{position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Scroll reveal states ---------- */
.pmu-reveal{opacity:0;transform:translateY(38px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.pmu-reveal.is-in{opacity:1;transform:none}
.pmu-stagger>*{opacity:0;transform:translateY(28px)}

/* ---------- Hero ---------- */
.pmu-hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(120% 120% at 70% 10%,#1c1c1c 0%,#0d0d0d 55%)}
.pmu-hero__inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:0 6vw}
.pmu-hero h1{font-family:'Playfair Display',serif;font-weight:800;line-height:1.02;font-size:clamp(2.8rem,7vw,6rem);color:#fff;margin:0}
.pmu-hero .pmu-word{display:inline-block;overflow:hidden;vertical-align:top}
.pmu-hero .pmu-word>span{display:inline-block;transform:translateY(110%)}
.pmu-hero__tag{color:#cfcfcf;max-width:46ch;font-size:1.1rem;margin:1.5rem 0 2.4rem}

/* ---------- Counters ---------- */
.pmu-stat__num{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--pmu-gold);line-height:1}
.pmu-stat__label{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#bdbdbd;margin-top:.5rem}

/* ---------- Cards ---------- */
.pmu-card{background:var(--pmu-charcoal);border:1px solid rgba(212,175,55,.18);border-radius:4px;overflow:hidden;transition:transform .4s ease,border-color .4s ease}
.pmu-card:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.55)}
.pmu-card__body{padding:1.6rem}
.pmu-price{color:var(--pmu-gold);font-family:'Playfair Display',serif;font-size:1.5rem}

/* ---------- Portfolio filter + clip reveal ---------- */
.pmu-filter{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem}
.pmu-filter button{background:transparent;border:1px solid rgba(212,175,55,.4);color:#eaeaea;padding:.5rem 1.2rem;border-radius:40px;cursor:pointer;font-size:.85rem;letter-spacing:.05em;transition:all .25s}
.pmu-filter button.is-active,.pmu-filter button:hover{background:var(--pmu-gold);color:#111}
.pmu-clip{clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.2,.7,.2,1)}
.pmu-clip.is-in{clip-path:inset(0 0 0 0)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){.pmu-reveal,.pmu-stagger>*,.pmu-clip,.pmu-hero .pmu-word>span{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}}


/* ============ HEADER ============ */
#masthead,#colophon{display:none!important}
.pmu-header{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;padding:1.15rem 6vw;transition:background .4s ease,padding .4s ease,box-shadow .4s ease}
.pmu-header.is-scrolled{background:rgba(13,13,13,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.6rem 6vw;box-shadow:0 1px 0 rgba(212,175,55,.18)}
.pmu-logo{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:.05em;color:#fff;font-size:1.35rem;text-decoration:none}
.pmu-logo b{color:var(--pmu-gold);font-weight:700}
.pmu-nav{display:flex;gap:1.9rem;align-items:center}
.pmu-nav a{color:#eaeaea;text-decoration:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:color .2s}
.pmu-nav a:hover,.pmu-nav a.active{color:var(--pmu-gold)}
.pmu-header__right{display:flex;align-items:center;gap:1.3rem}
.pmu-cart{color:#fff;position:relative;text-decoration:none;display:inline-flex}
.pmu-cart .pmu-cart__c{position:absolute;top:-7px;right:-9px;background:var(--pmu-gold);color:#111;border-radius:50%;font-size:.6rem;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;font-weight:700}
.pmu-header .pmu-btn{padding:.7rem 1.4rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.pmu-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.pmu-burger span{width:24px;height:2px;background:#fff;transition:.3s}
.pmu-mobile{position:fixed;inset:0;background:rgba(10,10,10,.98);z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transform:translateY(-100%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pmu-mobile.open{transform:none}
.pmu-mobile a{color:#eee;font-family:'Playfair Display',serif;font-size:1.6rem;text-decoration:none}
.pmu-mobile a:hover{color:var(--pmu-gold)}
.pmu-mobile__close{position:absolute;top:1.5rem;right:6vw;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
@media(max-width:980px){.pmu-nav{display:none}.pmu-burger{display:flex}.pmu-header .pmu-btn{display:none}}

/* inner-page hero offset under fixed header */
.pmu-inner-hero{padding-top:clamp(8rem,14vh,11rem)}

/* ============ FOOTER ============ */
.pmu-footer{background:#0a0a0a;color:#9a9a9a;padding:4.5rem 6vw 2rem;border-top:1px solid rgba(212,175,55,.15)}
.pmu-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.6fr;gap:2.5rem;max-width:1200px;margin:0 auto}
.pmu-footer h4{color:var(--pmu-gold);font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.1rem}
.pmu-footer__brand .pmu-logo{font-size:1.5rem;display:inline-block;margin-bottom:.9rem}
.pmu-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.pmu-footer a{color:#9a9a9a;text-decoration:none;font-size:.9rem;transition:color .2s}
.pmu-footer a:hover{color:var(--pmu-gold)}
.pmu-news{display:flex;border:1px solid rgba(212,175,55,.4);border-radius:2px;overflow:hidden;margin-top:.4rem}
.pmu-news input{flex:1;background:transparent;border:0;padding:.75rem 1rem;color:#fff;font-size:.85rem}
.pmu-news input::placeholder{color:#777}
.pmu-news button{background:var(--pmu-gold);border:0;color:#111;padding:0 1.1rem;cursor:pointer;font-size:1.1rem}
.pmu-socials{display:flex;gap:1rem;margin-top:1rem}
.pmu-socials a{width:34px;height:34px;border:1px solid rgba(212,175,55,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--pmu-gold)}
.pmu-socials a:hover{background:var(--pmu-gold);color:#111}
.pmu-footer__bottom{max-width:1200px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.78rem;letter-spacing:.05em;color:#666}
@media(max-width:880px){.pmu-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pmu-footer__grid{grid-template-columns:1fr}}

/* ============ SERVICE ROWS (alternating) ============ */
.pmu-srow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;margin:clamp(3rem,8vw,7rem) 0}
.pmu-srow:nth-child(even) .pmu-srow__media{order:2}
.pmu-srow__media img,.pmu-srow__media .pmu-img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.pmu-srow h3{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);color:#fff;margin:.3rem 0 1rem}
.pmu-meta{display:flex;gap:2.5rem;margin:1.3rem 0 1.8rem}
.pmu-meta .l{display:block;color:var(--pmu-gold);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.35rem}
.pmu-meta .v{font-family:'Playfair Display',serif;color:#fff;font-size:1.3rem}
@media(max-width:820px){.pmu-srow{grid-template-columns:1fr}.pmu-srow:nth-child(even) .pmu-srow__media{order:0}}

/* duotone treatment for portfolio/editorial imagery */
.pmu-duotone img,.pmu-duotone .pmu-img{filter:grayscale(1) contrast(1.05)}
.pmu-duotone:hover img{filter:grayscale(0)}

/* steps / consultation guide */
.pmu-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.pmu-step{border:1px solid rgba(212,175,55,.18);padding:2rem 1.6rem;border-radius:4px}
.pmu-step .n{font-family:'Playfair Display',serif;color:var(--pmu-gold);font-size:1.4rem;opacity:.5}
.pmu-step h4{color:#fff;font-family:'Playfair Display',serif;margin:.6rem 0;font-size:1.25rem}
.pmu-step p{color:#9a9a9a;font-size:.9rem}


/* ============ GLOBAL THEME / LAYOUT ============ */
html,body{overflow-x:hidden}
body.pmu-site{background:#0D0D0D;color:#eaeaea}
body.pmu-site .entry-content{margin-top:0}
/* Full-bleed breakout for custom sections inside Kadence container */
.entry-content > section,.entry-content > .pmu-hero{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.entry-content{overflow:visible}

/* Fixed-header offset for plugin/archive pages (no custom hero) */
body.woocommerce-page main#primary,body.woocommerce main#primary,body[class*="tutor"] main#primary,body.post-type-archive-courses main#primary,body.single-courses main#primary,body.single-lesson main#primary,body.post-type-archive-service main#primary,body.single-service main#primary,body.single-portfolio main#primary,body.tax-portfolio_category main#primary{padding-top:clamp(7rem,12vh,9.5rem);padding-bottom:4rem}
body.woocommerce-page,body[class*="tutor"],body.single-courses,body.single-lesson{background:#0D0D0D}

/* Headings + text on plugin pages */
body[class*="tutor"] h1,body[class*="tutor"] h2,body[class*="tutor"] h3,body.woocommerce h1,body.woocommerce h2,body.single-courses h1,body.single-courses h2{color:#fff;font-family:'Playfair Display',serif}
body.single-courses .tutor-course-name,body.single-courses .tutor-course-header-h2{color:#fff}

/* ---- WooCommerce shop grid ---- */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.5rem;margin:0 auto;max-width:1200px}
.woocommerce ul.products li.product{background:#1A1A1A;border:1px solid rgba(212,175,55,.18);border-radius:4px;overflow:hidden;padding:0 0 1.2rem;text-align:left;transition:transform .35s,border-color .35s;width:auto!important;margin:0!important;float:none!important}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.5)}
.woocommerce ul.products li.product img{margin:0 0 1rem;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#fff;font-family:'Playfair Display',serif;padding:0 1.2rem;font-size:1.1rem}
.woocommerce ul.products li.product .price{color:#D4AF37!important;padding:0 1.2rem;font-family:'Playfair Display',serif}
.woocommerce ul.products li.product .price .amount{color:#D4AF37!important}
.woocommerce ul.products li.product .button{margin:.8rem 1.2rem 0}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:#aaa}
.woocommerce-breadcrumb{color:#888;max-width:1200px;margin:0 auto 1.5rem}
.woocommerce-breadcrumb a{color:#D4AF37}

/* ---- Woo single / cart / checkout ---- */
.woocommerce div.product .product_title{color:#fff}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#D4AF37}
.woocommerce #content,.woocommerce-page #content{max-width:1200px;margin:0 auto}
.woocommerce table.cart,.woocommerce-cart table.shop_table,.woocommerce form.checkout{color:#ddd}
.woocommerce .cart_totals,.woocommerce-checkout #order_review{background:#1a1a1a;padding:1.2rem;border:1px solid rgba(212,175,55,.2)}
.woocommerce-message,.woocommerce-info{border-top-color:#D4AF37;background:#1a1a1a;color:#ddd}

/* ---- Tutor LMS ---- */
body[class*="tutor"] .tutor-wrap,body.single-courses .tutor-course-single-content{max-width:1200px;margin:0 auto}
.tutor-card,.tutor-course-card{background:#1A1A1A!important;border:1px solid rgba(212,175,55,.18)!important;color:#ddd!important}
.tutor-course-name a,.tutor-course-card h3 a{color:#fff!important}
.tutor-color-muted,.tutor-fs-7{color:#9a9a9a!important}
.tutor-dashboard .tutor-dashboard-content{background:#111;color:#ddd}
.tutor-dashboard-menu-item a{color:#ddd!important}
.tutor-dashboard-menu-item.tutor-dashboard-menu-item-active a{color:#D4AF37!important}


/* ============ RESPONSIVE + ACCESSIBILITY POLISH ============ */
@media(max-width:820px){
  .entry-content [style*="grid-template-columns:1.1fr"],
  .entry-content [style*="grid-template-columns:.8fr"],
  .entry-content [style*="grid-template-columns:.9fr"],
  .entry-content [style*="grid-template-columns:1fr 1fr"],
  .entry-content [style*="repeat(3,1fr)"]{grid-template-columns:1fr!important}
  .pmu-hero{min-height:88svh}
  .pmu-meta{gap:1.6rem}
  .pmu-header{padding:1rem 6vw}
}
@media(max-width:520px){
  .pmu-booking-form [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}

/* Focus-visible states for keyboard nav (WCAG) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.pmu-btn:focus-visible{outline:2px solid #E8C66B;outline-offset:3px;border-radius:2px}
.pmu-nav a:focus-visible,.pmu-mobile a:focus-visible{outline:2px solid #E8C66B;outline-offset:4px}

/* Skip link */
.pmu-skip{position:absolute;left:-999px;top:0;z-index:100000;background:#D4AF37;color:#111;padding:.7rem 1.2rem;font-weight:600}
.pmu-skip:focus{left:1rem;top:1rem}

/* Honor reduced motion for grain */
@media (prefers-reduced-motion:reduce){.pmu-grain{display:none}}
