:root{--ink:#232925;--green:#193c32;--green-hover:#2b5546;--muted:#636b66;--line:#dce1dc;--paper:#fff;--soft:#f4f6f3;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--gutter:clamp(1.5rem,5vw,5.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid #ac673e;outline-offset:6px}::selection{background:#c9dccd;color:var(--green)}h1,h2,h3,p,figure{margin:0}em,.serif-italic{font-family:var(--serif);font-style:italic;font-weight:400}h2{font-family:var(--serif);font-size:clamp(2.6rem,4.2vw,4.2rem);font-weight:400;letter-spacing:-.035em;line-height:1.12}h2 em{color:var(--green)}.section-wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-size:.75rem;letter-spacing:.15em;line-height:1.6;font-weight:600;color:var(--muted)}.small-line{display:inline-block;width:2rem;height:1px;background:currentColor;vertical-align:middle;margin-right:.8rem}.skip-link{position:absolute;top:-200px;left:1rem;z-index:1000;background:var(--green);color:white;padding:1rem}.skip-link:focus{top:1rem}.site-header{height:108px;padding:1.4rem var(--gutter);max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:1.05rem;flex-shrink:0}.monogram{font-family:var(--serif);font-style:italic;font-size:3.35rem;letter-spacing:-.17em;line-height:1;padding-right:.24em}.brand-dot{font-style:normal;color:var(--green);letter-spacing:-.09em}.brand-name{font-size:.75rem;font-weight:600;letter-spacing:.17em;line-height:1.7;border-left:1px solid var(--line);padding-left:1.05rem}.site-header nav{display:flex;gap:2.1rem;font-size:.875rem}.site-header nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:7px}.button{background:var(--green);color:white;border:1px solid var(--green);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.5rem;min-height:52px;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .2s,color .2s,transform .2s}.button:hover{background:var(--green-hover);border-color:var(--green-hover);transform:translateY(-2px)}.button-small{padding:.7rem 1.1rem;min-height:44px}.button-outline{background:transparent;color:var(--green)}.button-outline:hover{background:var(--green);color:white}.button-light{background:white;color:var(--green);border-color:white}.button-light:hover{background:#e5eee8;color:var(--green);border-color:#e5eee8}.text-link{font-size:.875rem;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block}.text-link:hover{color:var(--green-hover)}.icon-wa{width:20px;height:20px;display:inline-block;flex-shrink:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.04 2a9.84 9.84 0 0 0-8.5 14.86L2 22l5.27-1.51A9.92 9.92 0 1 0 12.04 2m0 17.86a8.05 8.05 0 0 1-4.1-1.13l-.3-.18-3.13.9.93-3.03-.2-.31A8.07 8.07 0 1 1 12.04 19.86m4.43-5.98c-.24-.12-1.44-.71-1.67-.79-.22-.08-.38-.12-.54.12-.16.24-.62.79-.76.95-.14.16-.28.18-.52.06-.24-.12-1.02-.38-1.94-1.2-.72-.64-1.2-1.43-1.34-1.67-.14-.24-.02-.37.11-.49.11-.1.24-.28.36-.42.12-.14.16-.24.24-.4.08-.16.04-.3-.02-.42-.06-.12-.54-1.3-.75-1.78-.2-.46-.4-.4-.54-.41h-.46c-.16 0-.42.06-.64.3-.22.24-.84.82-.84 2s.86 2.32.98 2.48c.12.16 1.69 2.59 4.08 3.63.57.25 1.02.4 1.37.51.58.18 1.11.15 1.53.09.47-.07 1.44-.59 1.64-1.16.2-.57.2-1.06.14-1.16-.06-.1-.22-.16-.46-.28'/%3E%3C/svg%3E") center/contain no-repeat}.menu-toggle,.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:3.5rem;align-items:center;padding-top:3rem;padding-bottom:3rem}.hero-copy{padding-block:2.4rem}.hero h1{font-family:var(--serif);font-size:clamp(3.3rem,5.55vw,5.5rem);font-weight:400;line-height:1.075;letter-spacing:-.045em;margin:1.8rem 0}.hero h1 em{color:var(--green)}.hero-intro{max-width:440px;color:var(--muted);font-size:1rem;line-height:1.85}.hero-actions{margin-top:2rem;display:flex;gap:1.7rem;align-items:center;flex-wrap:wrap}.hero-bottom{display:flex;align-items:center;gap:1.3rem;margin-top:4.5rem;padding-top:1.5rem;border-top:1px solid var(--line);max-width:440px}.hero-index{font-family:var(--serif);font-size:1.2rem;letter-spacing:.05em;color:var(--green)}.hero-bottom p{border-left:1px solid var(--line);padding-left:1.3rem;font-size:.8125rem;line-height:1.65;color:var(--muted)}.hero-bottom strong{font-weight:500;color:var(--ink)}.hero-image{position:relative;overflow:hidden;height:660px;align-self:stretch;background:#d1d6ce;min-height:560px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.hero-image figcaption{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem;padding:1.1rem 1.4rem;background:rgba(255,255,255,.96);border-left:2px solid var(--green);display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem}.hero-image figcaption span:first-child{font-size:.75rem;letter-spacing:.15em;font-weight:600}.values-strip{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,4.5vw,5rem);padding:1.55rem 1.2rem;background:var(--green);color:white;font-size:.75rem;letter-spacing:.16em;font-weight:500;flex-wrap:wrap}.strip-dot{font-size:1.3rem;opacity:.5}.catalog{padding-top:6.5rem;padding-bottom:4.5rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}.section-heading .eyebrow{margin-bottom:1rem}.section-heading>p{max-width:290px;color:var(--muted);font-size:.875rem;line-height:1.8;padding-bottom:.3rem}.course-list{border-top:1px solid var(--line)}.course{display:grid;grid-template-columns:66px 1fr 240px;gap:1.7rem;padding:2.8rem 0;border-bottom:1px solid var(--line);align-items:start}.course-number{font-family:var(--serif);font-size:2rem;color:#838e85;line-height:1.3}.course-category{font-size:.75rem;letter-spacing:.15em;font-weight:600;color:var(--muted);margin-bottom:.7rem}.course h3{font-family:var(--serif);font-weight:400;font-size:2.5rem;letter-spacing:-.035em;line-height:1.2;margin-bottom:1rem}.course-copy>p:not(.course-category){font-size:1rem;color:var(--muted);max-width:540px;line-height:1.75}.course-action{display:flex;flex-direction:column;align-items:flex-end;gap:1.7rem;padding-top:.2rem}.course-action .button{width:100%;font-size:.8125rem;white-space:normal}.course-pill{font-size:.75rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:30px;color:var(--muted);text-align:center}.course details{margin-top:1.4rem;max-width:540px}.course summary{display:inline-flex;align-items:center;gap:1.8rem;font-size:.875rem;cursor:pointer;font-weight:500;list-style:none}.course summary::-webkit-details-marker{display:none}.course summary span{font-size:1.3rem;color:var(--green);line-height:1}.course details[open] summary span,.faq details[open] summary span{transform:rotate(45deg)}.course-details{margin-top:1rem;padding:1rem 1.2rem;border-left:2px solid var(--green);background:var(--soft);font-size:.875rem;line-height:1.75;color:var(--muted)}.source-link{font-size:.75rem;font-weight:500;text-decoration:underline;text-underline-offset:4px;display:inline-block}.course-details .source-link{margin-top:.8rem}.catalog-note{display:flex;gap:1rem;margin-top:1.8rem;align-items:center;color:var(--muted);font-size:.875rem}.catalog-note>span{font-size:1.4rem;color:var(--green)}.catalog-note a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.experience{display:grid;grid-template-columns:1fr 1fr;gap:6rem;padding-block:4rem 6rem;align-items:center}.experience-visual{height:660px;position:relative;overflow:hidden}.experience-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}.image-label{position:absolute;bottom:1.2rem;left:1.2rem;padding:.65rem 1rem;background:white;font-size:.75rem;font-weight:600;letter-spacing:.15em}.experience-copy .eyebrow{margin-bottom:1.2rem}.experience-copy h2{margin-bottom:1.7rem}.experience-copy>p:not(.eyebrow){color:var(--muted);max-width:440px;line-height:1.85}.experience-steps{margin:2rem 0;display:grid;gap:1.1rem}.experience-steps>div{display:flex;gap:1.1rem;align-items:flex-start}.experience-steps>div>span{font-family:var(--serif);font-style:italic;color:var(--green);font-size:1.1rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}.experience-steps p{font-size:.875rem;color:var(--muted);line-height:1.7}.experience-steps strong{display:block;font-weight:500;color:var(--ink)}.video-section{padding-block:3rem 6rem}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.video-card{min-width:0}.video-frame{background:#111713;overflow:hidden;height:430px;display:flex;justify-content:center;align-items:center}.video-frame video{display:block;width:100%;height:100%;object-fit:contain}.video-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.1rem}.video-meta .eyebrow{font-size:.75rem}.video-meta h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:-.02em;margin-top:.3rem}.video-meta .source-link{flex-shrink:0}.instructor{padding-block:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:6rem}.instructor-heading .eyebrow{margin-bottom:1.2rem}.instructor-copy>p:first-child{font-family:var(--serif);font-size:1.7rem;line-height:1.4;letter-spacing:-.01em;max-width:470px}.instructor-copy>p:nth-child(2){font-size:.875rem;color:var(--muted);margin:1.2rem 0;max-width:440px;line-height:1.9}.faq{padding-block:6rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem}.faq .eyebrow{margin-bottom:1.2rem}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:1.3rem 0}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9375rem;line-height:1.6;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:1.5rem;font-weight:400;color:var(--green);transition:transform .2s}.faq details p{font-size:.875rem;color:var(--muted);margin-top:1rem;line-height:1.85;max-width:95%}.contact{background:var(--green);color:white}.contact-inner{text-align:center;padding-block:5.2rem}.contact .eyebrow{color:#b8cbbf;margin-bottom:1.2rem}.contact h2{font-size:clamp(2.4rem,4vw,4rem)}.contact h2 em{color:#c6d8cc}.contact p:not(.eyebrow){font-size:.9375rem;color:#d0ded4;margin-block:1.6rem 1.7rem}.contact-number{display:block;margin-top:1.2rem;font-size:.875rem;letter-spacing:.08em}.contact-number:hover{text-decoration:underline}footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2.8rem}footer p{font-size:.75rem;color:var(--muted);line-height:1.9}footer p span{color:#727b73;font-size:.75rem}.footer-brand .monogram{font-size:2.7rem}.footer-links{display:flex;gap:1.3rem;font-size:.8125rem}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.floating-wa{position:fixed;bottom:1.3rem;right:1.3rem;z-index:50;display:flex;align-items:center;gap:.65rem;background:var(--green);color:white;border:1px solid rgba(255,255,255,.5);padding:.9rem 1.25rem;border-radius:40px;box-shadow:0 4px 20px #0002;font-size:.875rem}.floating-wa:hover{background:var(--green-hover)}
@media(min-width:1440px){.hero-image{height:700px}.hero{gap:5rem}}@media(max-width:1100px){.site-header nav{gap:1.3rem}.brand-name{font-size:.75rem}.hero{gap:2rem;grid-template-columns:1.05fr 1fr}.hero h1{font-size:clamp(3rem,5.5vw,4.5rem)}.hero-image{height:600px;min-height:unset}.hero-copy{padding-block:1rem}.hero-bottom{margin-top:2.8rem}.experience,.instructor,.faq{gap:3rem}.course{grid-template-columns:45px 1fr 210px;gap:1.2rem}.course h3{font-size:2.1rem}.experience-visual{height:620px}.hero-actions{gap:1.1rem}.hero-actions .text-link{font-size:.8125rem}}
@media(max-width:820px){.site-header{height:90px}.site-header nav,.header-contact{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);background:transparent;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}.menu-toggle span{height:1px;width:20px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:1.2rem;padding:1.5rem var(--gutter);background:white;border-bottom:1px solid var(--line)}.mobile-nav a{font-size:1rem}.hero{grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:2.5rem}.hero h1{font-size:2.9rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em}.small-line{width:1rem;margin-right:.3rem}.hero-intro{font-size:.9375rem}.hero-image{height:540px}.hero-image figcaption{left:.7rem;right:.7rem;bottom:.7rem;padding:.8rem;font-size:.75rem}.hero-image figcaption span:first-child{font-size:.75rem}.hero-bottom{display:none}.values-strip{font-size:.75rem;gap:1rem;letter-spacing:.1em}.strip-dot{font-size:1rem}.course{grid-template-columns:35px 1fr;gap:1.2rem;padding:2rem 0}.course-action{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.course-action .button{width:auto}.course h3{font-size:2.2rem}.course-pill{font-size:.75rem}.section-heading>p{max-width:210px;font-size:.8125rem}.experience{gap:2rem}.experience-visual{height:560px}.experience h2{font-size:2.9rem}.experience-copy .eyebrow{font-size:.75rem}.experience-copy>p:not(.eyebrow){font-size:.9375rem}.experience-steps p{font-size:.8125rem}.video-frame{height:380px}.instructor,.faq{gap:2rem}.instructor h2{font-size:2.8rem}.instructor-copy>p:first-child{font-size:1.45rem}.faq h2{font-size:2.8rem}.faq summary{font-size:.875rem}footer{flex-wrap:wrap}.footer-brand{flex:1}.footer-links{width:100%}}
@media(max-width:600px){:root{--gutter:1.5rem}html{scroll-padding-top:2rem}.site-header{height:82px}.monogram{font-size:2.9rem}.brand-name{font-size:.75rem}.hero{grid-template-columns:1fr;gap:2.5rem;padding-top:2rem;padding-bottom:2rem}.hero-copy{padding:0}.hero .eyebrow{font-size:.75rem}.hero h1{font-size:clamp(2.8rem,10.1vw,4rem);line-height:1.09;margin:1.3rem 0}.hero-intro{max-width:420px;font-size:1rem;line-height:1.8}.hero-actions{gap:1.35rem;margin-top:1.7rem}.hero-image{height:500px;max-height:none}.hero-image img{object-position:50% 28%}.hero-image figcaption{left:1rem;right:1rem;bottom:1rem;padding:1rem;font-size:.75rem}.hero-image figcaption span:first-child{font-size:.75rem}.values-strip{justify-content:center;gap:.7rem 1rem;padding:1.3rem 1rem;font-size:.75rem;line-height:1.8}.strip-dot{display:none}.values-strip span:last-child{flex-basis:100%;text-align:center}.catalog{padding-top:4rem;padding-bottom:2.5rem}.section-heading{display:block;margin-bottom:2.5rem}.section-heading>p{max-width:100%;margin-top:1.4rem;font-size:.9375rem}.section-heading>p br{display:none}h2{font-size:2.7rem}.section-heading .eyebrow{font-size:.75rem}.course{grid-template-columns:24px minmax(0,1fr);gap:1rem;padding:2rem 0}.course-number{font-size:1.4rem}.course-category{font-size:.75rem;letter-spacing:.1em;line-height:1.7}.course h3{font-size:2rem}.course-copy>p:not(.course-category){font-size:.9375rem}.course-action{gap:.85rem;justify-content:flex-start}.course-action .button{width:100%;font-size:.875rem}.course-action .course-pill{padding:0;border:0;border-radius:0;font-size:.75rem;color:var(--green)}.catalog-note{align-items:flex-start;font-size:.8125rem}.catalog-note>span{line-height:1.4}.experience{display:flex;flex-direction:column-reverse;gap:2.5rem;padding-top:2rem;padding-bottom:4rem}.experience-copy{width:100%}.experience h2{font-size:2.9rem}.experience-copy>p:not(.eyebrow){font-size:1rem}.experience-steps p{font-size:.875rem}.experience-visual{height:470px;width:100%}.experience-visual img{object-position:50% 40%}.video-section{padding-block:1rem 4rem}.video-grid{grid-template-columns:1fr;gap:2rem}.video-frame{height:410px}.video-meta h3{font-size:1.4rem}.video-meta .source-link{font-size:.75rem}.instructor{grid-template-columns:1fr;gap:1.7rem;padding-block:3rem}.instructor h2{font-size:3rem}.instructor-copy>p:first-child{font-size:1.6rem}.instructor-copy>p:nth-child(2){font-size:.9375rem}.faq{grid-template-columns:1fr;gap:2.2rem;padding-block:4rem}.faq summary{font-size:.9375rem}.faq details p{font-size:.9375rem}.contact-inner{padding-block:4rem}.contact h2{font-size:2.6rem}.contact h2 br{display:none}.contact .eyebrow{font-size:.75rem}.contact p:not(.eyebrow){font-size:1rem}footer{display:grid;grid-template-columns:1fr;gap:1.5rem;padding-block:2.2rem 5rem}footer p{font-size:.8125rem}footer p span{font-size:.75rem}.footer-links{font-size:.875rem}.floating-wa{bottom:1rem;right:1rem;padding:.85rem}.floating-wa>span:last-child{display:none}.floating-wa .icon-wa{height:25px;width:25px}}
.video-frame{position:relative;transition:filter .2s}.video-frame>img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.video-frame:hover{filter:brightness(.92)}.video-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#0008)}.video-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #fff8;background:#ffffffeb;color:var(--green);border-radius:50%;width:64px;height:64px;display:grid;place-items:center;box-shadow:0 3px 30px #0003}.video-play svg{height:24px;width:24px;margin-left:2px}.video-caption{position:absolute;z-index:1;bottom:1.3rem;left:1.4rem;color:white;font-size:.875rem;font-weight:500}.video-duration{font-size:.875rem;color:var(--muted)}.course-details ul{padding-left:1.2rem;margin:1rem 0;line-height:1.9}.course-result{margin-top:1.2rem}.course-result img{height:auto;width:100%}.course-result figcaption{font-size:.75rem;margin-top:.5rem;color:var(--muted)}.brand-name{letter-spacing:.08em;line-height:1.6;max-width:165px}.site-header{gap:1.25rem}.site-header nav{gap:1.5rem}.section-heading>p{font-size:1rem}.image-label{font-size:.75rem}.course-category{font-size:.75rem;line-height:1.8}.hero-image figcaption span:first-child{font-size:.75rem}.video-meta .eyebrow{font-size:.75rem}
@media(max-width:1100px) and (min-width:821px){.site-header{padding-inline:2rem;gap:1rem}.site-header nav{gap:1rem}.brand{gap:.7rem}.brand-name{padding-left:.7rem;letter-spacing:.04em}.header-contact{padding-inline:.8rem}}
@media(max-width:820px){.hero{grid-template-columns:1fr;gap:2rem}.hero-copy{padding:0}.hero h1{font-size:clamp(3rem,7.5vw,4.8rem)}.hero .eyebrow{font-size:.75rem}.hero-image{height:620px;max-width:540px;justify-self:center;width:100%}.hero-image figcaption{font-size:.8125rem;left:1.2rem;right:1.2rem;bottom:1.2rem;padding:1.1rem}.hero-bottom{display:none}.section-heading{display:block}.section-heading>p{max-width:100%;margin-top:1.4rem}.section-heading>p br{display:none}}
@media(max-width:600px){.hero h1{font-size:clamp(2.8rem,10.1vw,4rem)}.hero-image{height:500px}.site-header{gap:.8rem}.brand{gap:.8rem}.brand-name{padding-left:.8rem;max-width:150px;letter-spacing:.025em}.video-meta{align-items:flex-start}.video-meta h3{font-size:1.35rem}.video-play{width:56px;height:56px}.values-strip{font-size:.75rem;line-height:1.9}.course{grid-template-columns:24px minmax(0,1fr)}.section-heading>p{font-size:1rem}.hero-actions .text-link{font-size:.875rem}}
@media(max-width:380px){.site-header .brand-name{max-width:118px;font-size:.75rem;letter-spacing:0;padding-left:.5rem}.site-header .brand{gap:.5rem}.site-header .monogram{font-size:2.5rem}.hero-image{height:430px}.hero-actions{gap:1rem}.hero-actions .button{width:100%}.video-frame{height:360px}.video-meta .eyebrow{letter-spacing:.1em}.contact h2{font-size:2.3rem}.course h3{font-size:1.8rem}}
.hero-intro,.course-copy>p:not(.course-category),.course-details,.experience-copy>p:not(.eyebrow),.instructor-copy>p:nth-child(2),.faq details p{font-size:1rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Yenny's portrait stays behind the opening message. */
.hero{position:relative;isolation:isolate;display:block;overflow:hidden;min-height:680px;padding:5rem var(--gutter);background:#172720;color:#fff}
.hero-background{position:absolute;inset:0;z-index:-2}
.hero-background img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,29,24,.88),rgba(15,29,24,.72) 35%,rgba(15,29,24,.2) 60%,rgba(15,29,24,.03))}
.hero-copy{position:relative;padding:0;max-width:54%}
.hero .eyebrow{color:#dbe5df;font-size:.75rem;letter-spacing:.14em}
.hero h1{font-size:clamp(3rem,5.4vw,5.1rem);line-height:1.08;margin:1.6rem 0}
.hero h1 em{color:#d0e0d5}
.hero-intro{color:#e0e7e1;max-width:425px;font-size:1rem;line-height:1.85}
.hero-actions{gap:1.5rem;margin-top:2rem}
.hero-actions .text-link{color:#fff;font-size:.875rem}
.hero-actions .text-link:hover{color:#d0e0d5}
.hero-portrait-label{position:absolute;right:var(--gutter);bottom:2.5rem;text-align:right;font-family:var(--serif);font-size:1.6rem;line-height:1.4;text-shadow:0 1px 12px #0008}
.hero-portrait-label span{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.08em}

/* Native horizontal scrolling supports touch without intercepting page scroll. */
.student-gallery{padding-block:3rem 5rem}
.student-gallery .section-heading{margin-bottom:2rem}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.gallery-toolbar>p{font-size:.875rem;color:var(--muted)}
.gallery-controls{display:flex;gap:.6rem}
.gallery-control{background:white;color:var(--green);border:1px solid var(--line);min-height:44px;padding:.65rem 1rem;font-size:.875rem;cursor:pointer;transition:background .2s,border-color .2s}
.gallery-control:hover:not(:disabled){background:var(--soft);border-color:var(--green)}
.gallery-control:disabled{opacity:.4;cursor:default}
.gallery-track{list-style:none;margin:0;padding:0 0 1rem;display:flex;gap:1.5rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9aa99d #edf0ec;-webkit-overflow-scrolling:touch}
.gallery-track:focus-visible{outline:3px solid #ac673e;outline-offset:6px}
.gallery-slide{flex:0 0 calc((100% - 3rem)/3);min-width:0;scroll-snap-align:start}
.gallery-slide figure{margin:0}
.gallery-slide img{width:100%;height:clamp(350px,36vw,520px);object-fit:contain;background:#eef1ed}
.gallery-slide figcaption{display:flex;justify-content:space-between;gap:.5rem;margin-top:.8rem;font-size:.875rem;color:var(--muted)}
.gallery-slide figcaption>span:last-child{font-size:.75rem;letter-spacing:.06em}
.gallery-footer{display:flex;align-items:center;gap:1.5rem;margin-top:.5rem}
.gallery-rule{height:1px;background:var(--line);flex:1}
.gallery-counter{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:5.5rem;text-align:right}

@media(max-width:1100px) and (min-width:821px){
 .hero{min-height:610px;padding-block:4rem}
 .hero-copy{max-width:55%}
 .hero h1{font-size:clamp(2.9rem,5.2vw,3.8rem)}
 .hero-actions{gap:1.1rem}
 .site-header nav{gap:.8rem;font-size:.8125rem}
 .site-header .header-contact{padding-inline:.65rem}
}
@media(max-width:820px){
 .hero{min-height:0;padding-top:clamp(360px,54vw,460px);padding-bottom:3rem}
 .hero-background{bottom:auto;height:clamp(440px,65vw,540px)}
 .hero-background img{object-position:82% center}
 .hero::after{background:linear-gradient(0deg,#172720 0%,#172720 calc(100% - 440px),rgba(23,39,32,.88) calc(100% - 360px),transparent calc(100% - 240px))}
 .hero-copy{max-width:100%}
 .hero h1{font-size:clamp(3rem,7vw,4.5rem)}
 .hero-intro{max-width:550px}
 .hero-portrait-label{position:relative;right:auto;bottom:auto;text-align:left;margin-top:2rem;font-size:1.3rem}
 .gallery-slide{flex-basis:calc((100% - 1.5rem)/2)}
 .gallery-slide img{height:440px}
}
@media(max-width:600px){
 .hero{padding-top:350px;padding-bottom:2.5rem}
 .hero-background{height:440px}
 .hero-background img{object-position:85% center}
 .hero h1{font-size:clamp(2.4rem,10.3vw,3.6rem);margin:1.25rem 0;line-height:1.1}
 .hero .eyebrow{letter-spacing:.08em}
 .hero-actions{gap:1.4rem;margin-top:1.7rem}
 .hero-actions .button{width:auto}
 .student-gallery{padding-block:2rem 3.5rem}
 .gallery-toolbar{align-items:flex-start;flex-wrap:wrap}
 .gallery-controls{margin-left:auto}
 .gallery-track{gap:1rem}
 .gallery-slide{flex-basis:88%}
 .gallery-slide img{height:clamp(360px,112vw,510px)}
}
@media(max-width:380px){
 .hero-actions .button{width:100%}
 .gallery-toolbar>p{flex-basis:100%}
 .gallery-controls{margin-left:0}
}
