:root{--accent:#c3d39e;--ink:#181e1d;--paper:#f1f0e9}html{scroll-padding-top:5rem}body{font-family:Arial,Helvetica,sans-serif;letter-spacing:.015em;color:var(--ink)}h1,h2,h3{font-weight:500;letter-spacing:-.045em;line-height:1.08}h2{font-size:clamp(2.1rem,4vw,3.5rem)}h3{font-size:clamp(1.7rem,3vw,2.5rem)}p{line-height:1.75}a{color:#435b39}a:focus-visible,button:focus-visible{outline:3px solid #859c63;outline-offset:5px}.skip-link{position:fixed;top:-5rem;left:1rem;background:white;padding:1rem;z-index:2000}.skip-link:focus{top:1rem}#mainNav{background:#171d1cf5;min-height:5rem}#mainNav .navbar-brand{color:white;letter-spacing:.08em;font-size:1.05rem}#mainNav .navbar-brand span{font-weight:400;color:var(--accent)}#mainNav .nav-link{color:#f1f0e9;font-size:.9rem}#mainNav .navbar-toggler{color:white;border-color:#758079}#mainNav.navbar-shrink{background:#171d1c}#mainNav .nav-link:hover,#mainNav .nav-link.active{color:var(--accent)!important;border-bottom-color:var(--accent)!important}.masthead{min-height:680px;height:90vh;max-height:1000px;padding:10rem 0 5rem;background:radial-gradient(ellipse at 85% 45%,#36453a 0,transparent 55%),linear-gradient(120deg,#151b1a,#1d2924);display:flex;align-items:center}.masthead h1{font-family:inherit;font-size:clamp(3.5rem,7.8vw,7rem);letter-spacing:-.06em;line-height:1.02;text-transform:none;background:none;-webkit-text-fill-color:#f7f6ef;color:#f7f6ef}.masthead .intro{color:#d1d7d0;font-size:1.2rem;max-width:33rem;margin:1.7rem 0 2rem}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;margin-bottom:1.3rem}.masthead .eyebrow,.about-section .eyebrow,.approach-section .eyebrow,.contact-section .eyebrow{color:var(--accent)}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:#19201a;border-radius:2px;font-size:.72rem;box-shadow:none;padding:1.2rem 1.5rem}.btn-primary:hover{background:#d7e3bc;border-color:#d7e3bc;color:#19201a}.hero-link{display:inline-block;margin:1rem 0 1rem 1.5rem;color:#f1f0e9;font-size:.85rem;text-decoration:none}.hero-link:hover{color:var(--accent)}.photo-note{font-size:.65rem;letter-spacing:.1em;color:#a6b3a8;margin-top:3rem;text-transform:uppercase}.about-section{background:#202825;padding:6rem 0;color:#e3e6de;text-align:left}.about-section h2{color:#fff;margin-bottom:2rem}.about-section p{max-width:none;margin-bottom:1rem}.projects-section{background:var(--paper)!important;padding:6rem 0}.section-intro{margin-bottom:3rem}.section-intro p:last-child{color:#61685f}.session-row{margin-bottom:1.5rem;background:#fff}.session-copy{padding:3.2rem!important;display:flex;flex-direction:column;justify-content:center}.session-copy p:not(.eyebrow){color:#596057;margin:1.2rem 0}.session-copy a{text-decoration:none;font-size:.88rem;font-weight:600}.photo-placeholder{min-height:360px;height:100%;background:linear-gradient(140deg,#2b3934,#4b5b4c);color:#d8e1d3;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;position:relative}.photo-placeholder:after{content:'';position:absolute;inset:1.4rem;border:1px solid #d2ddc329;pointer-events:none}.placeholder-stage{background:linear-gradient(140deg,#474336,#252e29)}.placeholder-film{background:linear-gradient(140deg,#293939,#56615b)}.placeholder-mark{font-size:.7rem;letter-spacing:.22em;margin-bottom:2rem}.photo-placeholder>span:not(.placeholder-mark){font-size:1.3rem;letter-spacing:-.02em}.photo-placeholder small{font-size:.65rem;opacity:.7;text-transform:uppercase;letter-spacing:.14em;margin-top:.7rem}.approach-section{padding:6rem 0;background:#dfe5d5}.approach-section .container{max-width:920px}.approach-section .eyebrow{color:#435b39}.approach-section h2{margin-bottom:1.7rem}.approach-section p:not(.eyebrow){max-width:43rem}.contact-section{padding:6rem 0;background:#202825;color:#eff0e8}.contact-section h2{margin-bottom:2rem}.email-link{color:var(--accent);display:inline-block;margin-bottom:2rem;font-size:1rem}.contact-section address{font-size:.9rem;line-height:1.8;color:#d1d7cd}.contact-small{font-size:.8rem;color:#b1bcae}.form-note{padding:1rem;border:1px solid #a6b49655;font-size:.8rem;color:#d2dbc9;margin-bottom:1.5rem}.contact-section label{font-size:.82rem;margin-bottom:.5rem}.form-control,.form-select{border-radius:2px;padding:.8rem}.form-control:disabled,.form-select:disabled{background:#f0f1e9;color:#454d42;opacity:1}.btn-primary:disabled{background:#c3d39e;color:#1b251b;opacity:.65}.footer{padding:2rem 0;color:#aeb6a9;font-size:.7rem}.footer-inner{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}@media(max-width:991px){.masthead{height:auto;min-height:650px}.session-copy{padding:2.2rem!important}.contact-section .col-lg-7{margin-top:2rem}.about-section,.projects-section,.approach-section,.contact-section{padding:4rem 0}.photo-placeholder{min-height:280px}}@media(max-width:575px){.masthead{min-height:650px;padding-top:9rem}.hero-link{display:block;margin-left:0;margin-top:1.5rem}.photo-note{margin-top:2rem}.email-link{overflow-wrap:anywhere}.session-copy{padding:2rem!important}.photo-placeholder{min-height:240px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Original supplied logo and full-width location line. */
#mainNav .capture-brand{display:block;padding:.4rem 0;margin-right:1rem}
.logo-panel{display:block;background:#f1f0e9;padding:6px;width:120px;box-sizing:content-box}
.logo-panel img{display:block;width:100%;height:auto}
#mainNav .logo-tagline{display:flex;width:100%;justify-content:space-between;align-items:baseline;margin-top:5px;font-size:10px;line-height:1.35;letter-spacing:0;font-weight:500;color:#1b1e13;white-space:nowrap}
#mainNav .logo-tagline span{color:inherit}
#mainNav{min-height:6.5rem}
html{scroll-padding-top:7rem}
@media(max-width:575px){.logo-panel{width:100px}#mainNav .logo-tagline{font-size:9px}#mainNav{min-height:6rem}}

/* Capture typography: locally hosted open-source web fonts. */
body{font-family:"Barlow",Arial,sans-serif;font-weight:400;letter-spacing:.01em}
h1,h2,h3,.masthead h1{font-family:"Newsreader",Georgia,serif;font-optical-sizing:auto;font-weight:400;letter-spacing:-.025em}
.masthead h1{font-size:clamp(3.4rem,7.8vw,7rem);line-height:1.04}
#mainNav .nav-link,#mainNav .navbar-toggler,.btn,.eyebrow,.placeholder-mark{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-weight:600}
#mainNav .nav-link{font-size:1.05rem;letter-spacing:.035em}
.eyebrow{font-size:.85rem;letter-spacing:.14em}
.btn{font-size:.88rem;letter-spacing:.09em}
#mainNav .logo-tagline{font-family:"Chakra Petch",Arial,sans-serif;font-weight:500;font-size:10px;letter-spacing:0}
.form-control,.form-select{font-family:"Barlow",Arial,sans-serif}
@media(max-width:575px){#mainNav .logo-tagline{font-size:8.5px}}

/* Black text beneath the logo */
#mainNav .logo-tagline,
#mainNav .logo-tagline span {
  color: #000;
}

/* Keep navigation text light, including after clicking */
#mainNav .navbar-nav .nav-link,
#mainNav .navbar-nav .nav-link:visited,
#mainNav .navbar-nav .nav-link:focus,
#mainNav .navbar-nav .nav-link.active,
#mainNav.navbar-shrink .navbar-nav .nav-link {
  color: #f1f0e9 !important;
}

/* Highlight on hover */
#mainNav .navbar-nav .nav-link:hover {
  color: #c3d39e !important;
}
/* Enquiry form additions */
.enquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.enquiry-privacy{font-size:.85rem;color:#d1d7cd;margin:0 0 1.2rem}.enquiry-privacy a{color:#dce9ca;text-decoration:underline}
.field-error{display:block;color:#ffb9a7;margin-top:.35rem;font-size:.85rem}
.form-control[aria-invalid="true"],.form-select[aria-invalid="true"]{border:2px solid #ffb9a7}
#form-feedback{margin-top:1rem;font-size:1rem}#enquiry-form label{line-height:1.4}

/* Black logo panel with white lettering */
#mainNav .logo-panel {
  background: #000;
}

#mainNav .logo-tagline,
#mainNav .logo-tagline span {
  color: #fff;
}

#mainNav .logo-panel img {
  filter: brightness(0) invert(1);
}

/* Keep images within their half of each session row */
.session-row > .col-lg-6 {
  min-width: 0;
}

.session-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 360px;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

/* Smaller image panels on phones and tablets */
@media (max-width: 991px) {
  .session-image {
    height: 280px;
    aspect-ratio: auto;
  }
}

@media (max-width: 575px) {
  .session-image {
    height: 220px;
  }
}

.masthead {
  background:
    linear-gradient(
      rgba(0, 0, 0, 0.65),
      rgba(0, 0, 0, 0.65)
    ),
    url("../assets/img/recording-studio-background.webp")
      center center / cover no-repeat;
}
