*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#191815;background:#f2eee5;font-family:"Avenir Next Cyr","Avenir Next",Avenir,Helvetica,Arial,sans-serif;font-weight:300;line-height:1.42;background-image:url("https://scolartist.fr/assets/images_web/paper.webp");background-size:520px auto}img{max-width:100%;display:block}a{color:inherit}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:15px max(24px,calc((100vw - 1180px)/2));background:rgba(244,240,231,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(25,24,21,.12)}.wordmark{text-decoration:none;font-weight:600;letter-spacing:.15em}.topbar nav{display:flex;gap:24px;align-items:center}.topbar nav a{text-decoration:none;font-size:.82rem}.nav-cta,.button{background:#a64f18;color:#fff;padding:12px 18px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:500;letter-spacing:.02em}.chapter{width:min(1160px,calc(100% - 48px));margin:auto;padding:100px 0}.hero{min-height:82vh;display:grid;place-items:center}.hero-card{width:min(940px,100%);text-align:center;padding:70px 7%;border:1px solid rgba(25,24,21,.18);background:rgba(248,245,238,.72);box-shadow:0 30px 80px rgba(36,29,20,.08)}.hero-logo{width:86px;margin:0 auto 26px}.chapter-no,.section-title>p,.challenge-grid article>p{font-size:.72rem;letter-spacing:.14em;font-weight:600;color:#a64f18;margin:0 0 14px;text-transform:uppercase}.hero h1,.section-title h2,.manifesto h2{font-size:clamp(2.8rem,6vw,6.1rem);line-height:.98;letter-spacing:-.045em;margin:.15em 0;font-weight:400}.hero h1 span,.section-title h2 span{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400}.hero-copy{max-width:680px;margin:24px auto;font-size:1.12rem}.hero-actions{display:flex;gap:22px;justify-content:center;align-items:center;margin-top:28px}.text-link{text-underline-offset:5px}.frieze{background:#faf7f0;padding:22px 20px;border-top:1px solid rgba(25,24,21,.1);border-bottom:1px solid rgba(25,24,21,.1)}.frieze img{width:min(780px,100%);max-height:115px;object-fit:contain;margin:auto}.frieze.compact img{max-height:75px}.section-title{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;margin-bottom:55px;align-items:end}.section-title>p{grid-column:1/-1}.section-title h2{font-size:clamp(2.3rem,4.4vw,4.7rem);margin:0}.intro-copy{font-size:1rem;padding-bottom:7px}.intro-copy strong{color:#a64f18}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.three-columns figure{margin:0 0 25px;position:relative;height:460px;padding:18px;background:rgba(255,255,255,.42);border:1px solid rgba(25,24,21,.18);display:grid;place-items:center}.three-columns figure span{position:absolute;top:14px;left:14px;width:42px;height:42px;border-radius:50%;background:#171714;color:white;display:grid;place-items:center;font-weight:500;z-index:2}.three-columns figure img{width:100%;height:100%;object-fit:contain}.three-columns h3,.tool-grid h3,.progress-grid h3{font-size:1.15rem;letter-spacing:.025em;margin:0 0 14px;font-weight:600}.three-columns p,.tool-grid p,.progress-grid p{margin:0;color:#37332d}.three-columns small{display:block;margin-top:10px;font-size:.72rem;font-weight:500}.method-conclusion{max-width:780px;margin:55px auto 20px;text-align:center;color:#a64f18;font-size:1.05rem}.center{text-align:center;margin-top:30px}.coaching{background:rgba(251,248,241,.6)}.coach-intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;margin-bottom:65px}.coach-intro>p{font-family:"Instrument Serif",serif;font-size:2.5rem;margin:0}.coach-intro dl{margin:0}.coach-intro dl div{display:grid;grid-template-columns:1.2fr 1fr;padding:16px 0;border-top:1px solid rgba(25,24,21,.17)}dt{font-weight:600}dd{margin:0}.phones article{text-align:center}.phones article>img{height:520px;max-width:100%;object-fit:contain;margin:auto auto 22px;filter:drop-shadow(0 22px 25px rgba(0,0,0,.14))}.phones p{font-size:.94rem}.coaching blockquote{font-family:"Instrument Serif",serif;font-size:clamp(2rem,4vw,4rem);line-height:1.05;text-align:center;margin:100px auto 40px;max-width:930px}.coaching blockquote em{color:#a64f18}.lead{max-width:750px;font-size:1.12rem;margin:-20px 0 55px}.progress-grid,.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.progress-grid article,.tool-grid article{border-top:1px solid rgba(25,24,21,.2);padding-top:22px}.progress-grid img{height:520px;width:100%;object-fit:contain;margin-bottom:24px}.challenge-poster{width:min(1180px,calc(100% - 30px));margin:60px auto 0}.challenge-poster img{width:100%;max-height:880px;object-fit:contain}.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 26px}.challenge-grid article{border-top:1px solid rgba(25,24,21,.2);padding-top:18px}.challenge-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#eee8dc}.challenge-grid h3{margin:9px 0 5px}.challenge-grid span{font-size:.9rem;color:#504a40}.personalization{text-align:center;margin:110px auto 0}.personalization span,.personalization strong{display:block;font-size:clamp(2.4rem,6vw,6.3rem);line-height:.88}.personalization span{font-family:"Instrument Serif",serif;font-style:italic}.personalization strong{font-weight:400}.tool-grid img{height:500px;width:100%;object-fit:contain;margin-bottom:25px}.dog-demo{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:90px}.dog-demo img{width:100%;height:330px;object-fit:cover}.manifesto{text-align:center;max-width:980px}.manifesto>img{width:100px;margin:0 auto 35px}.manifesto h2{font-size:clamp(2.7rem,5.3vw,5.7rem)}.manifesto h3{font-family:"Instrument Serif",serif;font-size:clamp(2rem,4vw,4.2rem);font-weight:400;margin:24px 0}.manifesto p{font-size:1.12rem}.manifesto h4{font-size:clamp(1.5rem,3vw,3rem);margin:80px 0 20px}.store-actions{display:flex;justify-content:center;align-items:center;gap:22px}.store-actions a:first-child img{width:180px}.ios-link{font-weight:500;text-underline-offset:5px}footer{padding:25px max(24px,calc((100vw - 1160px)/2));border-top:1px solid rgba(25,24,21,.15);display:flex;justify-content:space-between;font-size:.78rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.topbar nav a:not(.nav-cta){display:none}.chapter{width:calc(100% - 30px);padding:75px 0}.section-title,.coach-intro{grid-template-columns:1fr}.section-title{gap:22px}.three-columns,.progress-grid,.tool-grid{grid-template-columns:1fr}.three-columns figure{height:390px}.phones article>img,.progress-grid img,.tool-grid img{height:auto;max-height:580px}.challenge-grid{grid-template-columns:repeat(2,1fr)}.dog-demo{grid-template-columns:1fr}.hero-actions,.store-actions{flex-direction:column}.coach-intro dl div{grid-template-columns:1fr;gap:5px}.frieze{padding:14px 5px}.hero-card{padding:55px 6%}}@media(max-width:520px){.topbar{padding:12px 15px}.nav-cta{padding:9px 11px;font-size:.72rem}.wordmark{font-size:.82rem}.hero{min-height:auto;padding-top:55px}.hero-card{padding:45px 20px}.hero h1{font-size:3rem}.three-columns figure{height:330px}.challenge-grid{grid-template-columns:1fr}.challenge-poster{width:100%}.chapter{width:calc(100% - 26px)}footer{display:block}footer span{display:block;margin:4px 0}}


/* --- Edition One V1.1 polish --- */
.scroll-ribbon{border-bottom:1px solid rgba(25,24,21,.13);background:rgba(249,246,239,.94);padding:18px 0 20px}
.scroll-ribbon-head{width:min(1180px,calc(100% - 48px));margin:0 auto 10px;display:flex;justify-content:space-between;font-size:.68rem;font-weight:600;letter-spacing:.12em;color:#6e675d}
.scroll-ribbon-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:0 max(24px,calc((100vw - 1180px)/2)) 8px;scrollbar-width:thin;cursor:grab}
.scroll-ribbon-track::-webkit-scrollbar{height:4px}.scroll-ribbon-track::-webkit-scrollbar-thumb{background:#a64f18}
.ribbon-card{flex:0 0 245px;height:108px;display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;padding:10px;background:#f6f1e8;border:1px solid rgba(25,24,21,.15);text-decoration:none;scroll-snap-align:start}
.ribbon-card.wide{flex-basis:310px}.ribbon-card img{width:88px;height:86px;object-fit:contain;background:white}
.ribbon-card span{display:flex;flex-direction:column;gap:3px}.ribbon-card b{font-size:.9rem}.ribbon-card small{color:#6a6258;font-size:.72rem;line-height:1.25}

/* Friezes are brand signatures, not tiny dividers */
.frieze{padding:30px 18px;background:#faf7f0}
.frieze img{width:min(1040px,95vw);max-height:175px}
.frieze.compact{padding:28px 18px}.frieze.compact img{max-height:155px}
.feature-frieze img{width:min(1180px,96vw);max-height:220px}

/* Balance D / A / P cards */
.three-columns{align-items:start}
.three-columns figure{height:500px;padding:24px;background:rgba(255,255,255,.36)}
.three-columns figure img{max-width:100%;max-height:100%;object-fit:contain}
.three-columns article:nth-child(2) figure img{width:88%;height:88%}
.three-columns article:nth-child(3) figure img{width:96%;height:96%}

/* Coaching: correct Lolo image + clean, equivalent crop */
.phones article>img{height:545px;width:100%;object-fit:contain;object-position:center top}
.phones article:first-child>img{height:545px;max-width:320px;object-fit:cover;object-position:center 18%;border-radius:2px;filter:drop-shadow(0 18px 20px rgba(0,0,0,.12))}
.phones article:nth-child(2)>img,.phones article:nth-child(3)>img{max-width:300px}

/* Inktober as an editorial poster */
.challenge-poster{margin-top:76px}.challenge-poster img{max-height:none}

/* Calque gallery */
.pro-calques{padding-bottom:85px}
.calque-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.calque-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid rgba(25,24,21,.18);background:rgba(250,247,240,.58);padding:12px;min-height:100%}
.calque-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee}
.calque-card>span{font-size:.63rem;letter-spacing:.13em;color:#a64f18;font-weight:600;margin:15px 0 8px}
.calque-card h3{font-family:"Instrument Serif",serif;font-size:1.55rem;line-height:1.02;font-weight:400;margin:0 0 10px}
.calque-card h3 em{color:#a64f18;font-weight:400}.calque-card p{font-size:.82rem;color:#514a40;margin:auto 0 4px}

/* Pricing translated into the paper / editorial DA */
.pricing-paper{padding-top:95px}
.pricing-heading{text-align:center;max-width:760px;margin:0 auto 54px}
.pricing-heading h2{font-size:clamp(3.3rem,7vw,7rem);line-height:.85;letter-spacing:-.05em;font-weight:400;margin:8px 0 28px}
.pricing-heading h2 span{font-family:"Instrument Serif",serif;font-style:italic;color:#a64f18}
.pricing-heading>p:last-child{max-width:580px;margin:auto;color:#585147}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.price-card{position:relative;border:1px solid rgba(25,24,21,.2);background:rgba(250,247,240,.7);padding:28px 24px;display:flex;flex-direction:column;min-height:610px}
.price-card.featured{border:2px solid #a64f18;transform:translateY(-12px);box-shadow:0 18px 50px rgba(71,45,20,.10)}
.price-card.school{background:#23211d;color:#f5f0e6}.price-card.school .price-desc,.price-card.school li,.price-card.school small{color:#c9c0b3}
.popular{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:#a64f18;color:white;padding:5px 12px;font-size:.6rem;letter-spacing:.1em;white-space:nowrap}
.price-label{font-size:.62rem;letter-spacing:.13em;color:#a64f18;font-weight:700}
.price-card h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:2.3rem;margin:14px 0 8px}
.price-desc{font-size:.82rem;color:#5d554b;min-height:62px}
.price{font-family:"Instrument Serif",serif;font-size:4.2rem;line-height:.9;margin-top:20px}.price sup{font-size:1.25rem}
.price-card small{font-size:.7rem;color:#6d655b}
.price-card ul{list-style:none;padding:22px 0 0;margin:25px 0 0;border-top:1px solid rgba(25,24,21,.12);display:flex;flex-direction:column;gap:9px;flex:1}
.price-card li{font-size:.77rem;color:#514a42}.price-card li::before{content:"✓ ";color:#7ca742;font-weight:700}.price-card li.accent{color:#a64f18}
.price-button{display:block;text-align:center;text-decoration:none;padding:12px 10px;border:1px solid currentColor;margin-top:24px;font-size:.78rem;font-weight:600}
.price-card.featured .price-button{background:#a64f18;color:#fff;border-color:#a64f18}.price-card.school .price-button{background:#c9a96e;color:#171512;border-color:#c9a96e}

@media(max-width:1000px){
  .calque-grid{grid-template-columns:repeat(3,1fr)}
  .pricing-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .scroll-ribbon-head{width:calc(100% - 30px)}
  .ribbon-card{flex-basis:220px}
  .frieze img,.frieze.compact img{max-height:130px}
  .three-columns figure{height:390px}
  .calque-grid{grid-template-columns:repeat(2,1fr)}
  .pricing-grid{grid-template-columns:1fr}
  .price-card.featured{transform:none}
}
@media(max-width:470px){
  .calque-grid{grid-template-columns:1fr}
}


/* ===== V1.2 precision pass ===== */

/* 01/02/03: three truly balanced square visual fields */
.method .three-columns{gap:36px;align-items:start}
.method .three-columns article{min-width:0}
.method .three-columns figure{
  height:auto !important;
  aspect-ratio:1/1;
  padding:26px !important;
  background:rgba(255,255,255,.34);
}
.method .three-columns figure img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
.method .three-columns article:nth-child(2) figure img{
  width:92% !important;
  height:92% !important;
}

/* Coaching: use the clean three-card crops with equal visual baselines */
.phones article{
  display:grid;
  grid-template-rows:430px auto auto;
  align-items:start;
  text-align:center;
}
.phones article>img{
  width:100% !important;
  height:410px !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto 20px !important;
  filter:none !important;
  border-radius:0 !important;
}

/* 05 progression: correct order and same baseline */
.progress-grid article{
  display:grid;
  grid-template-rows:550px auto auto;
  align-items:start;
}
.progress-media{
  height:550px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin-bottom:24px;
}
.progress-media img{
  width:auto !important;
  height:auto !important;
  max-height:520px !important;
  max-width:96% !important;
  object-fit:contain !important;
  margin:0 !important;
}
.progress-grid article:nth-child(1) .progress-media img{max-height:500px !important}
.progress-grid article:nth-child(2) .progress-media img{max-height:520px !important}
.progress-grid article:nth-child(3) .progress-media img{max-height:500px !important}

/* 07 tools: intentionally different phone sizes, but captions aligned */
.tool-grid article{
  display:grid;
  grid-template-rows:560px auto auto;
  align-items:start;
}
.tool-media{
  height:560px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin-bottom:24px;
}
.tool-media img{
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 !important;
}
.tool-media.size-lg img{max-height:535px;max-width:92%}
.tool-media.size-sm img{max-height:385px;max-width:82%}

/* Calque cards */
.calque-card b{
  margin-top:15px;
  padding-top:12px;
  border-top:1px solid rgba(25,24,21,.12);
  font-size:.72rem;
  letter-spacing:.035em;
  color:#a64f18;
}

/* Billing toggle restored from V1 matrix */
.billing-toggle{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-top:24px;
  padding:7px 16px;
  border:1px solid rgba(25,24,21,.16);
  background:rgba(255,255,255,.35);
  font-size:.78rem;
}
.toggle-switch{
  appearance:none;
  border:0;
  position:relative;
  width:38px;
  height:22px;
  border-radius:99px;
  background:rgba(25,24,21,.18);
  cursor:pointer;
  transition:.2s ease;
}
.toggle-switch::after{
  content:"";
  position:absolute;
  top:3px;left:3px;
  width:16px;height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:.2s ease;
}
.toggle-switch.on{background:#a64f18}
.toggle-switch.on::after{transform:translateX(16px)}
.billing-badge{
  padding:4px 9px;
  border:1px solid rgba(166,79,24,.28);
  color:#a64f18;
  font-weight:600;
  font-size:.68rem;
}

/* Better visual rhythm for newly inserted commercial sections */
.pro-calques{padding-top:115px}
.pricing-paper{padding-top:105px;padding-bottom:130px}

@media(max-width:850px){
  .phones article,.progress-grid article,.tool-grid article{grid-template-rows:auto}
  .phones article>img{height:auto !important;max-height:430px !important}
  .progress-media,.tool-media{height:auto;min-height:0}
  .progress-media img{max-height:520px !important}
  .tool-media.size-lg img,.tool-media.size-sm img{max-height:500px;max-width:95%}
}


/* ===== V1.3 — focus corrections ===== */

/* 01/02/03 — centre the true "unnamed (2).png" overlay inside the square field */
.method .three-columns article:nth-child(2) figure{
  display:flex;
  align-items:center;
  justify-content:center;
}
.method .three-columns article:nth-child(2) figure img{
  width:auto !important;
  height:92% !important;
  max-width:92% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* 04 Coaching — black panels enlarged about 3–4× and aligned directly under intro */
.coaching .phones{
  margin-top:54px;
  gap:42px;
}
.coaching .phones article{
  display:grid;
  grid-template-rows:500px auto auto;
  align-items:start;
  text-align:center;
}
.coaching .phones article>img{
  width:auto !important;
  height:auto !important;
  max-height:475px !important;
  max-width:94% !important;
  object-fit:contain !important;
  justify-self:center;
  align-self:end;
  margin:0 auto 22px !important;
}
.coaching .phones article h3{
  margin-top:0;
}

/* Challenge registration links */
.challenge-register{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:22px;
  padding:11px 17px;
  border:0;
  border-radius:999px;
  background:#b85a16;
  color:#fff;
  font:600 .76rem/1 "Avenir Next","Avenir Next Cyr","DM Sans",sans-serif;
  cursor:pointer;
  opacity:.96;
  text-decoration:none;
  transition:transform .18s ease,background-color .18s ease;
}
.challenge-register:hover{transform:translateY(-1px);background:#9f4911}

/* Keep cards tall enough so all monthly signup buttons sit on the same baseline */
.challenge-grid article{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.challenge-grid article>span{flex:1}
.challenge-grid .challenge-register{align-self:flex-start}

@media(max-width:850px){
  .coaching .phones article{grid-template-rows:auto}
  .coaching .phones article>img{max-height:520px !important;max-width:95% !important}
}


/* ===== V1.4 — HD coaching assets + uniform progression phones ===== */

/* 04 Coaching — use the original Hostinger exports, not enlarged screenshot crops */
.coaching .phones{
  gap:44px;
  align-items:start;
}
.coaching .phones article{
  display:grid;
  grid-template-rows:520px auto auto;
  align-items:start;
  text-align:center;
}
.coaching .phones article>img{
  width:auto !important;
  height:500px !important;
  max-width:96% !important;
  max-height:500px !important;
  object-fit:contain !important;
  object-position:center center !important;
  justify-self:center;
  align-self:end;
  margin:0 auto 22px !important;
  image-rendering:auto;
}

/* 05 Progression — all three phones at exactly the same visual size */
.progress-grid{
  align-items:start;
}
.progress-grid article{
  display:grid;
  grid-template-rows:555px auto auto;
  align-items:start;
}
.progress-media.equal-phone{
  height:555px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin-bottom:24px;
}
.progress-media.equal-phone img{
  width:auto !important;
  height:515px !important;
  max-height:515px !important;
  max-width:92% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  margin:0 !important;
}
/* Neutralize earlier per-column overrides */
.progress-grid article:nth-child(1) .progress-media img,
.progress-grid article:nth-child(2) .progress-media img,
.progress-grid article:nth-child(3) .progress-media img{
  height:515px !important;
  max-height:515px !important;
  max-width:92% !important;
}

/* Keep section-02 overlay large/readable */
.method .three-columns article:nth-child(2) figure img{
  height:96% !important;
  width:auto !important;
  max-width:96% !important;
}

@media(max-width:850px){
  .coaching .phones article{grid-template-rows:auto}
  .coaching .phones article>img{
    height:auto !important;
    max-height:540px !important;
    max-width:95% !important;
  }
  .progress-grid article{grid-template-rows:auto}
  .progress-media.equal-phone{height:auto;min-height:0}
  .progress-media.equal-phone img{
    height:auto !important;
    max-height:520px !important;
    max-width:90% !important;
  }
}


/* ===== V1.5 — Smart Overlay + tools rhythm ===== */

/* Top ribbon: Smart Overlay thumbnail should read instantly */
.ribbon-card[href="#smart-overlay"] img{
  object-fit:cover;
  object-position:center 36%;
}

/* Compact editorial Smart Overlay strip */
.smart-overlay-showcase{
  margin:70px 0 20px;
  padding:34px 0 0;
  border-top:1px solid rgba(25,24,21,.18);
}
.smart-overlay-head{
  display:grid;
  grid-template-columns:.55fr 1.25fr .8fr;
  gap:30px;
  align-items:end;
  margin-bottom:30px;
}
.smart-overlay-head>p{
  margin:0;
  color:#a64f18;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.14em;
}
.smart-overlay-head h3{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:clamp(1.8rem,3vw,3rem);
  font-weight:400;
  line-height:1;
}
.smart-overlay-head>span{
  color:#635b51;
  font-size:.8rem;
  line-height:1.4;
}
.smart-overlay-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.smart-overlay-strip figure{
  margin:0;
  background:rgba(255,255,255,.36);
  border:1px solid rgba(25,24,21,.15);
  padding:10px;
}
.smart-overlay-strip figure>img{
  width:100%;
  height:310px;
  object-fit:contain;
  background:#f3f1ec;
}
.smart-overlay-strip figcaption{
  padding:11px 3px 3px;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.035em;
}
.before-after-overlay{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:310px auto;
  gap:6px;
}
.before-after-overlay>img{
  height:310px !important;
  object-fit:cover !important;
}
.before-after-overlay figcaption{
  grid-column:1/-1;
}

/* Brand frieze between challenges and tools */
.frieze.brand-frieze{
  padding:30px 18px;
}
.frieze.brand-frieze img{
  width:min(1160px,96vw);
  max-height:130px;
}

/* 07: tiny explanatory bridge, no fake "connection" claim */
.tools-intro strong{color:#a64f18}
.tools-mini-frieze{
  width:100%;
  padding:15px 0 34px;
  display:flex;
  justify-content:center;
}
.tools-mini-frieze img{
  width:min(700px,76vw);
  max-height:135px;
  object-fit:contain;
}

/* Raise the phones a little; keep unequal sizes if useful, but align all copy left */
.tool-grid{
  align-items:start;
}
.tool-grid article{
  display:grid !important;
  grid-template-rows:485px auto auto !important;
  text-align:left !important;
}
.tool-media{
  height:485px !important;
  margin-bottom:16px !important;
  display:flex;
  justify-content:center;
  align-items:flex-end;
}
.tool-media.size-lg img{
  max-height:465px !important;
  max-width:90% !important;
}
.tool-media.size-sm img{
  max-height:365px !important;
  max-width:80% !important;
}
.tool-grid h3,
.tool-grid p{
  text-align:left !important;
}

/* Monthly challenge cards: remove the floating feeling and justify copy/buttons left */
.challenge-grid{
  align-items:start;
}
.challenge-grid article{
  text-align:left;
}
.challenge-grid article img{
  margin-bottom:14px;
}
.challenge-grid article img.brain-thumb{
  object-fit:contain;
  padding:24%;
  background:rgba(255,255,255,.24);
}
.challenge-grid article>p,
.challenge-grid article h3,
.challenge-grid article>span,
.challenge-grid .challenge-register{
  text-align:left;
  align-self:flex-start;
}
.challenge-register{
  margin-top:18px;
}

/* ===== V1.20 — complete footer + social networks ===== */
footer{
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.footer-brand a,.footer-links a{color:inherit;text-decoration:none}
.footer-brand a:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-links{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.social-links{display:flex;align-items:center;gap:10px;margin-left:auto}
.social-links a{width:36px;height:36px;border:1px solid rgba(25,24,21,.18);border-radius:50%;display:grid;place-items:center;color:#191815;transition:transform .18s ease,background-color .18s ease}
.social-links a:hover{transform:translateY(-2px);background:rgba(255,255,255,.45)}
.social-links svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-links .social-fill{fill:currentColor;stroke:none}
.social-links .social-dot{fill:currentColor;stroke:none}

@media(max-width:850px){
  footer{flex-direction:column;align-items:flex-start}
  .social-links{margin-left:0}
  .footer-links{flex-wrap:wrap;gap:12px 18px}
}

@media(max-width:900px){
  .smart-overlay-head{grid-template-columns:1fr;gap:12px}
  .smart-overlay-strip{grid-template-columns:repeat(2,1fr)}
  .tool-grid article{grid-template-rows:auto !important}
  .tool-media{height:auto !important;min-height:0}
}
@media(max-width:520px){
  .smart-overlay-strip{grid-template-columns:1fr}
  .smart-overlay-strip figure>img{height:330px}
  .before-after-overlay{grid-template-rows:260px auto}
  .before-after-overlay>img{height:260px !important}
}


/* ===== V1.6 — final adjustments before RC ===== */

/* Explorer ribbon is a real visual table of contents */
.ribbon-card{
  scroll-margin-top:90px;
}
#daily-drawing,#smart-overlay,#progress,#challenges,#gallery-ar,#portfolio{
  scroll-margin-top:92px;
}

/* ÉTAPE 01 / 02 / 03 */
.method .three-columns figure{
  position:relative;
}
.method .step-badge{
  position:absolute;
  z-index:4;
  left:14px;
  top:14px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#111;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  line-height:1;
}
.method .step-badge small{
  font-size:.48rem;
  letter-spacing:.08em;
  font-weight:600;
  opacity:.78;
}
.method .step-badge b{
  font-size:1rem;
  margin-top:3px;
}
.method .three-columns h3{
  letter-spacing:.035em;
}

/* 02 ANALYSEZ — deliberately larger than 01/03, as in the preferred V1.2.
   The annotations now use almost the whole available card width. */
.method .three-columns article:nth-child(2) figure{
  height:520px !important;
  aspect-ratio:auto !important;
  padding:14px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.method .three-columns article:nth-child(2) figure img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* 07 — phone left edge = title left edge = copy left edge */
.tool-grid article{
  text-align:left !important;
}
.tool-grid .tool-media{
  justify-content:flex-start !important;
  align-items:flex-end !important;
}
.tool-grid .tool-media img{
  margin-left:0 !important;
  margin-right:auto !important;
}
.tool-grid h3,
.tool-grid p{
  width:100%;
  text-align:left !important;
  justify-self:start;
}

/* Keep the deliberately different phone scales, but remove the "floating" centering. */
.tool-media.size-lg img{
  max-height:465px !important;
  max-width:92% !important;
}
.tool-media.size-sm img{
  max-height:365px !important;
  max-width:82% !important;
}

@media(max-width:850px){
  .method .three-columns article:nth-child(2) figure{
    height:auto !important;
    aspect-ratio:1/1 !important;
  }
  .method .three-columns article:nth-child(2) figure img{
    width:100% !important;
    height:100% !important;
  }
  .tool-grid .tool-media{
    justify-content:flex-start !important;
  }
}


/* ===== V1.7 — final phone alignment pass ===== */

/* 05 PROGRESSION
   Left edge of phone = left edge of title = left edge of paragraph */
.progress-grid article{
  text-align:left !important;
}
.progress-grid .progress-media.equal-phone{
  justify-content:flex-start !important;
  align-items:flex-end !important;
}
.progress-grid .progress-media.equal-phone img{
  margin-left:0 !important;
  margin-right:auto !important;
}
.progress-grid h3,
.progress-grid p{
  width:100%;
  text-align:left !important;
  justify-self:start;
}

/* 07 CONNEXION & OUTILS
   Same editorial grid rule for all three columns */
.tool-grid article{
  text-align:left !important;
}
.tool-grid .tool-media{
  justify-content:flex-start !important;
  align-items:flex-end !important;
}
.tool-grid .tool-media img{
  margin-left:0 !important;
  margin-right:auto !important;
}
.tool-grid h3,
.tool-grid p{
  width:100%;
  text-align:left !important;
  justify-self:start !important;
}

/* Preserve the intentionally different phone sizes in 07,
   only their left edge changes. */
.tool-media.size-lg img{
  max-height:465px !important;
  max-width:92% !important;
}
.tool-media.size-sm img{
  max-height:365px !important;
  max-width:82% !important;
}

@media(max-width:850px){
  .progress-grid .progress-media.equal-phone,
  .tool-grid .tool-media{
    justify-content:flex-start !important;
  }
}


/* ===== V1.8 — final visual alignment ===== */

/*
The XP / AR / Portfolio PNGs contained ~260 px of transparent space on the left.
They are now tightly cropped, so the visible phone itself follows the same left edge
as its title and paragraph.
*/

/* 05 — Progression: all three visible phones now genuinely share the same scale */
.progress-media.equal-phone img{
  height:515px !important;
  max-height:515px !important;
  width:auto !important;
  object-fit:contain !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

/* 07 — Keep the smaller AR / Portfolio scale, but align the actual handset to the left.
   325px reproduces approximately the previous visible size after removing transparent margins. */
.tool-media.size-sm img{
  max-height:325px !important;
  width:auto !important;
  max-width:82% !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

/* Explorer cards are entirely clickable and visually behave as navigation. */
.scroll-ribbon-track .ribbon-card{
  cursor:pointer;
}
.scroll-ribbon-track .ribbon-card:hover{
  border-color:rgba(166,79,24,.38);
  transform:translateY(-2px);
}
.scroll-ribbon-track .ribbon-card:focus-visible{
  outline:2px solid #a64f18;
  outline-offset:3px;
}

@media(max-width:850px){
  .tool-media.size-sm img{
    max-height:420px !important;
  }
}


/* ===== V1.10 — panorama + closing video ===== */

.museum-panorama{
  position:relative;
  width:100%;
  height:min(78vh,720px);
  overflow:hidden;
  background:#111;
  border-top:1px solid rgba(25,24,21,.12);
  border-bottom:1px solid rgba(25,24,21,.12);
}
.museum-scroll{
  width:100%;height:100%;
  overflow-x:auto;overflow-y:hidden;
  cursor:grab;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
}
.museum-scroll:active{cursor:grabbing}
.museum-scroll::-webkit-scrollbar{height:4px}
.museum-scroll::-webkit-scrollbar-thumb{background:#a64f18;border-radius:4px}
.museum-inner{
  position:relative;
  height:100%;
  width:calc(min(78vh,720px) * 7.541);
  min-width:100%;
}
.museum-inner>img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:fill;
  display:block;
  user-select:none;
  -webkit-user-drag:none;
}
.museum-scroll-hint{
  position:absolute;right:24px;bottom:22px;z-index:20;
  display:flex;align-items:center;gap:9px;
  padding:8px 14px 8px 9px;
  background:rgba(0,0,0,.52);color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:99px;
  backdrop-filter:blur(10px);
  pointer-events:none;
  transition:opacity .35s ease;
}
.museum-scroll-hint.hidden{opacity:0}
.museum-scroll-hint span{font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;font-weight:600}
.museum-scroll-hint svg{animation:museumNudge 1.5s ease-in-out infinite}
@keyframes museumNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.museum-label{
  position:absolute;z-index:5;
  display:flex;align-items:center;gap:8px;
  color:#fff;pointer-events:none;
}
.museum-label i{
  display:block;width:7px;height:7px;border-radius:50%;
  background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18);
}
.museum-label span{
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:99px;
  background:rgba(20,20,20,.34);
  backdrop-filter:blur(10px);
  font-family:"Instrument Serif",serif;
  font-size:.82rem;font-style:italic;
  text-shadow:0 1px 4px rgba(0,0,0,.55);
  white-space:nowrap;
}

.closing-video{
  width:min(720px,90%);
  margin:46px auto 54px;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(25,24,21,.16);
  box-shadow:0 18px 45px rgba(48,38,26,.10);
}
.closing-video video{display:block;width:100%;height:auto;background:#111}

@media(max-width:900px){
  .museum-panorama{height:52vh}
  .museum-inner{width:calc(52vh * 7.541)}
  .museum-label span{font-size:.68rem;padding:5px 9px}
}
@media(max-width:600px){
  .museum-panorama{height:44vh}
  .museum-inner{width:calc(44vh * 7.541)}
  .museum-scroll-hint{right:12px;bottom:10px;padding:6px 10px 6px 7px}
  .museum-scroll-hint span{font-size:.56rem}
  .museum-label span{font-size:.6rem}
  .closing-video{width:94%;margin:34px auto 42px}
}

/* V1.14 — Questions des artistes */
.artist-questions{padding:clamp(92px,11vw,160px) 6vw;background:transparent;color:#191815}.artist-questions-inner{width:min(1180px,100%);margin:auto}.artist-questions-heading{margin-bottom:clamp(48px,7vw,84px)}.artist-questions-heading h2{margin:.55rem 0 0;max-width:920px;font-family:"Instrument Serif",serif;font-size:clamp(3rem,6.5vw,6.5rem);font-weight:400;line-height:.92;letter-spacing:-.035em}.artist-questions-heading h2 span{font-style:italic}.artist-accordion{border-top:1px solid rgba(25,24,21,.34)}.artist-question{border-bottom:1px solid rgba(25,24,21,.34)}.artist-question summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:28px 0;cursor:pointer;font-size:clamp(1.08rem,1.7vw,1.48rem);line-height:1.25;font-weight:500}.artist-question summary::-webkit-details-marker{display:none}.artist-question-plus{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(25,24,21,.5);border-radius:50%;font-size:1.25rem;font-weight:300;transition:transform .25s}.artist-question[open] .artist-question-plus{transform:rotate(45deg)}.artist-answer{max-width:790px;padding:0 64px 30px 0}.artist-answer p{margin:0;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.65;color:rgba(25,24,21,.76)}.artist-answer strong{color:#191815;font-weight:600}.artist-questions-signature{padding-top:clamp(70px,9vw,120px);text-align:center}.artist-questions-signature p{margin:auto;max-width:980px;font-family:"Instrument Serif",serif;font-size:clamp(2.2rem,4.7vw,5rem);line-height:1.02;letter-spacing:-.025em}.artist-questions-signature em{font-weight:400}.artist-eye{display:block;margin-top:28px;font-size:2rem}@media(max-width:700px){.artist-questions{padding:78px 22px 90px}.artist-question summary{padding:22px 0;gap:18px}.artist-question-plus{width:30px;height:30px}.artist-answer{padding:0 0 24px}.artist-questions-signature{padding-top:64px}}


/* ===== V1.16 — frise annotée, Avenir ===== */
.annotated-frieze{
  padding:28px 18px 34px;
}
.annotated-frieze-icons{
  width:min(1160px,96vw);
  margin:0 auto;
}
.annotated-frieze-icons > img{
  display:block;
  width:100%;
  height:auto;
  max-height:130px;
  object-fit:contain;
}
.annotated-frieze-labels{
  display:grid;
  grid-template-columns:repeat(9,1fr);
  align-items:start;
  margin-top:8px;
  padding:0 1.2%;
  gap:0;
  font-family:"Avenir Next","Avenir Next Cyr","Avenir","DM Sans",sans-serif;
  font-size:clamp(.58rem,.72vw,.72rem);
  font-weight:400;
  line-height:1.2;
  letter-spacing:.01em;
  color:rgba(25,24,21,.72);
  text-align:center;
}
.annotated-frieze-labels span{
  white-space:nowrap;
}

@media(max-width:850px){
  .annotated-frieze{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .annotated-frieze-icons{
    width:980px;
    max-width:none;
  }
  .annotated-frieze-labels{
    font-size:.64rem;
  }
}


/* ===== V1.18 — panorama + coaching assets + FAQ signature ===== */
.faq-signature{
  margin-top:22px !important;
  padding-top:20px;
  border-top:1px solid rgba(25,24,21,.18);
  font-family:"Instrument Serif",serif;
  font-size:clamp(1.45rem,2.3vw,2.25rem) !important;
  line-height:1.12 !important;
  color:#191815 !important;
}
.faq-signature em{font-weight:400;color:#a64f18}
/* Kept for backwards compatibility, but no longer rendered in V1.18 */
.artist-questions-signature{display:none}

/* ===== V1.20 — mobile cosmetic polish ===== */
.hero-trust{margin:16px 0 0;font-size:.78rem;font-weight:600;letter-spacing:.035em;color:#5b554d}
.tool-discreet-link{display:inline-flex;align-items:center;gap:9px;justify-self:start;margin-top:18px;padding-bottom:4px;border-bottom:1px solid rgba(25,24,21,.35);font-size:.78rem;font-weight:600;text-decoration:none;color:#403b34}
.tool-discreet-link span{font-size:1rem;transition:transform .18s ease}
.tool-discreet-link:hover span{transform:translateX(3px)}
.artist-question-plus{line-height:1}
.artist-question[open] .artist-question-plus{transform:rotate(180deg)}

@media(max-width:850px){
  .annotated-frieze{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .annotated-frieze-icons{width:760px;max-width:none;scroll-snap-align:start}
  .annotated-frieze-labels{padding:0 1.7%;font-size:.67rem;letter-spacing:0}
  footer{flex-direction:column;align-items:center;text-align:center}
  .social-links{margin-left:0;justify-content:center}
  .footer-links{justify-content:center;flex-wrap:wrap;gap:12px 18px}
}
