/* GEB Institucional — Bloco 05 · narrativa institucional
   Componentes escopados a .geb-story; preservam o sistema global e o ATS. */
.geb-story{background:var(--paper);color:var(--ink);overflow-x:clip}
.geb-story *{box-sizing:border-box}
.geb-story__container{width:100%;max-width:var(--max);padding-inline:var(--pad);margin-inline:auto}
.geb-story :is(h1,h2,h3){font-family:var(--display);font-weight:700;letter-spacing:-.046em}
.geb-story :is(a,button):focus-visible{outline:3px solid var(--focus-color);outline-offset:4px}
.geb-story__crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-block:21px 6px;font-size:12px;color:#635c53}
.geb-story__crumb a{color:#3b3530;text-underline-offset:5px}
.geb-story__crumb [aria-current="page"]{color:var(--ink);font-weight:700}
.geb-story__kicker{display:flex;align-items:center;gap:12px;margin:0;font-size:11px;font-weight:750;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:#896f43}
.geb-story__kicker:before{content:"";flex:0 0 27px;width:27px;height:2px;background:var(--gold)}
.geb-story__hero{padding-block:clamp(48px,6.2vw,91px) clamp(65px,7.2vw,113px);border-bottom:1px solid var(--line)}
.geb-story__hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(38px,5.5vw,86px);align-items:center}
.geb-story__hero h1{font-size:clamp(44px,5vw,76px);line-height:1.04;letter-spacing:-.058em;margin:22px 0 0}
.geb-story__lead{max-width:680px;margin:25px 0 0;font-size:clamp(17px,1.42vw,21px);line-height:1.7;color:#555149}
.geb-story__buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.geb-story__btn{min-height:52px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--ink);font-size:13px;font-weight:750;line-height:1.4;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.geb-story__btn:hover{transform:translateY(-2px)}
.geb-story__btn--dark{background:var(--ink);color:#fff}
.geb-story__btn--dark:hover{background:#333d35}
.geb-story__btn--outline{background:transparent;border-color:#bcb4a9;color:var(--ink)}
.geb-story__btn--outline:hover{background:#ece5d9}
.geb-story__btn--light{background:#f1e8d8;border-color:#f1e8d8;color:#1d261f}
.geb-story__btn--light:hover{background:white;border-color:white}
.geb-story__visual{display:flex;flex-direction:column;justify-content:space-between;position:relative;isolation:isolate;min-width:0;min-height:420px;padding:clamp(27px,3.1vw,45px);overflow:hidden;border:1px solid #b6a684;background:#27332c;color:#f4f0e7;box-shadow:0 20px 60px rgba(12,20,13,.11)}
.geb-story__visual:before{position:absolute;z-index:-1;content:"";width:85%;aspect-ratio:1;border-radius:50%;border:1px solid #e2c18950;right:-25%;top:8%;box-shadow:0 0 0 40px #e2c1890a,0 0 0 80px #e2c18909}
.geb-story__visual-top,.geb-story__visual-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;line-height:1.6;letter-spacing:.13em;text-transform:uppercase;color:#d7c49a}
.geb-story__visual-bottom{border-top:1px solid #ffffff44;padding-top:20px}
.geb-story__visual-words{font-family:var(--display);font-size:clamp(46px,5.1vw,82px);letter-spacing:-.065em;line-height:1.02}
.geb-story__visual-words span{display:block}
.geb-story__visual-words span:last-child{color:#dfbc7e}
.geb-story__visual--esg{background:#1b3a31;border-color:#365e4d}
.geb-story__visual--esg .geb-story__visual-words{font-size:clamp(88px,12vw,170px);letter-spacing:-.08em}
.geb-story__visual--esg .geb-story__visual-words span{display:inline}
.geb-story__visual--esg .geb-story__visual-words span:last-child{color:#dec58e}
.geb-story__visual--photo{padding:clamp(12px,1.5vw,20px);background:#dfd7c9;border-color:#c9bba8}
.geb-story__visual--photo img{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;object-position:center;display:block;background:#c7bca9}
.geb-story__visual--photo figcaption{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#615746;font-weight:700;margin-top:15px}
.geb-story__section{padding-block:clamp(75px,7.6vw,116px)}
.geb-story__section--cream{background:#f4efe6}
.geb-story__section--white{background:#fff}
.geb-story__section--dark{background:#242f29;color:#fff}
.geb-story__split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.98fr);gap:clamp(44px,7.5vw,110px);align-items:start}
.geb-story__section h2{font-size:clamp(34px,4.05vw,61px);line-height:1.09;letter-spacing:-.05em;margin:21px 0 0}
.geb-story__prose{font-size:16px;line-height:1.85;color:#5b564e}
.geb-story__prose p{margin:0 0 17px}
.geb-story__prose p:last-child{margin-bottom:0}
.geb-story__section--dark .geb-story__prose{color:#d3d8d0}
.geb-story__section--dark .geb-story__kicker{color:#e3c58e}
.geb-story__section--dark h2{color:#fff}
.geb-story__section-head{max-width:850px;margin-bottom:clamp(32px,4vw,56px)}
.geb-story__section-head>p:last-child{margin:18px 0 0;max-width:760px;font-size:16px;line-height:1.8;color:#5c584f}
.geb-story__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.geb-story__card{min-width:0;padding:clamp(25px,3vw,40px);border:1px solid #d7d0c6;background:#fff;min-height:245px}
.geb-story__card-no{font-size:11px;font-weight:750;letter-spacing:.12em;color:#8c7041}
.geb-story__card h3{font-size:clamp(22px,2.2vw,30px);line-height:1.2;margin:37px 0 11px}
.geb-story__card p{font-size:14px;line-height:1.76;color:#5c574f;margin:0}
.geb-story__card a{display:inline-flex;gap:15px;margin-top:18px;align-items:center;font-size:13px;font-weight:700;text-underline-offset:5px}
.geb-story__section--dark .geb-story__card{background:#2d3a31;border-color:#607166}
.geb-story__section--dark .geb-story__card p{color:#d0d9d1}
.geb-story__section--dark .geb-story__card-no{color:#e8c688}
.geb-story__notice{margin-top:26px;padding:22px 27px;border-left:4px solid var(--gold);background:#ebe5da;color:#49433a;font-size:14px;line-height:1.8}
.geb-story__notice strong{color:#171612}
.geb-story__notice--dark{background:#314038;color:#e0e7dd;border-left-color:#d0ae74}
.geb-story__notice--dark strong{color:white}
.geb-story__list{margin:0;padding:0;list-style:none}
.geb-story__list li{padding:18px 0;border-bottom:1px solid #d5cec3;font-size:15px;line-height:1.7}
.geb-story__list li:first-child{border-top:1px solid #d5cec3}
.geb-story__list strong{display:block;font-family:var(--display);font-size:20px;margin-bottom:4px}
.geb-story__section--dark .geb-story__list li{border-color:#637064}
.geb-story__refs{display:grid;gap:12px;margin:23px 0 0;padding:0;list-style:none}
.geb-story__refs a{display:inline-block;min-height:38px;font-size:14px;line-height:1.7;color:#274b3c;text-underline-offset:4px}
.geb-story__final{padding-block:clamp(65px,7.5vw,112px);background:#161e19;color:#fff}
.geb-story__final-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(38px,6vw,85px);align-items:center}
.geb-story__final h2{font-size:clamp(36px,4vw,62px);line-height:1.08;margin:20px 0 0}
.geb-story__final .geb-story__prose{color:#d6dbd4}
.geb-story__final .geb-story__kicker{color:#d9bd82}
.geb-story__final .geb-story__buttons{margin-top:22px}
.geb-story__back{background:#f1ebe1;border-top:1px solid var(--line);padding-block:22px}
.geb-story__back-inner{display:flex;flex-wrap:wrap;gap:14px 30px}
.geb-story__back a{font-size:13px;font-weight:700;text-underline-offset:5px}
@media(max-width:1100px){.geb-story__hero-grid{gap:36px}.geb-story__hero h1{font-size:clamp(42px,5vw,65px)}}
@media(max-width:860px){.geb-story__hero-grid,.geb-story__split,.geb-story__final-grid{grid-template-columns:1fr}.geb-story__hero-grid{gap:40px}.geb-story__visual{min-height:300px;max-width:760px}.geb-story__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.geb-story__visual--esg .geb-story__visual-words{font-size:110px}}
@media(max-width:580px){.geb-story__hero{padding-block:38px 60px}.geb-story__hero h1{font-size:clamp(37px,9.7vw,52px)}.geb-story__lead{font-size:17px}.geb-story__visual{min-height:275px;padding:24px}.geb-story__visual--photo{padding:12px}.geb-story__visual-words{font-size:50px}.geb-story__visual--esg .geb-story__visual-words{font-size:96px}.geb-story__cards{grid-template-columns:1fr}.geb-story__card{min-height:0}.geb-story__card h3{margin-top:27px}.geb-story__buttons{align-items:stretch;flex-direction:column}.geb-story__btn{width:100%}.geb-story__section{padding-block:62px}}
@media(prefers-reduced-motion:reduce){.geb-story__btn{transition:none}.geb-story__btn:hover{transform:none}}
