:root{
 --black:#080808; --navy:#071827; --gold:#c99a45; --light-gold:#e1b85f;
 --ivory:#f6f1e8; --white:#fff; --charcoal:#222; --muted:#666;
 --max:1180px; --shadow:0 14px 40px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--charcoal);background:#fff;line-height:1.6}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12;margin-top:0}
h1{font-size:clamp(2.5rem,6vw,5rem)}
h2{font-size:clamp(2rem,4vw,3.4rem)}
h3{font-size:1.45rem}
a{color:inherit}
img{max-width:100%;display:block;height:auto}
.container{width:min(var(--max),92%);margin:auto}
.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}

.button{display:inline-block;background:var(--gold);color:var(--black);padding:.85rem 1.2rem;text-decoration:none;font-weight:800;border-radius:4px;border:1px solid var(--gold)}
.button:hover{filter:brightness(1.08)}
.button.ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.65)}
.button.small{padding:.65rem .9rem}

.site-header{position:sticky;top:0;z-index:20;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:.75rem max(4vw,1rem);border-bottom:1px solid rgba(225,184,95,.35)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}
.brand img{width:48px;height:54px;object-fit:contain;flex:0 0 auto}
.brand span{display:grid;line-height:1.1;min-width:0}
.brand small{font-size:.7rem;color:var(--light-gold);letter-spacing:.06em;margin-top:.25rem}
.site-nav{display:flex;align-items:center;gap:1rem}
.site-nav a{text-decoration:none;font-size:.88rem}
.site-nav a:not(.button):hover{color:var(--light-gold)}
.menu-toggle{display:none;background:none;color:white;border:0;font-size:1.8rem}

.hero{min-height:680px;color:white;background:linear-gradient(90deg,rgba(7,24,39,.96) 0%,rgba(7,24,39,.75) 48%,rgba(7,24,39,.2) 100%),url('images/marcel-hero.jpg') center 25%/cover no-repeat;display:flex;align-items:center}
.hero-content{width:min(var(--max),92%);margin:auto}
.hero-copy{max-width:670px}
.hero p{font-size:1.2rem;max-width:650px}
.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.7rem}

.stat-strip{background:var(--black);color:white}
.stats{display:grid;grid-template-columns:repeat(5,1fr);width:min(var(--max),92%);margin:auto}
.stat{padding:1.3rem 1rem;border-right:1px solid rgba(255,255,255,.18)}
.stat:last-child{border:0}
.stat strong{color:var(--light-gold);display:block}

.section{padding:5rem 0}
.section.alt{background:var(--ivory)}
.section.dark{background:var(--navy);color:white}
.section-head{max-width:760px;margin:0 auto 2.5rem;text-align:center}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.card{background:white;padding:1.6rem;border-radius:8px;box-shadow:var(--shadow);border-top:4px solid var(--gold)}
.dark .card{background:#0d2335;color:white}
.card p{color:var(--muted)}
.dark .card p{color:#d6e0e7}

.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.portrait{border:8px solid white;box-shadow:var(--shadow);border-radius:8px}

.logo-panel{width:100%;min-width:0;overflow:visible}
.hero-logo{
 display:block;
 width:100%;
 max-width:650px;
 height:auto;
 margin:0 auto 2rem;
 object-fit:contain;
 overflow:visible;
}
.home-logo{
 display:block;
 width:100%;
 max-width:650px;
 height:auto;
 margin:0 auto;
 object-fit:contain;
 overflow:visible;
 border:0;
 box-shadow:none;
 border-radius:0;
}
.footer-logo{
 display:block;
 width:100%;
 max-width:360px;
 height:auto;
 object-fit:contain;
 overflow:visible;
 margin:0;
 background:transparent;
}

.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem}
.book-card{background:white;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}
.book-card img{width:100%;aspect-ratio:2/3;object-fit:cover}
.book-card .content{padding:1.2rem}
.book-card .actions{margin-top:.7rem}
.book-card .button{font-size:.8rem}

.page-hero{padding:6rem 0;background:linear-gradient(135deg,var(--navy),var(--black));color:white;text-align:center;border-bottom:4px solid var(--gold)}
.content-wrap{width:min(1000px,92%);margin:auto;padding:4rem 0}
.content-wrap h2{margin-top:2.4rem}
.content-wrap ul{padding-left:1.2rem}

.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.service{padding:1.5rem;background:var(--ivory);border-left:5px solid var(--gold)}
.callout{background:var(--black);color:white;padding:2rem;border-radius:8px;border:1px solid var(--gold);margin:2rem 0}

.schedule-table{width:100%;border-collapse:collapse}
.schedule-table th,.schedule-table td{padding:1rem;border:1px solid #ddd;text-align:left}
.schedule-table th{background:var(--navy);color:white}

.resume-section{margin-bottom:2.5rem}
.resume-section h2{border-bottom:2px solid var(--gold);padding-bottom:.5rem}
.job{margin-bottom:1.7rem}
.job h3{margin-bottom:.2rem}
.job .meta{color:var(--muted);font-weight:700}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}
.contact-card{background:var(--navy);color:white;padding:2rem;border-radius:8px}
.contact-form{display:grid;gap:1rem}
.contact-form label{font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.9rem;border:1px solid #bbb;border-radius:4px;font:inherit}
.contact-form textarea{min-height:160px}

.site-footer{background:var(--black);color:white;padding:3rem max(4vw,1rem);display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:2rem}
.site-footer a{display:block;color:#ddd;text-decoration:none;margin:.35rem 0}
.copyright{grid-column:1/-1;border-top:1px solid #333;padding-top:1rem;color:#aaa}
.notice{padding:1rem;background:#fff7de;border-left:4px solid var(--gold);margin:1rem 0}

@media(max-width:960px){
 .site-nav{position:absolute;display:none;top:100%;left:0;right:0;background:var(--black);padding:1rem;flex-direction:column;align-items:stretch}
 .site-nav.open{display:flex}
 .menu-toggle{display:block}
 .stats{grid-template-columns:repeat(2,1fr)}
 .stat{border-bottom:1px solid #333}
 .cards{grid-template-columns:repeat(2,1fr)}
 .split,.contact-grid{grid-template-columns:1fr}
 .book-grid{grid-template-columns:repeat(2,1fr)}
 .site-footer{grid-template-columns:1fr 1fr}
 .hero-logo,.home-logo{max-width:560px}
 .logo-panel{padding-left:1rem;padding-right:1rem}
}

@media(max-width:600px){
 .brand small{display:none}
 .hero{min-height:580px;background-position:60% 20%}
 .hero-copy{background:rgba(7,24,39,.7);padding:1.2rem;border-left:4px solid var(--gold)}
 .stats,.cards,.book-grid,.service-grid,.site-footer{grid-template-columns:1fr}
 .section{padding:3.5rem 0}
 .page-hero{padding:4rem 0}
 .hero-logo,.home-logo{max-width:100%}
 .logo-panel{padding-left:.5rem;padding-right:.5rem}
}
