/*
Theme Name: TMPS Clean
Theme URI: https://themusicproducerschool.com
Author: The Music Producer School
Description: Clean, security-conscious custom theme for The Music Producer School, rebuilt from the approved visual reference archive.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: tmps-clean
License: Proprietary
*/

:root{
  --tmps-bg:#ffffff;
  --tmps-ink:#151515;
  --tmps-muted:#666;
  --tmps-line:#dddddd;
  --tmps-soft:#f3f4f5;
  --tmps-accent:#e93b0b;
  --tmps-blue:#149ce0;
  --tmps-max:1380px;
  --tmps-radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--tmps-bg);color:var(--tmps-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--tmps-accent)}
button,input,textarea,select{font:inherit}
.tmps-wrap{width:min(calc(100% - 48px),var(--tmps-max));margin-inline:auto}
.tmps-narrow{width:min(calc(100% - 48px),980px);margin-inline:auto}
.tmps-kicker{font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin:0 0 18px}
.tmps-display,.entry-title,.tmps-card-title{font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.012em;line-height:.95}
.tmps-display{font-size:clamp(3rem,6.8vw,7.6rem);margin:0}
.tmps-h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.012em;line-height:.98;font-size:clamp(2.25rem,4.1vw,4.7rem);margin:0 0 24px}
.tmps-h3{font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(1.45rem,2vw,2.15rem);line-height:1.02;margin:0 0 12px}
.tmps-lead{font-size:clamp(1.06rem,1.35vw,1.32rem);line-height:1.65;color:#303030}
.tmps-copy{color:#383838}
.tmps-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:var(--tmps-accent);color:#fff!important;font-weight:800;border:0;border-radius:var(--tmps-radius);transition:.18s ease;cursor:pointer}
.tmps-btn:hover{transform:translateY(-2px);filter:brightness(.95)}
.tmps-btn-outline{background:transparent;color:var(--tmps-ink)!important;border:1.5px solid var(--tmps-ink)}
.tmps-btn-outline:hover{background:var(--tmps-ink);color:#fff!important}
.tmps-rule{width:110px;height:3px;background:var(--tmps-ink);margin:28px 0}
.tmps-section{padding:92px 0}
.tmps-section-soft{background:var(--tmps-soft)}
.tmps-section-black{background:#050505;color:#fff}
.tmps-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.tmps-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.tmps-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,0,0,.09);backdrop-filter:blur(12px)}
.admin-bar .site-header{top:32px}
.tmps-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.tmps-brand{display:flex;align-items:center;gap:12px;font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;font-size:1.35rem;line-height:1;text-transform:uppercase;letter-spacing:.025em}
.tmps-brand-mark{width:34px;height:34px;border:4px solid var(--tmps-blue);border-radius:999px;background:#111;position:relative;display:inline-block;flex:0 0 auto}
 .tmps-custom-logo{max-height:42px;width:auto;display:block}
.tmps-brand-mark:after{content:"";position:absolute;left:11px;top:7px;border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.tmps-nav ul{display:flex;align-items:center;gap:28px;list-style:none;padding:0;margin:0}
.tmps-nav a{font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.tmps-menu-toggle{display:none;background:#111;color:white;border:0;padding:10px 12px;font-weight:800}

/* Home */
.tmps-hero-image{height:clamp(320px,44vw,650px);background-size:cover;background-position:center;border-bottom:1px solid #ddd}
.tmps-hero-copy{padding:58px 0 74px}
.tmps-hero-copy .tmps-grid-2{align-items:start}
.tmps-hero-copy .tmps-display{font-size:clamp(3.4rem,6vw,6.6rem)}
.tmps-value-images{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;margin-top:40px}
.tmps-value-images img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tmps-course-card{position:relative}
.tmps-course-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee}
.tmps-sale{position:absolute;right:10px;top:10px;background:white;border:1px solid #ddd;padding:5px 8px;font-size:.72rem;font-weight:900}
.tmps-course-body{padding:14px 0 0}
.tmps-card-title{font-size:1.2rem;line-height:1.05;margin:0 0 10px}
.tmps-price{font-size:1rem;margin:0 0 14px}
.tmps-price del{color:#666;margin-right:5px}
.tmps-course-card .tmps-btn{min-height:42px;padding:9px 16px;font-size:.85rem}
.tmps-blog-card{border-top:1px solid #111;padding-top:14px}
.tmps-blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:15px}
.tmps-testimonial{text-align:center;padding:42px 20px}
.tmps-quote{font-size:clamp(1.35rem,2vw,2rem);font-weight:700;line-height:1.35;margin:0 auto 24px;max-width:780px}
.tmps-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;margin:0 auto 10px}
.tmps-final-cta{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center}
.tmps-final-cta img{width:100%;height:330px;object-fit:cover}

/* Page hero */
.tmps-page-intro{padding:76px 0 44px;border-bottom:1px solid var(--tmps-line)}
.tmps-page-intro .tmps-display{font-size:clamp(3rem,5vw,5.6rem)}
.tmps-split-stack{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.tmps-split-stack img{width:100%;aspect-ratio:16/10;object-fit:cover}
.tmps-feature-list{list-style:none;padding:0;margin:26px 0 0}
.tmps-feature-list li{position:relative;padding-left:42px;margin:0 0 24px}
.tmps-feature-list li:before{content:"✓";position:absolute;left:0;top:-3px;width:28px;height:28px;border:3px solid var(--tmps-accent);border-radius:999px;color:var(--tmps-accent);font-weight:900;display:grid;place-items:center;line-height:1}
.tmps-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccc;border:1px solid #ccc}
.tmps-stat{background:#fff;padding:28px}
.tmps-stat strong{display:block;font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;font-size:2.4rem;line-height:1;margin-bottom:8px}

/* Team */
.tmps-person img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:15px}
.tmps-person-role{font-size:.78rem;color:var(--tmps-accent);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tmps-person p{font-size:.94rem;color:#555}

/* Team — v1.1 visual rebuild */
.tmps-team-intro{padding-bottom:72px;border-bottom:1px solid var(--tmps-line)}
.tmps-team-intro-grid{align-items:start}
.tmps-team-copy p{margin:0 0 18px;color:#333}
.tmps-team-image-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:54px}
.tmps-team-image-strip img{width:100%;aspect-ratio:2/1;object-fit:cover}
.tmps-team-results{padding-top:86px}
.tmps-team-results-head{max-width:760px}
.tmps-team-results-head .tmps-lead{margin-bottom:0}
.tmps-team-portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;margin-top:54px}
.tmps-team-portrait img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tmps-team-portrait p{margin:10px 6px 0;text-align:center;color:#666;font-size:.92rem;line-height:1.5}
.tmps-team-bios{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px;margin-top:58px;padding-top:36px;border-top:1px solid var(--tmps-line)}
.tmps-team-bio .tmps-h3{font-size:1.55rem;margin-bottom:4px}
.tmps-team-role{color:var(--tmps-accent);font-size:.95rem;line-height:1.35;margin-bottom:18px}
.tmps-team-bio p{color:#333;margin:0 0 15px;font-size:.97rem;line-height:1.7}
.tmps-team-testimonial-section{padding:78px 0}
.tmps-team-testimonial{padding-top:10px;padding-bottom:10px}
.tmps-team-testimonial .tmps-quote{max-width:1100px;font-size:clamp(1.7rem,2.5vw,2.6rem);font-weight:500}
.tmps-team-testimonial-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;margin:0 auto 12px}
.tmps-team-testimonial-name{display:block;font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;text-transform:uppercase;font-size:1.15rem;letter-spacing:.02em}
.tmps-team-testimonial span{display:block;color:#555}
.tmps-team-expect .tmps-narrow{max-width:760px}
.tmps-team-expect p{font-size:1.08rem;color:#333;margin:0 0 22px}

/* Shop */
.tmps-breadcrumb{font-size:.92rem;margin-bottom:26px;color:#555}
.tmps-shop-meta{display:flex;justify-content:space-between;align-items:center;margin:34px 0 28px;color:#555}
.tmps-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px}
.tmps-shop-grid .tmps-card-title{font-size:1.15rem}
.tmps-shop-grid .tmps-btn{background:var(--tmps-accent)}

/* Course single */
.tmps-course-hero{padding:72px 0}
.tmps-course-hero .tmps-grid-2{align-items:center}
.tmps-course-hero img{width:100%;aspect-ratio:1/1;object-fit:cover}
.tmps-course-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.tmps-pill{border:1px solid #bbb;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}
.tmps-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 42px;margin:22px 0 0;padding:0;list-style:none}
.tmps-module-grid li{padding:11px 0;border-bottom:1px solid #ddd;font-weight:700}

/* Blog */
.tmps-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.tmps-post-card{border-top:2px solid #111;padding-top:15px}
.tmps-post-card img{aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:16px}
.entry-content{font-size:1.07rem}
.entry-content h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;text-transform:uppercase;font-size:2.2rem;line-height:1;margin-top:48px}
.entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Contact */
.tmps-contact-hero{min-height:720px;background:#030303;position:relative;overflow:hidden;color:#fff;display:flex;align-items:center}
.tmps-contact-art{position:absolute;inset:0 0 0 auto;width:min(58vw,920px);height:100%;object-fit:cover;object-position:center right;opacity:.78;mix-blend-mode:screen}
.tmps-contact-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020202 0%,rgba(2,2,2,.96) 38%,rgba(2,2,2,.45) 70%,rgba(2,2,2,.15) 100%)}
.tmps-contact-copy{position:relative;z-index:2;max-width:700px;padding:80px 0}
.tmps-contact-lines{margin:32px 0;font-size:1.05rem}
.tmps-contact-lines a{text-decoration:underline;text-underline-offset:4px}

/* Footer */
.site-footer{background:#050505;color:#fff;padding:60px 0 24px}
.tmps-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px}
.site-footer h3{font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Narrow',sans-serif;text-transform:uppercase;margin:0 0 16px;font-size:1.3rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:7px}
.site-footer a{color:#fff}
.tmps-footer-bottom{border-top:1px solid #333;margin-top:44px;padding-top:20px;font-size:.8rem;color:#aaa}

/* Forms / WP */
.wp-block-button__link{border-radius:0!important;background:var(--tmps-accent)!important}
.alignwide{width:min(calc(100% - 48px),var(--tmps-max));margin-inline:auto}
.alignfull{width:100%;margin-inline:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Responsive */
@media (max-width:1100px){
  .tmps-grid-4,.tmps-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tmps-team-portraits,.tmps-team-bios{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tmps-grid-3,.tmps-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tmps-nav ul{gap:18px}
}
@media (max-width:820px){
  .admin-bar .site-header{top:46px}
  .tmps-menu-toggle{display:block}
  .tmps-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #ddd;padding:18px 24px}
  .tmps-nav.is-open{display:block}
  .tmps-nav ul{display:grid;gap:8px}
  .tmps-nav a{display:block;padding:8px 0}
  .tmps-grid-2,.tmps-split-stack,.tmps-final-cta{grid-template-columns:1fr}
  .tmps-team-image-strip{grid-template-columns:1fr}
  .tmps-team-image-strip img{aspect-ratio:16/8}
  .tmps-value-images{grid-template-columns:1fr 1fr}
  .tmps-footer-grid{grid-template-columns:1fr 1fr}
  .tmps-contact-art{width:100%;opacity:.45}
  .tmps-contact-hero:after{background:rgba(0,0,0,.72)}
}
@media (max-width:560px){
  .tmps-wrap,.tmps-narrow{width:min(calc(100% - 32px),var(--tmps-max))}
  .tmps-section{padding:64px 0}
  .tmps-header-inner{min-height:66px}
  .tmps-brand{font-size:1.05rem}
  .tmps-brand-mark{width:29px;height:29px;border-width:3px}
  .tmps-brand-mark:after{left:9px;top:6px}
  .tmps-grid-4,.tmps-grid-3,.tmps-shop-grid,.tmps-post-grid,.tmps-footer-grid,.tmps-value-images,.tmps-module-grid,.tmps-team-portraits,.tmps-team-bios{grid-template-columns:1fr}
  .tmps-shop-meta{align-items:flex-start;gap:10px;flex-direction:column}
  .tmps-course-hero{padding:52px 0}
  .tmps-contact-hero{min-height:650px}
}
