/* Privacy controls share the calm Biroli palette; choices have equal emphasis. */
.privacy-launcher{position:fixed;bottom:18px;left:18px;z-index:40;border:1px solid var(--line);border-radius:30px;padding:10px 16px;color:var(--green);background:#fff;box-shadow:0 4px 20px #203d2715;font-size:12px;font-weight:600}.privacy-launcher:hover{background:var(--paper)}
.privacy-dialog{width:min(660px,calc(100% - 28px));max-height:calc(100dvh - 28px);border:1px solid var(--line);border-radius:22px;padding:30px;color:var(--ink);overscroll-behavior:contain;box-shadow:0 25px 100px #10211730}.privacy-dialog::backdrop{background:#12201acc;backdrop-filter:blur(5px)}.privacy-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:15px}.privacy-heading .eyebrow{margin:0}.privacy-dialog h2{font-size:36px;margin-bottom:20px}.privacy-dialog p{font-size:14px;line-height:1.65;margin-bottom:18px}.privacy-dialog .close{flex-shrink:0}.privacy-categories{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--paper);padding:18px;border-radius:12px;margin:20px 0}.privacy-categories label{display:flex;align-items:start;gap:10px;font-size:14px;font-weight:600;cursor:pointer}.privacy-categories input{width:19px;height:19px;margin:3px 0 0;accent-color:var(--green);flex-shrink:0}.privacy-categories small{font-size:12px;line-height:1.5;font-weight:400;color:var(--muted);display:block;margin-top:5px}.privacy-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.privacy-choice{padding:12px 8px;min-height:48px;background:var(--paper);color:var(--ink);border:1px solid #c6d2c5;border-radius:8px;font-size:14px;font-weight:600;line-height:1.4}.privacy-choice:hover{background:var(--lime);border-color:var(--green)}.privacy-details{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.privacy-details summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.6}.privacy-details h3{font-size:18px;letter-spacing:0;margin:24px 0 12px}.privacy-details a,.privacy-links a{text-decoration:underline;text-underline-offset:3px}.privacy-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:22px;font-size:13px;color:var(--green)}.footer-privacy{display:flex;flex-wrap:wrap;gap:18px;margin-top:25px}.link-button{background:none;border:0;padding:0;color:var(--green);font-size:14px;text-decoration:underline;text-underline-offset:4px}.video-privacy-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px}.privacy-table{width:100%;border-collapse:collapse;margin:25px 0;font-size:14px}.privacy-table th,.privacy-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.privacy-table th{background:var(--paper)}
.prose .text-link{white-space:normal;overflow-wrap:anywhere}.privacy-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-categories label,.privacy-categories span{min-width:0;overflow-wrap:anywhere}.privacy-details p{overflow-wrap:anywhere}@media(max-width:370px){.privacy-categories{grid-template-columns:1fr}.privacy-dialog .eyebrow{font-size:12px;letter-spacing:.08em}.privacy-dialog .eyebrow:before{width:14px}}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;align-items:start}.contact-intro{position:sticky;top:140px}.contact-intro h2{margin-bottom:28px}.contact-intro strong{font-weight:500;overflow-wrap:anywhere}.contact-form{padding:34px;background:white;border:1px solid var(--line);border-radius:20px;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid label{font-size:14px;font-weight:600;display:block;min-width:0}.form-grid label span{font-weight:400;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;max-width:100%;margin-top:7px;border:1px solid #bccabd;border-radius:8px;padding:12px;background:#fff;color:var(--ink);font-size:16px;min-height:48px}.form-grid textarea{resize:vertical}.form-grid :is(input,select,textarea):focus-visible{outline:2px solid var(--green);outline-offset:2px}.form-wide{grid-column:1/-1}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-small{font-size:13px!important;line-height:1.7;margin-top:23px}.form-small a{text-decoration:underline;text-underline-offset:3px}.form-security{margin:25px 0}.form-security .form-small{margin-top:10px}.contact-form altcha-widget{--altcha-max-width:100%;--altcha-border-radius:10px;--altcha-color-primary:var(--green)}.contact-form button:disabled{opacity:.55;cursor:not-allowed;transform:none}#contact-status{margin:18px 0 0;font-size:14px}.form-error{color:#9b3024} @media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-intro{position:static}.contact-form{padding:25px}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.contact-form{padding:20px}.form-wide{grid-column:auto}}
/* Scroll storytelling, with normal document flow and no scroll hijacking. */
.header{position:sticky;top:0;z-index:30;background:#fffffff2;backdrop-filter:blur(12px)}.reading-progress{position:fixed;z-index:35;left:0;top:0;width:100%;height:3px;background:var(--green);transform:scaleX(var(--progress,0));transform-origin:left;pointer-events:none}.motion-enabled .hero-copy{animation:hero-copy-in .9s cubic-bezier(.2,.75,.25,1) both}.motion-enabled .hero-visual{animation:hero-photo-in 1.1s cubic-bezier(.2,.75,.25,1) both}.motion-enabled .hero-visual>img{transform:translateY(var(--drift,0px)) scale(1.07);transition:transform .2s linear}.motion-enabled .hero-copy .actions{animation:hero-copy-in .9s .2s both}.motion-enabled .photo-label{animation:hero-copy-in .8s .35s both}.motion-enabled :is(.section-head,.intro-grid>*,.feature,.exercise-card,.split>*,.story-copy,.cta,.download,.video-card,.training-step){transition:opacity .75s ease var(--delay,0ms),translate .75s cubic-bezier(.2,.75,.25,1) var(--delay,0ms)}.motion-enabled .motion-pending{opacity:0;translate:0 32px}.motion-enabled .motion-visible{opacity:1;translate:0 0}.exercise-card .photo,.split-photo{isolation:isolate}.exercise-card:hover .photo{box-shadow:0 12px 35px #244c3517}.home-section-nav{scroll-margin-top:120px}.training-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.training-stage{position:sticky;top:140px;height:min(570px,70vh);min-height:380px;border-radius:22px;overflow:hidden;background:var(--paper)}.training-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease,transform 1s ease;transform:scale(1.05)}.training-stage>img.is-active{opacity:1;transform:scale(1)}.training-caption{position:absolute;bottom:22px;left:22px;right:22px;padding:15px 20px;border-radius:12px;background:#ffffffed;display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--green);z-index:1}.training-steps{padding-top:25px}.training-step{min-height:55vh;padding:30px 0 90px}.training-step:last-child{min-height:0;padding-bottom:25px}.training-step h2{font-size:clamp(2rem,3.5vw,3.2rem);margin-bottom:25px}.training-step .eyebrow{transition:color .3s}.training-step.is-active .eyebrow{color:#ab5b18}.training-step p{font-size:17px}.training-step .button{margin-top:15px}.hero-copy .accent{display:inline;background:linear-gradient(var(--lime),var(--lime)) left 94%/0% 9px no-repeat}.motion-enabled .hero-copy .accent{animation:underline-in .9s .5s forwards}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-photo-in{from{opacity:0;clip-path:inset(5% 0 5% 5% round 100px 20px 20px 20px)}to{opacity:1;clip-path:inset(0 round 160px 20px 20px 20px)}}@keyframes underline-in{to{background-size:100% 9px}}
@media(max-width:1050px){.training-story{gap:40px}.nav{gap:15px}.nav a{font-size:13px}}@media(max-width:760px){.privacy-dialog{padding:22px}.privacy-dialog h2{font-size:30px}.privacy-categories{padding:14px;gap:12px}.privacy-categories label{font-size:13px}.privacy-actions{grid-template-columns:1fr}.privacy-choice{min-height:44px;padding:10px}.privacy-dialog .privacy-note{font-size:12px}.privacy-launcher{bottom:10px;left:10px;font-size:12px;padding:8px 12px}.footer{padding-bottom:70px}.training-story{grid-template-columns:1fr;gap:20px}.training-stage{top:98px;height:300px;min-height:0;z-index:2;box-shadow:0 10px 25px #fff}.training-steps{padding-top:0}.training-step{min-height:70vh;padding:30px 0 65px;scroll-margin-top:420px}.training-caption{bottom:14px;left:14px;right:14px;font-size:12px;padding:12px 15px}.privacy-table th,.privacy-table td{padding:10px 5px;font-size:12px}}
@media(max-height:650px){.training-stage{position:relative;top:0}}@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1!important;translate:none!important}.training-stage{position:relative;top:0}.training-step{min-height:0;padding:25px 0}.training-stage>img{transition:none;transform:none}.hero-visual>img{transform:none!important}.reading-progress{display:none}.hero-copy .accent{background-size:100% 9px}html{scroll-behavior:auto}}
@media print{.privacy-launcher,.privacy-dialog,.reading-progress{display:none!important}.motion-pending{opacity:1!important;translate:none!important}.header,.training-stage{position:static}.training-step{min-height:0}.training-stage>img:not(.is-active){display:none}}
.nav a.button:hover,.nav a.button[aria-current=page]{color:#fff}
button.video-cover{display:block;width:100%;padding:0;border:0;color:inherit}button.video-cover:focus-visible{outline:3px solid #cc761c;outline-offset:-4px}button.video-cover:hover .play,button.video-cover:focus-visible .play{background:var(--green);color:white}
.training-stage>img.assembly-photo{object-fit:contain;padding:14px 14px 85px;background:#faf9ff}
