/* Geometric edition: the existing palette, with warm brown accents. */
:root{--sage:#c5d1c1;--sand:#dfcdb7;--ink:#23372d;--radius:22px}
body{color:var(--ink)}
h1,h2,h3{font-family:var(--sans);font-weight:650;letter-spacing:-.045em;line-height:1.13}
h2{font-size:clamp(2rem,3.4vw,3rem)}
em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
.container{max-width:1184px}.section{padding-block:88px}
.header-inner{min-height:88px}.header-inner nav{gap:22px}
.brand-initials{display:grid;place-items:center;width:58px;height:58px;border-radius:50% 50% 8px 8px;background:var(--green);color:var(--paper);font-size:1.7rem;letter-spacing:-.07em;padding-right:3px}
.brand-name{font:650 .97rem/1.18 var(--sans);letter-spacing:-.025em}.brand-divider{font-size:1.8rem;color:var(--brown)}
.button{border-radius:50px;padding:15px 23px;font-weight:650}.button-small{padding:11px 17px}.menu-toggle{border-radius:10px}
.hero{grid-template-columns:1.3fr 1fr;gap:80px;padding-block:78px 90px;overflow:visible}
.hero h1{font-size:clamp(2.9rem,4.65vw,4.3rem);line-height:1.06;letter-spacing:-.055em}
.hero .eyebrow{font-size:.7rem;letter-spacing:.08em;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--green);border-radius:30px;padding:7px 12px;margin-bottom:24px}
.hero .eyebrow:before{content:"";width:9px;height:9px;flex-shrink:0;background:var(--brown);border-radius:50%}
.hero-intro{font-size:1.2rem}.hero .desktop-break{display:none}.hero-description{font-size:.96rem}
.hero-actions .text-link{border:1px solid var(--green);border-radius:30px;padding:12px 18px}
.hero-art{position:relative;isolation:isolate;padding:35px 22px 35px 8px}
.hero-art:before{content:"";position:absolute;width:95%;aspect-ratio:1;border-radius:50%;background:var(--sage);top:0;right:-12px;z-index:-2}
.hero-art:after{content:"";position:absolute;bottom:7px;left:-20px;width:140px;height:145px;background:var(--brown);border-radius:0 0 90px 0;z-index:-1}
.art-square{position:absolute;width:100px;height:100px;background:var(--sand);bottom:10px;right:0;transform:rotate(12deg);border-radius:12px;z-index:-1}
.editorial-note{transform:none;background:var(--white);border:1px solid var(--green);border-radius:25px;box-shadow:7px 8px 0 var(--dark);padding:28px}
.note-top{border:0;align-items:center;font-weight:650;letter-spacing:.09em;font-size:.65rem;padding:0;color:var(--dark)}
.note-top>span:last-child{display:grid;place-items:center;background:var(--dark);color:var(--paper);border-radius:50%;width:30px;height:30px}
.note-title{font:600 2rem/1.15 var(--sans);letter-spacing:-.04em;margin-top:24px}.note-title em{font-family:var(--serif)}
.note-path{display:grid;gap:8px}.note-path li{font:600 .93rem/1.4 var(--sans);border:0;border-radius:10px;background:var(--paper);padding:9px;gap:12px}
.note-path li span{display:grid;place-items:center;background:var(--green);color:var(--white);border-radius:50%;width:28px;height:28px;flex-shrink:0}
.note-path li:nth-child(2) span{background:var(--sand);color:var(--dark);border-radius:6px}.note-path li:nth-child(3) span{background:var(--brown);border-radius:6px 6px 15px 6px}.note-path li:nth-child(4) span{background:var(--dark);border-radius:0 14px 0 14px}
.note-bottom{border-top:1px dashed var(--line);padding-top:18px}
.manifesto{position:relative;overflow:hidden;background:var(--dark);color:var(--paper);padding-block:70px;border:0}
.manifesto:before{content:"";position:absolute;width:190px;height:190px;border:32px solid #526b5b;border-radius:50%;left:-105px;bottom:-100px}
.manifesto-inner{position:relative;grid-template-columns:1fr 2.3fr;gap:70px}.manifesto h2{font-size:clamp(2rem,3.2vw,2.85rem)}.manifesto em{color:var(--sage)}.manifesto p:not(.eyebrow){color:#e1e6dc}.manifesto .eyebrow{color:var(--sage)}
.shape-row{display:flex;gap:10px;margin-top:28px}.shape-row i{display:block;width:28px;height:28px;background:var(--sage);border-radius:50%}.shape-row i:nth-child(2){background:var(--sand);border-radius:3px}.shape-row i:nth-child(3){background:#b49276;clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}
.section-heading{display:grid;grid-template-columns:1.8fr 1fr;gap:55px;align-items:end}.section-heading>p{max-width:none}.section-heading h2{max-width:760px}
#metodo .section-heading{grid-template-columns:1fr}#metodo .section-heading h2{max-width:1000px;font-size:clamp(2rem,3.1vw,2.9rem)}#metodo .section-heading>p{max-width:720px}
.method-grid{gap:16px}.method-step,.method-step:first-child,.method-step:last-child{padding:25px 22px;border:1px solid var(--green);border-radius:var(--radius);background:var(--white);position:relative}
.step-number{font:650 .8rem/1 var(--sans);color:var(--green);margin:0 0 22px;display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse}
.step-number:after{content:"";display:block;width:39px;height:39px;background:var(--green);border-radius:50%}.method-step:nth-child(2) .step-number:after{background:var(--sand);border-radius:6px;transform:rotate(-8deg)}.method-step:nth-child(3) .step-number:after{background:var(--brown);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}.method-step:nth-child(4) .step-number:after{background:var(--dark);border-radius:0 32px 0 32px}
.method-step h3{font-size:1.35rem;letter-spacing:-.035em;min-height:50px}.method-step>p{font-size:.9rem}.method-step .step-caption{border-top:1px solid var(--line);padding-top:14px;margin-top:24px;font-size:.78rem}
.argument-block{border-radius:28px;position:relative;overflow:hidden;padding:38px}.argument-block:before{content:"";width:190px;height:190px;position:absolute;top:-100px;right:-90px;border:30px solid #617969;border-radius:50%;pointer-events:none}
.argument-heading{position:relative}.argument-heading h3{font-size:clamp(1.6rem,2.7vw,2.25rem);letter-spacing:-.035em;max-width:970px}
.argument-flow{gap:28px}.argument-flow li{background:var(--white);color:var(--dark);border-radius:16px;padding:23px;position:relative;min-width:0}.argument-label{border:0;padding:0;font:650 clamp(1.1rem,2vw,1.55rem)/1.2 var(--sans);letter-spacing:-.04em}.argument-label>span{position:absolute;right:-23px;color:var(--white);font-size:1.4rem}.argument-flow p{color:var(--muted);max-width:none;font-size:.9rem}.argument-flow li:before{content:"";display:block;width:29px;height:29px;background:var(--green);border-radius:50%;margin-bottom:16px}.argument-flow li:nth-child(2):before{background:var(--sand);border-radius:4px}.argument-flow li:nth-child(3):before{background:var(--brown);border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}
.argument-block .argument-footnote{font-size:.92rem}
.lab-preview{padding-top:10px;padding-bottom:88px;align-items:center}.lab-preview h2{font:650 clamp(2rem,3.2vw,2.8rem)/1.15 var(--sans);letter-spacing:-.045em}.preview-note{background:var(--white);border:1px solid var(--green);border-radius:23px;box-shadow:7px 8px 0 var(--sage);position:relative;padding:30px}.preview-note blockquote{font-size:1.65rem;color:var(--green)}.preview-note>p:not(.eyebrow){padding:16px;background:var(--beige);border-radius:12px;font-size:.92rem}.lab-preview>.preview-note:before{content:"";width:55px;height:55px;border:12px solid var(--sand);border-radius:50%;position:absolute;top:-24px;right:24px;z-index:-1}
.exam-section{background:var(--beige);border:0}.exam-card{border:1px solid var(--green);border-radius:24px;background:var(--white);position:relative;overflow:hidden}.exam-card h3{font-family:var(--sans);font-weight:750;font-size:3.4rem}.exam-card:last-child{background:var(--dark);color:var(--paper)}.exam-card:last-child>p:not(.eyebrow),.exam-card:last-child .exam-topics{color:#e1e6dc}.exam-card:last-child .eyebrow,.exam-card:last-child .card-bottom{color:var(--sand)}.exam-card:last-child h3{color:var(--sand)}.exam-card:after{content:"";position:absolute;width:75px;height:75px;top:-28px;right:-25px;border:18px solid var(--sage);border-radius:50%;pointer-events:none}.exam-card:last-child:after{border-color:#8d7059}
.exam-topics{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0}.exam-topics li{border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:.82rem;line-height:1.45}.exam-card:last-child .exam-topics li{border-color:#617466}.card-bottom{border-top:1px solid var(--line);padding-top:16px;margin-top:25px}
.lessons{gap:65px}.lesson-steps{display:grid;gap:14px}.lesson-steps li{padding:24px;border:1px solid var(--green);border-radius:20px;background:var(--white);gap:20px}.lesson-steps li>span{display:grid;place-items:center;width:44px;height:44px;background:var(--green);color:var(--white);padding:0;border-radius:50%;font-weight:700}.lesson-steps li:nth-child(2)>span{background:var(--sand);color:var(--dark);border-radius:8px}.lesson-steps li:nth-child(3)>span{background:var(--brown);border-radius:0 20px 0 20px}.lesson-steps h3{font-size:1.25rem}.format-tags span{background:var(--beige);border:0;font-weight:600}
.teacher-section{background:var(--green);color:var(--paper);position:relative;overflow:hidden}.teacher-section:before{content:"";position:absolute;width:180px;height:180px;border:30px solid #617969;border-radius:50%;left:-115px;top:60px}.teacher-grid{position:relative;align-items:center;gap:70px}.teacher-grid h2{font-size:clamp(2rem,3.4vw,3rem)}.teacher-section .eyebrow{color:var(--sage)}.teacher-copy,.credentials span{color:#e1e6dc}.credentials{gap:12px}.credentials p{background:var(--paper);color:var(--dark);border-radius:16px;padding:20px;flex:1}.credentials p:last-child{background:var(--sand)}.credentials strong{font:700 1.3rem var(--sans)}.credentials span{color:var(--dark)}.teacher-copy>p:last-child{background:var(--dark);border-radius:16px;padding:22px}
.faq-list details{border:1px solid var(--line);border-radius:15px;padding-inline:22px;margin-bottom:12px;background:var(--white)}.faq-list details:first-child{border-top:1px solid var(--line)}
.contact-section{position:relative;overflow:hidden;background:var(--dark)}.contact-section:before,.contact-section:after{content:"";position:absolute;width:150px;height:150px;pointer-events:none}.contact-section:before{border:26px solid #526b5b;border-radius:50%;left:-70px;top:30px}.contact-section:after{background:var(--brown);border-radius:20px;right:-95px;bottom:0;transform:rotate(18deg)}.contact-inner{position:relative;z-index:1}.contact-section h2{font-size:clamp(2.2rem,4vw,3.5rem)}.footer .brand-initials{font-size:1.5rem;width:48px;height:48px}
/* Shared visual language for the reading laboratory. */
.lab-intro h1,.lab-heading h2,.pec h2,.lab-contact h2{font-family:var(--sans);font-weight:650;letter-spacing:-.045em}.lab-intro{position:relative}.lab-intro:after{content:"";display:block;width:55px;height:12px;background:linear-gradient(90deg,var(--green) 33%,var(--sand) 33%,var(--sand) 66%,var(--brown) 66%);margin-top:26px;border-radius:3px}.filters button{border-radius:30px}.essay{border-radius:20px;overflow:hidden}.essay summary{font-family:var(--sans);font-weight:600;font-size:1.4rem}.pec{border-radius:24px}.rewrite{border-radius:16px}.theme summary{font-weight:600}
@media(max-width:1100px){.header-inner nav{gap:14px}.hero{gap:44px}.hero-art{padding-right:18px}.hero-art:before{right:0}.method-step,.method-step:first-child,.method-step:last-child{padding:22px 17px}.argument-flow li{padding:20px 16px}}
@media(max-width:900px){.hero{grid-template-columns:1.15fr 1fr;gap:32px}.hero h1{font-size:3rem}.hero-art:after{left:-8px;width:95px;height:110px}.editorial-note{padding:22px}.note-title{font-size:1.7rem}.manifesto-inner{grid-template-columns:1fr;gap:20px}.shape-row{margin:0 0 10px}.method-grid{gap:18px}.method-step:nth-child(3){border:1px solid var(--green);padding:22px 17px}.section-heading{gap:25px}.teacher-grid,.lessons{gap:35px}.argument-label{font-size:1.15rem}.credentials p{padding:15px}.hero .eyebrow{line-height:1.5}}
@media(max-width:650px){.header-inner{min-height:78px}.brand-initials{width:46px;height:46px;font-size:1.4rem}.brand-name{font-size:.88rem}.brand{gap:10px}.hero{grid-template-columns:1fr;gap:36px;padding-block:38px 55px}.hero h1{font-size:clamp(2.65rem,10vw,3.6rem)}.hero .eyebrow{font-size:.65rem;letter-spacing:.04em}.hero-art{max-width:390px;width:100%;margin:auto;padding:26px 17px 25px}.editorial-note{width:100%;padding:24px}.hero-art:before{width:90%;right:0}.hero-art:after{left:0;bottom:6px}.art-square{right:5px}.note-title{font-size:2rem}.section{padding-block:58px}.section-heading{display:block}.section-heading>p{margin-top:20px}.manifesto{padding-block:44px}.method-grid{gap:14px}.method-step,.method-step:first-child,.method-step:nth-child(3),.method-step:last-child{padding:25px;border:1px solid var(--green)}.method-step h3{min-height:0;font-size:1.5rem}.step-number{margin-bottom:16px}.method-step .step-caption{margin-top:18px}.argument-block{padding:27px 22px;border-radius:22px}.argument-flow{gap:25px}.argument-flow li{padding:22px}.argument-label{font-size:1.45rem}.argument-label>span{right:22px;bottom:-25px}.argument-heading h3{font-size:1.7rem}.lab-preview{padding-bottom:58px}.preview-note{padding:24px;box-shadow:5px 6px 0 var(--sage)}.exam-card{padding:28px 24px}.exam-card h3{font-size:2.8rem}.exam-topics{grid-template-columns:1fr}.teacher-grid,.lessons{gap:30px}.teacher-grid h2 br{display:none}.credentials{gap:10px}.credentials p{padding:18px 14px}.lesson-steps li{padding:20px;gap:15px}.lesson-steps li>span{width:36px;height:36px}.lab-intro:after{margin-top:20px}.lab-heading h2{font-size:2rem}}
#metodo .section-heading{gap:24px}
