/* Visual direction v2. The original learning structure and interactions stay intact. */
:root{
  --ink:#183a31;
  --green:#123c30;
  --mid:#476b5b;
  --terra:#aa5e3b;
  --ochre:#e0b577;
  --cream:#f6f1e7;
  --paper:#fffcf6;
  --line:#d8d2c4;
  --muted:#52685e;
}
body{background:#f6f1e7}
.wrap{width:min(1240px,calc(100% - 72px))}
.site-header{
  background:rgba(250,247,239,.96);
  border-bottom:1px solid #d8d2c4;
  box-shadow:0 7px 28px rgba(25,42,28,.06)
}
.header-inner{min-height:82px}
.brand{letter-spacing:-.025em;font-size:.96rem}
.brand-mark{width:52px;height:52px;background-size:225px 150px;background-position:-142px -2px;border-color:#d5dfd0;box-shadow:0 3px 12px #183a3014}
.nav{gap:28px}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:2px;background:var(--terra);transition:width .25s ease}
.nav a:hover:after{width:100%}
.header-action,.button{border-radius:2px;letter-spacing:.015em;box-shadow:0 7px 19px rgba(17,44,32,.12);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.header-action:hover,.button:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(17,44,32,.18)}

.hero{
  background:#132e28 url('hero-territorio.png') center 46%/cover no-repeat;
  color:#fff;
  isolation:isolate;
  border:0;
}
.hero:before{
  content:"";position:absolute;inset:0;width:auto;height:auto;right:auto;top:auto;
  border:0;border-radius:0;
  background:linear-gradient(90deg,rgba(6,30,25,.91) 0%,rgba(8,34,29,.76) 36%,rgba(11,33,29,.33) 67%,rgba(14,32,28,.2) 100%),linear-gradient(0deg,rgba(8,30,25,.46),transparent 38%);
  z-index:-1;
}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,#9d4d31,#dcad70,#3f765e)}
.hero-grid{min-height:720px;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:8%;padding:92px 0 100px}
.hero .eyebrow{color:#edc596;border-left:2px solid #e0ad68;padding-left:13px}
.hero h1{font-size:clamp(3.65rem,6.35vw,6.8rem);max-width:830px;line-height:1.035;letter-spacing:-.052em;margin-top:26px;text-shadow:0 4px 30px #03180e33}
.hero h1 em{color:#f0bd80}
.hero-lead{color:#f1f0e8;font-size:1.22rem;max-width:620px;text-shadow:0 2px 8px #00180d33}
.hero-note{color:#e5e4d7;max-width:600px}
.hero .button{background:#d5a86e;border-color:#d5a86e;color:#193b30}
.hero .button:hover{background:#e6ba82}
.hero .button.light{background:rgba(12,34,28,.35);color:#fff;border-color:#f7f0df;box-shadow:none;backdrop-filter:blur(5px)}
.hero .button.light:hover{background:rgba(251,246,232,.17)}
.hero-art{min-height:430px}
.hero-art:before{content:"";position:absolute;inset:auto;width:385px;height:420px;aspect-ratio:auto;border:1px solid rgba(255,255,255,.65);border-radius:3px;background:rgba(245,242,231,.87);box-shadow:0 30px 80px rgba(0,0,0,.22),0 0 0 10px rgba(255,255,255,.08);transform:rotate(3deg);backdrop-filter:blur(9px)}
.logo-crop{height:280px;width:278px;filter:none;z-index:1;transform:translateY(-12px) rotate(3deg);border-radius:2px}
.logo-crop img{opacity:1}
.hero-caption{z-index:2;bottom:41px;right:0;background:#a95c3a;box-shadow:0 12px 28px #081d1740;font-weight:700;letter-spacing:.18em;transform:rotate(-2deg)}

.stats{background:#193f32;position:relative;overflow:hidden}
.stats:after{content:"";position:absolute;inset:0;opacity:.12;background:radial-gradient(circle at 82% 15%,#f1b77d,transparent 31%);pointer-events:none}
.stats-inner{padding:37px 0;gap:0}
.stat{padding:4px 35px;border-left:1px solid #9cbea258}
.stat:first-child{padding-left:0;border:0}
.stat strong{font-size:2.35rem;color:#f5d6a8}
.stat span{font-size:.91rem}

.section-pad{padding:110px 0}
.eyebrow{letter-spacing:.2em}
.section-intro h2,.block-title{font-size:clamp(2.6rem,4.3vw,4.75rem);line-height:1.08}
.section-intro{margin-bottom:52px}
.section-intro p{font-size:1.14rem}
.case{background:#fffdf7;position:relative;overflow:hidden}
.case:before{content:"02";position:absolute;right:-20px;top:8px;font:600 clamp(12rem,30vw,30rem)/1 var(--serif);color:#e9eee4;opacity:.55;pointer-events:none}
.case .wrap{position:relative}
.case-grid{grid-template-columns:minmax(0,1fr) minmax(230px,.76fr) minmax(0,.9fr);gap:35px;align-items:center}
.case-story{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.6;padding-left:24px;border-left-color:#b9633b}
.case-story p:last-child{margin-bottom:0}
.case-figure{margin:0;position:relative;align-self:stretch;min-height:530px;box-shadow:0 24px 48px #183a3026}
.case-figure:before{content:"";position:absolute;z-index:1;inset:12px -12px -12px 12px;border:1px solid #b47755;pointer-events:none}
.case-figure img{width:100%;height:100%;min-height:530px;object-fit:cover;display:block;filter:saturate(.9)}
.case-figure figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:35px 22px 20px;background:linear-gradient(transparent,rgba(6,23,19,.84));color:#fff;font-size:.78rem;line-height:1.45}
.case-aside{background:#ecf0e8;border:1px solid #d6e0d1;border-radius:2px;padding:36px 31px;box-shadow:0 14px 35px #183a3010}
.case-aside h3{font-size:1.9rem}
.case-aside li::marker{color:#b9633b}

.modules{background:#f3f0e7;position:relative}
.modules:before{content:"";position:absolute;left:0;top:0;width:32%;height:100%;background:#e7e9df;opacity:.57;pointer-events:none}
.modules .wrap{position:relative}
.module-layout{grid-template-columns:275px minmax(0,1fr);gap:72px}
.module-sidebar h3{font-size:1.7rem}
.module-nav{gap:8px}
.module-tab{padding:14px 15px;border-left-width:4px;transition:background .2s ease,transform .2s ease}
.module-tab:hover{transform:translateX(3px)}
.module-tab[aria-selected=true]{background:#fffdf8;border-color:#b9613c;box-shadow:0 8px 25px #173a3014}
.module-tab span{color:#ad5d39;font-size:.72rem;margin-bottom:2px}
.module-head{padding-bottom:32px;border-bottom:2px solid #b9c8b8}
.module-head h3{font-size:clamp(2.5rem,3.8vw,4rem)}
.module-head p{font-size:1.08rem}
.lesson{padding:30px 0}
.lesson h4{font-size:1.55rem}
.lesson p{font-size:1.035rem;line-height:1.8;max-width:780px}
.practice{background:#fffdf8;border:1px solid #dcd5c7;box-shadow:0 20px 50px #132f2710;border-radius:3px;padding:35px}
.practice h4{font-size:1.75rem}
.question{padding:23px 0}
.choice{border-radius:2px;padding:13px 16px;transition:background .2s,border-color .2s,transform .2s}
.choice:hover:not([disabled]){transform:translateX(3px)}
.feedback{border-left-width:4px}
.review-transition{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:45px;overflow:hidden;margin:96px 0 0;padding:46px 52px;background:#174332;color:#fff;border-top:6px solid #b66c45;box-shadow:0 20px 50px #14382b24;scroll-margin-top:96px}
.review-transition:before{content:"";position:absolute;z-index:-1;width:380px;height:380px;right:-105px;top:-165px;border:1px solid #f4e4ba40;border-radius:50%;box-shadow:0 0 0 50px #ffffff08,0 0 0 100px #ffffff06}
.review-transition .eyebrow{color:#edb782}
.review-transition h3{font:600 clamp(2.25rem,3.5vw,3.6rem)/1.08 var(--serif);letter-spacing:-.035em;margin:11px 0 14px;color:#fff}
.review-transition p{max-width:560px;margin:0;color:#e2e9db;line-height:1.7}
.review-transition-path{display:grid;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr) 15px minmax(0,1fr);align-items:center;gap:8px;padding:19px 16px;background:#082c2399;border:1px solid #a9bd9560;border-radius:3px}
.review-transition-path span{min-width:0;text-align:center;color:#cedfcd;font-size:.78rem;line-height:1.25}
.review-transition-path b{display:block;color:#fff;font:600 1.7rem/1.2 var(--serif);white-space:nowrap}
.review-transition-path .active b{color:#e8ad78}
.review-transition-path i{font-style:normal;text-align:center;color:#e8ad78;font-size:1.3rem}
.final-review{max-width:890px;margin:24px 0 0 auto;border-top:5px solid #b66c45}
.final-review .eyebrow{color:#a75b38}
.assessment-result{max-width:890px;margin:24px 0 0 auto;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:#133e30;color:#fff;border:1px solid #356b4c;box-shadow:0 22px 48px #132f2728;scroll-margin-top:100px}
.assessment-result .eyebrow{color:#e7ac77}
.assessment-result h3{font:600 clamp(2rem,3.5vw,3.2rem)/1.08 var(--serif);margin:10px 0 12px;color:#fff}
.assessment-result p{max-width:540px;color:#e2ebe1;line-height:1.65;margin:0 0 15px}
.assessment-result p strong{color:#fff}
.assessment-result .assessment-history{font-size:.88rem;color:#c5d8c5;margin:0 0 20px}
.assessment-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:22px}
.assessment-actions .button{font-size:.9rem;white-space:normal;text-align:center}
.assessment-actions .button.light{color:#fff;border-color:#dce7d7;background:transparent}
.assessment-grade{flex:0 0 194px;aspect-ratio:1;border-radius:50%;border:1px solid #d6ae7e;outline:7px solid #ffffff0d;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#356c50,#184635);color:#fff}
.assessment-grade strong{font:600 4.6rem/1 var(--serif)}
.assessment-grade span{font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;color:#e9be8b}
.assessment-pending{flex:0 0 130px;aspect-ratio:1;border:1px solid #d6ae7e;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 3rem var(--serif)}
.assessment-pending small{font:400 1rem var(--sans);color:#e9be8b}

.workshop{position:relative;isolation:isolate;background:#123a2e;padding-top:110px}
.workshop:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:540px;background:linear-gradient(90deg,rgba(8,33,25,.92),rgba(11,41,29,.48) 67%,rgba(9,35,24,.22)),url('raizes-rio.png') center 53%/cover no-repeat}
.workshop:after{content:"";position:absolute;z-index:-1;top:440px;left:0;right:0;height:120px;background:linear-gradient(transparent,#123a2e)}
.workshop .section-intro{max-width:830px;margin-bottom:125px}
.workshop .section-intro h2{color:#fff;font-size:clamp(2.9rem,4.8vw,5rem)}
.workshop .section-intro p{color:#f3f1e9;text-shadow:0 2px 8px #00180f70}
.workshop-grid{gap:28px}
.interactive-box{background:#204f3e;border:1px solid #5d8b6e;border-radius:3px;padding:35px;box-shadow:0 22px 42px rgba(4,23,17,.22)}
.interactive-box h3{font-size:1.8rem}
.decision-buttons button,.network-list button{border:1px solid #8bab8e;background:transparent;color:#fff;padding:12px 14px;text-align:left;border-radius:2px;transition:background .2s ease,color .2s ease}
.decision-buttons button:hover,.network-list button:hover,.decision-buttons button.active,.network-list button.active{background:#e6f0e5;color:#153c30}
.response-panel{background:#103c2f}

.reflection{background:linear-gradient(140deg,#fffdf7,#f4f1e7)}
.reflection-grid{gap:70px}
.field textarea{background:#fff;border-color:#b5c7b6;box-shadow:inset 0 2px 5px #142e2708}
.envelope{background:#e5ece1;border:1px solid #b6c9b7;border-radius:3px;box-shadow:0 20px 45px #123e3019}
.envelope-graphic{color:#a95e3d;text-shadow:0 9px 19px #7a5d4140}
.envelope-inner{scroll-margin-top:105px;margin:58px 0 0;padding:42px;background:#fffdf7;border:1px solid #cfb99c;border-top:7px solid #a95e3d;box-shadow:0 25px 60px #123e3026}
.envelope-inner-head{max-width:800px;margin-bottom:30px}
.envelope-inner-head h3{font:600 clamp(2.4rem,4vw,4rem)/1.1 var(--serif);letter-spacing:-.035em;margin:8px 0 12px}
.envelope-inner-head p{font-size:1.1rem;color:var(--muted);margin:0}
.envelope-poster{margin:0 0 38px;background:#f2eee6;box-shadow:0 15px 35px #173a3024}
.envelope-poster img{display:block;width:100%;height:auto}
.envelope-poster figcaption{font-size:.86rem;color:var(--muted);padding:13px 18px}
.envelope-poster .source-note{display:block;margin-top:5px;font-size:.8rem}
.envelope-poster a{color:#245b46;font-weight:700;text-underline-offset:3px}
.envelope-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line);padding-top:30px}
.envelope-detail-grid h4{font:600 1.75rem var(--serif);margin:0 0 12px}
.envelope-detail-grid p{line-height:1.75}
.envelope-detail-grid ol{padding-left:22px;margin:0}
.envelope-detail-grid li{padding-left:5px;margin-bottom:9px;line-height:1.55}
.envelope-detail-grid li::marker{color:#aa5e3b;font-weight:700}
.envelope-reflection{font:500 1.35rem/1.5 var(--serif);color:#214b3b;border-left:4px solid #aa5e3b;padding:6px 0 6px 20px;margin:32px 0}
.kayrra-feature{margin:76px 0 0;background:#143e30;color:#fff;box-shadow:0 26px 55px #123e3028;overflow:hidden}
.kayrra-photo{margin:0;background:#12392c}
.kayrra-photo img{display:block;width:100%;height:auto}
.kayrra-photo figcaption{padding:9px 36px;color:#d8e2d8;font-size:.78rem;background:#0d2f25}
.kayrra-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:55px;align-items:start;padding:48px 54px 54px}
.kayrra-content .eyebrow{grid-column:1;grid-row:1;color:#e8ad78}
.kayrra-content h3{grid-column:1;grid-row:2;font:600 clamp(2.4rem,4.1vw,4.3rem)/1.06 var(--serif);letter-spacing:-.035em;margin:11px 0 18px;color:#fff}
.kayrra-content>p{grid-column:1;grid-row:3;color:#e0ebdf;font-size:1.05rem;line-height:1.75;margin:0 0 22px}
.kayrra-link{grid-column:1;grid-row:4;justify-self:start;color:#f0bd83;font-weight:700;text-decoration-thickness:1px;text-underline-offset:5px}
.kayrra-link:hover{color:#fff}
.kayrra-audio{grid-column:2;grid-row:1 / span 4;align-self:stretch;background:#25513e;border-left:4px solid #c0764c;padding:27px 30px}
.kayrra-audio h4{font:600 1.5rem var(--serif);margin:0 0 10px;color:#fff}
.kayrra-audio p{color:#e2ebe1;margin:0 0 15px;line-height:1.6}
.kayrra-audio audio{display:block;width:100%;margin:12px 0;accent-color:#a95e3d}
.kayrra-audio .notice{color:#d1dfd1;font-size:.81rem;margin:12px 0 0}
.resources{background:#e9eee5;position:relative}
.resources:before{content:"";position:absolute;right:0;top:0;width:32%;height:100%;background:linear-gradient(115deg,transparent,#dae5d7);pointer-events:none}
.resources .wrap{position:relative}
.credits{background:#fffdf7;border-left:5px solid #b56842;padding:35px;box-shadow:0 18px 38px #183a3012}
.link-list li{padding:18px 0}
.site-footer{padding:48px 0;background:#0d2b23}

@media(max-width:1100px){
  .hero-grid{grid-template-columns:1.3fr .7fr;gap:4%}
  .hero-art:before{width:310px;height:360px}
  .hero-caption{right:-12px;bottom:25px}
  .case-grid{grid-template-columns:1fr .85fr;gap:32px}
  .case-story{grid-column:1;grid-row:1}
  .case-figure{grid-column:2;grid-row:1 / span 2}
  .case-aside{grid-column:1;grid-row:2}
}
@media(max-width:850px){
  .wrap{width:min(100% - 44px,1240px)}
  .hero-grid{grid-template-columns:1fr;padding:78px 0 70px;min-height:0;gap:30px}
  .hero h1{max-width:730px}
  .hero-art{min-height:300px;justify-content:flex-end;padding-right:45px}
  .hero-art:before{width:270px;height:300px}
  .hero-caption{right:0;bottom:10px}
  .logo-crop{transform:scale(.73) rotate(3deg)}
  .stats-inner{gap:8px}
  .stat{padding:4px 20px}
  .case-grid{grid-template-columns:1fr 1fr}
  .module-layout{grid-template-columns:minmax(0,1fr);gap:26px}
  .module-layout,.module-sidebar,.module-view{min-width:0;width:100%}
  .modules:before{width:100%;height:280px}
  .module-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;width:100%}
  .module-tab{flex:none;min-width:0;width:100%;overflow-wrap:anywhere;background:#fffdf8;border:1px solid #d5d9cc;border-left:4px solid transparent}
  .module-view{scroll-margin-top:100px;overflow-wrap:break-word}
  .review-transition{grid-template-columns:1fr;gap:28px;margin-top:70px}
  .final-review{max-width:none;width:100%}
  .assessment-result{max-width:none;width:100%}
  .kayrra-content{grid-template-columns:1fr;gap:0;padding:35px}
  .kayrra-content .eyebrow,.kayrra-content h3,.kayrra-content>p,.kayrra-link,.kayrra-audio{grid-column:1;grid-row:auto}
  .kayrra-audio{margin-top:30px}
  .workshop .section-intro{margin-bottom:100px}
}
@media(max-width:600px){
  .wrap{width:min(100% - 34px,1240px)}
  .section-pad{padding:76px 0}
  .hero{background-position:59% center}
  .hero:before{background:linear-gradient(90deg,rgba(5,26,20,.91),rgba(6,29,23,.63)),linear-gradient(0deg,rgba(5,24,19,.45),transparent 55%)}
  .hero-grid{padding:66px 0 60px}
  .hero h1{font-size:clamp(3.15rem,12vw,4.6rem)}
  .hero-lead{font-size:1.08rem}
  .hero-art{min-height:260px;justify-content:center;padding:0}
  .hero-art:before{width:245px;height:267px}
  .hero-caption{right:0;bottom:0;font-size:.61rem}
  .stats-inner{display:grid;grid-template-columns:1fr;padding:22px 0}
  .stat,.stat:first-child{border:0;border-bottom:1px solid #94b39b5a;padding:15px 4px}
  .stat:last-child{border:0}
  .section-intro h2{font-size:clamp(2.6rem,10vw,3.5rem)}
  .case-grid{display:grid;grid-template-columns:1fr;gap:28px}
  .case-story,.case-figure,.case-aside{grid-column:auto;grid-row:auto}
  .case-figure{min-height:460px}
  .case-figure img{min-height:460px}
  .case-aside{padding:28px}
  .module-nav{grid-template-columns:minmax(0,1fr)}
  .module-tab{padding:12px 16px}
  .module-tab span{display:inline;margin-right:9px}
  .module-head h3{font-size:2.55rem}
  .practice{padding:23px}
  .review-transition{padding:30px 23px;margin-top:58px}
  .review-transition h3{font-size:2.5rem}
  .review-transition-path{gap:4px;padding:13px 8px}
  .review-transition-path span{font-size:.68rem}
  .review-transition-path b{font-size:1.35rem}
  .assessment-result{padding:28px;flex-direction:column-reverse;align-items:flex-start;gap:24px}
  .assessment-grade{flex:none;width:145px;aspect-ratio:1}
  .assessment-grade strong{font-size:3.4rem}
  .assessment-pending{flex:none;width:110px;aspect-ratio:1}
  .assessment-actions{flex-direction:column;width:100%}
  .assessment-actions .button{width:100%}
  .workshop:before{height:490px;background-position:62% center}
  .workshop .section-intro{margin-bottom:95px}
  .workshop .section-intro h2{font-size:2.85rem}
  .interactive-box{padding:25px}
  .reflection-grid{gap:35px}
  .kayrra-feature{margin-top:56px}
  .kayrra-photo figcaption{padding:9px 18px}
  .kayrra-content{padding:27px 23px 30px}
  .kayrra-content h3{font-size:2.75rem}
  .kayrra-audio{padding:23px;margin-top:26px}
  .envelope{padding:25px}
  .envelope-inner{padding:22px;margin-top:36px}
  .envelope-detail-grid{grid-template-columns:1fr;gap:16px}
  .envelope-poster figcaption{padding:12px}
}
@media(prefers-reduced-motion:reduce){
  .nav a:after,.header-action,.button,.module-tab,.choice{transition:none}
}
@media print{.hero,.case-figure{background:none!important}}
