@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(fonts/JosefinSans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(fonts/JosefinSans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/Nunito-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/Nunito-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  color-scheme: light;
  --ground:#EEEAF8;
  --ground-deep:#DED6F3;
  --plum:#93305E;
  --plum-dark:#7B254D;
  --navy:#2F3A78;
  --violet:#7A68D8;
  --ink:#2B2742;
  --ink-soft:#5A5470;
  --pen:#D62839;
  --paper:#FFFFFF;
  --blush:#F7D3E2;
  --sage:#E3EBD3;
  --r-lg:28px; --r-md:18px; --r-sm:12px;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1.0625rem/1.65 Nunito,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--pen);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Josefin Sans",sans-serif;font-weight:700;line-height:1.1;margin:0;color:var(--navy)}
h2{font-size:clamp(2rem,4.2vw,2.9rem);color:var(--plum);letter-spacing:-.01em}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.lede{font-size:1.2rem;color:var(--ink-soft);max-width:36em}
.todo{background:#FFF2B3;border-bottom:2px dashed var(--pen);padding:0 .2em}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1}
.brand svg{width:40px;height:40px;flex:none}
.brand b{display:block;font:700 1.3rem/1 "Josefin Sans";color:var(--plum)}
.brand small{display:block;font:600 .8rem/1.2 Nunito;color:var(--ink-soft);margin-top:4px}
.top nav{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.95rem}
.top nav a{text-decoration:none;color:var(--ink)}
.top nav a:hover{color:var(--plum)}
.top nav .btn{padding:11px 18px;font-size:.92rem}
@media (max-width:860px){.top nav a:not(.btn){display:none}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font:800 1rem/1 Nunito;padding:16px 26px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn-main{background:var(--plum);color:#fff}
.btn-main:hover{background:var(--plum-dark)}
.btn-quiet{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-quiet:hover{background:var(--paper)}
.btn-small{padding:11px 18px;font-size:.92rem}
.btn svg{width:20px;height:20px;flex:none}
.btn[disabled]{opacity:.55;cursor:progress}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* Hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:28px 0 56px}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.3rem);color:var(--plum);letter-spacing:-.015em}
.hero .lede{margin:22px 0 32px}
.deck{position:relative;aspect-ratio:16/12}
.deck img{position:absolute;width:82%;border-radius:var(--r-md);box-shadow:0 18px 40px -18px rgba(47,58,120,.45);border:6px solid var(--paper)}
.deck img:nth-child(1){left:0;top:4%;transform:rotate(-7deg)}
.deck img:nth-child(2){right:0;top:18%;transform:rotate(5deg)}
.deck img:nth-child(3){left:9%;bottom:0;transform:rotate(-1.5deg)}
@media (max-width:860px){.hero{grid-template-columns:1fr;padding-bottom:40px}.deck{max-width:520px;width:100%;margin:8px auto 0}}

/* Signature: De la celulă la 10, drawn like her "niveluri de organizare" slide */
.path{background:var(--paper);border-radius:var(--r-lg);padding:34px 36px 30px;margin-bottom:112px}
.path ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:6px}
.path li{display:flex;align-items:center;gap:6px;flex:1 1 0;min-width:0}
.path li:last-child{flex:0 0 auto}
.lvl{flex:1;min-width:0;background:var(--ground);border-radius:var(--r-md);padding:14px 8px 12px;text-align:center}
.lvl svg{width:44px;height:44px;display:block;margin:0 auto 6px}
.lvl span{display:block;font:700 .95rem/1.1 "Josefin Sans";color:var(--plum)}
.arrow{flex:none;width:26px;height:20px;color:var(--violet)}
.grade{position:relative;width:118px;height:96px;display:grid;place-items:center;flex:none}
.grade b{font:700 3.7rem/1 "Josefin Sans";color:var(--navy);position:relative;top:.08em}
.grade svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.grade path{fill:none;stroke:var(--pen);stroke-width:4;stroke-linecap:round;stroke-dasharray:640;stroke-dashoffset:640;animation:draw 1.1s .6s cubic-bezier(.6,.1,.3,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.grade path{animation:none;stroke-dashoffset:0}}
.path p{margin:22px 0 0;color:var(--ink-soft);max-width:52em}
.path p strong{color:var(--ink)}
@media (max-width:860px){
  .path{padding:26px 18px 22px;margin-bottom:80px}
  .path ol{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .path li{display:block}
  .path li:last-child{grid-column:span 3;display:flex;justify-content:center}
  .arrow{display:none}
}

/* Section heads */
section{scroll-margin-top:20px}
.head{max-width:46em;margin-bottom:36px}
.head h2{margin-bottom:14px}
.block{padding:112px 0 0}
@media (max-width:700px){.block{padding-top:80px}}

/* Bundle offer */
.bundle{background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:34px 40px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-bottom:28px}
.bundle h3{color:#fff;font-size:1.7rem;margin-bottom:8px}
.bundle p{color:#D9DCF0;margin:0;max-width:40em}
.bundle .price{display:flex;align-items:baseline;gap:12px;justify-content:flex-end;margin-bottom:12px}
.bundle .price b{font:700 2.6rem/1 "Josefin Sans"}
.bundle .price s{color:#AEB3DA;font-weight:700}
.bundle .btn-main{background:#fff;color:var(--plum)}
.bundle .btn-main:hover{background:var(--blush)}
@media (max-width:760px){.bundle{grid-template-columns:1fr;padding:28px 24px}.bundle .price{justify-content:flex-start}}

/* Chapter cards */
.chapters{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;list-style:none;padding:0;margin:0 0 28px}
.chapter{background:var(--tint);border-radius:var(--r-md);padding:10px 10px 16px;display:flex;flex-direction:column}
.peek{all:unset;cursor:zoom-in;display:block;border-radius:10px}
.peek:focus-visible{outline:3px solid var(--pen);outline-offset:3px}
.peek img{border-radius:10px;aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .25s;box-shadow:0 8px 18px -12px rgba(43,39,66,.5)}
.peek:hover img{transform:translateY(-3px) rotate(-.6deg)}
@media (prefers-reduced-motion:reduce){.peek img{transition:none}}
.chapter .meta{padding:14px 8px 0;flex:1}
.chapter .t{display:block;font:700 1.12rem/1.2 "Josefin Sans";color:var(--navy);text-decoration:none}
.chapter a.t:hover{color:var(--plum)}
.chapter .n{display:block;font-weight:700;font-size:.85rem;color:var(--ink-soft);margin-top:4px}
.chapter .buy{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 8px 0}
.chapter .buy b{font:700 1.25rem/1 "Josefin Sans";color:var(--ink)}
.chapter .buy .free{color:var(--plum)}
.fineprint{color:var(--ink-soft);font-size:.95rem;max-width:46em}

/* Steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.steps li{background:var(--paper);border-radius:var(--r-md);padding:30px 28px;counter-increment:s}
.steps li::before{content:counter(s);font:700 2.6rem/1 "Josefin Sans";color:var(--plum);display:block;margin-bottom:14px}
.steps h3{margin-bottom:8px}
.steps p{margin:0;color:var(--ink-soft)}
@media (max-width:820px){.steps{grid-template-columns:1fr}}

/* Lessons pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.plan{background:var(--paper);border-radius:var(--r-lg);padding:34px 32px;display:flex;flex-direction:column;gap:14px}
.plan.best{background:var(--navy);color:#fff}
.plan.best h3,.plan.best .amount{color:#fff}
.plan.best p{color:#D9DCF0}
.plan.best .btn-main{background:#fff;color:var(--plum)}
.plan h3{font-size:1.35rem}
.plan .amount{font:700 3rem/1 "Josefin Sans";color:var(--navy)}
.plan .amount small{font:700 1rem Nunito;margin-left:6px}
.plan p{margin:0;color:var(--ink-soft);flex:1}
.plan .btn{align-self:flex-start}
@media (max-width:760px){.plans{grid-template-columns:1fr}}

/* About */
.about{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}
.portrait{aspect-ratio:4/5;border-radius:160px 160px var(--r-lg) var(--r-lg);background:var(--blush);display:grid;place-items:center;text-align:center;color:var(--plum);font-weight:700;padding:24px;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover}
.about h2{margin-bottom:20px}
.about p{max-width:38em}
@media (max-width:820px){.about{grid-template-columns:1fr;gap:28px}.portrait{max-width:260px}}

/* FAQ */
.faq{max-width:780px}
.faq details{background:var(--paper);border-radius:var(--r-sm);margin-bottom:12px}
.faq summary{cursor:pointer;list-style:none;padding:20px 56px 20px 24px;font-weight:800;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:24px;top:50%;width:12px;height:12px;border-right:3px solid var(--plum);border-bottom:3px solid var(--plum);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details>div{padding:0 24px 20px;color:var(--ink-soft)}
.faq details>div p:last-child{margin:0}

/* Contact + footer */
.contact{text-align:center;padding:112px 0 96px}
.contact h2{margin-bottom:16px}
.contact .lede{margin:0 auto 32px}
.contact .actions{justify-content:center}
.contact .alt{margin-top:22px;color:var(--ink-soft)}
footer{border-top:2px solid var(--ground-deep);padding:28px 0 40px;font-size:.9rem;color:var(--ink-soft)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 28px}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer a{color:var(--ink-soft)}

/* Dialogs: slide viewer and checkout */
dialog{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);width:100%;overflow:visible}
dialog::backdrop{background:rgba(43,39,66,.82)}
.viewer{background:var(--paper);border-radius:var(--r-lg);padding:18px}
.viewer img{width:100%;aspect-ratio:16/9;border-radius:var(--r-sm);background:var(--ground)}
.vbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 6px 2px}
.vbar .cap{font-weight:700}
.vbar .cap span{display:block;font-weight:600;font-size:.88rem;color:var(--ink-soft)}
.vbtns{display:flex;gap:8px}
.round{width:46px;height:46px;border-radius:50%;border:2px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer;display:grid;place-items:center;font:800 1.2rem/1 Nunito}
.round:hover{background:var(--ground)}
.round svg{width:20px;height:20px}
#buy{max-width:min(520px,94vw)}
.sheet{background:var(--paper);border-radius:var(--r-lg);padding:30px 30px 26px}
.sheet h3{font-size:1.45rem;color:var(--plum);margin-bottom:6px}
.sheet .what{color:var(--ink-soft);margin-bottom:18px}
.sheet .total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--ground);border-bottom:2px solid var(--ground);padding:14px 0;margin-bottom:18px;font-weight:700}
.sheet .total b{font:700 1.8rem/1 "Josefin Sans";color:var(--navy)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink-soft);margin-bottom:20px;cursor:pointer}
.consent input{width:22px;height:22px;flex:none;margin:2px 0 0;accent-color:var(--plum)}
.sheet .actions{justify-content:space-between}
.sheet .err{color:var(--pen);font-weight:700;margin:12px 0 0;min-height:1.4em}
.secure{font-size:.85rem;color:var(--ink-soft);margin:14px 0 0}

/* Chapter page */
.crumbs{font-size:.92rem;color:var(--ink-soft);margin:6px 0 26px}
.crumbs a{color:var(--ink-soft)}
.ch-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start;margin-bottom:56px}
.ch-hero h1{font-size:clamp(2.2rem,4.8vw,3.5rem);color:var(--plum);margin-bottom:18px}
.ch-hero .cover{border-radius:var(--r-md);border:6px solid var(--paper);box-shadow:0 18px 40px -18px rgba(47,58,120,.45);transform:rotate(1.5deg)}
.facts{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:10px}
.facts li{background:var(--paper);border-radius:999px;padding:8px 16px;font-weight:700;font-size:.92rem}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;padding:0;margin:0}
@media (max-width:860px){.ch-hero{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}
.more{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.more a{display:block;background:var(--paper);border-radius:999px;padding:10px 16px;text-decoration:none;font-weight:700;color:var(--navy)}
.more a:hover{color:var(--plum)}

/* Thank-you + legal */
.panel{background:var(--paper);border-radius:var(--r-lg);padding:40px;max-width:760px;margin:20px auto 96px}
.panel h1{font-size:clamp(2rem,4vw,2.8rem);color:var(--plum);margin-bottom:14px}
.files{list-style:none;padding:0;margin:24px 0}
.files li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:2px solid var(--ground)}
.files li span small{display:block;color:var(--ink-soft);font-size:.85rem}
.legal{max-width:760px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);color:var(--plum);margin:10px 0 24px}
.legal h2{font-size:1.4rem;color:var(--navy);margin:32px 0 10px}
@media (max-width:600px){.panel{padding:28px 22px}.files li{flex-direction:column;align-items:flex-start}}
.portrait .mono{display:grid;justify-items:center;gap:34px}
.portrait .grade.big{transform:scale(1.9);margin:30px 0 12px}
.portrait .mono small{font-family:"Nunito",sans-serif;font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:var(--plum);border-radius:999px;padding:7px 16px}
/* Touch: comfortable tap targets for inline links on phones */
@media (pointer:coarse),(max-width:820px){
  .chapter .meta .t{display:inline-block;padding:11px 0;margin:-11px 0}
  .portrait{margin-inline:auto;width:100%}
  footer a{display:inline-block;padding:10px 0}
}
