/* Layout adjustments for the requested larger desktop typography.
 * Phone typography remains in the original styles.css.
 */
.chalk-filter{position:absolute;pointer-events:none;overflow:hidden}
h1.chalk-name{font-family:'Caveat',cursive;font-weight:700;font-size:clamp(125px,12.8vw,220px);line-height:.81;letter-spacing:-.035em;margin:28px 0 0;color:#fffef1;filter:url('#chalk-texture');transform:rotate(-3deg);transform-origin:25% 60%;text-shadow:.5px .5px 0 #fffef1}
.chalk-name>span{display:block}
.chalk-name>span:last-child{margin-top:9px;margin-left:4%}
.hero-description{margin-top:33px}
.hero-listen{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid var(--lime);padding:17px 0 12px;margin-top:25px;font:500 15px/1.4 var(--mono);letter-spacing:.06em}
.hero-listen>span{font:26px/1 var(--body);color:var(--lime)}
.classroom-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none;opacity:0;transition:opacity .6s ease}
.classroom-video.is-ready{opacity:1}
.room-shade{z-index:-1}
.demo-board-wrap{background:radial-gradient(ellipse at 20% 20%,#27332c,#141d18 80%);padding:54px 12%;border-top:5px solid #3c473f;border-bottom:1px solid #4c584a;box-shadow:inset 0 2px 9px #0009;position:relative}
.demo-board-wrap:after{content:'';position:absolute;left:12%;right:12%;bottom:0;height:5px;background:#59634d;box-shadow:0 4px 9px #0008}
.demo-board-wrap .chalk-player{margin-top:0;max-width:1500px;margin-left:auto;margin-right:auto;scroll-margin-top:40px}
.demo-board-wrap .waveform-stage{height:160px}
.lecture-room{min-height:750px}
.board-content{top:15%}
.room-coordinate{display:none}
#booking-email-link{overflow-wrap:anywhere;word-break:normal;max-width:100%}
.contact-layout>div{min-width:0}
.session-studio{aspect-ratio:16/9;margin:0 0 40px;overflow:hidden;border:1px solid var(--rule);background:#101410}
.session-studio img{display:block;width:100%;height:100%;object-fit:cover;object-position:42% center}
@media(min-width:1024px){
  .site-header{height:auto;min-height:148px;gap:22px;padding:24px 4%;flex-wrap:nowrap}
  .wordmark>span{letter-spacing:.16em;padding-bottom:12px}
  .wordmark strong{font-size:45px}
  #main-nav{gap:22px;margin:0 auto}
  #main-nav a{letter-spacing:0;white-space:nowrap}
  #main-nav a span{margin-left:3px}
  .header-book{gap:18px;letter-spacing:.015em;white-space:nowrap}
  .header-book span{font-size:37px}
  .lecture-room{height:65vw;min-height:900px;max-height:1350px}
  .board-content{left:18%;width:64%;top:12%}
  .hero-eyebrow{flex-wrap:wrap;gap:17px;letter-spacing:.08em}
  .hero-eyebrow .status-dot{width:10px;height:10px}
  .hero-description{line-height:1.35;margin-top:44px}
  .hero-listen{font-size:36px;line-height:1.3;gap:42px;padding:18px 0;margin-top:25px}
  .hero-listen>span{font-size:45px}
  .room-footer{gap:28px;bottom:26px;left:4%;right:4%;align-items:flex-end}
  .room-footer>a{letter-spacing:0;gap:20px;max-width:65%;line-height:1.5}
  .room-footer>a span{font-size:33px}
  #motion-toggle{padding:16px;letter-spacing:0;white-space:nowrap}
  #motion-toggle span{margin-left:9px}
  .demo-board-wrap{padding:64px 8% 45px}
  .demo-board-wrap:after{left:8%;right:8%}
  .player-heading{align-items:center;gap:30px;flex-wrap:wrap}
  .player-heading .micro-label{letter-spacing:.06em}
  .demo-board-wrap .waveform-stage{height:190px;margin-top:24px}
  .audio-seek{height:28px;margin-bottom:18px}
  .audio-seek::-webkit-slider-runnable-track{height:2px}
  .audio-seek::-webkit-slider-thumb{height:14px;width:14px;margin-top:-6px}
  .audio-seek::-moz-range-thumb{height:14px;width:14px}
  .player-controls{display:grid;grid-template-columns:84px minmax(0,1fr) auto 52px 52px;gap:25px}
  .play-button{height:84px;width:84px}
  .play-button svg{height:32px;width:32px}
  .track-label{gap:12px}
  .track-label strong{line-height:1.3;letter-spacing:0}
  .track-label>span{line-height:1.3}
  .player-clock{margin:0;position:static}
  .icon-button{width:52px;height:52px;padding:12px}
  .icon-button svg{width:25px;height:25px}
  .player-bottom{margin-top:32px;padding-top:7px;gap:30px}
  .track-tabs{gap:40px;flex-wrap:wrap}
  .track-tabs button{padding:23px 0;white-space:normal;text-align:left;line-height:1.4}
  .track-tabs button span{margin-left:12px}
  .volume-control{gap:12px}
  .volume-control input{width:130px;height:36px}
  .volume-control .icon-button{width:42px;min-height:44px}
  .credentials-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px 45px;padding:35px 6%}
  .credentials-strip p,.credentials-strip a{line-height:1.5;letter-spacing:0;gap:20px}
  .credentials-strip p:first-child{max-width:650px}
  .credentials-strip p:nth-child(2){max-width:400px}
  .credentials-strip strong{font-size:72px}
  .credentials-strip .status-dot{width:10px;height:10px}
  .credentials-strip a{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:22px;justify-content:space-between}
  .section-padding{padding:80px 6% 100px}
  .section-kicker{line-height:1.4;gap:40px;letter-spacing:0;padding-bottom:28px}
  .section-kicker>span:last-child{max-width:55%;text-align:right}
  .actor-layout{display:block;padding-top:60px}
  .actor-signature{gap:20px;margin-top:35px;line-height:1.3}
  .signature-role{padding-left:50px;line-height:1.4}
  .actor-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 7%;max-width:none;padding-top:65px}
  .actor-copy .large-copy{grid-column:1/-1;line-height:1.2;max-width:1100px;margin:0 0 16px}
  .actor-copy>p:not(.large-copy){max-width:none;line-height:1.5;margin:0}
  .text-link{line-height:1.35;gap:40px;padding:20px 0 15px;max-width:max-content}
  .actor-copy .text-link{grid-column:1/-1;margin-top:12px}
  .text-link span{font-size:40px}
  .performance-line{flex-wrap:wrap;gap:24px;line-height:1.2;letter-spacing:0;margin-top:65px}
  .session-intro{display:block;padding:55px 0}
  .session-intro>p{max-width:100%;line-height:1.45;margin-top:35px}
  .session-studio{margin-bottom:55px}
  .session-steps article{align-items:flex-start;padding:45px 0;gap:35px}
  .step-number{min-width:85px;font-size:72px}
  .session-steps article>div{display:block;min-width:0}
  .session-steps .micro-label{margin-bottom:18px;letter-spacing:.03em}
  .session-steps h3{line-height:1.1;margin-bottom:22px}
  .session-steps article>div>p:last-child{line-height:1.5}
  .step-arrow{font-size:45px}
  .contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6%;padding-top:65px;align-items:start}
  .contact-layout h2>span{white-space:normal}
  .contact-layout>div>p{line-height:1.35;margin:28px 0}
  .primary-button{line-height:1.4;text-align:left;gap:25px;padding:24px 27px;min-height:86px;max-width:100%}
  .primary-button span{font-size:40px;flex-shrink:0}
  .contact-layout .contact-note{line-height:1.45;max-width:100%;margin-top:26px}
  #booking-email-link{max-width:100%;display:block;line-height:1.5}
  .contact-art{min-height:680px;padding:50px 30px;width:100%;transform:rotate(-1.5deg)}
  .chalk-equation{line-height:1.05;text-align:center;max-width:100%;gap:10px}
  .chalk-equation>span,.chalk-equation>strong{max-width:100%}
  .equation-rule{width:75%;margin:25px 0}
  .art-caption{line-height:1.5;letter-spacing:.05em;margin-top:40px}
  .site-footer{align-items:flex-start;flex-wrap:wrap;padding:45px 6%;gap:30px}
  .site-footer>div>p{line-height:1.6}
  .footer-actions{margin-left:auto}
  .footer-actions button{line-height:1.4}
  .listening-dock{width:min(1050px,calc(100% - 50px));padding:17px 23px;gap:24px;align-items:center}
  .listening-dock strong{line-height:1.2}
  .listening-dock>a{line-height:1.3;max-width:180px;white-space:normal}
  .listening-dock>button{font-size:35px;min-width:44px}
  dialog{width:min(1000px,calc(100vw - 70px));padding:40px}
  dialog>p{line-height:1.4;margin-bottom:28px}
  .dialog-head{gap:30px;line-height:1.4}
  .dialog-head .micro-label{letter-spacing:.03em}
  .form-grid{grid-template-columns:1fr;gap:25px}
  label{line-height:1.4;gap:12px}
  input:not([type=range]),textarea,select{padding:18px;min-width:0}
  .form-note,.form-status{line-height:1.45}
  .secondary-button{padding:20px;line-height:1.4;min-height:70px}
  .text-button{line-height:1.4;padding:20px}
  .brief-actions{gap:16px}
  #brief-output{line-height:1.5}
  .toast{line-height:1.4}
}
@media(min-width:1024px) and (max-width:1300px){
  #main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#152019;padding:24px 6% 35px;margin:0;border-bottom:1px solid var(--rule);gap:8px}
  #main-nav.is-open{display:flex;flex-direction:column;align-items:stretch}
  #main-nav a{padding:18px 0}
  #main-nav a span{float:right}
  .header-book{margin-left:auto}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:8px;background:none;border:1px solid #475446;width:64px;height:64px;padding:17px}
  .menu-toggle span{width:27px;height:2px;background:var(--chalk)}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-5px) rotate(-45deg)}
  .player-controls{grid-template-columns:84px minmax(0,1fr) 52px 52px;position:relative;margin-top:32px}
  .player-clock{position:absolute;right:0;top:-50px}
  .contact-layout{grid-template-columns:1fr}
  .contact-art{max-width:700px;justify-self:center;margin-top:35px}
}
@media(max-width:1023px){
  .lecture-room{height:83vw;min-height:710px;max-height:900px}
  h1.chalk-name{font-size:clamp(115px,18vw,175px)}
  .board-content{top:16%;left:18%;width:64%}
  .hero-description{margin-top:30px}
  .demo-board-wrap{padding:42px 8%}
  .demo-board-wrap .waveform-stage{height:120px}
}
@media(max-width:540px){
  .session-studio{aspect-ratio:4/3;margin-bottom:25px}
  .lecture-room{height:690px;min-height:0}
  .board-content{left:8%;width:84%;top:105px}
  h1.chalk-name{font-size:clamp(92px,25vw,130px);line-height:.85;margin-top:34px}
  .chalk-name>span:last-child{margin-left:2%;margin-top:8px}
  .hero-description{line-height:1.35;margin-top:30px}
  .hero-listen{font-size:15px;line-height:1.4;margin-top:22px;gap:25px}
  .demo-board-wrap{padding:35px 7.5% 28px}
  .demo-board-wrap:after{left:7.5%;right:7.5%}
  .demo-board-wrap .waveform-stage{height:120px}
  .player-controls{margin-top:20px}
}

/* Place live chalk lettering inside the framed board in the supplied film. */
.classroom-film{height:56.25vw;min-height:650px;max-height:1200px}
.classroom-film .board-content{left:33%;width:39%;top:28%}
.classroom-film h1.chalk-name{font-size:clamp(80px,7.8vw,166px);line-height:.81;margin-top:0}
.classroom-film .hero-description{margin-top:18px;white-space:nowrap}
.chalk-title{position:relative;display:grid}
.chalk-microphone{position:absolute;right:0;top:-3%;height:106%;width:auto;max-width:35%;object-fit:contain;object-position:right top;pointer-events:none;user-select:none}
@media(min-width:541px) and (max-width:900px){
  .chalk-microphone{height:49%;top:1%;right:-7%;max-width:24%}
}
@media(min-width:701px) and (max-width:900px){
  .chalk-microphone{height:106%;top:-3%;right:-12%;max-width:40%}
}
@media(min-width:541px){
  .classroom-film .hero-eyebrow{position:absolute;bottom:calc(100% + 60px);left:0;white-space:nowrap}
  .classroom-film .hero-listen{position:absolute;top:calc(100% + 60px);left:0;margin-top:0;white-space:nowrap}
}
@media(max-width:820px){
  .classroom-video{object-position:57% center;filter:brightness(.87)}
}
@media(max-width:540px){
  .classroom-film{height:690px;min-height:0}
  .classroom-film .board-content{left:8%;width:84%;top:135px}
  .classroom-film h1.chalk-name{font-size:clamp(92px,25vw,112px);line-height:.85;margin-top:34px}
  .classroom-film .hero-description{margin-top:30px}
  .chalk-microphone{top:34px;height:42%;right:0;max-width:26%}
  .classroom-video{object-position:56% center}
}
