/* Step 1 literal port from source HTML — do not rewrite */
:root{--ink:#302922;--muted:#817872;--accent:#bc6a44;--cream:#faf5ef;--paper:#fdfbf9;--line:#edddcf;--gold:#b89870}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.4}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.2px;line-height:1.08}h2{font-size:32px}h3{font-size:17px;font-weight:400}p{color:var(--muted)}.container{width:calc(100% - 106px);max-width:1320px;margin-inline:auto}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 25px;border:1px solid var(--accent);border-radius:18px;color:var(--paper);background:var(--accent);font-size:16px;line-height:1.2;transition:background .2s,color .2s}.button:hover{background:#a85b37;color:var(--paper)}.button.outline{background:transparent;color:var(--accent)}.button.outline:hover{background:#fff8f0}.actions{display:flex;gap:19px;align-items:center;flex-wrap:wrap}.first-screen{height:100vh;display:flex;flex-direction:column;background:#f4eadd var(--s2c-img_20, url("../../images/edited-hero-acting-class-1.png")) center center/cover no-repeat}.header{height:94px;flex-shrink:0;display:flex;align-items:center}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.wing{width:43px;height:56px;fill:none;stroke:currentColor;stroke-width:1.25}.brand-name{font:46px/.95 Georgia,serif;letter-spacing:4px}.brand-caption{font-size:10px;letter-spacing:3.8px;margin-top:4px}.nav{display:flex;align-items:center;gap:29px;font-size:14px;margin-left:auto}.header .button{font-size:14px;min-height:39px;padding:9px 21px;border-radius:17px;margin-left:19px}.menu-toggle{display:none;background:none;border:0;padding:10px}.hero{flex:1;display:flex;align-items:center;padding-bottom:38px}.hero-copy{max-width:580px}.eyebrow{font-size:14px;letter-spacing:1.3px;color:var(--muted);margin-bottom:25px}.hero h1{font-size:68px;max-width:580px;line-height:.98;letter-spacing:-1.8px;margin-bottom:34px}.hero p{font-size:19px;line-height:1.32;max-width:415px;margin-bottom:31px;color:var(--muted)}.about{padding:62px 0 61px}.about-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:43px;align-items:center}.section-label{color:var(--muted);font-size:14px;margin-bottom:24px;display:flex;align-items:center;gap:10px}.section-label:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent)}.about h2{font-size:46px;max-width:500px;line-height:1.05;margin-bottom:25px}.about p{font-size:16.5px;line-height:1.35;margin-bottom:28px;max-width:485px}.about p:last-child{margin:0}.about-media{position:relative}.about-media>img{aspect-ratio:590/354;border-radius:14px}.seal{position:absolute;width:175px;height:175px;bottom:-20px;left:-82px;color:var(--gold);background:#f4e7d4;border-radius:50%;padding:4px;box-shadow:0 0 0 3px #fdfbf9}.seal svg{width:100%;height:100%}.benefits{padding:57px 0 47px;background:linear-gradient(100deg,#fbf5ef,#faf4ef)}.benefits h2{margin-bottom:25px}.benefits-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:17px}.benefit{border:1px solid #f0e6dc;border-radius:17px;min-height:237px;padding:20px 12px 24px;text-align:center}.benefit svg{width:52px;height:52px;fill:none;stroke:var(--accent);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 13px}.benefit h3{min-height:46px;line-height:1.3;max-width:195px;margin:0 auto 12px}.benefit p{font-size:14px;line-height:1.4;max-width:190px;margin:auto}.learning{padding:44px 0 45px}.learning h2{margin-bottom:11px}.learning>.container>p{font-size:15.5px}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:35px}.step{min-width:0}.step img{width:100%;aspect-ratio:216/193;border-radius:14px}.step h3{font-family:Georgia,serif;font-size:18px;display:flex;align-items:center;gap:12px;margin:15px 0 8px}.number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--gold);color:white;font:20px Georgia,serif;box-shadow:0 -9px 0 7px var(--paper)}.step p{font-size:14.5px;line-height:1.35;max-width:206px}.community-row{background:linear-gradient(100deg,#faf5f0,#fbf3eb);padding:43px 0 40px}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:82px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}.more{font-size:13px;color:var(--accent);white-space:nowrap}.more:after{content:'⟶';margin-left:8px;font-size:18px}.teachers-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.teacher{background:var(--paper);border-radius:16px;overflow:hidden}.teacher img{aspect-ratio:267/213}.teacher-copy{padding:14px 19px 26px;min-height:171px}.teacher h3{font-size:18px;line-height:1.2}.teacher .specialty{font-size:14px;margin-top:2px}.teacher .bio{font-size:13.5px;line-height:1.4;margin-top:16px}.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.gallery button{display:block;border:0;background:none;padding:0;grid-column:span 2;overflow:hidden;border-radius:13px}.gallery button:nth-child(-n+2){grid-column:span 3}.gallery img{height:179px;transition:filter .2s}.gallery button:nth-child(-n+2) img{height:195px}.gallery button:hover img{filter:brightness(1.1)}.reviews{padding:29px 0 35px}.reviews .section-heading{margin-bottom:26px}.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.review{border:1px solid #e8d6c5;border-radius:18px;padding:17px 26px 26px;display:flex;flex-direction:column;min-height:259px}.quote-mark{font-family:Georgia,serif;color:#d9b99d;font-size:49px;height:34px;line-height:1}.review blockquote{margin:0;font-size:16px;line-height:1.3;flex:1;min-height:112px}.review-author{display:flex;gap:13px;align-items:center;margin-top:13px;font-size:15px}.review-author img{width:49px;height:49px;border-radius:50%}.review-author p{font-size:14px}.contact-row{background:linear-gradient(100deg,#faf3ed,#fbf6f2);padding:48px 0 29px}.contact-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:75px}.location{display:grid;grid-template-columns:1fr .98fr;gap:28px}.location h2{margin-bottom:31px}.location p{font-size:13px;line-height:1.45}.location .label{color:var(--ink);margin-bottom:3px}.address{margin-bottom:28px}.location .button{margin-top:32px;min-width:185px;font-size:14px;border-radius:12px;min-height:41px}.location>img{height:302px;border-radius:13px}.contact h2{margin-bottom:13px}.contact-intro{font-size:14px;line-height:1.55;max-width:410px}.contact-details{display:grid;grid-template-columns:1fr 1.12fr;gap:30px;margin-top:21px}.contact-methods{display:flex;flex-direction:column;gap:20px}.contact-method{display:flex;gap:24px;align-items:center;white-space:nowrap;font-size:16px}.icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.contact-method .icon{color:var(--accent)}form{display:flex;flex-direction:column;gap:7px}input,textarea{width:100%;border:1px solid #e7dfd9;background:#fdfaf7;border-radius:10px;padding:8px 12px;color:var(--ink);font-size:12px}input{height:33px}textarea{height:79px;resize:vertical}input::placeholder,textarea::placeholder{color:#9a918a}.contact form .button{border-radius:12px;margin-top:4px;min-height:43px;padding:9px 12px;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-status:empty{display:none}.form-status{font-size:13px;color:var(--accent)}.closing{min-height:250px;display:flex;align-items:center;text-align:center;color:var(--paper);background:#3b291c var(--s2c-img_21, url("../../images/closing-stage-banner.png")) center/cover no-repeat;padding:38px 0 24px}.closing h2{font-size:70px;letter-spacing:-1.5px;margin-bottom:5px}.closing p{color:#f3e7da;font-size:21px;margin-bottom:22px}.closing .actions{justify-content:center}.closing .outline{color:white;border-color:white}.closing .outline:hover{background:#ffffff18}.footer{background:#272622;color:#c0bcb5;padding:23px 0 12px;font-size:13px}.footer-grid{display:grid;grid-template-columns:1.65fr .9fr .86fr .88fr 1.9fr;gap:39px}.footer .logo{gap:10px;color:var(--paper)}.footer .wing{width:31px;height:40px}.footer .brand-name{font-size:29px;letter-spacing:3px}.footer .brand-caption{font-size:7px;letter-spacing:2.1px}.footer-description{font-size:12px;line-height:1.35;max-width:190px;margin-top:11px;color:#bdb7ad}.footer h3{font:14px Arial,sans-serif;color:var(--paper);margin:6px 0 13px}.footer nav{display:flex;flex-direction:column;gap:4px;font-size:13px}.footer-contacts>a{display:flex;gap:12px;align-items:center;margin-bottom:7px;font-size:12px;line-height:1.25}.footer .icon{width:18px;height:18px}.socials{display:flex;gap:14px;margin-top:10px}.socials a{display:flex}.footer-bottom{border-top:1px solid #ffffff12;margin-top:16px;padding-top:9px;display:flex;justify-content:space-between;font-size:11px;color:#948f88}.legal{display:flex;gap:21px}.footer-bottom p{color:inherit}dialog{border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);padding:35px;width:min(450px,calc(100% - 32px));max-height:90vh}dialog::backdrop{background:#211b16aa}dialog h2{font-size:30px;margin-bottom:22px}dialog input{height:43px;font-size:15px}dialog textarea{font-size:15px}dialog form{gap:12px}.modal-close{position:absolute;right:10px;top:7px;font-size:27px;background:transparent;border:0;color:var(--muted)}.lightbox{width:min(950px,90vw);padding:35px 15px 15px}.lightbox img{max-height:76vh;object-fit:contain}.menu-toggle .icon{width:28px}.modal-open{overflow:hidden}
/* Keep the first-screen contract fluid; position the copy independently of tall viewports. */
@media(min-width:801px){.hero{align-items:flex-start;padding-top:clamp(95px,12vh,125px)}h1,h2{font-family:'Times New Roman',Georgia,serif;letter-spacing:-1px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:68px;max-width:580px;line-height:.98;letter-spacing:-1.8px}.about h2{font-size:48px}.hero p{letter-spacing:.2px}.brand-name{font-family:'Times New Roman',serif;letter-spacing:3.5px}.benefit p{max-width:185px;letter-spacing:.1px}.review blockquote{letter-spacing:.15px}.closing h2{font-size:72px}}
@media(min-width:1450px){.hero-copy{max-width:650px}.hero h1{font-size:76px}.about,.benefits,.learning,.community-row,.reviews,.contact-row{padding-block:60px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav{gap:15px;font-size:12px}.header .button{margin-left:0;font-size:12px;padding-inline:13px}.brand-name{font-size:36px}.hero h1{font-size:59px;max-width:510px}.hero-copy{max-width:520px}.community-grid{gap:35px}.contact-grid{gap:35px}.contact-details{gap:15px}.contact-method{gap:12px;font-size:14px}.contact form .button{font-size:13px}.about h2{font-size:40px}.review{padding-inline:20px}.footer-grid{gap:22px}.step h3{font-size:16px;gap:8px}.gallery img{height:160px}.gallery button:nth-child(-n+2) img{height:175px}.teacher-copy{padding-inline:14px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header{height:82px;position:relative;z-index:5}.header-inner{gap:12px}.logo{gap:8px}.brand-name{font-size:32px}.brand-caption{font-size:7px;letter-spacing:2.8px}.wing{width:32px;height:44px}.header .button{margin-left:auto}.menu-toggle{display:block}.nav{display:none;position:absolute;top:75px;left:20px;right:20px;padding:22px;background:var(--paper);box-shadow:0 10px 24px #30292220;border-radius:12px;font-size:16px;flex-direction:column;align-items:stretch}.nav.is-open{display:flex}.first-screen{background-position:59% center;position:relative;isolation:isolate}.first-screen:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fbf4ece8,#fbf4ec9c 57%,#fbf4ec10);z-index:-1;pointer-events:none}.hero{padding-bottom:25px}.hero-copy{max-width:540px}.hero h1{font-size:clamp(43px,7.5vw,60px);max-width:510px}.hero p{max-width:390px;font-size:17px}.eyebrow{font-size:11px;letter-spacing:1px}.about{padding:45px 0}.about-grid{gap:35px;grid-template-columns:1fr 1fr}.about h2{font-size:33px}.about p{font-size:14px}.seal{width:115px;height:115px;left:-32px}.benefits{padding:35px 0}.benefits-grid{grid-template-columns:repeat(3,1fr)}.benefit{min-height:220px}.benefit h3{font-size:16px}.community-grid{grid-template-columns:1fr;gap:40px}.gallery img{height:210px}.gallery button:nth-child(-n+2) img{height:240px}.teacher-copy{min-height:165px}.reviews-grid{grid-template-columns:repeat(2,1fr)}.review{min-height:255px}.contact-grid{grid-template-columns:1fr;gap:40px}.location{grid-template-columns:1fr 1fr;gap:40px}.location>img{height:302px}.location p{font-size:15px}.contact-details{grid-template-columns:1fr 1fr;gap:30px}.contact-method{font-size:16px;gap:20px}.closing h2{font-size:49px}.closing p{font-size:17px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:25px}.footer-bottom{gap:15px;flex-wrap:wrap}.contact-row{padding-bottom:40px}}
@media(max-width:500px){h2{font-size:29px}.header .button{font-size:10px;padding:9px 10px;min-height:34px}.header-inner{gap:4px}.hero h1{font-size:46px;max-width:360px;margin-bottom:25px}.hero p{max-width:315px;margin-bottom:25px}.hero .actions{gap:12px;align-items:flex-start;flex-direction:column}.hero .button{font-size:14px;min-height:42px}.about-grid{grid-template-columns:1fr}.about h2{max-width:350px;font-size:37px}.about p{font-size:16px}.about-media{margin-left:24px}.seal{bottom:-15px;left:-26px}.benefits-grid{grid-template-columns:repeat(2,1fr);gap:12px}.benefit{padding-inline:8px}.benefit:last-child{grid-column:1/-1;min-height:auto}.benefit:last-child h3{min-height:0}.step h3{font-size:16px;gap:7px}.number{width:25px;height:25px;font-size:17px}.step p{font-size:13px}.section-heading{gap:8px;align-items:baseline}.section-heading h2{font-size:27px}.more{font-size:10px}.more:after{margin-left:3px}.teachers-grid{gap:12px}.teacher-copy{padding:13px 12px 18px;min-height:204px}.teacher h3{font-size:15px}.teacher .specialty{font-size:12px}.teacher .bio{font-size:12px;margin-top:12px}.gallery{gap:8px}.gallery img{height:123px}.gallery button:nth-child(-n+2) img{height:140px}.reviews-grid{gap:14px}.review{padding:14px;min-height:280px}.review blockquote{font-size:14px}.review-author{gap:8px;font-size:13px}.review-author img{width:36px;height:36px}.review-author p{font-size:12px}.location{gap:18px;grid-template-columns:1.1fr 1fr}.location h2{font-size:27px;margin-bottom:22px}.location p{font-size:12px}.location .button{min-width:0;width:100%;padding-inline:10px;margin-top:22px;font-size:13px}.location>img{height:290px}.contact-details{grid-template-columns:1fr;gap:25px}.contact-methods{gap:16px}.contact form input{height:42px;font-size:14px}.contact form textarea{font-size:14px}.closing{padding:34px 0}.closing h2{font-size:43px}.closing p{font-size:16px;max-width:330px;margin-inline:auto}.closing .actions{gap:12px;flex-direction:column}.closing .button{font-size:14px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:25px}.footer-intro{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px}.footer-description{margin-top:0;max-width:180px}.footer-contacts{grid-column:1/-1}.legal{gap:16px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* S2C: CF7 structural bridge (universal — theme host CSS owns look) */
.s2c-cf7-host > .wpcf7,
.s2c-cf7-host .wpcf7-form,
.s2c-cf7-host .wpcf7-form > p {
  display: contents;
}
.s2c-cf7-host .wpcf7 .screen-reader-response,
.s2c-cf7-host .wpcf7 .hidden-fields-container,
.s2c-cf7-host .wpcf7-response-output,
.s2c-cf7-host .wpcf7-spinner {
  display: none !important;
}
.s2c-cf7-host .wpcf7-form br { display: none; }
.s2c-cf7-host .wpcf7-form-control-wrap { display: block; width: 100%; }
.s2c-cf7-host .wpcf7-form-control { margin: 0; max-width: 100%; box-sizing: border-box; }
.s2c-cf7-host .wpcf7-form input[name*="ak_hp"],
.s2c-cf7-host .wpcf7-form input[tabindex="-1"][autocomplete="off"]:not([type="hidden"]) {
  position: absolute !important;
  left: -9999px !important;
  height: 1px !important;
  width: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.gallery.s2c-cf7-host input.wpcf7-submit,.gallery.s2c-cf7-host .wpcf7-submit{display:block;border:0;background:none;padding:0;grid-column:span 2;overflow:hidden;border-radius:13px;width:100%;cursor:pointer}

/* S2C: make CF7 submit controls inherit the theme's primary button treatment. */
.s2c-cf7-host input.wpcf7-submit,
.s2c-cf7-host button.wpcf7-submit,
.s2c-cf7-host .wpcf7-form-control.wpcf7-submit {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 43px;
  margin: 4px 0 0;
  padding: 9px 12px;
  border: 1px solid var(--accent);
  border-radius: 12px;
  background: var(--accent);
  color: var(--paper);
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  opacity: 1;
  transition: background-color .2s, border-color .2s, color .2s, opacity .2s;
}
.s2c-cf7-host input.wpcf7-submit:hover,
.s2c-cf7-host button.wpcf7-submit:hover,
.s2c-cf7-host .wpcf7-form-control.wpcf7-submit:hover {
  border-color: #a85b37;
  background: #a85b37;
  color: var(--paper);
}
.s2c-cf7-host input.wpcf7-submit:focus-visible,
.s2c-cf7-host button.wpcf7-submit:focus-visible,
.s2c-cf7-host .wpcf7-form-control.wpcf7-submit:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.s2c-cf7-host input.wpcf7-submit:disabled,
.s2c-cf7-host button.wpcf7-submit:disabled,
.s2c-cf7-host .wpcf7-form.submitting .wpcf7-submit {
  cursor: wait;
  opacity: .7;
}
