/*
Theme Name: Bricky Académie
Template: tutorbase
Version: 1.0.0
Description: La vitrine originale de Bricky Académie, fidèle à son expérience apprenant.
Author: Conseil en Brique
License: GPL-2.0-or-later
Text Domain: bricky-academie
*/
@font-face{font-family:Figtree;src:url(assets/figtree-normal-latin.woff2) format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
:root{--bv-ink:#25234d;--bv-violet:#6549dc;--bv-purple:#4937aa;--bv-paper:#faf9f6;--bv-mint:#ccf2df;--bv-muted:#5b5872;--bv-line:#dedce7;scroll-behavior:smooth;scroll-padding-top:100px;color-scheme:light}
*{box-sizing:border-box}body.bricky-public{margin:0;background:var(--bv-paper);color:var(--bv-ink);font-family:Figtree,sans-serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}body.bricky-public a{color:inherit;text-underline-offset:4px}body.bricky-public ::selection{background:var(--bv-mint);color:var(--bv-ink)}body.bricky-public :focus-visible{outline:3px solid var(--bv-purple);outline-offset:5px}body.bricky-public img{display:block;max-width:100%;height:auto}body.bricky-public h1,body.bricky-public h2,body.bricky-public h3,body.bricky-public p,body.bricky-public figure{margin:0}body.bricky-public h1,body.bricky-public h2,body.bricky-public h3{text-wrap:balance}body.bricky-public h1{font-size:clamp(3.2rem,5.8vw,5.8rem);line-height:1.02;letter-spacing:-.035em;font-weight:800}body.bricky-public h2{font-size:clamp(2.2rem,3.7vw,3.75rem);line-height:1.1;letter-spacing:-.03em;font-weight:750}body.bricky-public h3{font-size:1.45rem;line-height:1.2;letter-spacing:-.02em}body.bricky-public em{font-style:normal;color:var(--bv-violet)}.bv-wrap{max-width:1120px;margin:auto}.bv-skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:100}.bv-skip:focus{top:10px}.bv-header{background:var(--bv-paper);border-bottom:1px solid var(--bv-line);position:relative;z-index:10}.bv-header-inner{max-width:1280px;min-height:96px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.bv-brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-weight:850;font-size:32px;letter-spacing:-.04em;line-height:.9}.bv-brand-sub{display:block;font-size:13px;letter-spacing:.07em;margin-top:8px;font-weight:600}.bv-brand-mark{display:grid;grid-template-columns:repeat(2,12px);gap:3px;transform:rotate(-9deg)}.bv-brand-mark i{width:12px;height:12px;background:var(--bv-violet);border-radius:3px}.bv-brand-mark i:nth-child(4){background:#3f906b}.bv-nav{display:flex;gap:32px;align-items:center;font-size:15px;font-weight:650}.bv-nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.bv-nav a:hover{text-decoration:underline}.bv-account{padding:11px 18px;border:1px solid var(--bv-line);border-radius:12px;gap:18px}.bv-hero{overflow:hidden;background:#f0eefb}.bv-hero-inner{max-width:1190px;margin:auto;padding:78px 36px 0;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.bv-hero-copy{padding-bottom:70px}.bv-lead{font-size:21px;line-height:1.6;margin-top:27px!important;max-width:480px;color:var(--bv-muted)}.bv-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 24px;border-radius:13px;background:var(--bv-violet);color:#fff!important;min-height:58px;text-decoration:none;font-weight:750;font-size:17px;margin-top:30px;transition:background .18s,transform .18s}.bv-button:hover{background:var(--bv-purple);transform:translateY(-2px)}.bv-button span{font-size:24px;line-height:1}.bv-opening{font-size:13px;color:var(--bv-muted);margin-top:19px!important;display:flex;gap:8px;align-items:center}.bv-opening>span,.bv-status-dot{width:8px;height:8px;background:#397a59;border-radius:50%;flex-shrink:0;display:inline-block}.bv-hero-figure{width:100%;max-width:348px;justify-self:end;background:#fff;border-radius:28px 28px 0 0;box-shadow:0 18px 65px #30286126;overflow:hidden;align-self:end}.bv-screen-top{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 12px;color:var(--bv-muted);font-size:12px;font-weight:600}.bv-screen-top span{width:5px;height:5px;background:var(--bv-violet);border-radius:50%}.bv-hero-figure img{width:100%;max-height:580px;object-fit:cover;object-position:top}.bv-hero-figure figcaption,.bv-exercise-figure figcaption{font-size:12px;padding:12px 14px;color:var(--bv-muted);text-align:center;background:#fff}.bv-hero-bottom{display:flex;justify-content:center;gap:90px;padding:24px;background:var(--bv-mint);font-size:19px;letter-spacing:-.01em;font-weight:650}.bv-section-intro{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:58px}.bv-section-intro p{max-width:350px;color:var(--bv-muted)}.bv-experience{padding-top:108px;padding-bottom:108px}.bv-experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.bv-experience-copy{display:grid;gap:38px}.bv-experience-copy article{padding-bottom:30px;border-bottom:1px solid var(--bv-line)}.bv-experience-copy article:last-child{border:0;padding-bottom:0}.bv-experience-copy p{margin-top:12px!important;color:var(--bv-muted);max-width:440px}.bv-exercise-figure{max-width:350px;justify-self:center;overflow:hidden;border-radius:24px;box-shadow:0 16px 48px #30286118}.bv-exercise-figure img{width:100%;max-height:645px;object-fit:cover;object-position:top}.bv-practice{background:var(--bv-ink);color:white;padding:85px 0}.bv-practice-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.bv-practice em{color:var(--bv-mint)}.bv-practice p{color:#dedbec}.bv-practice p+p{margin-top:22px!important;font-size:16px;color:#c2bed8}.bv-access{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;padding-top:108px;padding-bottom:100px}.bv-access p{margin-top:22px!important;color:var(--bv-muted)}.bv-access strong{font-weight:650;color:var(--bv-ink)}.bv-access-note{background:#efedf7;padding:34px;border-radius:16px;align-self:center}.bv-access-note h3{margin-top:18px!important;font-size:23px}.bv-access-note p{font-size:16px;margin-top:16px!important}.bv-faq{border-top:1px solid var(--bv-line);display:grid;grid-template-columns:1fr 1.3fr;gap:70px;padding-top:74px;padding-bottom:110px}.bv-faq h2{font-size:36px}.bv-faq details{border-bottom:1px solid var(--bv-line)}.bv-faq summary{padding:23px 28px 23px 0;font-weight:650;font-size:18px;cursor:pointer;min-height:64px;position:relative;list-style:none}.bv-faq summary::-webkit-details-marker{display:none}.bv-faq summary:after{content:'+';position:absolute;right:0;top:20px;font-size:24px;font-weight:400;color:var(--bv-violet)}.bv-faq details[open] summary:after{content:'−'}.bv-faq details p{font-size:16px;line-height:1.7;color:var(--bv-muted);padding:0 25px 24px 0}.bv-footer{background:#eeece7;padding:42px 35px}.bv-footer-inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:50px;align-items:center}.bv-footer-brand{font-size:23px;font-weight:800;letter-spacing:-.03em;text-decoration:none}.bv-footer p{font-size:13px;color:var(--bv-muted);margin-top:7px!important}.bv-footer nav{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}.bv-footer nav a{display:inline-flex;align-items:center;min-height:44px}.bv-page{padding-top:65px;padding-bottom:90px;min-height:65vh}.bv-page h1{font-size:48px;margin-bottom:32px!important}.bv-companion{position:absolute;right:8px;top:160px;bottom:270px;width:120px;z-index:2;pointer-events:none}.bv-companion-inner{position:sticky;top:110px;text-align:center}.bv-companion [data-bricky-mascot]{display:block;width:120px;height:140px}.bv-companion svg{width:100%;height:100%;display:block;overflow:visible}.bv-companion p{font-size:11px;font-weight:650;color:var(--bv-muted)}.bv-home{position:relative}@media(min-width:1450px){.bv-companion{right:calc((100vw - 1430px)/2)}}@media(max-width:1300px){.bv-wrap{margin-left:55px;margin-right:90px}.bv-hero-inner{padding-right:110px;gap:40px}.bv-companion{width:80px;right:2px}.bv-companion [data-bricky-mascot]{width:80px;height:110px}.bv-companion p{font-size:10px}.bv-section-intro{gap:40px}.bv-experience-grid,.bv-practice-inner,.bv-access{gap:65px}}@media(max-width:899px){.bv-header-inner{padding:20px 24px;min-height:85px}.bv-nav-discover{display:none!important}.bv-brand{font-size:29px}.bv-nav{font-size:14px}.bv-account{gap:8px;padding:10px 13px}.bv-companion{position:relative;top:auto;bottom:auto;right:auto;width:auto;height:120px;background:#f0eefb;display:flex;justify-content:center;padding-top:5px}.bv-companion-inner{position:static;display:flex;align-items:center;gap:10px}.bv-companion [data-bricky-mascot]{width:100px;height:115px}.bv-companion p{max-width:80px;font-size:12px;text-align:left}.bv-hero-inner{padding:20px 24px 0;display:block}.bv-hero-copy{padding-bottom:38px;max-width:650px;margin:auto}.bv-hero h1{font-size:clamp(45px,8vw,68px)}.bv-lead{font-size:18px;margin-top:24px!important}.bv-opening{font-size:12px;line-height:1.5;align-items:flex-start;max-width:310px}.bv-opening>span{margin-top:5px}.bv-hero-figure{max-width:300px;margin:auto!important;border-radius:22px 22px 0 0}.bv-hero-figure img{max-height:395px}.bv-hero-bottom{gap:27px;font-size:16px;padding:20px 14px}.bv-wrap{margin-left:24px;margin-right:24px}.bv-experience{padding-top:66px;padding-bottom:65px}.bv-section-intro{display:block;margin-bottom:40px}.bv-section-intro p{margin-top:22px!important;max-width:500px}.bv-experience-grid{grid-template-columns:1fr;gap:35px}.bv-experience-copy{gap:24px}.bv-experience-copy article{padding-bottom:24px}.bv-exercise-figure{width:100%;max-width:310px}.bv-exercise-figure img{max-height:580px}.bv-practice{padding:60px 0}.bv-practice-inner{grid-template-columns:1fr;gap:27px}.bv-access{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:65px}.bv-access-note{padding:25px}.bv-faq{grid-template-columns:1fr;gap:24px;padding-top:56px;padding-bottom:65px}.bv-faq h2{font-size:33px}.bv-faq summary{font-size:17px}.bv-footer{padding:35px 24px}.bv-footer-inner{display:block}.bv-footer nav{margin-top:20px;gap:8px 20px}.bv-page{padding-top:40px}.bv-page h1{font-size:36px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.bv-button{transition:none}.bv-button:hover{transform:none}}
.bv-footer-data{max-width:1120px;margin:20px auto 0;font-size:13px;color:var(--bv-muted)}.bv-footer-data summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.bv-footer-data p{max-width:650px;padding-bottom:12px}
@media(max-width:899px){.bv-companion{position:sticky;top:0;height:82px;padding:0;background:var(--bv-paper);border-bottom:1px solid var(--bv-line);z-index:20;pointer-events:none;justify-content:flex-start;padding-left:24px}.bv-companion-inner{gap:12px}.bv-companion [data-bricky-mascot]{width:80px;height:78px}.bv-companion p{max-width:none;font-size:13px;text-align:left}.bv-hero-inner{padding-top:35px}:root{scroll-padding-top:100px}}
.bv-footer-brand{display:inline-flex;align-items:center;min-height:44px}

.bv-discover-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-top:10px;font-weight:650}

/* Direct, keyboard-accessible interactions with the original mascot. */
.bv-mascot-trigger{display:block;border:0;background:transparent;padding:0;cursor:pointer;pointer-events:auto;border-radius:14px;color:inherit;min-width:44px;min-height:44px}
.bv-mascot-trigger:disabled{cursor:default}.bv-mascot-trigger:hover{background:var(--bv-mint)}
.bv-dialogue[hidden]{display:none}.bv-dialogue{pointer-events:auto;position:absolute;right:130px;top:0;width:290px;background:var(--bv-paper);color:var(--bv-ink);padding:26px 20px 18px;border:1px solid var(--bv-line);border-radius:16px;text-align:left;z-index:40;box-shadow:0 12px 32px #25234d26}
.bv-companion .bv-dialogue p{font-size:15px;font-weight:400;max-width:none;line-height:1.5;color:var(--bv-ink)}
.bv-companion .bv-dialogue .bv-dialogue-title{font-size:20px;font-weight:750;margin-bottom:10px}
.bv-dialogue-close{position:absolute;right:0;top:0;min-width:44px;min-height:44px;border:0;background:transparent;font-size:25px;cursor:pointer;color:var(--bv-ink)}
.bv-dialogue-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:10px;padding:10px 12px;border:1px solid var(--bv-line);border-radius:10px;background:white;color:var(--bv-ink);font:650 14px Figtree,sans-serif;text-decoration:none;cursor:pointer}
.bv-dialogue-action:hover{background:var(--bv-mint)}.bv-dialogue small{display:block;font-size:12px;line-height:1.5;margin-top:12px;color:var(--bv-muted)}
@media(max-width:1300px) and (min-width:900px){.bv-dialogue{right:90px}}
@media(max-width:899px){.bv-companion-inner{position:relative;top:0;width:100%;padding-right:18px}.bv-companion [data-bricky-invitation]{max-width:240px;font-size:12px;line-height:1.4}.bv-dialogue{top:82px;left:0;right:auto;width:min(330px,calc(100vw - 48px));max-height:calc(100dvh - 105px);overflow:auto}.bv-companion .bv-dialogue p{text-align:left}.bv-companion{z-index:40}}

/* Floating chat companion: anchored to the viewport, above device safe areas. */
.bv-companion{position:fixed;inset:auto 24px calc(20px + env(safe-area-inset-bottom,0px)) auto;width:88px;height:96px;padding:0;background:transparent;border:0;display:block;z-index:50;pointer-events:none}
.bv-companion-inner{position:relative;inset:auto;display:block;width:100%;height:100%;padding:0;text-align:center}
.bv-companion .bv-mascot-trigger{width:88px;height:96px;background:var(--bv-paper);box-shadow:0 8px 24px #25234d26;border-radius:24px}
.bv-companion .bv-mascot-trigger:enabled:hover{background:var(--bv-mint)}
.bv-companion [data-bricky-mascot]{width:88px;height:96px}
.bv-companion [data-bricky-invitation]{display:none}
.bv-companion .bv-dialogue{inset:auto 0 110px auto;width:310px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 155px);overflow:auto}
.bv-footer{padding-bottom:130px}
@media(max-width:899px){.bv-companion{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:76px;height:82px}.bv-companion .bv-mascot-trigger,.bv-companion [data-bricky-mascot]{width:76px;height:82px}.bv-companion .bv-dialogue{bottom:96px;width:330px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 130px)}}

/* Immersive storefront: the material world leads, actual app views prove it. */
.bv-immersive-hero{background:#f0eefb;overflow:hidden}
.bv-immersive-hero .bv-hero-inner{max-width:none;width:100%;padding:48px max(36px,calc((100vw - 1240px)/2)) 54px;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:12px;min-height:690px;align-items:center}
.bv-immersive-hero .bv-hero-copy{padding:0;position:relative;z-index:1}
.bv-immersive-hero h1{font-size:clamp(58px,6.1vw,88px);line-height:1.02;letter-spacing:-.04em;max-width:680px}
.bv-immersive-hero .bv-lead{font-size:21px;line-height:1.5;max-width:430px;margin-top:28px!important}
.bv-immersive-hero .bv-opening{font-size:12px;margin-top:18px!important}
.bv-immersive-hero .bv-discover-link{margin-top:15px}
.bv-hero-playground{min-width:0;align-self:center;position:relative}
.bv-brick-stage{width:100%;height:520px;position:relative;overflow:hidden;isolation:isolate}
.bv-brick-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.bv-scene-fallback{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;border-radius:18px}
.bv-brick-stage[data-renderer="webgl"] .bv-scene-fallback,.bv-brick-stage[data-renderer="reduced"] .bv-scene-fallback{visibility:hidden}
.bv-build-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:4px 8px 0}
.bv-build-button{border:1px solid #c6bdf1;border-radius:12px;background:transparent;color:var(--bv-purple);font:700 14px Figtree,sans-serif;min-height:46px;padding:11px 16px;display:inline-flex;align-items:center;gap:18px;cursor:pointer;white-space:nowrap}
.bv-build-button:enabled:hover{background:#e2dcfa}.bv-build-button:disabled{cursor:default;color:var(--bv-muted);border-color:var(--bv-line)}
.bv-build-controls p{font-size:12px;color:var(--bv-muted);max-width:170px;line-height:1.4}
.bv-experience{padding-top:110px;padding-bottom:110px}
.bv-section-intro{align-items:center;margin-bottom:74px}
.bv-section-intro h2{max-width:680px}.bv-section-intro p{max-width:320px}
.bv-app-story{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:130px}
.bv-map-proof{max-width:380px;width:100%;justify-self:center;border-radius:24px;overflow:hidden;box-shadow:0 20px 50px #25234d1a}
.bv-map-proof img{width:100%;height:610px!important;object-fit:cover;object-position:center 42%}
.bv-map-proof figcaption,.bv-exercise-figure figcaption{font-size:12px;padding:13px 16px;color:var(--bv-muted);background:#fff;text-align:center;line-height:1.5}
.bv-story-copy{display:flex;flex-direction:column;gap:44px}.bv-story-copy article{max-width:430px}.bv-story-copy h3{font-size:30px;line-height:1.1;letter-spacing:-.025em}.bv-story-copy p{margin-top:16px!important;color:var(--bv-muted);font-size:18px;line-height:1.6}
.bv-text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px;width:fit-content}
.bv-question-story{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:110px;margin-top:125px}
.bv-question-copy h2{font-size:clamp(40px,4vw,60px)}.bv-question-copy p{max-width:410px;margin-top:28px!important;color:var(--bv-muted)}
.bv-question-story .bv-exercise-figure{max-width:330px}.bv-question-story .bv-exercise-figure img{max-height:615px}
.bv-world{padding-top:100px;padding-bottom:58px;background:var(--bv-ink);color:var(--bv-paper);overflow:hidden}
.bv-world-intro{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:54px}.bv-world-intro h2{max-width:670px}.bv-world-intro em{color:var(--bv-mint)}.bv-world-intro p{max-width:355px;color:#dedbec;font-size:17px}
.bv-world-figure{width:100%;margin:0}.bv-world-figure img{width:100%;height:clamp(340px,47vw,650px)!important;object-fit:cover;object-position:center}
.bv-world-figure figcaption{font-size:12px;color:#dedbec;text-align:center;padding:16px 24px}
.bv-practice-disclaimer{font-size:14px;line-height:1.6;color:#dedbec;margin-top:24px!important;max-width:840px}
.bv-access{padding-top:110px;padding-bottom:100px}.bv-access-note{background:#efedf7}
@media(min-width:1450px){.bv-immersive-hero .bv-hero-inner{padding-left:max(48px,calc((100vw - 1280px)/2));padding-right:max(48px,calc((100vw - 1280px)/2))}}
@media(max-width:1300px) and (min-width:900px){.bv-immersive-hero .bv-hero-inner{padding-left:48px;padding-right:48px}.bv-immersive-hero h1{font-size:64px}.bv-brick-stage{height:470px}.bv-app-story{gap:80px}.bv-question-story{gap:60px}.bv-section-intro{gap:40px}}
@media(max-width:899px){
.bv-immersive-hero .bv-hero-inner{display:block;padding:27px 24px 26px;min-height:0}.bv-immersive-hero .bv-hero-copy{max-width:600px;margin:auto;padding:0}.bv-immersive-hero h1{font-size:clamp(43px,8.8vw,65px);line-height:1.03}.bv-immersive-hero .bv-lead{font-size:17px;line-height:1.5;margin-top:19px!important;max-width:420px}.bv-immersive-hero .bv-button{font-size:15px;min-height:52px;padding:13px 18px;margin-top:23px;gap:30px}.bv-immersive-hero .bv-opening{margin-top:13px!important;font-size:12px;max-width:none;align-items:center}.bv-immersive-hero .bv-opening>span{margin-top:0}.bv-immersive-hero .bv-discover-link{display:none}.bv-hero-playground{margin-top:8px}.bv-brick-stage{height:255px;max-width:550px;margin:auto}.bv-build-controls{gap:12px;align-items:center;padding:0;justify-content:flex-start}.bv-build-button{font-size:12px;min-height:44px;padding:10px 12px;gap:10px}.bv-build-controls p{font-size:11px;max-width:145px}.bv-experience{padding-top:62px;padding-bottom:65px}.bv-section-intro{margin-bottom:36px;display:block}.bv-section-intro h2{font-size:35px}.bv-section-intro p{font-size:17px;max-width:340px;margin-top:20px!important}.bv-app-story{display:flex;flex-direction:column;gap:35px}.bv-map-proof{max-width:310px}.bv-map-proof img{height:485px!important}.bv-story-copy{gap:28px;width:100%}.bv-story-copy article{max-width:none}.bv-story-copy h3{font-size:27px}.bv-story-copy p{font-size:17px;margin-top:13px!important}.bv-text-link{font-size:14px}.bv-question-story{display:flex;flex-direction:column;gap:32px;margin-top:65px}.bv-question-copy h2{font-size:35px}.bv-question-copy p{font-size:17px;margin-top:20px!important;max-width:none}.bv-question-story .bv-exercise-figure{width:100%;max-width:310px}.bv-question-story .bv-exercise-figure img{max-height:610px}.bv-world{padding-top:62px;padding-bottom:38px}.bv-world-intro{display:block;margin-bottom:30px}.bv-world-intro h2{font-size:35px}.bv-world-intro p{font-size:16px;margin-top:22px!important}.bv-world-figure img{height:350px!important;object-position:center}.bv-practice-disclaimer{margin-left:24px!important;margin-right:24px!important;font-size:13px}.bv-access{padding-top:65px;padding-bottom:65px}
}
@media(prefers-reduced-motion:reduce){.bv-build-button{transition:none}}

/* Contrast and reading measure confirmed after the first visual review. */
body.bricky-public .bv-world-intro em{color:var(--bv-mint)}
@media(min-width:900px){body.bricky-public .bv-practice-disclaimer{margin-left:auto!important;margin-right:auto!important}}
