/* Hero and vision are independent presentation layers for future WP patterns. */
.button,.header-aula,.outline-button{border-radius:28px 24px 27px 23px / 25px 27px 23px 26px}
.button{padding:18px 25px;box-shadow:inset 0 1px 0 #ffffff18,0 7px 17px -13px #243a2b80}
.button:hover,.outline-button:hover{border-radius:23px 28px 24px 29px / 27px 23px 28px 24px}
.tiwaz-icon{display:block;flex:none;width:16px;height:28px;color:inherit;fill:currentColor}
.header-aula .tiwaz-icon{width:11px;height:21px}
.name-field button{display:grid;place-items:center;border-radius:21px 18px 23px 17px}
.hero{min-height:min(940px,100svh);padding-bottom:105px}
.hero-object{width:min(100%,600px);margin-block:16px 35px}
.hero-object::before{opacity:.45}
.hero-orbit.orbit-one{inset:0;border-color:#aca59070}
.hero-orbit.orbit-two{inset:8%;border-color:#aba38b5c}
.hero-orbit.orbit-three{inset:18%;border-color:#a49a8363}
.hero-rune-orbit{position:absolute;inset:0;z-index:2;animation:runes-orbit 48s linear infinite;will-change:transform}
.hero-orbit-glyph{position:absolute;width:40px;height:50px;margin:-25px 0 0 -20px;color:#647458}
.hero-orbit-glyph:nth-child(3n){color:#aa6d43}
.hero-orbit-glyph svg{width:100%;height:100%;animation:runes-counter 48s linear infinite}
@keyframes runes-orbit{to{transform:rotate(-360deg)}}
@keyframes runes-counter{to{transform:rotate(360deg)}}
.mineral{width:73%;border-radius:47% 53% 44% 56%/52% 44% 56% 48%;background:radial-gradient(circle at 33% 26%,#f0eadd 0%,#ded4bf 42%,#b8aa8e 100%);box-shadow:0 42px 72px -30px #5b4a2f66,inset -20px -30px 60px #8f7f643d,inset 20px 20px 40px #fffdf277;overflow:visible}
.mineral::after,.mineral-grain{display:none}
.hero-rune{width:31%;height:45%;color:#a39273;fill:currentColor;filter:drop-shadow(-1px -1px .5px #78684b88) drop-shadow(2px 2px .5px #fffcf3);transform:rotate(6deg)}
.brand-satellite{width:clamp(120px,11vw,158px);right:0;bottom:-2%;z-index:4;background:#eee6d8}
.hero-art-label{position:absolute;bottom:-54px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:13px;width:100%;font:italic 500 clamp(21px,1.85vw,27px)/1.2 var(--display);letter-spacing:0;text-transform:none;transform:none;color:#4c6046;text-align:center}
#hero-phrase{display:block;transition:opacity .22s,transform .22s;min-width:310px}
#hero-phrase.changing{opacity:0;transform:translateY(7px)}
.motion-toggle{display:grid;place-items:center;flex:none;width:29px;height:29px;background:transparent;border:1px solid #8d927f;color:#3e5a3a;border-radius:48% 52% 45% 55%;font:500 12px/1 var(--text);padding:0}
.hero-paused .hero-rune-orbit,.hero-paused .hero-orbit-glyph svg,.hero-paused .mineral,.hero-paused .brand-satellite,.hero-paused .orbit-two,.hero-offscreen .hero-rune-orbit,.hero-offscreen .hero-orbit-glyph svg,.hero-offscreen .mineral,.hero-offscreen .brand-satellite,.hero-offscreen .orbit-two{animation-play-state:paused}

.vision{height:auto;padding:90px var(--gutter);background:#dce7d5}
.vision .vision-inner{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:4vw;align-items:center;max-width:1600px}
.vision-copy{min-width:0}
.vision-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #93a58b;padding-bottom:18px}
.vision-counter{font:500 9px var(--text);letter-spacing:.18em;color:#3e5a3a}
.vision .vision-stage h2{font-size:clamp(48px,5.25vw,82px);line-height:.95;letter-spacing:-.045em;margin:30px 0 0;color:#1e392e}
.vision-stage p{max-width:505px;font-size:16px;line-height:1.8;color:#304b39;margin:27px 0 0}
.vision-stage{padding-bottom:35px}
.vision-stage+.vision-stage{padding-top:35px;border-top:1px solid #b4c4aa}
.vision-art{height:min(80vh,720px);position:relative;min-width:0}
.vision-art::before{content:"";position:absolute;inset:14% 3% 3%;border-radius:50%;background:radial-gradient(ellipse,#f4efd84a,transparent 65%);pointer-events:none}
.vision-roots{position:absolute;inset:0 0 24px;width:100%;height:calc(100% - 24px);max-width:100%;overflow:visible;transform-origin:50% 20%}
.vision-roots path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.root-ghost path{stroke:#436649;opacity:.075}
.root-growth path{stroke:#436649}
.root-growth{filter:drop-shadow(0 1px 0 #f7faecaa)}
.root-signs{color:#97532a}
.vision-art-note{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#4d6647}
.vision-meter{display:none;gap:10px;margin-top:24px}
.vision-meter i{flex:1;height:2px;background:#adbea3;position:relative;overflow:hidden}
.vision-meter i::after{content:"";position:absolute;inset:0;background:#496540;transform:scaleX(var(--step,0));transform-origin:left}
.vision.motion-ready{height:280svh;padding:0 var(--gutter)}
.vision.motion-ready .vision-inner{position:sticky;top:0;height:100svh;padding:112px 0 42px}
.vision.motion-ready .vision-copy{display:flex;flex-direction:column;justify-content:space-between;min-height:570px}
.vision.motion-ready .vision-stages{position:relative;min-height:450px}
.vision.motion-ready .vision-stage{display:none;padding:0;border:0}
.vision.motion-ready .vision-stage.is-active{display:block;animation:vision-read .45s cubic-bezier(.2,.7,.2,1) both}
.vision.motion-ready .vision-meter{display:flex}
.vision.motion-ready .root-growth path{stroke-dasharray:1;stroke-dashoffset:1}
.vision.motion-ready .root-signs use{opacity:0}
@keyframes vision-read{from{opacity:0;transform:translateY(18px);clip-path:inset(0 0 5% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(max-width:1080px){.hero-object{width:100%}.hero-art-label{font-size:22px}#hero-phrase{min-width:0}.vision.motion-ready .vision-copy{min-height:530px}.vision.motion-ready .vision-stages{min-height:410px}.vision .vision-stage h2{font-size:clamp(48px,5.7vw,70px)}}
@media(max-width:850px){.hero{padding-bottom:90px;min-height:0}.hero-object{width:min(87%,560px);margin:35px auto 50px}.vision{padding:70px var(--gutter)}.vision .vision-inner{grid-template-columns:1fr;gap:15px}.vision.motion-ready .vision-inner{padding-top:95px;padding-bottom:22px;grid-template-rows:auto minmax(0,1fr)}.vision.motion-ready .vision-copy{min-height:0;display:block}.vision.motion-ready .vision-stages{min-height:345px}.vision .vision-stage h2{font-size:clamp(44px,6.9vw,65px);max-width:690px;margin-top:23px}.vision-stage p{font-size:14px;max-width:600px;margin-top:18px}.vision-art{height:min(38svh,370px);width:min(90%,460px);justify-self:center}.vision-meter{margin-top:16px}.vision-art-note{bottom:-3px}.vision.motion-ready{height:270svh}}
@media(max-width:580px){.hero{padding-bottom:65px}.hero-object{width:100%;margin-top:20px;margin-bottom:56px}.hero-actions{margin-top:22px}.hero-scroll{margin-top:24px}.hero-orbit-glyph{width:30px;height:38px;margin:-19px 0 0 -15px}.hero-art-label{font-size:22px;bottom:-61px;gap:8px;min-height:32px}.brand-satellite{width:72px;bottom:-5%;right:1%}.hero-rune{width:30%;height:45%}.button{padding:16px 22px}.header-aula{padding:9px 12px}.header-aula .tiwaz-icon{width:9px;height:17px}.vision.motion-ready .vision-inner{padding-top:94px;padding-bottom:20px;gap:10px}.vision-topline{padding-bottom:11px}.vision-topline .eyebrow{font-size:8px;gap:9px}.vision-counter{font-size:8px}.vision .vision-stage h2{font-size:clamp(40px,10.8vw,48px);line-height:.96;margin-top:20px}.vision.motion-ready .vision-stages{min-height:310px}.vision-stage p{font-size:12px;line-height:1.75;margin-top:18px}.vision-art{height:min(32svh,270px);width:90%}.vision-art-note{font-size:8px;bottom:-4px}.vision-meter{margin-top:10px}}
@media(max-height:730px) and (min-width:851px){.vision.motion-ready .vision-copy{min-height:470px}.vision.motion-ready .vision-stages{min-height:360px}.vision .vision-stage h2{font-size:58px}.vision-stage p{font-size:14px}.vision-art{height:75vh}}
@media(prefers-reduced-motion:reduce){.hero-rune-orbit,.hero-orbit-glyph svg,.mineral,.brand-satellite,.orbit-two{animation:none!important}.motion-toggle{display:none}#hero-phrase{transition:none}.vision.motion-ready{height:auto;padding:70px var(--gutter)}.vision.motion-ready .vision-inner{position:static;height:auto;padding:0}.vision.motion-ready .vision-stage{display:block!important;animation:none;padding-block:25px}.vision.motion-ready .vision-stages{min-height:0}.vision-meter{display:none!important}.vision.motion-ready .root-growth path{stroke-dashoffset:0!important}.vision.motion-ready .root-signs use{opacity:1!important}}
@media(max-width:850px){.vision-art-note{display:none}}
@media(max-width:850px){.vision-roots{inset:0;height:100%}}
.brand{font-size:29px;gap:12px}.brand-mark{width:60px;height:60px;flex:none}.brand-mark img{width:100%;height:100%}.brand-satellite img{width:94%;height:94%}
@media(max-width:580px){.brand{font-size:20px;gap:8px}.brand-mark{width:44px;height:44px}.brand-mark img{width:100%;height:100%}.brand-satellite{width:110px;right:0;bottom:-4%}}

/* The supplied seal without perimeter runes remains readable beside the
   wordmark, while the header stays usable on small screens. */
html{scroll-padding-top:94px}
.site-header{height:94px;gap:clamp(15px,2vw,29px)}
.brand{font-size:30px;gap:14px}
.brand-mark{width:78px;height:78px;background:#f3ede1;border:1px solid #d4c8b4;box-shadow:0 2px 8px #54473418}
.brand-mark img{width:100%;height:100%;object-fit:cover}
@media(max-width:1080px){.main-nav{gap:10px}}
@media(min-width:851px) and (max-width:1050px){.main-nav{display:none}.mobile-menu{display:block;margin-left:auto;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;color:var(--moss-deep);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:9px 4px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;top:calc(100% + 25px);right:-8px;width:210px;z-index:80;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 30px #342a1d29;padding:11px 18px}.mobile-menu nav a{display:block;padding:11px 2px;border-bottom:1px solid #e1d9cb;font-size:12px}.mobile-menu nav a:last-child{border:0}.header-aula{margin-left:0}}
@media(max-width:850px){html{scroll-padding-top:78px}.site-header{height:78px}.brand{font-size:23px;gap:9px}.brand-mark{width:58px;height:58px}}
@media(max-width:580px){.site-header{gap:7px}.brand{font-size:19px;gap:7px}.brand-mark{width:54px;height:54px}.brand small{font-size:7px}}

/* An editable WordPress pattern with a local botanical SVG. The tree is
   fully visible without JavaScript; only scroll timing depends on JS. */
.learning{position:relative;background:#173328;color:#f5f1e7;isolation:isolate}
.learning::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 24% 52%,#638b6340,transparent 42%),linear-gradient(90deg,#203c2c77,transparent 65%)}
.learning-sticky{position:relative;max-width:1680px;margin:auto;min-height:760px;padding:110px var(--gutter) 55px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(30px,5vw,90px);align-items:center}
.learning-art{position:relative;width:100%;height:min(74svh,720px);min-height:510px;justify-self:center;filter:drop-shadow(0 25px 35px #071c1255)}
.learning-art::before{content:"";position:absolute;inset:8% 7% 12%;border:1px solid #c9d6bd24;border-radius:50%;transform:rotate(-6deg)}
.learning-art::after{content:"";position:absolute;left:7%;right:7%;bottom:9%;height:1px;background:linear-gradient(90deg,transparent,#c8b9984b 28%,#c8b9984b 72%,transparent)}
.learning-tree{position:absolute;inset:0;width:100%;height:100%;max-width:100%;overflow:visible}
.tree-shadow{fill:#091d143c}
.tree-wood,.tree-root{fill:none;stroke:#d0b68f;stroke-linecap:round;stroke-linejoin:round}
.tree-wood{filter:drop-shadow(1px 2px 0 #0d291b77)}
.tree-root{stroke:#a8845e}
.tree-seed-foliage{fill:#b2d49a;stroke:#e4edc348;stroke-width:.8px}
.tree-leaf{stroke:#e4edc348;stroke-width:.7px;filter:drop-shadow(0 1px 1px #0f2b1580)}
.learning-copy{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:21px 0 26px}
.learning-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #c9d6bd75;padding-bottom:19px}
.learning-topline p{margin:0;color:#e5d6ba;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.learning-counter{white-space:nowrap;color:#bad4ad!important}
.learning-stages{display:flex;flex-direction:column;align-items:stretch;justify-content:center;flex:1;min-height:440px}
.learning-stage{padding:34px 0;border-bottom:1px solid #b7caac45}
.learning-stage:last-child{border-bottom:0}
.learning-stage h2{max-width:770px;margin:0;font-size:clamp(57px,5.15vw,98px);line-height:.95;letter-spacing:-.045em;color:#f6f1e8;text-wrap:balance}
.learning-stage h2 em{color:#b7d39e;font-weight:400}
.learning-steps{display:flex;gap:clamp(15px,2vw,36px);border-top:1px solid #c9d6bd75;padding-top:22px;color:#b4c5ae}
.learning-steps span{font-size:10px;letter-spacing:.06em;white-space:nowrap;opacity:.65}
.learning-steps span.is-active{color:#f5ede0;opacity:1}
.learning-steps span.is-active::before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:#d69461;vertical-align:1px}
.learning.motion-ready{height:290svh}
.learning.motion-ready .learning-sticky{position:sticky;top:0;height:100svh;min-height:0}
.learning.motion-ready .learning-stage{display:none;border:0}
.learning.motion-ready .learning-stage.is-active{display:block;animation:learning-read .52s cubic-bezier(.2,.7,.2,1) both}
@keyframes learning-read{from{opacity:0;transform:translateY(22px);clip-path:inset(0 0 12% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(max-width:850px){.learning-sticky{display:flex;flex-direction:column;min-height:0;padding:102px var(--gutter) 45px;gap:20px}.learning-art{width:min(100%,560px);height:45svh;min-height:300px;flex:none}.learning-copy{width:100%;padding:0;flex:1}.learning-stages{min-height:0}.learning-stage h2{font-size:clamp(50px,8vw,72px)}.learning.motion-ready .learning-sticky{height:100svh}.learning-steps{gap:15px}}
@media(max-width:580px){.learning-sticky{padding:88px 20px 24px;gap:4px}.learning-art{width:min(100%,395px);height:42svh;min-height:240px;max-height:340px}.learning-art::before{inset:6% 4% 10%}.learning-copy{min-height:0}.learning-topline{padding-bottom:10px}.learning-topline p{font-size:8px;letter-spacing:.14em}.learning-stage{padding:24px 0}.learning-stage h2{font-size:clamp(44px,11.6vw,58px);line-height:.96}.learning-steps{padding-top:12px;gap:12px}.learning-steps span{font-size:8px}.learning-steps span.is-active::before{width:5px;height:5px;margin-right:5px}.learning.motion-ready .learning-sticky{height:100svh}}
@media(max-height:730px) and (min-width:851px){.learning-sticky{padding-top:96px;padding-bottom:31px}.learning-art{height:77svh;min-height:0}.learning-stages{min-height:340px}.learning-stage h2{font-size:clamp(58px,5vw,86px)}}
@media(prefers-reduced-motion:reduce){.learning.motion-ready{height:auto}.learning.motion-ready .learning-sticky{position:relative;height:auto;min-height:0}.learning.motion-ready .learning-stage{display:block;animation:none}.tree-wood,.tree-root{stroke-dashoffset:0!important}.tree-leaf{opacity:1!important}}

/* Responsive artwork and a distinct light-and-color cue for each act. */
.learning{transition:background-color .65s ease;background-color:#173328}
.learning[data-act="2"]{background-color:#28432f}
.learning[data-act="3"]{background-color:#463b2e}
.learning::before{background:radial-gradient(ellipse at 28% 42%,#86aa7552,transparent 45%),linear-gradient(90deg,#203c2c55,transparent 65%);transition:opacity .65s ease}
.learning[data-act="2"]::before{background:radial-gradient(ellipse at 63% 48%,#d0a46150,transparent 46%),linear-gradient(90deg,#193c2d44,transparent 65%)}
.learning[data-act="3"]::before{background:radial-gradient(ellipse at 34% 56%,#e0a16c48,transparent 48%),linear-gradient(90deg,#263f2b44,transparent 65%)}
.learning[data-act="2"] .learning-stage h2 em{color:#f3c18a}
.learning[data-act="3"] .learning-stage h2 em{color:#f0bd91}
.learning-tree-mobile{display:none}
.learning-tree{overflow:hidden}
.learning-steps{align-self:flex-start;flex-wrap:wrap;gap:7px 17px;background:#efe9dc;border:1px solid #e1d6c4;border-radius:18px;padding:12px 16px;color:#1e392e;box-shadow:0 10px 25px #091a1236}
.learning-steps span{font-weight:600;color:#1e392e;opacity:1}
.learning-steps span.is-active{color:#9b4d21}
.learning-steps span.is-active::before{background:#b65f2d}
.learning-copy{min-width:0}
.hero-scroll::after{content:"↓";font-size:20px;line-height:1;color:var(--copper)}
.vision-art{height:min(68svh,540px)}
@media(max-width:850px){
  .learning-tree-desktop{display:none}.learning-tree-mobile{display:block}
  .learning-art{height:min(39svh,340px);min-height:0}
  .learning-steps{align-self:stretch;justify-content:space-between;padding:10px 13px}
  .vision-art{height:min(31svh,280px);width:min(80%,390px)}
}
@media(max-width:580px){
  .hero{grid-template-columns:minmax(0,1fr);padding-inline:20px}
  .hero-copy,.hero-actions{min-width:0;max-width:100%}
  .hero-actions .button{width:100%;min-width:0;max-width:100%;gap:12px;padding-inline:18px;font-size:10px;letter-spacing:.08em}
  .hero-scroll{overflow-wrap:anywhere}
  .learning-sticky{padding-top:102px;gap:8px}
  .learning-art{width:min(84%,340px);height:clamp(180px,29svh,255px);min-height:0;max-height:none}
  .learning-stage h2{font-size:clamp(38px,10vw,48px);line-height:.98}
  .learning-steps{gap:5px;padding:9px 10px}
  .learning-steps span{font-size:10px;letter-spacing:0}
  .vision.motion-ready .vision-stages{min-height:min(310px,37svh)}
  .vision-art{height:min(27svh,225px);width:min(76%,320px)}
}
@media(max-width:580px){
  html{scroll-padding-top:68px}
  .site-header{height:60px;display:flex;flex-wrap:nowrap;gap:6px;padding:0 12px}
  .brand{width:auto;height:auto;min-width:0;font-size:clamp(17px,4.5vw,20px);gap:5px;order:0}
  .brand-mark{width:34px;height:34px}
  .brand small{font-size:6px;letter-spacing:.15em}
  .header-aula{order:1;margin-left:auto;padding:7px 9px;font-size:8px;letter-spacing:0;gap:4px;min-height:34px}
  .header-aula .tiwaz-icon{width:8px;height:16px}
  .mobile-menu{order:2;margin-left:0;flex:none}
  .mobile-menu summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 4px;font-size:8px;letter-spacing:0}
  .mobile-menu nav{top:calc(100% + 8px);right:0}
  .hero{padding-top:94px}
  .learning-sticky{padding-top:88px}
}
/* On short handheld and split-screen viewports, all three acts are laid out
   in normal flow. A fixed 100svh stage cannot hold the artwork and copy. */
@media(max-width:850px) and (max-height:720px){
  .learning,.learning.motion-ready,.vision,.vision.motion-ready{height:auto}
  .learning-sticky,.learning.motion-ready .learning-sticky,.vision.motion-ready .vision-inner{position:relative;top:auto;height:auto;min-height:0}
  .learning-sticky{padding-top:calc(112px + 28px);padding-bottom:48px;gap:14px}
  .learning-art{height:clamp(170px,32svh,235px);min-height:0;width:min(78%,350px)}
  .learning-copy{display:block}
  .learning-stages{min-height:0;display:block}
  .learning-stage,.learning.motion-ready .learning-stage{display:block;animation:none;padding:20px 0;border-bottom:1px solid #b7caac45}
  .learning-stage h2{font-size:clamp(36px,7vw,52px);max-width:680px}
  .learning-steps,.vision-meter{display:none}
  .vision{padding:45px var(--gutter)}
  .vision.motion-ready .vision-inner{display:grid;padding:0;gap:18px}
  .vision.motion-ready .vision-copy,.vision.motion-ready .vision-stages{min-height:0}
  .vision-stage,.vision.motion-ready .vision-stage{display:block;animation:none;padding:18px 0;border-bottom:1px solid #b4c4aa}
  .vision-art{height:210px;width:min(70%,330px)}
}
@media(prefers-reduced-motion:reduce){.learning{transition:none}}
