:root{--ink:#11100f;--cream:#f5f1e9;--paper:#fff;--gold:#b9914e;--gold-light:#d6b875;--red:#79201d;--muted:#6a665f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:90px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:20;border-bottom:1px solid #e9e3d8}.brand{width:min(355px,36vw)}.brand img{height:64px;object-fit:contain;object-position:left center}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,40px);font-size:.83rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.site-header nav a:not(.nav-cta){position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}.site-header nav a:hover:after{right:0}.nav-cta{border:1px solid var(--gold);padding:12px 18px;color:#735823}.menu-button{display:none;background:none;border:0;padding:9px}.menu-button span:not(.sr-only){display:block;width:25px;height:2px;background:#111;margin:5px}
.hero{min-height:calc(100vh - 90px);height:760px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,6,.86) 0%,rgba(10,8,6,.55) 43%,rgba(10,8,6,.08) 73%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 45%)}.hero-content{position:relative;width:min(780px,85%);padding:0 0 clamp(76px,10vh,118px) clamp(24px,7vw,120px)}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.76rem;font-weight:600;color:var(--gold-light);margin:0 0 18px}.eyebrow.dark{color:#8b6b33}.hero h1,.intro h2,.section-heading h2,.portfolio-title h2,.process h2,.contact h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:.94;margin:0}.hero h1{font-size:clamp(3.2rem,7.4vw,7.2rem);letter-spacing:-.035em;max-width:900px}.hero h1 em{color:var(--gold-light);font-weight:500}.hero-content>p:not(.eyebrow){font-size:clamp(1rem,1.3vw,1.2rem);max-width:620px;margin:28px 0 34px;color:#f3eee7}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 25px;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:600;transition:.25s}.button-gold{background:var(--gold);color:#100e0b}.button:hover{transform:translateY(-2px)}.text-link{font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:5px}.text-link span{margin-left:8px}.scroll-cue{position:absolute;right:4vw;bottom:34px;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem}.scroll-cue span{font-size:1rem;margin-left:8px}
.intro{padding:clamp(80px,11vw,160px) clamp(24px,9vw,150px);background:var(--cream)}.intro h2{font-size:clamp(3rem,6vw,6rem);max-width:900px}.intro-copy{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.35rem,2.1vw,2rem);max-width:740px;margin:38px 0 70px auto;color:#48433e}.stats{border-top:1px solid #ccc3b5;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:26px}.stats div{display:flex;gap:18px;align-items:baseline}.stats strong{font-family:"Cormorant Garamond",serif;color:var(--gold);font-size:1.5rem}.stats span{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem}
.services{background:var(--ink);color:#fff;padding:clamp(80px,10vw,145px) clamp(24px,7vw,120px)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:70px}.section-heading h2{font-size:clamp(3.2rem,6vw,6.4rem)}.section-heading>p{color:#bbb4aa;max-width:500px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #45413d}.service-grid article{padding:38px 35px 10px 0;border-right:1px solid #45413d;margin-right:35px}.service-grid article:last-child{border:0;margin:0}.service-grid span{color:var(--gold);font-family:"Cormorant Garamond",serif;font-size:1.35rem}.service-grid h3{font-family:"Cormorant Garamond",serif;font-size:2rem;line-height:1.1;margin:30px 0 18px}.service-grid p{color:#aaa39a}
.portfolio{padding:clamp(80px,10vw,150px) clamp(16px,5vw,80px);background:#fff}.portfolio-title{text-align:center;margin-bottom:60px}.portfolio-title h2{font-size:clamp(3.2rem,6vw,6rem)}.gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.gallery figure{margin:0;position:relative;overflow:hidden;min-height:420px}.gallery-main{grid-row:span 2}.gallery-main img{height:100%}.gallery figure img{height:100%;object-fit:cover;transition:transform .7s}.gallery figure:hover img{transform:scale(1.025)}.gallery figure:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}.gallery figcaption{position:absolute;left:28px;bottom:24px;color:#fff;z-index:2}.gallery figcaption span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:var(--gold-light)}.gallery figcaption strong{font-family:"Cormorant Garamond",serif;font-size:1.8rem;font-weight:500}.gallery-wide{grid-column:1/-1;min-height:560px!important}.gallery-wide img{object-position:center 56%}
.process{padding:clamp(80px,11vw,150px) clamp(24px,8vw,140px);background:var(--red);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.process h2{font-size:clamp(3rem,5vw,5rem)}.process ol{list-style:none;margin:0;padding:0}.process li{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.26)}.process li>span{color:var(--gold-light);font-family:"Cormorant Garamond",serif;font-size:1.4rem}.process h3{font-family:"Cormorant Garamond",serif;font-size:1.9rem;margin:0}.process li p{margin:6px 0 0;color:#eadfdc}
.contact{padding:clamp(70px,9vw,130px) clamp(20px,8vw,140px);background:url('assets/music-room.jpeg') center/cover fixed;position:relative}.contact:before{content:"";position:absolute;inset:0;background:rgba(9,8,6,.7)}.contact-card{position:relative;background:#f6f1e7;padding:clamp(45px,7vw,90px);max-width:850px;margin:auto;text-align:center}.contact-card h2{font-size:clamp(3rem,6vw,5.5rem)}.contact-card>p:not(.eyebrow){max-width:600px;margin:24px auto 34px;color:#5e5851}.button-dark{background:var(--ink);color:#fff}
footer{background:#fff;padding:36px clamp(22px,6vw,90px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;font-size:.78rem;color:var(--muted)}footer img{width:250px;height:60px;object-fit:contain;object-position:left}footer p:nth-child(2){text-align:center;font-family:"Cormorant Garamond",serif;font-size:1.1rem}footer p:last-child{text-align:right}
@media(max-width:900px){.site-header{height:76px}.brand{width:240px}.brand img{height:54px}.menu-button{display:block}.site-header nav{position:absolute;left:0;right:0;top:76px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:25px;box-shadow:0 14px 22px rgba(0,0,0,.12)}.site-header nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:720px;height:calc(100svh - 76px)}.hero-shade{background:linear-gradient(0deg,rgba(9,7,5,.9) 0%,rgba(9,7,5,.45) 68%,rgba(9,7,5,.15))}.hero-content{padding:0 24px 80px;width:100%}.section-heading,.process{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid #45413d;margin:0;padding:30px 0}.gallery{grid-template-columns:1fr}.gallery-main{grid-row:auto}.gallery-wide{grid-column:auto;min-height:420px!important}.stats{grid-template-columns:1fr}.process{gap:50px}footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto;object-position:center}footer p:nth-child(2),footer p:last-child{text-align:center;margin:0}}
@media(max-width:520px){.brand{width:205px}.hero h1{font-size:3.25rem}.hero-image{object-position:60% center}.intro{padding-top:80px}.gallery figure{min-height:330px}.scroll-cue{display:none}.contact{background-attachment:scroll}.contact-card{padding:45px 22px}.contact-card h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery figure img,.button{transition:none}}
