:root { --ink:#08060a; --plum:#1b0b19; --coral:#ff536d; --cream:#f6efe7; --muted:#a98e9e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--cream); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.hero { min-height:100svh; position:relative; overflow:hidden; background:radial-gradient(circle at 80% 35%, #471324 0, #1a0a18 25%, #08060a 58%); padding:0 4vw 124px; }
.hero:before { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); }
.nav { height:88px; position:relative; z-index:5; display:flex; align-items:center; border-bottom:1px solid #ffffff22; gap:48px; padding-right:42px; }
.brand { font-weight:900; letter-spacing:-.04em; font-size:21px; }
.brand span { color:var(--coral); }
.navLinks { display:flex; gap:38px; margin-left:auto; }
.navLinks a { text-transform:uppercase; font-size:12px; letter-spacing:.22em; color:#ded3d8; padding:34px 0; border-bottom:2px solid transparent; transition:.2s; }
.navLinks a:hover { color:white; border-color:var(--coral); }
.navCta { border:1px solid #ffffff3d; border-radius:999px; padding:12px 20px; text-transform:uppercase; font-size:11px; letter-spacing:.16em; }
.lightBar { position:absolute; z-index:2; right:1.4vw; top:0; width:10px; height:240px; background:var(--coral); box-shadow:0 0 40px 9px #ff536d99; transform:skewY(-8deg); }
.heroGlow { position:absolute; width:min(38vw,600px); height:min(38vw,600px); right:3vw; top:17vh; border:1px solid #ff536d44; border-radius:50%; box-shadow:0 0 100px #ff536d1f; }
.heroContent { position:relative; z-index:3; padding-top:9vh; width:66%; }
.eyebrow,.kicker { text-transform:uppercase; letter-spacing:.24em; font-size:11px; font-weight:700; color:var(--muted); }
.eyebrow span { display:inline-block; width:36px; height:2px; background:var(--coral); vertical-align:middle; margin-right:12px; }
h1 { font-size:clamp(110px,17vw,270px); line-height:.73; letter-spacing:-.085em; margin:30px 0 22px; font-weight:950; transform:scaleX(.78); transform-origin:left; width:125%; }
h1 span { color:transparent; -webkit-text-stroke:1px #f6efe7; }
.roles { margin:0; font-size:clamp(19px,2vw,32px); letter-spacing:.09em; font-weight:700; }
.roles b { color:var(--coral); padding:0 9px; }
.heroActions { margin-top:42px; display:flex; align-items:center; gap:20px; }
.play { width:66px; height:66px; border:1px solid var(--coral); border-radius:50%; display:grid; place-items:center; position:relative; }
.play:after { content:""; position:absolute; inset:-7px; border-top:1px solid var(--coral); border-radius:50%; animation:orbit 6s linear infinite; }
.play span { color:var(--coral); margin-left:4px; }
.primary { background:var(--coral); color:#16080e; padding:20px 30px; border-radius:999px; text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:900; box-shadow:0 8px 35px #ff536d32; transition:.25s; }
.primary:hover { transform:translateY(-3px); box-shadow:0 12px 45px #ff536d63; }
.textLink { margin-left:8px; color:#bbaeb5; font-size:12px; border-bottom:1px solid #ffffff33; padding-bottom:5px; }
.proof { display:flex; gap:52px; margin-top:42px; }
.proof p { margin:0; font-size:13px; }
.proof span { display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.18em; font-size:9px; margin-bottom:7px; }
.portrait { position:absolute; z-index:2; right:5vw; top:19vh; width:min(34vw,520px); text-align:center; }
.portraitFrame { aspect-ratio:1; position:relative; overflow:hidden; border-radius:50%; background:linear-gradient(145deg,#461426,#110911 58%); border:1px solid #ff536d4d; box-shadow:0 30px 90px #000c; }
.portraitFrame:before { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 58%,#170912cc 100%),linear-gradient(90deg,#ff536d18,transparent 45%); box-shadow:inset 0 0 70px #17091266; }
.portraitFrame img { width:100%; height:100%; display:block; object-fit:cover; object-position:37% 18%; filter:saturate(.9) contrast(1.04); }
.disciplineRail { position:absolute; z-index:4; bottom:42px; left:4vw; right:4vw; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #ffffff2b; }
.disciplineRail a { padding:22px 24px 4px 0; display:grid; grid-template-columns:40px 1fr auto; column-gap:9px; border-right:1px solid #ffffff20; transition:.25s; }
.disciplineRail a:hover { color:var(--coral); transform:translateY(-3px); }
.disciplineRail a>span { color:var(--coral); font-size:10px; letter-spacing:.1em; }
.disciplineRail strong { text-transform:uppercase; letter-spacing:.16em; font-size:13px; }
.disciplineRail small { grid-column:2; color:#927d88; margin-top:6px; font-size:10px; }
.disciplineRail b { font-size:14px; font-weight:400; }
.scrollCue { position:absolute; right:4vw; bottom:14px; font-size:8px; letter-spacing:.16em; text-transform:uppercase; color:#796872; }
.scrollCue span { color:var(--coral); margin-left:8px; }
.marquee { overflow:hidden; background:var(--coral); color:#14070c; padding:18px 0; font-weight:950; font-size:25px; letter-spacing:.11em; white-space:nowrap; }
.marquee div { width:max-content; animation:marquee 22s linear infinite; }
.marquee span { margin:0 26px; }
.section { padding:120px 6vw; }
.sectionHead { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:10%; }
.section h2 { font-size:clamp(56px,8vw,120px); line-height:.88; letter-spacing:-.06em; margin:18px 0 0; }
.sectionHead>p { color:#a8949f; font-size:18px; line-height:1.7; max-width:490px; }
.work { background:#0d090e; }
.workGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:76px; }
.workCard { min-height:510px; padding:24px; position:relative; overflow:hidden; border:1px solid #ffffff18; background:linear-gradient(145deg,#24101e,#0b080c); display:flex; flex-direction:column; justify-content:space-between; }
.workCard:nth-child(n){grid-column:auto}
.workCard>p { color:var(--coral); font-size:10px; letter-spacing:.2em; }
.workCard h3 { font-size:45px; text-transform:uppercase; letter-spacing:-.04em; margin:0 0 8px; }
.workCard span { color:#a8929d; font-size:12px; letter-spacing:.08em; }
.cardMark { position:absolute; right:-4%; top:-17%; font-size:390px; font-weight:950; color:#ffffff06; font-family:Georgia,serif; }
.workCard:hover { border-color:#ff536d66; }
.disciplineFeature { position:relative; z-index:2; display:block; height:300px; margin-top:24px; overflow:hidden; border:1px solid #ffffff26; background:#180c14; }
.disciplineFeature:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,#10070ddd 100%); }
.disciplineFeature img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 27%; transition:transform .5s ease,filter .5s ease; }
.card1 .disciplineFeature img { object-position:center 10%; }
.card2 .disciplineFeature img { object-position:center 5%; }
.card3 .disciplineFeature img { object-position:center 76%; }
.card4 .disciplineFeature img { object-fit:cover; object-position:center 48%; }
.disciplineFeature b { position:absolute; z-index:1; left:16px; right:16px; bottom:14px; display:flex; justify-content:space-between; align-items:center; color:var(--cream); font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.disciplineFeature i { color:var(--coral); font-style:normal; }
.disciplineFeature:hover img,.disciplineFeature:focus-visible img { transform:scale(1.025); filter:saturate(1.08); }
.disciplineFeature:focus-visible { outline:2px solid var(--coral); outline-offset:3px; }
.portfolioGallery { margin-top:130px; }
.galleryGroup { padding:78px 0 28px; border-top:1px solid #ffffff1c; }
.galleryHeading { display:grid; grid-template-columns:90px 1fr auto; align-items:end; margin-bottom:28px; }
.galleryHeading p { color:var(--coral); font-size:10px; letter-spacing:.2em; margin:0 0 8px; }
.galleryHeading h3 { margin:0; font-size:clamp(42px,6vw,82px); line-height:.85; text-transform:uppercase; letter-spacing:-.055em; }
.galleryHeading span { color:#8f7b86; text-transform:uppercase; letter-spacing:.18em; font-size:9px; margin-bottom:8px; }
.photoGrid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; grid-auto-flow:dense; }
.photo { position:relative; margin:0; overflow:hidden; min-height:260px; background:#1b1118; border:1px solid #ffffff14; scroll-margin-top:26px; }
.photo:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 65%,#160a1266); transition:.3s; }
.photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .6s ease,filter .6s ease; }
.photo:hover img { transform:scale(1.025); filter:saturate(1.08); }
.portraitPhoto { grid-column:span 3; aspect-ratio:4/5; }
.dancePortrait { grid-column:span 3; aspect-ratio:2/3; }
.landscape { grid-column:span 6; aspect-ratio:3/2; min-height:240px; }
.twoUp { justify-content:center; }
.twoUp .editorial { grid-column:span 4; aspect-ratio:3/4; }
.editorial img { object-position:center top; }
.about { display:grid; grid-template-columns:1fr 1.5fr; gap:10%; align-items:center; background:var(--cream); color:#130b10; }
.aboutNumber { font-size:32vw; line-height:.7; font-weight:950; letter-spacing:-.12em; color:transparent; -webkit-text-stroke:2px #ff536d; opacity:.9; }
.aboutCopy>p:not(.kicker) { max-width:700px; font-size:19px; line-height:1.7; color:#5d4b54; }
.profileFacts { display:grid; grid-template-columns:1fr 1fr; gap:1px; max-width:760px; margin-top:32px; background:#c7b8bf; border:1px solid #c7b8bf; }
.profileFacts p { display:flex; flex-direction:column; gap:7px; margin:0; padding:17px; background:var(--cream); }
.profileFacts strong { font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:#7a6570; }
.profileFacts span { font-size:13px; font-weight:800; color:#25151d; }
.tags { display:flex; gap:10px; flex-wrap:wrap; margin-top:30px; }
.tags span { border:1px solid #9e8d95; border-radius:99px; padding:9px 15px; font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.socialSection { background:#130c12; }
.socialHeading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:10%; }
.socialHeading>p { max-width:520px; color:#a8949f; font-size:18px; line-height:1.7; }
.socialGrid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:52px; }
.socialCard { min-height:126px; display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto auto; gap:8px 14px; align-items:center; padding:20px; border:1px solid #ffffff1f; background:#1b1018; transition:transform .25s,border-color .25s,background .25s; }
.socialCard.instagram { background:linear-gradient(135deg,#542039,#25101c); border-color:#ff536d88; color:#fff; }
.socialCard.secondary { opacity:.82; }
.socialCard:hover,.socialCard:focus-visible { transform:translateY(-4px); border-color:var(--coral); outline:none; background:#27111e; }
.socialCard.instagram:hover,.socialCard.instagram:focus-visible { background:linear-gradient(135deg,#6b2848,#301222); }
.socialIcon { grid-row:1/3; display:grid; place-items:center; width:52px; height:52px; border:1px solid currentColor; border-radius:50%; color:var(--coral); font-size:17px; font-weight:950; letter-spacing:-.03em; }
.socialIcon img { display:block; width:23px; height:23px; object-fit:contain; }
.socialCard strong { align-self:end; font-size:clamp(17px,1.55vw,25px); line-height:1; text-transform:uppercase; letter-spacing:-.025em; }
.socialCard small { grid-column:2; align-self:start; color:#a8949f; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.instagram small { color:#d9bdca; }
.socialCard>b { grid-column:3; grid-row:1/3; align-self:center; color:var(--coral); font-size:20px; }
.contact { text-align:center; background:radial-gradient(circle at center,#411122,#0b070b 58%); }
.contact h2 { font-size:clamp(70px,12vw,180px); }
.contactIntro { max-width:600px; margin:28px auto 0; color:#b9a5af; font-size:16px; line-height:1.7; }
.contactForm { max-width:840px; margin:55px auto 0; text-align:left; }
.formGrid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.contactForm label { display:flex; flex-direction:column; gap:9px; }
.contactForm label>span { color:#cbb7c1; font-size:9px; text-transform:uppercase; letter-spacing:.16em; }
.contactForm input,.contactForm select,.contactForm textarea { width:100%; border:1px solid #ffffff28; border-radius:0; background:#110a0fbd; color:var(--cream); padding:16px; font:inherit; outline:none; }
.contactForm input:focus,.contactForm select:focus,.contactForm textarea:focus { border-color:var(--coral); box-shadow:0 0 0 1px var(--coral); }
.contactForm textarea { resize:vertical; min-height:145px; }
.contactForm option { background:#160c12; }
.fullField { grid-column:1/-1; }
.hiddenField { position:absolute; left:-9999px; }
.contactForm button { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:22px; padding:18px 20px; border:1px solid var(--coral); background:var(--coral); color:#15080d; font:900 11px/1 Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; cursor:pointer; transition:.2s; }
.contactForm button:hover,.contactForm button:focus-visible { background:transparent; color:var(--cream); outline:none; }
.contact .emailLink { display:inline-flex; gap:16px; align-items:center; margin-top:34px; padding:12px 0; border-bottom:1px solid var(--coral); font-size:14px; }
.contact .emailLink span { color:var(--coral); }
.contactMeta { display:flex; justify-content:center; gap:50px; margin-top:45px; color:#9f8994; font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
.thanksPage { min-height:100vh; display:grid; place-items:center; padding:30px; background:radial-gradient(circle at center,#411122,#0b070b 60%); }
.thanksCard { width:min(760px,100%); padding:clamp(36px,7vw,80px); border:1px solid #ffffff22; background:#0d080dcc; }
.thanksCard .brand { display:inline-block; margin-bottom:80px; }
.thanksCard h1 { margin:18px 0 30px; font-size:clamp(82px,15vw,170px); line-height:.76; letter-spacing:-.075em; text-transform:uppercase; }
.thanksCard>p:not(.kicker) { max-width:520px; color:#b9a5af; font-size:17px; line-height:1.7; }
.thanksCard .primary { margin-top:35px; }
footer { min-height:110px; display:flex; align-items:center; padding:0 6vw; gap:40px; border-top:1px solid #ffffff18; color:#7d6b74; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
footer p:last-child { margin-left:auto; }
@keyframes orbit { to { transform:rotate(360deg); } }
@keyframes marquee { to { transform:translateX(-50%); } }
@media(max-width:1200px){
  .workGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.workCard:nth-child(n){grid-column:auto}
}
@media(max-width:900px){
  .hero{padding-bottom:180px}.nav{padding-right:28px}.navLinks{display:none}.navCta{margin-left:auto}.heroContent{width:100%;padding-top:8vh}.heroGlow{right:-5vw;width:52vw;height:52vw}.portrait{opacity:.38;right:-3vw;width:48vw;top:19vh}.roles{font-size:18px}.disciplineRail{grid-template-columns:1fr 1fr;gap:10px}.disciplineRail a{border-right:0}.sectionHead,.socialHeading{grid-template-columns:1fr}.portraitPhoto{grid-column:span 6;aspect-ratio:4/5}.dancePortrait{grid-column:span 6}.twoUp .editorial{grid-column:span 6}.about{grid-template-columns:1fr}.aboutNumber{font-size:55vw}.aboutCopy{margin-top:-70px}.socialGrid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .hero{padding:0 22px 250px;min-height:860px}.nav{height:72px;padding-right:22px}.lightBar{right:7px;width:7px;height:190px}.navCta{padding:10px 13px;font-size:9px;margin-right:10px}.heroContent{padding-top:10vh}.eyebrow{font-size:8px}h1{font-size:31vw;margin-top:24px}.roles{font-size:14px;line-height:1.8}.roles b{padding:0 2px}.heroGlow{width:68vw;height:68vw;right:-28vw;top:190px}.portrait{width:58vw;right:-22vw;top:215px}.heroActions{flex-wrap:wrap}.play{width:54px;height:54px}.primary{padding:17px 20px}.textLink{width:100%;margin:5px 0}.proof{gap:26px}.disciplineRail{left:22px;right:22px;bottom:58px}.disciplineRail a{padding-top:14px}.disciplineRail small{display:none}.scrollCue{display:none}.section{padding:85px 22px}.workGrid{grid-template-columns:1fr;margin-top:50px}.workCard:nth-child(n){grid-column:auto;min-height:440px}.disciplineFeature{height:260px}.portfolioGallery{margin-top:85px}.galleryGroup{padding-top:55px}.galleryHeading{grid-template-columns:1fr}.galleryHeading p{margin-bottom:15px}.galleryHeading span{margin-top:12px}.photoGrid{grid-template-columns:1fr;gap:12px}.portraitPhoto,.portraitPhoto.feature,.dancePortrait,.landscape,.twoUp .editorial{grid-column:auto;aspect-ratio:4/5;min-height:0}.landscape{aspect-ratio:3/2}.aboutNumber{font-size:70vw}.profileFacts{grid-template-columns:1fr}.socialGrid{grid-template-columns:1fr}.socialCard{min-height:108px;padding:18px}.socialCard strong{font-size:20px}.formGrid{grid-template-columns:1fr}.fullField{grid-column:auto}.contactMeta{flex-direction:column;gap:8px}.contact .emailLink{font-size:13px;gap:10px}footer{padding:24px 22px;flex-wrap:wrap;gap:12px}footer p:last-child{margin-left:0;width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.play:after,.marquee div{animation:none}.primary,.disciplineRail a{transition:none}}
