:root { --ink:#090909; --paper:#e9e5de; --soft:#b9b5ae; --line:rgba(233,229,222,.22); --warm:#c98c54; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Manrope,Arial,sans-serif; font-size:15px; line-height:1.6; }
.grain { position:fixed; z-index:10; inset:0; opacity:.055; 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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.site-header { height:86px; position:absolute; z-index:4; inset:0 0 auto; padding:17px 8vw; display:flex; align-items:center; justify-content:space-between; background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,0)); border-bottom:1px solid rgba(255,255,255,.18); }
.brand { width:105px; height:36px; overflow:hidden; display:block; background:transparent; transform:translateX(10px); }
.brand img { width:105px; height:79px; max-width:none; object-fit:cover; object-position:center 45%; transform:translateY(-11px) scale(1.65); }
nav { display:flex; gap:clamp(18px,2.6vw,38px); margin-left:auto; margin-right:clamp(18px,2.5vw,42px); }
a { color:inherit; text-decoration:none; }
nav a, .header-book, .eyebrow, .section-number, .caption, footer { letter-spacing:.14em; text-transform:uppercase; font-family:"DM Mono",monospace; font-size:10px; }
nav a { color:rgba(255,255,255,.8); transition:color .2s; } nav a:hover { color:#fff; }
.menu-only { display:none; }
.header-book { border:1px solid rgba(255,255,255,.65); padding:13px 22px; transition:.2s; } .header-book:hover { background:#fff; color:#000; }
.menu-toggle { display:none; }

@media (max-width:1200px) {
  .site-header { height:78px; padding:16px 6vw; }
  nav {
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    right:6vw;
    width:min(280px,88vw);
    margin:0;
    padding:9px;
    flex-direction:column;
    gap:0;
    background:rgba(8,8,8,.94);
    border:1px solid rgba(255,255,255,.24);
    backdrop-filter:blur(14px);
    box-shadow:0 14px 34px rgba(0,0,0,.28);
  }
  nav.is-open { display:flex; }
  nav a { padding:12px 13px; font-size:10px; }
  nav .menu-only { display:block; }
  .menu-toggle {
    display:flex;
    width:42px;
    height:42px;
    margin-left:auto;
    margin-right:13px;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(0,0,0,.16);
    color:#fff;
    cursor:pointer;
  }
  .menu-toggle span { display:block; width:17px; height:1px; background:currentColor; }
}
.hero { min-height:100svh; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:flex-start; text-align:left; padding:70px 8vw 0; }
.hero-image, .hero-video, .closing > img, .closing-video { position:absolute; width:100%; height:100%; object-fit:cover; inset:0; }
.hero-image, .hero-video { object-position:center 64%; filter:saturate(.86) contrast(1.05) brightness(.95); }
.hero-video { display:block; background:#080808; transform:translateZ(0); }
.closing-video { display:block; background:#080808; transform:translateZ(0); }
.hero-shade { position:absolute; inset:0; background:radial-gradient(ellipse 55% 52% at 20% 68%, rgba(0,0,0,.16) 0%, rgba(0,0,0,.08) 48%, transparent 76%),linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.02) 36%,rgba(0,0,0,.32) 100%),linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.42) 30%,rgba(0,0,0,.15) 54%,rgba(0,0,0,.05) 75%,rgba(0,0,0,.14) 100%); }
.hero-content, .closing-content { position:relative; z-index:1; }
.hero-content { transform:translate(-3vw, 8vh); }
.hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.hero-logo { width:300px; aspect-ratio:3.6 / 1; overflow:hidden; margin:0 0 88px; transform:translateX(-45px); }
.hero-logo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 55%; transform:scale(1.03); }
.hero-profession { max-width:700px; margin:0 0 88px; color:var(--paper); font-size:clamp(50px,6.8vw,104px); letter-spacing:-.06em; }
.hero-profession .hero-subline { display:block; }
.hero-profession em { color:#e8a96d; }
.hero-profession .ampersand { color:var(--paper); font-family:inherit; font-style:normal; font-weight:inherit; }
.eyebrow { color:#e6d5bd; margin:0 0 17px; }
h1,h2,blockquote { font-family:"Playfair Display",Georgia,serif; font-weight:500; line-height:.99; margin:0; }
h1 { max-width:1100px; font-size:clamp(62px,7.4vw,126px); letter-spacing:-.06em; } h1 span { color:#d4a871; }
h1 em,h2 em,blockquote em { color:#df9d61; }
.hero-copy { font-size:11px; letter-spacing:.13em; text-transform:uppercase; margin:24px 0 27px; }
.button { display:inline-flex; align-items:center; gap:26px; padding:14px 17px; letter-spacing:.11em; text-transform:uppercase; font:500 10px "DM Mono",monospace; transition:.2s; }
.button span,.text-link span { font-size:17px; line-height:0; }.button-light { color:#111; background:var(--paper); }.button-light:hover { background:#d99559; }.button-outline { border:1px solid var(--line); }.button-outline:hover { border-color:var(--warm); background:var(--warm); color:#15100c; }
.scroll { position:absolute; z-index:1; bottom:4.7vh; right:5vw; color:rgba(255,255,255,.7); font:10px "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; display:flex; align-items:center; gap:11px; }.scroll span { height:1px; width:33px; background:#fff; }
.section-wrap { padding:150px 8vw; }.section-number { margin:0; color:var(--warm); }.intro { background:linear-gradient(90deg, rgba(5,8,8,.78) 0%, rgba(5,8,8,.64) 52%, rgba(5,8,8,.42) 100%), url("assets/yacht-evening.jpg") center 58% / cover no-repeat; }.intro-grid { margin-top:58px; display:grid; grid-template-columns:1.1fr .72fr; gap:11vw; align-items:start; }.intro h2,.gigs h2 { font-size:clamp(42px,6.2vw,91px); letter-spacing:-.06em; }.intro-highlights { display:flex; flex-direction:column; gap:12px; margin-top:30px; }.intro-highlights strong { color:#e8a96d; font:600 10px "DM Mono",monospace; letter-spacing:.13em; line-height:1.4; text-transform:uppercase; }.intro .body-copy { margin:0; padding:0; background:none; }.intro .body-copy p { padding:21px 23px; background:linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.31) 72%,rgba(0,0,0,.16) 100%); color:#e2ddd6; font-size:14px; }.intro .body-copy p + p { margin-top:10px; }.body-copy p { margin:0; color:#d7d2ca; font-size:16px; line-height:1.9; }.text-link { display:inline-flex; align-items:center; gap:14px; margin-top:30px; color:#e8a96d; font:11px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.gallery { background:#080808; padding-top:125px; }.gallery-heading { display:grid; grid-template-columns:1fr 1.18fr .7fr; align-items:end; gap:5vw; margin-bottom:52px; }.gallery-heading h2 { font-size:clamp(45px,6vw,86px); letter-spacing:-.06em; }.gallery-heading > p:last-child { margin:0; color:#9e9991; font-size:13px; line-height:1.75; }.gallery-grid { display:grid; grid-template-columns:1.15fr 1fr .78fr; grid-template-rows:340px 250px 330px; gap:13px; }.gallery-grid figure { margin:0; overflow:hidden; background:#171717; }.gallery-grid img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s ease; }.gallery-grid figure:hover img { transform:scale(1.035); }.gallery-main { grid-row:span 2; }.gallery-main img { object-position:center 70%; }.gallery-portrait img { object-position:center 45%; }.gallery-formal { grid-column:2; grid-row:span 2; }.gallery-formal img { object-position:center 46%; }.gallery-detail img { object-position:center 62%; }.gallery-warm { grid-column:1; }.gallery-warm img { object-position:center 56%; }.gallery-inquiry { display:flex; justify-content:space-between; margin-top:14px; padding:19px 0 0; border-top:1px solid var(--line); color:#d6a46e; font:11px "DM Mono",monospace; letter-spacing:.11em; text-transform:uppercase; }.gallery-inquiry span { font-size:18px; line-height:0; }
.feature { display:grid; grid-template-columns:1fr 1fr; min-height:710px; }.feature-image-wrap { min-height:550px; overflow:hidden; }.feature-image-wrap img { width:100%; height:100%; display:block; object-fit:cover; object-position:48% 42%; filter:saturate(.68); }.feature-content { background:linear-gradient(180deg, rgba(8,10,10,.62) 0%, rgba(8,10,10,.82) 100%), url("assets/warm-venue.jpg") center / cover no-repeat; padding:13vw 9vw 11vw; }.feature blockquote { font-size:clamp(42px,6.2vw,91px); letter-spacing:-.06em; margin:62px 0 35px; }.feature-content > p:not(.section-number) { color:#d9d3cc; max-width:475px; margin:0 0 32px; }
.career { position:relative; min-height:680px; align-items:end; background:linear-gradient(90deg, rgba(3,10,16,.78) 0%, rgba(3,10,16,.52) 43%, rgba(3,10,16,.08) 78%), linear-gradient(0deg, rgba(3,10,16,.50) 0%, transparent 54%), url("assets/dj-headphones.jpg") center 51% / cover no-repeat; color:var(--paper); display:grid; grid-template-columns:minmax(205px,.55fr) minmax(0,1fr); gap:clamp(32px,7vw,116px); }.career-heading { align-self:end; padding-bottom:clamp(18px,4vw,46px); }.career-heading h2 { margin:0; font-size:clamp(52px,6vw,96px); letter-spacing:-.06em; }.career-rule { display:none; }.caption { margin:12px 0 0; color:#d9d1c7; }.career-statement { max-width:670px; align-self:end; padding:0 0 clamp(20px,4vw,52px); background:none; border:0; box-shadow:none; backdrop-filter:none; }.career-statement p { margin:0; color:rgba(250,247,241,.9); font-size:clamp(16px,1.25vw,19px); line-height:1.72; }.career-statement p + p { margin:0; padding:0; border:0; }.career-statement .career-lede { color:inherit; font:inherit; letter-spacing:normal; line-height:inherit; }
.gigs { background:#101010; }.open-format { text-align:center; padding-top:120px; padding-bottom:128px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.015),transparent); }.open-format .section-number,.track-record .section-number { font:500 10px "DM Mono",monospace; letter-spacing:.16em; text-transform:uppercase; }.open-format h2 { margin:20px 0 0; font-family:"DM Sans",sans-serif; font-weight:600; font-size:clamp(42px,5.3vw,72px); letter-spacing:-.055em; }.track-record h2 { margin:20px 0 0; font-family:"Playfair Display",Georgia,serif; font-weight:500; font-size:clamp(42px,6.2vw,91px); letter-spacing:-.06em; }.open-format h2 em,.track-record h2 em { color:var(--warm); font-style:normal; }.format-copy { max-width:650px; margin:23px auto 0; color:#a7a29c; font-size:15px; line-height:1.55; }.genre-list { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:1020px; margin:54px auto 0; }.genre-list span { border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:13px 25px; color:#c4c0bb; font-size:14px; line-height:1; letter-spacing:.04em; }.genre-list span:hover { border-color:rgba(224,166,107,.85); color:#e8d8c2; }.track-record { background:#050505; text-align:center; padding-top:126px; padding-bottom:130px; }.track-record .section-number { color:var(--warm); }.venues-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:4.5vw; margin-top:72px; text-align:left; }.venues-grid h3 { margin:0 0 18px; color:#a49f98; font:500 10px "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }.venues-grid ul { list-style:none; padding:0; margin:0; }.venues-grid li { margin:0 0 12px; padding-left:15px; border-left:2px solid rgba(255,255,255,.14); color:#cfcbc5; font-size:15px; line-height:1.4; }.venues-grid .featured-gigs li { color:#df9d61; }
.inquiry-section { display:grid; grid-template-columns:minmax(0,.8fr) minmax(460px,1.2fr); gap:clamp(64px,9vw,150px); background:radial-gradient(circle at 18% 24%,rgba(201,140,84,.13),transparent 34%),#0a0a0a; border-top:1px solid var(--line); }
.inquiry-intro { position:sticky; top:55px; align-self:start; }
.inquiry-intro h2 { margin:24px 0 30px; font-size:clamp(48px,6vw,91px); letter-spacing:-.06em; }
.inquiry-intro > p:not(.section-number) { max-width:520px; margin:0; color:#aaa59e; font-size:16px; line-height:1.75; }
.inquiry-direct { margin-top:42px; padding-top:24px; border-top:1px solid var(--line); display:grid; gap:6px; }
.inquiry-direct span { color:#79756f; font:10px "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }
.inquiry-direct a { display:inline-flex; align-items:center; gap:8px; width:max-content; color:#e4a66d; font-size:15px; }
.inquiry-email-arrow { width:13px; height:13px; fill:none; stroke:#df9d61; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.inquiry-direct a:hover { color:#f0c49a; }
.inquiry-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px; }
.form-field { min-width:0; }
.form-field-wide { grid-column:1 / -1; }
.form-field label { display:block; margin-bottom:9px; color:#b9b3ab; font:500 10px "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.form-field label span { color:#df9d61; }
.form-field input,.form-field select,.form-field textarea { width:100%; border:0; border-bottom:1px solid rgba(233,229,222,.28); border-radius:0; padding:12px 2px 13px; background:transparent; color:var(--paper); font:400 16px Manrope,Arial,sans-serif; outline:none; transition:border-color .2s,background-color .2s; }
.form-field textarea { min-height:132px; resize:vertical; line-height:1.6; }
.form-field select { color-scheme:dark; cursor:pointer; }
.form-field input::placeholder,.form-field textarea::placeholder { color:#65615c; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:#df9d61; background:rgba(255,255,255,.018); }
.form-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-submit { display:flex; align-items:center; gap:24px; margin-top:8px; }
.form-submit button { border:0; cursor:pointer; min-width:160px; justify-content:space-between; }
.form-submit button:disabled { cursor:wait; opacity:.62; }
.form-status { margin:0; color:#c4bdb4; font-size:13px; line-height:1.5; }
.form-privacy { margin:-10px 0 0; color:#716c66; font-size:11px; line-height:1.5; }
.closing { position:relative; min-height:720px; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }.closing > img { object-position:center 57%; filter:saturate(.7); }.closing-overlay { position:absolute; inset:0; background:rgba(0,0,0,.58); }.closing h2 { font-size:clamp(56px,8vw,118px); letter-spacing:-.06em; }.closing .button { margin-top:33px; } footer { padding:29px 5vw; display:flex; justify-content:space-between; gap:20px; color:#96918b; border-top:1px solid var(--line); } footer a:hover { color:#fff; }
@media (max-width:700px) { .site-header { height:70px; padding:16px 6vw; }.brand { width:82px; height:31px; }.brand img { width:82px; height:61px; }nav { display:none; }.header-book { padding:8px 10px; font-size:9px; }.hero { align-items:center; padding:0 7vw 5vh; }.hero-image,.hero-video { object-position:58% 64%; }.hero-content { padding-top:52px; transform:translate(-1vw, 6vh); }.hero-logo { width:300px; margin-bottom:42px; transform:translateX(-45px); }.scroll { display:none; }.section-wrap { padding:92px 7vw; }.intro-grid,.career,.feature { display:block; }.intro-grid { margin-top:40px; }.body-copy { margin-top:36px; }.gallery { padding-top:83px; }.gallery-heading { display:block; margin-bottom:35px; }.gallery-heading h2 { margin:17px 0; }.gallery-heading > p:last-child { max-width:320px; }.gallery-grid { grid-template-columns:1.25fr .75fr; grid-template-rows:270px 180px 230px 190px; gap:8px; }.gallery-main { grid-row:span 2; }.gallery-portrait { grid-row:1; }.gallery-detail { grid-row:2; }.gallery-formal { grid-column:1 / span 2; grid-row:3; }.gallery-warm { grid-column:1 / span 2; grid-row:4; }.feature-image-wrap { min-height:420px; }.feature-content { padding:88px 7vw; }.feature blockquote { margin:39px 0 25px; }.career-heading { margin-bottom:42px; }.open-format,.track-record { padding:88px 7vw; }.open-format h2,.track-record h2 { font-size:clamp(38px,11vw,54px); }.format-copy { font-size:14px; }.genre-list { gap:8px; margin-top:38px; }.genre-list span { padding:11px 16px; font-size:12px; }.venues-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 25px; margin-top:52px; }.venues-grid li { padding-left:11px; font-size:13px; margin-bottom:10px; }.inquiry-section { display:block; }.inquiry-intro { position:static; }.inquiry-form { grid-template-columns:1fr; margin-top:62px; }.form-field-wide { grid-column:auto; }.form-submit { display:block; }.form-status { margin-top:16px; }.closing { min-height:590px; }.closing > img { object-position:center center; } footer { display:block; padding:26px 7vw; } footer > * { display:block; margin:10px 0; } }

@media (max-width:700px) {
  .brand { transform:translateX(6px); }
  .hero-profession { max-width:330px; margin-bottom:42px; font-size:clamp(42px,12vw,58px); }
  .career {
    min-height:900px;
    padding-top:390px;
    padding-bottom:52px;
    background-position:center center;
  }

  .career-heading {
    margin-bottom:18px;
    padding-bottom:0;
  }

  .career-heading h2 { font-size:clamp(50px,15vw,76px); }

  .career-statement { max-width:430px; padding:0; }

  .career-statement p { font-size:15px; line-height:1.64; }
}

.intro { background:#050505; }
.intro .body-copy p { padding:0; background:none; }
/* Match the closing video to the original photo treatment. */
.closing-video { object-position:center 57%; filter:saturate(.7); }
@media (max-width:700px) {
  .closing-video { object-position:center center; }
}

/* Full-height video background for the final page. */
.closing { min-height:max(720px, 100svh); }
.closing { padding-bottom:98px; }
.closing .site-footer { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:29px 5vw; display:flex; align-items:center; justify-content:space-between; gap:20px; color:rgba(233,229,222,.78); background:transparent; border-top:1px solid rgba(233,229,222,.22); }
.closing .site-footer p { margin:0; }
.footer-links { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px clamp(16px, 2vw, 30px); }
.closing .site-footer a:hover { color:#fff; }
@media (max-width:700px) {
  .closing { min-height:100svh; }
  .closing { padding-bottom:130px; }
  .closing .site-footer { display:flex; flex-direction:column; align-items:flex-start; padding:26px 7vw; }
  .closing .site-footer > * { margin:0; }
  .footer-links { justify-content:flex-start; }
}

/* Final type refinements */
.career-heading h2 {
  color: #df9d61;
  font-size: clamp(78px, 8.7vw, 138px);
}

.why-feature .why-details > p {
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.78;
}

@media (max-width:700px) {
  .career-heading h2 {
    font-size: clamp(56px, 16vw, 84px);
  }

  .why-feature .why-details > p {
    font-size: 17px;
    line-height: 1.72;
  }
}
