:root {
  --ink: #131517; --ink-soft: #202326; --paper: #eee9df; --cream: #f8f4ec;
  --wine: #982f40; --wine-dark: #742332; --copper: #c8915d; --sand: #d9c2a5;
  --muted: #68645e; --line: rgba(19,21,23,.2); --white-line: rgba(255,255,255,.17);
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --max: 1240px; --ease: cubic-bezier(.2,.75,.25,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--copper); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 12px 15px; color: #fff; background: var(--wine); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.site-header { position: relative; z-index: 20; display: grid; grid-template-columns: auto 1fr; align-items: center; min-height: 88px; padding: 18px max(28px,calc((100vw - var(--max))/2)); color: #f6f0e7; border-bottom: 1px solid var(--white-line); background: var(--ink); }
.wordmark { color: inherit; font: 600 37px/.75 var(--serif); letter-spacing: -.035em; text-decoration: none; }
.wordmark span { display: block; margin-top: 10px; color: #aaa49c; font: 700 8px/1 var(--sans); letter-spacing: .25em; text-transform: uppercase; }
.main-navigation { display: flex; align-items: center; justify-content: flex-end; gap: clamp(18px,2.5vw,34px); }
.main-navigation a { padding-block: 12px; color: #d9d4cd; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.main-navigation a[aria-current="page"] { color: #fff; border-bottom: 1px solid var(--copper); }
.main-navigation .header-contact { margin-left: 10px; padding: 13px 17px; color: #fff; border: 1px solid var(--copper); }
.menu-toggle { display: none; justify-self: end; padding: 10px; color: #fff; border: 1px solid var(--white-line); background: transparent; font: 700 9px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.page-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(480px,.95fr) minmax(480px,1.05fr); height: max(600px,calc(100svh - 88px)); color: #f6f0e7; background: var(--ink); }
.page-hero__copy { position: relative; z-index: 3; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 60px clamp(28px,4vw,60px) 60px max(32px,calc((100vw - var(--max))/2)); }
.eyebrow, .kicker { margin: 0 0 24px; color: var(--copper); font-size: 9px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 14px; }
.eyebrow::before { content: ""; width: 44px; height: 1px; background: var(--wine); }
h1, h2, h3, p { overflow-wrap: break-word; }
h1 { max-width: 760px; margin: 0; font: 500 clamp(50px,5.2vw,82px)/.86 var(--serif); letter-spacing: -.05em; overflow-wrap: normal; word-break: normal; }
h1 span { display: block; }
.lead { max-width: 610px; margin: 34px 0 31px; color: #bcb7af; font-size: 16px; line-height: 1.75; }
.page-hero__media { position: relative; height: 100%; min-height: 0; margin: 0; overflow: hidden; }
.page-hero__media::before { content: ""; position: absolute; z-index: 2; inset: 25px; border: 1px solid rgba(255,255,255,.3); pointer-events: none; }
.page-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,var(--ink),transparent 25%),linear-gradient(0deg,rgba(19,21,23,.3),transparent 45%); }
.page-hero__media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; filter: grayscale(1) contrast(1.08) brightness(.74); }
.page-hero__media--portrait { display: flex; align-items: flex-end; justify-content: center; background: radial-gradient(circle at 50% 37%,#393c3f 0,transparent 39%),var(--ink-soft); }
.page-hero__media--portrait::before { inset: 44px 15% 30px; }
.page-hero__media--portrait::after { background: linear-gradient(90deg,var(--ink),transparent 18%),linear-gradient(0deg,rgba(19,21,23,.72),transparent 38%); }
.page-hero__media--portrait img { width: 70%; height: 86%; object-fit: contain; object-position: center bottom; }
.page-hero__score { position: relative; z-index: 0; height: 100%; min-height: 0; overflow: hidden; border-left: 1px solid rgba(255,255,255,.055); background: radial-gradient(ellipse at 64% 45%,rgba(200,145,93,.13),transparent 31%),radial-gradient(ellipse at 28% 70%,rgba(152,47,64,.12),transparent 29%),linear-gradient(125deg,#202326,#191c1f 72%); }
.page-hero__score::before { content: ""; position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(90deg,transparent,#000 24%,#000); }
.page-hero__score::after { content: ""; position: absolute; inset: 0; box-shadow: inset 80px 0 100px rgba(19,21,23,.56); pointer-events: none; }
.score-panel__signature { position: absolute; right: clamp(28px,4vw,64px); bottom: 34px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; color: rgba(246,240,231,.4); text-transform: uppercase; }
.score-panel__signature span { font: 500 15px/1 var(--serif); letter-spacing: .08em; }
.score-panel__signature small { font: 750 7px/1 var(--sans); letter-spacing: .25em; }
.score-motion { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }
.score-composition { width: 100%; height: 100%; overflow: visible; opacity: .94; transform: translate3d(var(--score-x,0),var(--score-y,0),0) rotate(var(--score-rotate,-2deg)) scale(var(--score-scale,1)); transform-origin: 67% 49%; will-change: transform; }
.score-glow { fill: url(#scoreGlow); filter: url(#scoreBlur); }
.score-orbits path { fill: none; stroke: rgba(246,240,231,.075); stroke-width: 1.2; stroke-dasharray: 7 13; }
.score-line { fill: none; stroke: url(#scoreMetal); stroke-width: 1.35; stroke-dasharray: 1400; stroke-dashoffset: var(--score-draw,170px); }
.score-slurs path { fill: none; stroke: rgba(200,145,93,.62); stroke-width: 2.2; stroke-linecap: round; }
.score-note ellipse { fill: #eee8de; }
.score-note path { fill: none; stroke: #eee8de; stroke-width: 3.2; stroke-linecap: round; }
.score-note:nth-of-type(3n) ellipse { fill: var(--wine); }
.score-note:nth-of-type(4n) ellipse { fill: var(--copper); }
.score-beam { fill: rgba(238,232,222,.84); }
.score-beam--copper { fill: rgba(200,145,93,.76); }
.score-solo { opacity: .23; }
.score-solo ellipse { fill: none; stroke: var(--copper); stroke-width: 3.5; }
.score-solo path { fill: none; stroke: url(#scoreMetal); stroke-width: 5; stroke-linecap: round; }
.score-measures path { fill: none; stroke: rgba(246,240,231,.3); stroke-width: 1.3; }
.score-number { fill: rgba(246,240,231,.32); font: 500 14px/1 var(--serif); letter-spacing: .12em; }
.page-hero[data-motion-state="static"] .score-composition { transform: none; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; }
.button-row--center { justify-content: center; }
.button { display: inline-flex; align-items: center; justify-content: center; width: max-content; padding: 15px 19px; color: #fff; border: 1px solid var(--wine); background: var(--wine); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.button:hover { background: var(--wine-dark); transform: translateY(-1px); }
.button--wine { background: var(--wine); }.button--light { color: var(--ink); border-color: var(--cream); background: var(--cream); }.button--outline-light { color: #fff; border-color: rgba(255,255,255,.45); background: transparent; }
.text-link { display: inline-flex; width: max-content; padding-bottom: 5px; color: var(--wine); border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 750; text-decoration: none; }
.text-link--light { color: #f6f0e7; }
.proof-strip { display: grid; grid-template-columns: repeat(3,1fr); color: #fff; background: var(--wine); }
.proof-strip > div { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; min-height: 125px; padding: 29px max(25px,calc((100vw - var(--max))/6)); border-right: 1px solid rgba(255,255,255,.22); }
.proof-strip b { grid-row: 1/3; color: #e8bb91; font: 500 24px/1 var(--serif); }.proof-strip strong { font-size: 14px; }.proof-strip span { color: #ebd6d9; font-size: 11px; line-height: 1.5; }
.section { padding: 110px max(28px,calc((100vw - var(--max))/2)); }
.section--paper { background: var(--cream); }.section--dark { color: #f5efe6; background: var(--ink); }.section--dark .section-heading p { color: #aca69f; }
.section-heading { margin-bottom: 48px; }.split-heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 70px; }
.section-heading h2, .people-feature h2, .moment-feature h2, .teacher-focus h2, .bio-section h2, .status-card h2, .event-card h2, .location-copy h2, .contact-band h2, .studio-placeholder h2 { margin: 0 0 20px; font: 500 clamp(50px,5.7vw,82px)/.88 var(--serif); letter-spacing: -.045em; }
.section-heading p, .people-feature p, .moment-feature p, .teacher-focus p, .bio-section p, .status-card p, .event-card p { max-width: 660px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.lesson-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 12px; }
.lesson-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 590px; padding: 32px; overflow: hidden; color: #fff; text-decoration: none; }
.lesson-card::after { content: ""; position: absolute; inset: 27% 0 0; background: linear-gradient(transparent,rgba(11,13,14,.97)); }
.lesson-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.9) contrast(1.05); transition: transform .7s var(--ease); }
.lesson-card:hover img { transform: scale(1.025); }.lesson-card > *:not(img) { position: relative; z-index: 2; }
.lesson-card .kicker { margin-bottom: 11px; }.lesson-card h2 { margin: 0 0 8px; font: 500 56px/.9 var(--serif); letter-spacing: -.035em; }.lesson-card p { max-width: 540px; margin: 0; color: #dbd8d2; font-size: 12px; line-height: 1.6; }.card-link { margin-top: 20px; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.format-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 12px; border: 1px solid var(--line); }
.format-grid article { padding: 27px; border-right: 1px solid var(--line); }.format-grid article:last-child { border: 0; }.format-grid h3 { margin: 0 0 8px; color: var(--wine); font-size: 13px; text-transform: uppercase; letter-spacing: .07em; }.format-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.people-feature, .teacher-focus, .bio-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px,8vw,120px); align-items: center; background: var(--cream); }
.portrait-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: end; }.portrait-pair figure { margin: 0; }.portrait-pair figure:last-child { transform: translateY(35px); }.portrait-pair img { width: 100%; aspect-ratio: .75; object-fit: cover; object-position: top; filter: grayscale(1) contrast(1.07); }.portrait-pair figcaption, .gallery-grid figcaption { padding-top: 10px; color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.moment-feature { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 570px; padding: 0; color: #fff; background: var(--wine); }.moment-feature img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; filter: grayscale(1) contrast(1.06); }.moment-feature > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(50px,8vw,115px); }.moment-feature p { color: #ead6d9; }
.number-list { margin-bottom: 40px; border-top: 1px solid var(--white-line); }.number-list article { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 25px; align-items: baseline; padding: 27px 0; border-bottom: 1px solid var(--white-line); }.number-list span { color: var(--copper); font: 500 20px/1 var(--serif); }.number-list h3 { margin: 0; font: 500 30px/1 var(--serif); }.number-list p { margin: 0; color: #aaa59e; font-size: 12px; line-height: 1.6; }
.content-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,9vw,140px); }.content-split h2 { margin: 0; font: 500 clamp(50px,5.4vw,78px)/.88 var(--serif); letter-spacing: -.045em; }.prose p { margin: 0 0 24px; color: var(--muted); font-size: 16px; line-height: 1.85; }
.teacher-focus > img, .bio-section > img { width: 100%; max-height: 720px; object-fit: cover; object-position: top; filter: grayscale(1) contrast(1.07); }.bio-section--reverse img { order: 2; }.bio-section--reverse div { order: 1; }
.verification-note { margin: 0 0 35px; padding: 17px 20px; color: #5c3a2e; border-left: 3px solid var(--copper); background: #eadbc7; font-size: 12px; line-height: 1.6; }
.price-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.price-group { padding: 28px; border: 1px solid var(--line); }.price-group header { display: flex; justify-content: space-between; gap: 20px; align-items: end; padding-bottom: 20px; border-bottom: 1px solid var(--line); }.price-group h2 { margin: 0; font: 500 31px/1 var(--serif); }.price-group header span { color: var(--muted); font-size: 9px; text-transform: uppercase; }.price-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 20px 0; }.price-cards > div { padding: 20px 8px; border: 1px solid var(--line); text-align: center; }.price-cards > div:nth-child(2) { border-color: var(--copper); background: #efe1cf; }.price-cards strong, .single-price-row strong { display: block; color: var(--wine); font: 500 clamp(27px,3vw,40px)/1 var(--serif); }.price-cards span, .single-price-row span { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.4; }.price-group dl { margin: 0; }.price-group dl div { display: grid; grid-template-columns: 1fr auto; gap: 15px; padding: 12px 0; border-top: 1px solid var(--line); }.price-group dt, .price-group dd { font-size: 11px; }.price-group dd { margin: 0; color: var(--wine); font-weight: 750; }
.single-price-row { display: grid; grid-template-columns: 1.3fr repeat(3,.6fr); margin-top: 16px; border: 1px solid var(--line); }.single-price-row > div { display: flex; flex-direction: column; justify-content: center; min-height: 110px; padding: 20px; border-right: 1px solid var(--line); text-align: center; }.single-price-row > div:first-child { color: #fff; background: var(--wine); text-align: left; }.single-price-row h2 { margin: 0; font: 500 25px/1 var(--serif); }.single-price-row p { margin: 6px 0 0; font-size: 11px; }
.faq-section { background: var(--sand); }.faq-list { max-width: 800px; margin-left: auto; border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; justify-content: space-between; padding: 22px 0; font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }.faq-list summary::after { content: "+"; color: var(--wine); font-size: 20px; }.faq-list details[open] summary::after { content: "−"; }.faq-list details p { max-width: 650px; margin: -2px 30px 22px 0; color: #5d574e; font-size: 12px; line-height: 1.7; }
.contact-band { padding: 105px 28px; color: #fff; background: var(--ink); text-align: center; }.contact-band h2 { max-width: 900px; margin-inline: auto; }.contact-band > p:not(.kicker) { max-width: 620px; margin: 0 auto 30px; color: #aaa59e; font-size: 13px; line-height: 1.7; }
.events-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; }.status-card { display: flex; flex-direction: column; justify-content: center; min-height: 520px; padding: clamp(35px,6vw,75px); border: 1px solid var(--line); }.event-card { display: grid; grid-template-columns: .7fr 1.3fr; min-height: 520px; color: #fff; background: var(--wine); }.event-card img { width: 100%; height: 100%; object-fit: cover; }.event-card div { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px,5vw,70px); }.event-card p { color: #ead6d9; }.event-card span { font-size: 10px; line-height: 1.6; }
.gallery-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-auto-rows: 280px; gap: 8px; }.gallery-grid figure { position: relative; margin: 0; overflow: hidden; }.gallery-grid .gallery-large { grid-row: span 2; }.gallery-grid img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.9) contrast(1.05); transition: transform .7s var(--ease); }.gallery-grid figure:hover img { transform: scale(1.025); }.gallery-grid figcaption { position: absolute; inset: auto 12px 12px; padding: 9px 11px; color: #fff; background: rgba(19,21,23,.85); }
.studio-placeholder { padding: 105px 28px; color: #fff; background: var(--wine); text-align: center; }.studio-placeholder h2 { max-width: 850px; margin-inline: auto; }.studio-placeholder > p:last-child { max-width: 600px; margin: auto; color: #ead6d9; font-size: 13px; line-height: 1.7; }
.location-section { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 650px; background: var(--cream); }.location-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px,7vw,100px); }.location-copy dl { margin: 0 0 30px; }.location-copy dl div { display: grid; grid-template-columns: 95px 1fr; gap: 15px; padding: 13px 0; border-top: 1px solid var(--line); }.location-copy dt { color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }.location-copy dd { margin: 0; font-size: 12px; font-weight: 650; line-height: 1.5; }.map-embed { min-height: 650px; overflow: hidden; background: #d8d3ca; }.map-embed iframe { display: block; width: 100%; height: 100%; min-height: 650px; border: 0; filter: grayscale(.72) contrast(.96); }
.location-copy h2 { font-size: clamp(48px,4.5vw,66px); }
.contact-card-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }.contact-card-grid a { display: flex; flex-direction: column; min-height: 180px; padding: 28px; border-right: 1px solid var(--line); text-decoration: none; }.contact-card-grid a:last-child { border: 0; }.contact-card-grid span { color: var(--copper); font: 500 22px/1 var(--serif); }.contact-card-grid strong { margin: auto 0 8px; font: 500 30px/1 var(--serif); }.contact-card-grid small { color: var(--muted); }
.legal-copy { min-height: 600px; }.legal-copy > * { max-width: 760px; }.legal-copy h2 { margin: 45px 0 12px; font: 500 34px/1 var(--serif); }.legal-copy p { color: var(--muted); font-size: 14px; line-height: 1.8; }.legal-copy .verification-note { color: #5c3a2e; }
.site-footer { display: grid; grid-template-columns: 1.4fr repeat(3,.7fr); gap: 50px; padding: 70px max(28px,calc((100vw - var(--max))/2)) 25px; color: #aaa59e; background: #0b0c0d; font-size: 10px; line-height: 1.6; }.site-footer > div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }.site-footer strong { margin-bottom: 8px; color: #fff; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }.site-footer a { text-decoration: none; }.site-footer a:hover { color: #fff; }.wordmark--footer { color: #fff; font-size: 33px; }.site-footer__end { grid-column: 1/-1; margin: 35px 0 0; padding-top: 20px; border-top: 1px solid var(--white-line); }
@media (max-width: 920px) {
  .page-hero { grid-template-columns: minmax(0,1fr); height: auto; overflow: hidden; }.page-hero__copy { min-height: 570px; padding: 80px 32px; }.page-hero__media, .page-hero__media img, .page-hero__score { height: auto; min-height: 520px; }.page-hero__media--portrait img { width: min(68%,440px); height: 88%; }.page-hero--score .score-motion { inset: auto 0 0; height: 520px; }.page-hero--score .score-composition { width: 142%; transform: translate3d(-25%,0,0) rotate(-2deg) scale(.9); transform-origin: 70% 50%; }.proof-strip { grid-template-columns: 1fr; }.proof-strip > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }.split-heading, .people-feature, .teacher-focus, .bio-section, .content-split, .location-section, .events-section { grid-template-columns: 1fr; gap: 38px; }.bio-section--reverse img, .bio-section--reverse div { order: initial; }.price-groups { grid-template-columns: 1fr; }.moment-feature { grid-template-columns: 1fr; }.event-card { grid-template-columns: .8fr 1.2fr; }.site-footer { grid-template-columns: 1.2fr repeat(3,.8fr); gap: 25px; }
}
@media (max-width: 760px) {
  .site-header { grid-template-columns: auto 1fr; min-height: 78px; padding-inline: 18px; }.wordmark { font-size: 31px; }.menu-toggle { display: inline-flex; align-items: center; gap: 10px; }.menu-toggle i { width: 18px; height: 8px; border-block: 1px solid currentColor; }.main-navigation { position: absolute; inset: 78px 0 auto; display: grid; gap: 0; padding: 12px 18px 21px; color: #fff; border-top: 1px solid var(--white-line); background: var(--ink); box-shadow: 0 18px 35px rgba(0,0,0,.25); }.main-navigation[hidden] { display: none; }.main-navigation a { padding: 15px 2px; border-bottom: 1px solid var(--white-line); }.main-navigation .header-contact { margin: 12px 0 0; text-align: center; }
  .page-hero__copy { min-height: 560px; padding: 65px 18px; }.page-hero__media, .page-hero__media img, .page-hero__score { min-height: 440px; }.page-hero__media::before { inset: 14px; }.page-hero__media--portrait img { width: 72%; height: 90%; }.page-hero--score .score-motion { height: 440px; }.page-hero--score .score-composition { width: 165%; transform: translate3d(-34%,0,0) rotate(-2deg) scale(.88); }.score-panel__signature { right: 18px; bottom: 20px; } h1 { font-size: clamp(42px,11.5vw,54px); }.lead { font-size: 15px; }.button-row { align-items: flex-start; flex-direction: column; }.button-row--center { align-items: center; }.section { padding: 80px 18px; }.section-heading h2, .people-feature h2, .moment-feature h2, .teacher-focus h2, .bio-section h2, .status-card h2, .event-card h2, .location-copy h2, .contact-band h2, .studio-placeholder h2 { font-size: clamp(47px,14vw,65px); }.location-copy h2 { font-size: clamp(45px,13vw,58px); }.lesson-grid, .portrait-pair, .format-grid, .contact-card-grid { grid-template-columns: 1fr; }.lesson-card { min-height: 480px; padding: 24px 19px; }.lesson-card h2 { font-size: 46px; }.format-grid article, .contact-card-grid a { border-right: 0; border-bottom: 1px solid var(--line); }.portrait-pair figure:last-child { transform: none; }.people-feature, .teacher-focus, .bio-section { gap: 48px; }.moment-feature img { min-height: 410px; }.moment-feature > div { padding: 70px 18px; }.number-list article { grid-template-columns: 40px 1fr; }.number-list p { grid-column: 2; }.price-group { padding: 20px 13px; }.price-group header { align-items: flex-start; flex-direction: column; }.price-cards strong { font-size: 26px; }.single-price-row { grid-template-columns: repeat(3,1fr); }.single-price-row > div:first-child { grid-column: 1/-1; }.single-price-row > div { padding: 16px 7px; }.events-section { gap: 12px; }.event-card { grid-template-columns: 1fr; }.event-card img { max-height: 520px; }.gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 240px; }.gallery-grid .gallery-large { grid-column: 1/-1; grid-row: auto; }.gallery-grid figure:nth-child(2) { grid-column: 1/-1; }.location-copy { padding: 75px 18px; }.map-embed, .map-embed iframe { min-height: 430px; }.contact-band, .studio-placeholder { padding: 85px 18px; }.site-footer { grid-template-columns: 1fr 1fr; gap: 38px 25px; padding: 60px 18px 24px; }.site-footer > div:first-child { grid-column: 1/-1; }.site-footer__end { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
