:root {
  --bg: #f0eadf;
  --paper: #f7f2e9;
  --ink: #17120f;
  --muted: #75695f;
  --accent: #9b6739;
  --deep: #17120f;
  --gold: #c59b67;
  --line: rgba(23,18,15,.18);
  --max: 1220px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "DM Sans", system-ui, sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.grain { position: fixed; inset: 0; pointer-events: none; opacity: .08; z-index: 99; background-image: radial-gradient(rgba(0,0,0,.45) .45px, transparent .45px); background-size: 4px 4px; mix-blend-mode: multiply; }
.site-header {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px max(28px, calc((100vw - var(--max))/2));
  border-bottom: 1px solid var(--line);
  background: rgba(240,234,223,.88);
  backdrop-filter: blur(14px);
}
.brand { font-family: "Playfair Display", serif; font-size: 1.4rem; letter-spacing: .18em; }
.site-nav { display:flex; gap: 26px; font-size: .83rem; text-transform: uppercase; letter-spacing:.11em; }
.site-nav a { position:relative; }
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--ink); transition:.25s; }
.site-nav a:hover::after { right:0; }
.menu-toggle { display:none; border:0; background:none; font:inherit; text-transform:uppercase; letter-spacing:.08em; }
.section-pad { padding: 110px max(28px, calc((100vw - var(--max))/2)); }
.hero { min-height: 86vh; display:grid; grid-template-columns: 1.05fr .95fr; gap: 72px; align-items:center; }
.eyebrow,.kicker,.section-label,.card-kicker { text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:600; }
.eyebrow { color:var(--accent); }
.hero h1 { font-family:"Playfair Display",serif; font-size:clamp(5rem, 13vw, 10.5rem); line-height:.78; margin:.2em 0 .16em; letter-spacing:-.05em; }
.hero-role { font-size:clamp(1rem,2vw,1.35rem); }
.hero-role span { color:var(--accent); padding:0 .25rem; }
.hero-line { font-family:"Playfair Display",serif; font-style:italic; font-size:clamp(1.4rem,3vw,2.15rem); max-width:650px; margin: 36px 0; }
.hero-actions,.contact-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 22px; border:1px solid var(--ink); text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; transition:.2s; }
.btn-primary { background:var(--ink); color:var(--paper); }
.btn-primary:hover { background:var(--accent); border-color:var(--accent); }
.btn-ghost:hover { background:rgba(23,18,15,.06); }
.hero-portrait { position:relative; }
.portrait-frame { padding: 14px; border:1px solid var(--line); transform:rotate(1.25deg); }
.portrait-placeholder { min-height: 580px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:linear-gradient(145deg,#6e4c34,#1f1814); color:#eee2d2; letter-spacing:.15em; }
.portrait-placeholder small { margin-top:8px; opacity:.7; letter-spacing:.02em; }
.hero-mark { position:absolute; right:-40px; bottom:-35px; font-family:"Playfair Display",serif; font-size:6rem; color:rgba(155,103,57,.24); writing-mode:vertical-rl; }
.manifesto { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.manifesto h2 { font-family:"Playfair Display",serif; font-weight:500; font-size:clamp(2.6rem,6vw,5.8rem); line-height:1.04; max-width:1100px; margin:.35em 0 0; }
.split-section,.consulting,.music-section,.media { display:grid; grid-template-columns: 220px 1fr; gap: 55px; }
.section-label { padding-top:10px; color:var(--accent); }
.section-content { max-width:930px; }
.section-content h2,.section-heading h2,.contact h2 { font-family:"Playfair Display",serif; font-size:clamp(2.8rem,5.5vw,5.2rem); line-height:1; font-weight:500; margin:0 0 35px; }
.lead { font-family:"Playfair Display",serif; font-size:clamp(1.5rem,2.7vw,2.15rem); line-height:1.35; }
.section-content p { max-width:800px; }
.note { color:var(--muted); font-size:.9rem; margin-top:28px; }
.dark-panel { background:var(--deep); color:#f1e7d9; }
.dark-panel .section-label { color:var(--gold); }
.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:44px; }
.section-heading h2 { margin:0; max-width:650px; }
.section-heading p { color:inherit; opacity:.72; max-width:300px; }
.music-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.track-card { min-height:220px; display:flex; justify-content:space-between; gap:20px; padding:28px; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.track-card.featured { background:linear-gradient(135deg,rgba(197,155,103,.15),transparent); }
.track-card h3 { font-family:"Playfair Display",serif; font-size:1.9rem; margin:8px 0; }
.track-card p { opacity:.7; }
.platform,.circle-link { width:52px; height:52px; border:1px solid rgba(255,255,255,.36); border-radius:50%; display:grid; place-items:center; font-size:.7rem; letter-spacing:.08em; flex:none; }
.disabled { opacity:.45; pointer-events:none; }
.service-columns { display:grid; grid-template-columns:repeat(2,1fr); gap:30px; }
.service-columns ul { list-style:none; margin:0; padding:0; }
.service-columns li { padding:17px 0; border-bottom:1px solid var(--line); font-size:1.08rem; }
.video-placeholder { margin-top:55px; min-height:330px; border:1px solid var(--line); display:flex; align-items:center; gap:28px; padding:40px; background:linear-gradient(145deg,rgba(155,103,57,.12),rgba(23,18,15,.03)); }
.play-icon { width:86px; height:86px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font-size:1.2rem; }
.video-placeholder h3 { font-family:"Playfair Display",serif; font-size:2rem; margin:4px 0; }
.consulting { background:var(--paper); }
.consult-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.consult-card { min-height:310px; padding:34px; background:var(--paper); }
.consult-card .num { color:var(--accent); font-size:.8rem; letter-spacing:.1em; }
.consult-card h3 { font-family:"Playfair Display",serif; font-size:2rem; margin:48px 0 12px; }
.media-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; gap:14px; }
.media-tile { border:1px solid rgba(255,255,255,.18); display:grid; place-items:center; text-align:center; letter-spacing:.12em; font-size:.75rem; color:rgba(255,255,255,.65); background:linear-gradient(135deg,#3a2921,#17120f); }
.media-tile.tall { grid-row:span 2; }
.media-tile.wide { grid-column:span 2; }
.quote-section { text-align:center; }
.quote-section blockquote { max-width:980px; margin:0 auto; font-family:"Playfair Display",serif; font-style:italic; font-size:clamp(2rem,5vw,4.6rem); line-height:1.12; }
.quote-section p { color:var(--muted); margin-top:26px; }
.contact { display:grid; grid-template-columns:220px 1fr; gap:55px; border-top:1px solid var(--line); }
.contact-links { display:grid; gap:10px; margin:36px 0; }
.contact-links a { width:max-content; border-bottom:1px solid var(--line); }
.site-footer { padding:40px max(28px, calc((100vw - var(--max))/2)); border-top:1px solid var(--line); display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:30px; font-size:.78rem; color:var(--muted); }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width: 900px) {
  .menu-toggle { display:block; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--bg); border-bottom:1px solid var(--line); padding:22px 28px; flex-direction:column; }
  .site-nav.open { display:flex; }
  .hero { grid-template-columns:1fr; min-height:auto; padding-top:80px; }
  .hero-portrait { max-width:620px; width:100%; }
  .portrait-placeholder { min-height:460px; }
  .split-section,.consulting,.music-section,.media,.contact { grid-template-columns:1fr; gap:28px; }
  .section-label { padding-top:0; }
  .section-heading { display:block; }
  .section-heading p { max-width:650px; }
  .site-footer { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .section-pad { padding-top:78px; padding-bottom:78px; }
  .hero h1 { font-size:22vw; }
  .hero-role span { display:none; }
  .hero-role { display:grid; gap:2px; }
  .music-grid,.consult-grid,.service-columns { grid-template-columns:1fr; }
  .media-grid { grid-template-columns:1fr; grid-auto-rows:220px; }
  .media-tile.tall,.media-tile.wide { grid-row:auto; grid-column:auto; }
  .video-placeholder { align-items:flex-start; flex-direction:column; }
  .portrait-placeholder { min-height:410px; }
  .hero-mark { display:none; }
}
