/* Public academy pages. Shared palette comes from style.css. */
.academy-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:clamp(28px,6vw,90px);align-items:center;padding-block:clamp(70px,9vw,132px)}
.academy-hero h1{font-size:clamp(43px,5vw,73px);line-height:1.08;letter-spacing:-.055em;max-width:740px;margin:23px 0}.academy-hero .lede{margin-bottom:30px}
.academy-primary,.academy-secondary{display:inline-flex;justify-content:center;align-items:center;padding:14px 19px;border-radius:8px;font-weight:750;font-size:14px;line-height:1.35}.academy-primary{background:var(--dark);color:white;border:1px solid var(--dark)}.academy-primary:hover{background:var(--green)}.academy-secondary{background:white;border:1px solid #b5cbb9;color:var(--dark)}.academy-secondary:hover{background:#e6f2e6}.academy-micro{color:var(--muted);font-size:13px;line-height:1.55;margin-top:19px}
.hero-visual{border:1px solid #d3e2d3;border-radius:19px;padding:clamp(23px,3vw,42px);background:#eef5eb;box-shadow:20px 22px 0 #dfeadd}.hero-visual .eyebrow{display:block;margin-bottom:26px}.visual-step{display:flex;gap:18px;align-items:center;border-top:1px solid #cfddcf;padding:18px 0}.visual-step b{font:600 13px var(--mono);color:var(--green)}.visual-step strong,.visual-step small{display:block}.visual-step strong{font-size:17px}.visual-step small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.4}.hero-visual>p{font-size:12px;color:var(--muted);margin:20px 0 0}.formation-card .formation-links a:focus-visible{outline-offset:4px}
.academy-method{padding-block:100px}.academy-method h2,.academy-invitation h2{font-size:clamp(31px,3.6vw,47px);letter-spacing:-.045em;line-height:1.18;max-width:720px}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:38px 0 20px}.method-grid article{padding:26px;background:#fff;border:1px solid var(--line);border-radius:12px}.method-grid article>span{font:700 12px var(--mono);color:var(--green)}.method-grid h3{font-size:21px;margin:28px 0 12px}.method-grid p,.academy-method>p{line-height:1.7;color:var(--muted)}.academy-invitation{background:#eaf2e9;padding-block:95px}.invite-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(310px,1.12fr);gap:clamp(26px,6vw,86px)}.invite-grid>div>p{line-height:1.7;color:#45584a;max-width:520px}.academy-footer{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}
.academy-community{padding-block:40px 95px}
.seo-faq{max-width:780px;margin-top:30px}.seo-faq h3{font-size:20px;line-height:1.35;margin:28px 0 8px}.seo-faq p{color:var(--muted);line-height:1.7;margin:0}.seo-faq a{color:#176843;text-decoration:underline;text-underline-offset:3px}.community-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#eaf2e8;border:1px solid #d0e0d1;border-radius:16px;padding:clamp(24px,4vw,42px)}.community-panel h2{font-size:clamp(28px,3vw,41px);line-height:1.2;letter-spacing:-.04em;margin:0 0 16px}.community-panel p{max-width:67ch;line-height:1.65;color:#40574b}.community-panel .academy-primary{flex:none}.academy-community>p a{color:#176843;text-decoration:underline}
@media(max-width:700px){.community-panel{align-items:stretch;flex-direction:column}.community-panel .academy-primary{align-self:start}}
/* Invitation widget: current markup uses chat-head/chat-form, not the old chat-top/chat-bottom classes. */
.academy-invitation .chat-shell{min-width:0;align-self:start}
.academy-invitation .chat-head{min-height:79px;padding:16px 22px;display:flex;flex-direction:column;justify-content:center;gap:3px;border-bottom:1px solid var(--line)}
.academy-invitation .chat-head strong{font-size:15px;line-height:1.3}
.academy-invitation .chat-head small{display:block;font-size:11px;line-height:1.4;color:var(--muted)}
.academy-invitation .chat-form{display:flex;align-items:center;gap:6px;margin:12px 17px 0;padding:5px;border:1px solid #cedad0;border-radius:7px}
.academy-invitation .chat-form:focus-within{border-color:var(--green)}
.academy-invitation .chat-form input{min-width:0;flex:1;border:0;background:none;color:var(--ink);font-size:14px;padding:10px;outline:0}
.academy-invitation .chat-form button{flex:none;border:0;border-radius:5px;background:var(--dark);color:#fff;padding:10px 15px;font-size:13px;font-weight:700;min-height:40px}
.academy-invitation .chat-form button:hover{background:var(--green)}
.academy-invitation #chat-hint{display:block;color:var(--muted);font-size:11px;line-height:1.45;text-align:center;margin:9px 17px 16px}
/* Authentication dialog: keep controls independent from the invitation chat layout. */
.auth-dialog{position:fixed;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;background:#fff;color:var(--ink)}
.auth-dialog .dialog-close{position:absolute;top:15px;right:16px;margin:0;z-index:1}
.auth-dialog .dialog-close button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--dark);font-size:22px;line-height:1}
.auth-dialog .dialog-close button:hover{background:#edf5ec}
.auth-dialog #auth-title{font-size:clamp(24px,4vw,29px);line-height:1.18;letter-spacing:-.035em;margin:0;padding:35px 65px 0 28px}
.auth-dialog #auth-subtitle{font-size:15px;line-height:1.5;color:var(--muted);margin:10px 28px 20px}
.auth-dialog .chat-tabs{gap:24px;padding:0 28px}
.auth-dialog .chat-tabs button{font-size:13px;line-height:1.3;white-space:nowrap}
.auth-dialog #auth-form{display:grid;gap:17px;padding:22px 28px 28px}
.auth-dialog #auth-form label{display:grid;gap:7px;min-width:0;font-size:13px;font-weight:700;line-height:1.4;color:var(--dark)}
.auth-dialog #auth-form input{display:block;width:100%;min-width:0;min-height:45px;padding:10px 12px;border:1px solid #b9cfc1;border-radius:7px;background:#fff;color:var(--ink);font-size:15px;font-weight:400}
.auth-dialog #auth-form input:focus{border-color:var(--green)}
.auth-dialog #auth-error{margin:0;color:#993b30;font-size:13px;line-height:1.5}
.auth-dialog #auth-error:empty{display:none}
.auth-dialog #auth-submit{width:100%;min-height:46px}
/* Formation detail pages */
.detail-hero{background:#eaf2e8;padding-block:85px;border-bottom:1px solid var(--line)}.detail-hero .wrap{max-width:1050px}.detail-hero h1{font-size:clamp(43px,5vw,69px);line-height:1.08;letter-spacing:-.055em;margin:18px 0 20px;max-width:890px}.detail-hero .lede{max-width:760px}.detail-meta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.detail-meta span{border:1px solid #b7d5ba;border-radius:100px;padding:8px 13px;font-size:12px;font-weight:700;color:#236448;background:#f9fff8}.detail-section{padding-block:80px;max-width:1050px}.detail-section h2{font-size:clamp(30px,3vw,43px);line-height:1.17;letter-spacing:-.04em}.detail-intro{font-size:17px;line-height:1.7;color:var(--muted);max-width:780px}.syllabus{list-style:none;padding:0;margin:30px 0 0;counter-reset:lesson}.syllabus li{counter-increment:lesson;display:grid;grid-template-columns:65px 1fr;gap:15px;align-items:center;border-top:1px solid var(--line);padding:19px 0;font-size:17px;font-weight:650}.syllabus li::before{content:counter(lesson,decimal-leading-zero);font:600 12px var(--mono);color:var(--green)}.detail-footer-cta{background:#102e25;color:white;padding-block:70px}.detail-footer-cta .wrap{max-width:1050px}.detail-footer-cta h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.04em}.detail-footer-cta p{line-height:1.7;color:#d1e6d4;max-width:700px}.detail-footer-cta .academy-primary{background:var(--bright);color:var(--dark);border-color:var(--bright)}.detail-footer-cta .academy-secondary{background:transparent;color:white;border-color:#9bb9a5}
@media(max-width:960px){.invite-grid{grid-template-columns:1fr}.invite-grid .chat-shell{width:100%;max-width:760px}}
@media(max-width:800px){.academy-hero,.invite-grid{grid-template-columns:1fr}.hero-visual{box-shadow:none}.method-grid{grid-template-columns:1fr}.topbar nav{gap:12px}.topbar nav a{display:none}.academy-hero{padding-block:60px}.detail-hero{padding-block:60px}}
@media(max-width:500px){.topbar{padding-inline:18px}.wrap{padding-inline:20px}.hero-offer>*{width:100%}.academy-method{padding-block:65px}.academy-invitation{padding-block:60px}.academy-footer{flex-wrap:wrap;padding-block:25px}.detail-meta{gap:7px}.syllabus li{grid-template-columns:40px 1fr;font-size:15px}}
@media(max-width:500px){.auth-dialog #auth-title{padding:32px 58px 0 21px}.auth-dialog #auth-subtitle{margin:9px 21px 17px}.auth-dialog .chat-tabs{padding-inline:21px}.auth-dialog #auth-form{padding:19px 21px 24px}}
@media(max-height:500px){.auth-dialog #auth-title{padding-top:17px}.auth-dialog #auth-subtitle{margin-top:6px;margin-bottom:12px}.auth-dialog .chat-tabs button{padding-block:9px}.auth-dialog #auth-form{gap:10px;padding-top:12px;padding-bottom:16px}.auth-dialog #auth-form input{min-height:40px}.auth-dialog #auth-submit{min-height:42px}}
