@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--cream:#efe9df;--ink:#20201d;--wine:#4a1720;--clay:#b46f57;--sage:#78806a;--line:rgba(32,32,29,.22);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.55}a{color:inherit;text-decoration:none}
.header{position:fixed;z-index:1000;inset:0 0 auto;padding:25px 32px;display:flex;justify-content:space-between;align-items:center;background:rgba(239,233,223,.78);backdrop-filter:blur(8px);font-size:9px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid rgba(32,32,29,.08)}.logo{font-weight:500}.nav{display:flex;gap:28px}.nav a:hover{opacity:.45}.menu-toggle{display:none;background:none;border:0;font:inherit;letter-spacing:inherit}
.hero{height:100vh;position:relative;overflow:hidden;background:var(--wine);color:var(--cream)}.image-layer{position:absolute;inset:0}.image-layer img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(.95)}.image-layer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,23,32,.63),rgba(32,32,29,.05))}
.hero-content{position:absolute;z-index:2;left:7vw;bottom:13vh}.eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,11vw,170px);line-height:.82;margin:0}.hero h1 em,.mission h2 em,.services h2 em,.roster h2 em,.contact h2 em{font-style:italic}.scroll{position:absolute;z-index:2;right:32px;bottom:28px;font-size:9px;letter-spacing:.18em}
.page{padding:12vw 8vw}.section-label{font-size:8px;letter-spacing:.2em;text-transform:uppercase;opacity:.5;margin-bottom:10vw}
.mission{background:var(--cream)}.mission-grid{display:grid;grid-template-columns:25% 1fr;gap:5vw}.mission h2,.services h2,.roster h2{font-family:var(--serif);font-size:clamp(60px,8vw,125px);font-weight:400;line-height:.9;margin:0 0 45px}.lead{font-size:clamp(17px,1.5vw,23px);line-height:1.55;max-width:820px}.closing{font-family:var(--serif);font-size:clamp(22px,2vw,31px);line-height:1.25;max-width:720px;margin-top:55px;color:var(--wine)}
.services{background:var(--wine);color:var(--cream)}.services-head{max-width:850px}.service-list{margin-top:9vw;border-top:1px solid rgba(239,233,223,.3)}.service-list a{display:grid;grid-template-columns:12% 1fr 5%;align-items:center;padding:25px 0;border-bottom:1px solid rgba(239,233,223,.3)}.service-list span,.service-list i{font-size:9px;letter-spacing:.15em;opacity:.55}.service-list strong{font-family:var(--serif);font-weight:400;font-size:clamp(45px,6vw,90px)}.service-list i{text-align:right;font-style:normal}.service-list a:hover strong{font-style:italic}
.roster{background:var(--sage);color:#fff}.roster-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw 3vw;margin-top:9vw}.roster-grid article{position:relative}.roster-grid article:nth-child(2){margin-top:12vw}.roster-grid article:nth-child(3){margin-top:-3vw}.roster-grid img,.roster-grid video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.7)}.roster-grid article div{padding:20px 0}.roster-grid span{font-size:8px;letter-spacing:.15em;opacity:.65}.roster-grid h3{font-family:var(--serif);font-weight:400;font-size:42px;margin:7px 0}.roster-grid p{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.contact{min-height:90vh;background:var(--clay);color:#fff;display:flex;flex-direction:column;justify-content:center}.contact h2{font-family:var(--serif);font-size:clamp(65px,10vw,150px);font-weight:400;line-height:.88;margin:0}.contact-text{margin-top:40px;font-size:14px}.email{width:max-content;margin-top:35px;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:8px;font-family:var(--serif);font-size:clamp(25px,3vw,43px)}
footer{display:flex;justify-content:space-between;padding:20px 32px;background:var(--wine);color:rgba(239,233,223,.6);font-size:8px;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:800px){.header{padding:18px}.nav{display:none;position:absolute;top:0;right:0;width:100%;height:100vh;background:var(--wine);color:var(--cream);padding:100px 8vw;flex-direction:column;gap:25px;font-family:var(--serif);font-size:35px;letter-spacing:0}.nav.open{display:flex}.menu-toggle{display:block;position:relative;z-index:1001}.hero-content{left:7vw;bottom:13vh}.hero h1{font-size:18vw}.page{padding:24vw 7vw}.section-label{margin-bottom:18vw}.mission-grid{display:block}.mission-grid>.eyebrow{margin-bottom:35px}.mission h2,.services h2,.roster h2{font-size:17vw}.lead{font-size:17px}.closing{font-size:23px}.service-list{margin-top:18vw}.service-list a{grid-template-columns:14% 1fr 8%}.service-list strong{font-size:15vw}.roster-grid{grid-template-columns:1fr;gap:10vw;margin-top:18vw}.roster-grid article:nth-child(2),.roster-grid article:nth-child(3){margin-top:0}.contact{min-height:90vh;padding-top:28vw;padding-bottom:28vw}.contact h2{font-size:18vw}.email{max-width:100%;overflow-wrap:anywhere;font-size:7vw}footer{flex-direction:column;gap:10px;padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.film-media{position:relative;width:100%}
.film-stop{position:absolute;right:16px;bottom:16px;z-index:2;background:none;border:1px solid rgba(255,255,255,.65);color:#fff;padding:7px 10px;font:300 8px var(--sans);letter-spacing:.15em;cursor:pointer;opacity:.8}
.film-stop:hover{opacity:1}
