@font-face{font-family:Heebo;src:url('/assets/heebo-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Heebo;src:url('/assets/heebo-bold.ttf') format('truetype');font-weight:600 700;font-display:swap}
@font-face{font-family:Heebo;src:url('/assets/heebo-black.ttf') format('truetype');font-weight:800 900;font-display:swap}
:root{color-scheme:dark;--bg:#091b12;--surface:#0d2b1b;--accent:#ec9900;--text:#f6f2e9;--muted:#c5ccc5;--line:rgba(246,242,233,.2);--font:Heebo,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:3rem}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.7}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
::selection{color:#091b12;background:var(--accent)}
p{font-size:1.0625rem;margin:0 0 1.3rem}
.skip-link{position:fixed;top:-5rem;right:1rem;z-index:100;background:var(--accent);color:var(--bg);padding:.7rem 1rem}
.skip-link:focus{top:1rem}
.site-header{padding:1.25rem max(5%,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{font-size:1.65rem;line-height:1.15;font-weight:900;letter-spacing:-.03em}
.brand span{display:block;font-size:.75rem;font-weight:400;letter-spacing:0;margin-top:.35rem;color:var(--muted)}
nav{display:flex;gap:2.4rem;align-items:center;font-size:.9375rem}
nav a:not(.nav-contact){transition:color .2s}nav a:hover{color:var(--accent)}
.nav-contact{display:inline-flex;align-items:center;gap:.65rem;border:1px solid #778778;padding:.6rem 1.2rem}
.nav-contact span{margin-right:1rem;color:var(--accent)}
/* Three original photographs: service beside the introduction, running and speaking alongside it. */
.hero{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);grid-template-areas:"copy photos" "footer footer";position:relative;isolation:isolate;overflow:hidden;background:var(--bg)}
.hero-content{grid-area:copy;position:relative;z-index:1;min-width:0;padding:4rem clamp(2rem,4.5vw,5.5rem) 3.25rem}
.hero h1{font-size:clamp(4.8rem,7.5vw,8rem);line-height:1.04;margin-bottom:1.5rem}
.hero-identity{margin-bottom:2rem}
.hero-speaker-name{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.35;font-weight:800;margin:0 0 .4rem;color:var(--text)}
.hero-military{font-size:1.0625rem;line-height:1.7;margin:0;color:var(--muted)}
.hero-profession{font-size:1.0625rem;line-height:1.7;margin:.65rem 0 0;color:var(--text)}
.hero-photos{grid-area:photos;position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:minmax(0,.42fr) minmax(0,.58fr);grid-template-areas:"military running" "military lecture";gap:.45rem;min-width:0;min-height:40rem;overflow:hidden}
.hero-military-photo,.hero-running-photo,.hero-lecture-photo{position:relative;display:block;min-width:0;min-height:0;margin:0;overflow:hidden}
.hero-military-photo{grid-area:military}
.hero-running-photo{grid-area:running}
.hero-lecture-photo{grid-area:lecture}
.hero-photos img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.hero-military-photo img{object-position:60% 12%}
.hero-running-photo img{object-position:38% center}
.hero-lecture-photo img{object-position:48% 52%}
.hero-photos:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to left,var(--bg) 0%,rgba(9,27,18,.55) 3%,transparent 13%)}
.eyebrow{font-size:.9375rem;color:var(--accent);margin:0 0 1.5rem;font-weight:700}
.eyebrow:before{content:'';display:inline-block;width:1.75rem;height:2px;background:currentColor;margin-inline-end:.8rem;vertical-align:middle}
.hero-offerings{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.25rem;margin:0 0 2rem}
.hero-lecture-label{position:relative;isolation:isolate;flex:0 1 11rem;margin:0;padding:.55rem .75rem;color:#091b12;font-size:.9375rem;font-weight:700;line-height:1.5}
.hero-lecture-label:before{content:'';position:absolute;z-index:-1;inset:-.05rem -.2rem;background:linear-gradient(94deg,transparent,rgba(255,255,255,.95) 7%,#fff 24%,#fff 79%,rgba(255,255,255,.94) 94%,transparent);border-radius:40% 8% 35% 10% / 12% 24% 15% 30%;transform:rotate(-2deg);filter:blur(.6px)}
.hero-program-link{display:flex;align-items:center;gap:.6rem;flex:1 1 10rem;max-width:17rem;min-height:2.75rem;font-size:.9375rem;font-weight:700;line-height:1.55;color:var(--text)}
.hero-program-plus{flex:none;color:var(--accent);font-size:1.8rem;font-weight:400;line-height:1}
.hero-program-invite{color:var(--accent);white-space:nowrap;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px}
.hero-program-link:hover .hero-program-invite{color:#ffc45b}
 .testimonials{background:#faf8f2;color:#123322;overflow:hidden}
.testimonials-heading{max-width:65rem;margin:0 auto 3rem;text-align:center}
.testimonials .eyebrow{color:#815000;margin-bottom:.75rem}
.testimonials .eyebrow:before{display:none}
.testimonials h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.3;margin:0}
.testimonials-carousel{position:relative;max-width:65rem;margin:auto;padding-inline:4.5rem}
.testimonials-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.testimonials-track::-webkit-scrollbar{display:none}
.testimonial{flex:0 0 100%;min-width:0;scroll-snap-align:start;padding:.5rem .25rem;display:flex;flex-direction:column;text-align:center}
.testimonial-context{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem .8rem;margin-bottom:1.5rem}
.testimonial-context h3{font-size:1.0625rem;margin:0;line-height:1.6}
.testimonial-tag{font-size:.875rem;color:#5c6b60}
.testimonial blockquote{margin:0 0 1.75rem}
.testimonial blockquote p{font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.9;margin:0}
.testimonial-author{margin-top:auto;display:flex;flex-direction:column;gap:.15rem}
.testimonial-author strong{font-size:1.0625rem}
.testimonial-author span{font-size:.9375rem;color:#4f6256}
.testimonials-controls{position:absolute;inset:0;pointer-events:none}
.testimonials-controls[hidden]{display:none}
.testimonials-controls button{position:absolute;top:45%;transform:translateY(-50%);display:grid;place-items:center;width:3rem;height:3rem;padding:0;color:#123322;background:transparent;border:1px solid #b4bdb3;border-radius:50%;cursor:pointer;pointer-events:auto}
.testimonials-controls [data-review-prev]{right:0}
.testimonials-controls [data-review-next]{left:0}
.testimonials-controls button:hover:not(:disabled){background:#123322;color:#fffdf8;border-color:#123322}
.testimonials-controls button:disabled{opacity:.3;cursor:default}
.testimonials-controls button:focus-visible,.testimonials-track:focus-visible{outline:2px solid #815000;outline-offset:4px}
.testimonials-count{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.testimonials-carousel{padding-inline:3.25rem}.testimonials-controls button{width:2.75rem;height:2.75rem}.testimonials-heading{margin-bottom:2rem}.testimonial-context{flex-direction:column}.testimonial blockquote p{line-height:1.8}}

h1{font-size:clamp(5.5rem,8.6vw,8.8rem);line-height:1.01;letter-spacing:-.045em;margin:0 0 1.5rem;font-weight:900}
em{font-style:normal;color:var(--accent)}
.hero-subtitle{font-size:1.5rem;line-height:1.5;margin:0 0 1rem;font-weight:700}
.hero-description{font-size:1.2rem;color:#e0e5df;line-height:1.65;margin:0 0 2rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;padding:.95rem 1.5rem;min-height:3.7rem;border:1px solid transparent;font-size:1.0625rem;font-weight:700;transition:background .2s,transform .2s}
.primary{background:var(--accent);color:#091b12}
.primary:hover{background:#ffb225;transform:translateY(-2px)}
.secondary{background:transparent;border-color:#7e9282;color:var(--text)}
.secondary:hover{background:#1d402a;transform:translateY(-2px)}
.button span{font-size:1.5rem;line-height:1}
.button-icon{width:1.375rem;height:1.375rem;flex-shrink:0}
.hero-caption{font-size:.875rem;color:#cdd4ce;margin:1rem 0 0}
.hero-footer{grid-area:footer;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:1.4rem max(5%,calc((100vw - 1440px)/2));color:#d4dcd5;gap:1rem}
.hero-footer p,.hero-footer a{font-size:.875rem;margin:0}
.hero-footer a span{margin-right:1rem;color:var(--accent)}
.section{padding:6.5rem max(8%,calc((100vw - 1360px)/2))}
h2{font-size:clamp(2.2rem,3.8vw,3.8rem);line-height:1.28;letter-spacing:-.035em;font-weight:900;margin:0 0 2rem}
.lecture{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 4rem;border-bottom:1px solid var(--line)}
.lecture .section-intro{grid-column:1;grid-row:1}
.lecture .section-intro h2{margin-bottom:0}
.lecture-copy{grid-column:1;grid-row:2;max-width:35rem;color:var(--muted)}
.lecture-copy p:last-child{margin-bottom:0}
.personal-photo{margin:0;position:relative;overflow:hidden;min-width:0;background:var(--surface)}
.personal-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
/* Each set tells one part of the story; overlapping edges stay clear of faces. */
.photo-composition{--photo-mat:var(--bg);position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(12,minmax(0,1fr));min-width:0;isolation:isolate;direction:ltr}
.photo-composition .personal-photo{border:6px solid var(--photo-mat)}
.lecture-scenes{grid-column:2;grid-row:1/span 2;width:100%;max-width:36rem;aspect-ratio:9/10;align-self:center;justify-self:center}
.scene-stage{grid-column:1/8;grid-row:1/11}
.scene-stage img{object-position:36% center}
.scene-auditorium{grid-column:6/13;grid-row:2/6;z-index:1}
.scene-auditorium img{object-position:left center}
.scene-service{grid-column:7/13;grid-row:7/13;z-index:1}
.scene-service img{object-position:center 78%}
.lecture-scenes:after{content:'';position:absolute;left:6px;bottom:5%;width:27%;height:2px;background:var(--accent)}
.lead{font-size:1.3rem;line-height:1.8;color:var(--text)}
.takeaways{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin-top:2rem}
.takeaways article{border-top:1px solid var(--line);padding-top:1.5rem;position:relative}
.number{font-size:.875rem;letter-spacing:.07em;color:var(--accent);display:block;margin-bottom:1.4rem}
h3{font-size:1.45rem;letter-spacing:-.02em;line-height:1.4;margin:0 0 .8rem;font-weight:700}
.takeaways p{color:var(--muted);font-size:1rem;margin:0;max-width:20rem}
.about{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1.8rem 5rem;background:var(--text);color:#14321f}
.about-heading{grid-column:1;grid-row:1}
.about-portraits{--photo-mat:var(--text);grid-column:1;grid-row:2;width:min(100%,21.5rem);aspect-ratio:1/1;align-self:start}
.about-portrait{grid-column:1/10;grid-row:1/11}
.about-portrait img{object-position:38% center}
.about-uniform{grid-column:8/13;grid-row:7/13;z-index:1}
.about-uniform img{object-position:center center}
.about-portraits:before{content:'';position:absolute;right:7%;top:7%;width:2px;height:27%;background:var(--accent)}
.about .eyebrow{color:#7c5000}
.about h2{font-size:clamp(3.3rem,5.8vw,5.5rem);line-height:1.18;margin-bottom:1.8rem}
.about h2 em{color:#214829}
.about-name{font-size:1.2rem;font-weight:700;margin:0 0 .4rem}
.about-role{font-size:.9375rem;max-width:26rem;color:#45604e;line-height:1.8}
.about .lead{color:#14321f}
.about-copy{grid-column:2;grid-row:1/span 2;max-width:35rem;color:#3e5546;align-self:center}
.about-role{margin-bottom:0}
.audience{border-top:1px solid #c8cbbf;margin-top:2rem;padding-top:1.5rem}
.audience>span{font-size:.875rem;color:#526455}
.audience p{font-weight:700;color:#214829;margin:.4rem 0}
.audience .audience-note{font-size:.9375rem;font-weight:400;color:#526455}
.contact{background:var(--surface);text-align:center;padding-top:6rem;padding-bottom:6rem}
.contact .eyebrow:before{display:none}
.contact h2{font-size:clamp(3rem,5.5vw,5rem);line-height:1.22}
.contact>p:not(.eyebrow){max-width:32rem;margin:0 auto 2rem;color:#d2dacd;font-size:1.125rem}
.contact-actions{display:flex;align-items:center;justify-content:center;gap:1rem}
.contact-details{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.3rem;margin-top:2rem;font-size:.9375rem;color:#c2cebf}
.contact-details a:hover{text-decoration:underline;text-underline-offset:.25rem}
.contact-details>span{color:#65836b}
.site-footer{padding:1.5rem max(5%,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--text);color:#526455;font-size:.875rem}
.site-footer>a:last-child span{margin-right:.65rem}
.brand-original{width:15rem;height:4.4rem;position:relative;overflow:hidden;mix-blend-mode:multiply;flex-shrink:0;display:block}
.brand-original img{position:absolute;display:block;width:20rem;height:auto;max-width:none;left:-2.5rem;top:-7.8rem}
@media(max-width:1000px){.lecture,.about{gap:2.5rem}.takeaways{gap:1.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1.125rem}.site-footer{flex-wrap:wrap}}
@media(max-width:700px){html{scroll-padding-top:1rem}.site-header{padding:1.1rem 6%;gap:1rem}.brand{font-size:1.4rem}.brand span{font-size:.75rem}nav a:not(.nav-contact){display:none}nav{gap:0}.nav-contact{padding:.5rem .75rem;font-size:.875rem;white-space:nowrap}.nav-contact span{margin-right:.4rem}h1{font-size:clamp(5rem,20vw,7rem);line-height:1.07}.hero-subtitle{font-size:1.3rem;max-width:21rem}.hero-description{font-size:1.125rem}.hero-footer p{max-width:23rem;line-height:1.8}.hero-footer a{display:none}.section{padding:4.5rem 6%}.lecture,.about{grid-template-columns:1fr;gap:.5rem}.lecture-copy,.about-copy{padding-top:0;max-width:none}.lecture h2{font-size:2.4rem;line-height:1.35}.lead{font-size:1.18rem}.takeaways{grid-template-columns:1fr;margin-top:1.75rem;gap:1.5rem}.takeaways article{padding-inline-start:3.5rem;padding-top:1.5rem}.number{position:absolute;inset-inline-start:0;top:1.7rem}.takeaways p{max-width:none}.takeaways h3{font-size:1.3rem}.about h2{font-size:3.8rem}.about-role{max-width:none;margin-bottom:2rem}.about .lead{font-size:1.2rem}.contact h2{font-size:3.5rem}.contact-actions{flex-direction:column;gap:.85rem}.contact-actions .button{width:100%;max-width:22rem}.contact-details{flex-direction:column;gap:.65rem}.contact-details>span{display:none}.site-footer{padding:1.4rem 6% 2rem;flex-direction:column;gap:1rem}.site-footer>a:last-child{padding:.4rem}.contact>p:not(.eyebrow){font-size:1.0625rem}}
@media(max-width:360px){.brand{font-size:1.2rem}.brand span{font-size:.75rem;max-width:10rem}.nav-contact{padding:.45rem .65rem}.nav-contact span{display:none}.hero-subtitle{font-size:1.2rem}.lecture h2{font-size:2.1rem}.contact h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Preserve readability when text is enlarged. */
h1,h2,h3{overflow-wrap:anywhere}
.button{max-width:100%}
.contact-details a{overflow-wrap:anywhere;max-width:100%}
@media(max-width:700px){.site-header{flex-wrap:wrap}.brand{max-width:100%}}

/* School programme: a continuation of the existing lecture page. */
.school-program{background:var(--bg);border-top:1px solid var(--line)}
.program-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4rem;align-items:start}
.program-scenes{width:100%;max-width:36rem;aspect-ratio:1/1;align-self:center;justify-self:center}
.program-circle{grid-column:5/13;grid-row:1/12}
.program-circle img{object-position:62% 42%}
.program-workshop{grid-column:1/7;grid-row:2/6;z-index:1}
.program-workshop img{object-position:center 82%}
.program-conversation{grid-column:1/8;grid-row:8/13;z-index:1}
.program-conversation img{object-position:32% 40%}
.program-scenes:after{content:'';position:absolute;right:5%;bottom:5%;width:18%;height:2px;background:var(--accent)}
.program-heading h2{font-size:clamp(2.2rem,3.4vw,3.4rem);margin-bottom:1.5rem}
.program-intro{color:var(--muted);max-width:33rem;margin-bottom:0;line-height:1.85}
.program-formats{padding-top:2rem}
.program-format{border-top:1px solid var(--line);padding:1.25rem 0}
.program-format h3{font-size:1.25rem;margin-bottom:.5rem}
.program-format p{color:var(--muted);font-size:1rem;margin:0;max-width:28rem}
.program-stages{list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.program-stages li{border-top:1px solid var(--line);padding-top:1.25rem;min-width:0}
.program-grade{display:block;color:var(--accent);font-size:1rem;font-weight:700;margin-bottom:1rem}
.program-stages h3{font-size:1.25rem;margin-bottom:.6rem}
.program-stages p{font-size:1rem;color:var(--muted);margin:0;max-width:21rem}
.program-contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem 2rem;margin-top:2.75rem;padding-top:2rem;border-top:1px solid var(--line)}
.program-contact p{color:var(--muted);font-size:1rem;margin:0;max-width:35rem}
.program-contact h3{font-size:1.35rem;margin-bottom:.7rem}
.program-contact-actions{display:flex;flex-wrap:wrap;gap:.85rem;max-width:100%}
.program-contact .button{gap:1.5rem}
@media(max-width:1000px){.program-overview{gap:2.5rem}.program-stages{gap:1.5rem}}
@media(max-width:700px){
  .program-overview{grid-template-columns:minmax(0,1fr);gap:2rem}
  .program-heading h2{font-size:2.4rem;line-height:1.35}
  .program-formats{padding-top:1.75rem}
  .program-stages{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1.75rem}
  .program-grade{margin-bottom:.65rem}
  .program-stages p{max-width:none}
  .program-contact{align-items:stretch;flex-direction:column;margin-top:2rem}
  .program-contact-actions{flex-direction:column;align-items:stretch;width:100%;max-width:22rem}
  .program-contact .button{width:100%}
  .program-contact br{display:none}
}

/* Preserve the compositions on mobile while keeping the profile photo compact. */
@media(max-width:900px){
  .lecture,.about{grid-template-columns:minmax(0,1fr);gap:2rem}
  .lecture .section-intro,.lecture-copy,.lecture-scenes,.about-heading,.about-copy,.about-portraits{grid-column:auto;grid-row:auto}
  .lecture-copy,.about-copy{max-width:none}
  .lecture-scenes{max-width:34rem}
  .about-portraits{width:min(100%,20rem);justify-self:center}
  .about-role{max-width:none;margin-bottom:0}
  .program-overview{grid-template-columns:minmax(0,1fr);gap:2rem}
  .program-scenes{max-width:34rem}
}
@media(max-width:500px){
  .photo-composition .personal-photo{border-width:4px}
  .about-portraits{width:min(100%,18rem)}
}

/* Introduce Max first, keep the photographs together, then present the invitation. */
@media(max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "photos" "details" "footer"}
  .hero-content{display:contents}
  .hero-intro{grid-area:intro;padding:2.5rem 6% 1.75rem}
  .hero .eyebrow{margin-bottom:1rem}
  .hero h1{font-size:clamp(3.4rem,14vw,5.5rem);line-height:1.06;margin-bottom:1.1rem}
  .hero-identity{margin-bottom:0}
  .hero-speaker-name{font-size:clamp(1.5rem,4.5vw,2rem)}
  .hero-military,.hero-profession{font-size:1rem}
  .hero-photos{min-height:0;aspect-ratio:1.7/1;max-height:33rem;gap:.4rem}
  .hero-photos:after{background:linear-gradient(to top,var(--bg) 0%,rgba(9,27,18,.25) 4%,transparent 12%)}
  .hero-details{grid-area:details;padding:1.75rem 6% 0}
  .hero-subtitle{max-width:none;font-size:1.25rem}
  .hero-description{font-size:1.125rem;margin-bottom:1.5rem}
  .hero-footer{margin-top:2rem;padding:1.4rem 6%}
}
@media(max-width:600px){
  .hero-photos{aspect-ratio:1.15/1;max-height:none}
  .hero-footer{display:block}
}

/* Complete, compact section navigation; all links remain reachable on mobile. */
.site-header{gap:1.5rem;flex-wrap:wrap}
.section-nav{display:flex;align-items:center;gap:clamp(.65rem,1.8vw,1.6rem);max-width:100%;font-size:.9375rem}
.section-nav a:not(.nav-contact){display:inline-flex;align-items:center;min-height:2.75rem;padding:.35rem .1rem;white-space:nowrap;border-bottom:2px solid transparent}
.section-nav a:not(.nav-contact):hover,.section-nav a:not(.nav-contact):focus-visible{border-bottom-color:var(--accent);color:var(--accent)}
.section-nav .nav-contact{white-space:nowrap;border-color:var(--accent);border-radius:2rem;padding:.45rem .9rem;min-height:2.75rem}
.section-nav .nav-contact .button-icon{width:1.125rem;height:1.125rem;color:var(--accent)}
@media(max-width:1000px){
 .site-header{padding-bottom:.65rem;gap:.85rem}
 .section-nav{flex-basis:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;gap:1.2rem;padding:.3rem .15rem .6rem;scrollbar-width:thin;scrollbar-color:#ec9900 #203629;border-top:1px solid var(--line)}
 .section-nav a{flex-shrink:0}
 .section-nav a:not(.nav-contact){display:inline-flex}
}
/* Refine the existing visual system for clarity and a shorter path to contact. */
.hero-content{padding-top:2.5rem;padding-bottom:2.5rem}
.hero-identity{margin-bottom:1.5rem}
.hero-speaker-name{font-size:clamp(1.65rem,2.5vw,2.2rem)}
.hero-profession{margin-top:.35rem}
.hero-subtitle{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.6}
.hero-description{font-size:1.0625rem;line-height:1.75;margin-bottom:1.5rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-actions .button{justify-content:center;gap:.8rem;padding:.75rem 1rem;min-height:3rem;font-size:1rem}
.hero-caption{font-size:.9375rem;line-height:1.65}
.partner-proof{padding:2.25rem 6%;text-align:center;border-bottom:1px solid var(--line);background:var(--surface)}
.partner-proof h2{font-size:1.0625rem;font-weight:400;color:var(--muted);margin:0 0 1rem}
.partner-names{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 2.5rem;padding:0;margin:0 0 1.25rem;font-size:1.125rem;font-weight:700}
.proof-quote{font-size:clamp(1.4rem,2.5vw,1.9rem);margin:0 0 1.25rem;line-height:1.5}
.proof-quote strong{font-weight:800}
.proof-quote span{display:block;margin-top:.5rem;color:var(--muted);font-size:1rem}
.partner-proof>a{color:var(--bg);background:var(--accent);border-radius:.65rem;padding:.65rem 1.4rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;font-size:1rem;font-weight:700}
.partner-proof>a:hover{background:#ffb225}
.lecture-practical{padding-top:0}
.lecture-practical h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 1.5rem}
.practical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.practical-grid article{padding:1.5rem 1.25rem;background:var(--surface);border-top:1px solid #647768}
.practical-grid h3{font-size:1.125rem;margin:0 0 .75rem}
.practical-grid p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}
.testimonial-author{margin:0 0 1.5rem;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.35rem .75rem;align-items:baseline}
.testimonial-context{margin-bottom:.5rem}
.testimonial blockquote{margin:0}
.contact h2{font-size:clamp(2.5rem,5vw,4rem);margin:0 0 1rem}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.25rem;max-width:40rem;margin:2rem auto 2.5rem;text-align:right}
.form-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.form-field label{font-size:1rem;font-weight:700}
.form-field input,.form-field select{box-sizing:border-box;width:100%;min-width:0;min-height:3.1rem;padding:.7rem .9rem;border:1px solid #819286;border-radius:.25rem;background:#102d1e;color:var(--text);font:inherit;font-size:1rem}
.form-field input:focus,.form-field select:focus{outline:2px solid var(--accent);outline-offset:2px}
.form-note{grid-column:1/-1;font-size:.875rem;line-height:1.7;margin:0;color:var(--muted)}
.contact-form button{grid-column:1/-1;justify-content:center;cursor:pointer;font-family:inherit}
.contact-actions .button{min-height:2.75rem;font-size:1rem;background:transparent;color:var(--text);border-color:#819286}
.contact-actions .button:hover{background:var(--surface)}
.contact-details a{display:inline-flex;align-items:center;min-height:2.75rem}
@media(max-width:1000px){.practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .hero{grid-template-areas:"intro" "details" "photos" "footer"}
 .hero-intro{padding:2rem 6% 0}
 .hero-identity{margin-bottom:0}
 .hero-details{padding:1.25rem 6% 1.75rem}
 .hero h1{font-size:clamp(3.4rem,13vw,5.5rem)}
 .hero-military,.hero-profession{font-size:1rem;line-height:1.65}
 .hero-photos{aspect-ratio:1.35/1}
 .hero-footer{margin-top:0}
}
@media(max-width:600px){
 .section{padding-top:3.5rem;padding-bottom:3.5rem}
 .lecture-practical{padding-top:0}
 .practical-grid{grid-template-columns:1fr;gap:.75rem}
 .practical-grid article{padding:1.1rem 1.25rem}
 .contact-form{grid-template-columns:1fr}
 .partner-names{flex-direction:column;gap:.6rem}
 .proof-quote span{display:block;margin-top:.4rem}
 .hero-actions .button{flex:1 1 9rem}
 .hero-photos{aspect-ratio:1.15/1}
 .testimonials-carousel{padding-inline:3rem}
 .testimonials-controls button{width:2.75rem;height:2.75rem}
 .testimonial-author{flex-direction:column;gap:0;align-items:center}
 .testimonial blockquote p{font-size:1.125rem}
 .contact-actions .button{max-width:none}
}

/* Accessible focus, motion preferences and policy pages. */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.site-footer a:focus-visible{outline-color:#123322}
.form-note a,.legal-page a{text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.site-footer{flex-wrap:wrap}
.legal-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.legal-links a{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:underline;text-underline-offset:.2em}
.legal-page{width:min(100%,54rem);margin:auto;padding:3rem max(1.25rem,5%);overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(2rem,6vw,3.25rem);line-height:1.3;letter-spacing:normal}
.legal-page h2{font-size:1.5rem;line-height:1.5;margin:2rem 0 .75rem;letter-spacing:normal}
.legal-page p,.legal-page li{font-size:1rem;line-height:1.9}
.legal-page li{margin-bottom:.65rem}
.legal-date{color:var(--muted)}
@media(max-width:600px){.contact-actions{flex-wrap:wrap}.contact-details{gap:.6rem;overflow-wrap:anywhere}.legal-links{width:100%}.site-footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.primary:hover,.secondary:hover{transform:none}}

/* Hero invitation: one entrance per page load, then an occasional soft sheen. */
.hero-actions .hero-cta{position:relative;isolation:isolate;overflow:hidden;transform-origin:center;animation:hero-cta-enter .68s cubic-bezier(.22,.8,.3,1) .12s backwards}
.hero-actions .hero-cta::after{content:"";position:absolute;pointer-events:none;z-index:-1;top:-35%;bottom:-35%;left:-60%;width:50%;background:linear-gradient(105deg,transparent 10%,rgba(255,255,255,.12) 35%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.12) 65%,transparent 90%);transform:translateX(0) skewX(-18deg);animation:hero-cta-sheen 4.5s ease-in-out 1.25s infinite}
@keyframes hero-cta-enter{0%{opacity:.15;transform:translateY(12px) scale(.55)}65%{opacity:1;transform:translateY(-2px) scale(1.055)}82%{transform:translateY(0) scale(.985)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hero-cta-sheen{0%{transform:translateX(0) skewX(-18deg);opacity:0}3%{opacity:1}22%{transform:translateX(420%) skewX(-18deg);opacity:0}100%{transform:translateX(420%) skewX(-18deg);opacity:0}}
html.access-motion .hero-actions .hero-cta,html.access-motion .hero-actions .hero-cta::after{animation:none!important}
html.access-motion .hero-actions .hero-cta::after{display:none}
@media(prefers-reduced-motion:reduce){.hero-actions .hero-cta{animation:none!important}.hero-actions .hero-cta::after{display:none;animation:none!important}}

/* A single stage portrait leads the page; service and running continue the story below. */
.hero{background:#000;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy photos" "footer footer";padding-top:1rem;overflow:hidden}
.hero-content{align-self:center;padding:3rem clamp(1.5rem,4.5vw,5.5rem);z-index:2}
.hero-stage-photo{grid-area:photos;position:relative;align-self:end;justify-self:center;margin:0;width:100%;max-width:660px;background:#000;line-height:0;isolation:isolate}
.hero-stage-photo img{display:block;width:100%;height:auto;max-height:790px;object-fit:contain;object-position:center bottom}
.hero-stage-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent 72%,rgba(0,0,0,.12) 80%,rgba(0,0,0,.72) 94%,#000 100%)}
.hero-footer{background:#000;border-top:0;padding-top:1.5rem;padding-bottom:2.5rem}
.hero+.partner-proof{background:linear-gradient(#000,var(--surface));border-top:0}
.lecture-scenes{aspect-ratio:1/1;max-width:38rem;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.4fr 1fr}
.lecture-scenes .personal-photo{border:0}
.scene-running{grid-column:1/-1;grid-row:1}
.scene-running img{object-position:center;object-fit:cover}
.lecture-scenes .scene-auditorium{grid-column:1;grid-row:2}
.lecture-scenes .scene-service{grid-column:2;grid-row:2}
.lecture-scenes::after{display:none}
.about-portraits{width:min(100%,32rem);aspect-ratio:1/1.04;gap:.6rem;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr}
.about-portraits .personal-photo{border:0}
.about-combat{grid-column:1;grid-row:1/3}
.about-combat img{object-position:62% center}
.about-portraits .about-portrait{grid-column:2;grid-row:1}
.about-portraits .about-uniform{grid-column:2;grid-row:2}
.about-portraits::before{display:none}
@media(max-width:900px){
 .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "photos" "details" "footer";padding-top:0}
 .hero-content{display:contents}
 .hero-intro{padding:2.25rem 6% 0;text-align:right}
 .hero h1{font-size:clamp(3rem,12vw,5rem);margin-bottom:1rem}
 .hero-stage-photo{width:min(100%,520px);margin:0 auto;max-width:none}
 .hero-stage-photo img{max-height:620px}
 .hero-details{padding:0 6% 1.5rem;margin-top:-.5rem;position:relative;z-index:2}
 .hero-footer{margin-top:0;padding-top:1rem}
 .about-portraits{width:min(100%,32rem)}
}
@media(max-width:480px){.hero-stage-photo{width:100%}.hero-stage-photo img{max-height:none}.hero-intro{padding-top:1.75rem}.hero-profession{font-size:.9375rem}.about-portraits{gap:.4rem}.lecture-scenes{gap:.4rem}}

/* Focused introduction and brighter partner quote. */
.hero h1{font-size:clamp(2rem,4.5vw,5rem);line-height:1.2;letter-spacing:-.035em;white-space:nowrap}
.hero+.partner-proof{background:#faf8f2;color:#123322;border-bottom-color:#d8ddcf}
.partner-proof .proof-quote span{color:#4f6256}
.partner-proof>a:focus-visible{outline-color:#123322}
.about-portraits{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.65fr 1fr;aspect-ratio:1/1.12}
.about-portraits .about-portrait{grid-column:1/-1;grid-row:1}
.about-portraits .about-portrait img{object-position:38% center}
.about-portraits .about-combat{grid-column:1;grid-row:2}
.about-portraits .about-combat img{object-position:62% 26%}
.about-portraits .about-uniform{grid-column:2;grid-row:2}
@media(max-width:900px){.hero h1{font-size:clamp(1.75rem,8.8vw,4.75rem)}}

/* Service hierarchy: lectures, educational work, then screenings. */
.film-offer{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;background:#10251b;border-block:1px solid var(--line)}
.film-offer h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.2;margin:0 0 1.5rem}
.film-offer-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.85;max-width:32rem}
.film-offer figure{margin:0;position:relative;overflow:hidden}
.film-offer img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.film-offer figure::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to left,#10251b,rgba(16,37,27,.35) 7%,transparent 18%)}
.film-offer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-top:2rem}
.film-story-link{font-size:1rem;text-decoration:underline;text-underline-offset:.3em;padding-block:.65rem}
.form-message{grid-column:1/-1}
.form-field textarea{box-sizing:border-box;width:100%;min-width:0;resize:vertical;min-height:7rem;padding:.8rem;border:1px solid #819286;border-radius:.25rem;background:#102d1e;color:var(--text);font:inherit;font-size:1rem;line-height:1.6}
.form-field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.section-intro h2,.film-offer h2{text-wrap:balance}
.hero-details,.hero-intro,.film-offer-copy{min-width:0}
@media(max-width:900px){
 .hero{grid-template-areas:"intro" "details" "photos" "footer"}
 .hero-intro{padding-top:2rem}
 .hero-identity{margin-bottom:1rem}
 .hero-details{margin:0;padding:0 6% 1rem}
 .hero-subtitle{margin-bottom:.65rem}
 .hero-description{margin-bottom:1rem}
 .hero-stage-photo{width:min(100%,480px)}
 .hero-stage-photo img{max-height:560px}
 .hero-footer{padding-block:.5rem 1.5rem}
 .film-offer{grid-template-columns:minmax(0,1fr);gap:2rem}
 .film-offer figure{grid-row:1}
 .film-offer figure::after{display:none}
 .film-offer img{aspect-ratio:auto}
}
@media(max-width:480px){
 .hero-stage-photo img{max-height:480px}
 .hero-actions{gap:.65rem}
 .hero-actions .button{flex:1 1 auto}
 .film-offer-actions{align-items:stretch;flex-direction:column}
 .film-offer-actions .button{justify-content:center;gap:.75rem}
}
html.access-spacing .hero h1{white-space:normal}
@media(max-width:360px){.hero h1{font-size:1.75rem;white-space:normal}.hero h1 em{white-space:nowrap}}

/* Mobile stage composition: portrait first, invitation joined to its fading edge. */
@media(max-width:900px){
 .hero{grid-template-areas:"intro" "photos" "details" "footer"}
 .hero-intro{padding-bottom:0;position:relative;z-index:2}
 .hero-stage-photo{width:min(100%,460px);margin-top:-.5rem}
 .hero-stage-photo img{max-height:500px}
 .hero-stage-photo::after{background:linear-gradient(180deg,transparent 74%,rgba(0,0,0,.25) 86%,#000 100%)}
 .hero-details{display:flex;flex-direction:column;gap:0;margin-top:-1.25rem;padding:0 6% 1.5rem;background:linear-gradient(transparent,#000 2rem)}
 .hero-actions{order:-1;margin:0 0 1.5rem;position:relative}
 .hero-subtitle{max-width:34rem;font-size:clamp(1.2rem,4.7vw,1.6rem);line-height:1.6}
 .hero-description{max-width:36rem;line-height:1.8}
 .hero-caption{margin-top:.5rem}
}
@media(max-width:480px){
 .hero-stage-photo img{max-height:420px}
 .hero-actions{gap:.65rem}
 .hero-actions .button{font-size:.95rem;padding-inline:1rem}
}

/* Preserve paragraph breaks in full-length partner recommendations. */
.testimonial blockquote p+p{margin-top:1rem}
