@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;1,600;1,700&display=swap');

:root { --ink:#20201d; --paper:#f4f2ec; --muted:#73736d; --line:#d9d6cc; --lime:#d6f265; --blue:#dce9ff; --orange:#ff6b4a; --dark:#181816; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.6 Manrope,system-ui,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.section-wrap { width:min(1160px, calc(100% - 48px)); margin-inline:auto; }
.site-header { min-height:92px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.wordmark { font-size:1.1rem; font-weight:800; letter-spacing:-.05em; }
.wordmark span { color:var(--orange); }
nav { display:flex; gap:28px; color:var(--muted); font-size:.8rem; }
nav a:hover, nav a.active { color:var(--ink); }
.eyebrow, .section-label, .project-type, .portrait-caption { margin:0; font:500 .7rem/1.3 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.eyebrow, .section-label { color:var(--muted); }
.home-hero { display:grid; grid-template-columns:1.12fr .88fr; gap:8vw; align-items:center; padding:92px 0 110px; }
h1,h2,p { margin-top:0; }
h1,h2 { letter-spacing:-.065em; line-height:.98; }
h1 { max-width:780px; margin:23px 0 28px; font-size:clamp(3rem, 5.8vw, 5.6rem); }
h2 { font-size:clamp(2rem, 3.5vw, 3.8rem); }
.lede { max-width:540px; color:#5c5c56; font-size:1.2rem; line-height:1.55; }
.lede.narrow { max-width:620px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:40px; }
.button { display:inline-flex; align-items:center; gap:26px; width:max-content; border:1px solid transparent; padding:15px 19px; font-size:.78rem; font-weight:700; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-3px); }
.button span, .text-link span { font-size:1.1rem; }
.button-dark { color:#fff; background:var(--ink); }
.button-light { background:transparent; border-color:var(--line); }
.hero-photo { margin:0; position:relative; }
.hero-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.82); }
.hero-photo figcaption { margin-top:12px; color:var(--muted); font-size:.74rem; }
.split-section { display:grid; grid-template-columns:1fr 2fr; gap:8vw; border-top:1px solid var(--line); padding:110px 0; }
.split-section h2 { max-width:750px; margin:0 0 32px; }
.split-section p:not(.section-label) { max-width:680px; color:#5c5c56; }
.text-link { display:inline-flex; gap:25px; margin-top:18px; font-size:.82rem; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:6px; }
.pathways { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:0 0 110px; }
.path-card { min-height:330px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:34px; overflow:hidden; transition:transform .2s; }
.path-card:hover { transform:translateY(-5px); }
.path-card h2 { margin:14px 0 10px; font-size:2.6rem; }
.path-card p:not(.section-label) { max-width:340px; margin:0; color:#5c5c56; }
.path-card-work { background:var(--blue); }
.path-card-music { background:var(--lime); }
.card-arrow { position:absolute; top:31px; right:34px; font-size:2rem; }
.contact form { display:grid; gap:9px; max-width:600px; }
label { margin-top:14px; font:500 .7rem 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
input,textarea { width:100%; padding:13px 0; border:0; border-bottom:1px solid #aaa89f; color:var(--ink); background:transparent; font:inherit; outline:0; resize:vertical; }
input:focus,textarea:focus { border-color:var(--orange); }
.contact-note { margin-bottom:28px; font-size:.82rem; color:var(--muted); }
.contact .button { margin-top:23px; }
.site-footer { display:flex; justify-content:space-between; gap:20px; padding:28px 0 40px; border-top:1px solid var(--line); color:var(--muted); font-size:.74rem; }
.footer-links { display:flex; gap:22px; }
.footer-links a:hover { color:var(--ink); }
.page-hero { padding:120px 0 100px; }
.page-hero h1 { font-size:clamp(3rem,5.8vw,5.6rem); margin-bottom:35px; }
em { font-family:'Playfair Display',Georgia,serif; font-weight:600; }
.work-grid { display:grid; gap:12px; padding-bottom:110px; }
.project-card { display:grid; grid-template-columns:1fr auto; gap:30px; padding:35px 0; border-top:1px solid var(--line); }
.project-card h2 { margin:12px 0 15px; font-size:clamp(2rem,4vw,3.5rem); }
.project-card p:not(.project-type) { max-width:650px; color:#5c5c56; }
.project-type { color:var(--orange); }
.tag-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:24px; }
.tag-row span { padding:6px 10px; background:#e8e5db; font:500 .66rem 'DM Mono',monospace; }
.inline-links { display:flex; gap:28px; }
.music-page { color:#eee9df; background:#20201d; --line:#48463e; --muted:#aaa79e; }
.music-page .wordmark span { color:var(--lime); }
.music-page .site-header, .music-page .site-footer { border-color:var(--line); }
.music-page nav a:hover, .music-page nav a.active { color:#fff; }
.music-hero { display:grid; grid-template-columns:1fr .85fr; gap:8vw; align-items:center; min-height:690px; padding:80px 0; }
.music-hero h1 { margin:24px 0 28px; color:#f5f0e8; font-size:clamp(3.4rem,7vw,6.6rem); }
.music-hero .lede { color:#bdb9b0; }
.music-hero .eyebrow, .music-page .section-label { color:#b7c866; }
.button-cream { color:#20201d; background:#f2eadc; }
.music-portrait-wrap { position:relative; }
.music-portrait-wrap img { width:100%; aspect-ratio:4/5; object-fit:cover; filter:grayscale(.2) contrast(1.06); }
.portrait-caption { position:absolute; bottom:17px; left:17px; color:#fff; text-shadow:0 1px 8px #000; }
.music-page .split-section { border-color:var(--line); }
.music-page .split-section p:not(.section-label) { color:#bdb9b0; }
.cover-placeholder { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:7vw; padding:80px 0 120px; }
.cover-placeholder h2 { margin:20px 0; font-size:clamp(3rem,6vw,6rem); }
.cover-placeholder p:not(.section-label) { max-width:450px; color:#bdb9b0; }
.cover-disc { width:min(30vw,320px); aspect-ratio:1; margin-inline:auto; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at center,#20201d 0 9%,#b7c866 9% 10%,#b7c866 24%,#8b9a46 24.5% 25%,#2c2c28 25.5% 48%,#3e3d37 48.5% 49%,#24241f 49.5%); box-shadow:15px 20px 50px #0005; transform:rotate(-13deg); }
.cover-disc span { color:#f5f0e8; text-align:center; font:600 clamp(1.5rem,3vw,2.5rem)/.8 'Playfair Display',serif; }
.cover-disc small { font:500 .55rem 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
.music-links { display:grid; grid-template-columns:1fr 2fr; gap:8vw; padding:60px 0 100px; border-top:1px solid var(--line); }
.music-links a { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--line); font-size:clamp(1.7rem,3vw,3rem); letter-spacing:-.04em; }
.music-links a:hover { color:var(--lime); }
@media (max-width:760px) { .section-wrap { width:min(100% - 32px, 600px); } .site-header { min-height:75px; align-items:flex-start; padding-top:25px; } nav { gap:13px; font-size:.67rem; } .home-hero,.music-hero { grid-template-columns:1fr; padding:75px 0 85px; } .home-hero h1 { font-size:clamp(3rem,13vw,4.6rem); } .hero-photo { max-width:480px; } .split-section,.music-links { grid-template-columns:1fr; gap:35px; padding:75px 0; } .pathways,.cover-placeholder { grid-template-columns:1fr; padding-bottom:75px; } .path-card { min-height:260px; } .path-card h2 { font-size:2.25rem; } .page-hero { padding:85px 0 70px; } .page-hero h1 { font-size:clamp(3rem,13vw,4.6rem); } .music-hero { min-height:auto; } .music-hero h1 { font-size:clamp(3.4rem,16vw,5.8rem); } .music-portrait-wrap { max-width:480px; } .cover-disc { width:min(70vw,300px); } .site-footer { flex-direction:column; } }
