/* Página 09 — Escola das Virtudes · legibilidade desde 320px · Vaticano contemporâneo */
.vi48{--vink:#18374a;--vmid:#355165;--vcream:var(--ap-paper,#fffefa);--vgold:#b48a50;--vline:#d5c4a6;color:var(--vink);font:400 19px/1.73 'Source Sans 3',system-ui,sans-serif;max-width:1240px;margin:0 auto;padding:0 10px 85px;overflow-wrap:anywhere}
.vi48 *{box-sizing:border-box;min-width:0}.vi48 h1,.vi48 h2,.vi48 h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;line-height:1.13;margin:0;color:#132f42}.vi48 h2{font-size:clamp(36px,3.8vw,55px)}.vi48 h3{font-size:clamp(27px,2.7vw,38px)}.vi48 p{font-size:19px;line-height:1.7;color:#344d5c;margin:13px 0 18px}.vi48 button{font:inherit;cursor:pointer;min-height:52px}.vi48 button:disabled{opacity:.45;cursor:not-allowed}.vi48 a{color:#65451d;text-decoration-thickness:1px;text-underline-offset:3px}.vi48 :is(button,a,summary):focus-visible{outline:3px solid #d39a39;outline-offset:4px}.vi48-kicker{display:block;text-transform:uppercase;font-size:14px;letter-spacing:.085em;font-weight:800;line-height:1.5;color:#78531d;margin-bottom:15px}
.vi48-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);min-height:465px;border:1px solid #bd9d64;background:radial-gradient(ellipse at 6% 9%,#244d61,#092438 76%);color:#fff7e8;border-radius:15px;box-shadow:0 19px 49px #0a2e401e;overflow:hidden}.vi48-hero-copy{padding:clamp(30px,5vw,66px);display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.vi48-hero .vi48-kicker{color:#f0d19b}.vi48-hero h1{font-size:clamp(42px,4.2vw,68px);color:#fff9e9;line-height:1.01}.vi48-hero h1 em{color:#edc98e;font-weight:500}.vi48-ornament{letter-spacing:.24em;color:#f1d39b;margin:14px 0 8px}.vi48-hero p{font-size:clamp(19px,1.7vw,22px);line-height:1.62;color:#f6ead4;max-width:650px}.vi48-pills{display:flex;gap:9px;flex-wrap:wrap;margin:11px 0 24px}.vi48-pills span{border:1px solid #c3a573;padding:6px 12px;color:#f9e9d0;border-radius:30px;font-size:16px}.vi48-action,.vi48-controls button:last-child{background:linear-gradient(112deg,#f1d9ad,#c9934d);border:1px solid #b17e3a;color:#122e43!important;border-radius:9px;padding:12px 24px;font-weight:800!important;text-decoration:none;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px}.vi48-action:hover,.vi48-controls button:last-child:hover{filter:brightness(1.035)}.vi48-hero-art{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 18px;background:radial-gradient(ellipse at 50%,#295a6c,#0d3047 77%);border-left:1px solid #bd9d646b}.vi48-arch{height:354px;width:min(100%,310px);border:2px solid #d7b57b;border-radius:160px 160px 11px 11px;padding:14px;box-shadow:0 0 0 11px #d5af6b1a,inset 0 0 0 5px #294f67;overflow:hidden}.vi48-arch img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:150px 150px 4px 4px;border:1px solid #dbbf8b;display:block}.vi48-hero-mark{font:600 12px/1.55 'Cinzel',Georgia,serif;letter-spacing:.08em;margin-top:22px;text-align:center;color:#efdbaf}
.vi48-intro{margin:27px 0 68px;padding:clamp(24px,3vw,40px);background:#f7efdf;border-left:5px solid #b68d4f;border-radius:8px}.vi48-intro h2{max-width:1000px}.vi48-intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr);gap:32px;margin-top:20px;align-items:start}.vi48-intro-grid p{margin:0}.vi48-intro-grid>div{border-left:1px solid #c4aa80;padding-left:25px}.vi48-intro-grid strong{color:#674719;font-size:20px}.vi48-intro-grid>div p{font-size:18px;margin-top:7px}.vi48-section-title{max-width:900px;margin-bottom:26px}.vi48-section-title p{margin-bottom:0}
.vi48-library,.vi48-practice,.vi48-reflect,.vi48-faq{margin:68px 0;scroll-margin-top:22px}.vi48-content-grid{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.35fr);gap:18px;align-items:start}.vi48-selector{display:grid;gap:14px}.vi48-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#eae0ce;border:1px solid #d5c09c;padding:7px;border-radius:10px}.vi48-tabs button{background:transparent;color:#264454;font-weight:800;font-size:16px;padding:9px 8px;border:0;border-radius:7px;line-height:1.22}.vi48-tabs button.is-on{background:#10324a;color:#fff6e6}.vi48-list{display:grid;gap:8px}.vi48-tile{display:flex;align-items:center;gap:12px;text-align:left;border-radius:9px;padding:12px;border:1px solid #d7c5a6;background:#fffefa;color:#183a4e;min-height:79px}.vi48-tile.is-current{background:#f4e7cf;border-color:#a87a39;box-shadow:inset 4px 0 #b38944}.vi48-count{font:700 29px/1 'Cormorant Garamond',Georgia,serif;color:#926730;width:37px;text-align:center;flex-shrink:0}.vi48-tile>span:nth-child(2){flex:1}.vi48-tile strong,.vi48-tile small{display:block}.vi48-tile strong{font-size:20px;line-height:1.25}.vi48-tile small{font-size:15px;color:#526572;line-height:1.32;margin-top:4px}.vi48-tile>span:last-child{font-size:27px;color:#916c35}
.vi48-lesson{background:var(--vcream);border:1px solid #cbb693;padding:clamp(22px,3vw,39px);border-radius:13px;box-shadow:0 12px 37px #0a2a4312;scroll-margin-top:23px}.vi48-lesson h2{font-size:clamp(41px,4vw,61px)}.vi48-subtitle{color:#775126!important;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,2.4vw,31px)!important;font-style:italic;font-weight:600;line-height:1.3!important;margin:10px 0 27px!important}.vi48-info{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f4e9d7;border:1px solid #ddcbaa;padding:17px;margin:0 0 27px}.vi48-info span{font-size:13px;letter-spacing:.06em;color:#7c5727;font-weight:800;display:block}.vi48-info strong{font-size:17px;font-weight:700;display:block;line-height:1.45;margin-top:5px;color:#234557}.vi48-insight{padding:13px 0 15px;font-size:20px!important;line-height:1.65!important;color:#273f4e!important}.vi48-chapter{border-top:1px solid #e1d1b8;margin-top:23px;padding-top:25px}.vi48-chapter>span{font-size:13px;color:#7b5625;font-weight:800;letter-spacing:.07em}.vi48-chapter h3{margin:11px 0}.vi48-chapter p{margin:10px 0}.vi48-chapter-ends{margin-top:34px}.vi48-practice-grid{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(255px,.77fr);gap:18px}.vi48-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px;background:#eee4d3;border:1px solid #ccba9c;padding:9px;border-radius:11px}.vi48-steps button{background:transparent;border:0;color:#254455;font-size:17px;font-weight:800;display:flex;gap:8px;align-items:center;justify-content:center;padding:12px 7px;border-radius:8px}.vi48-steps button.is-on{background:#10334b;color:#fff8e9}.vi48-steps button>span{display:grid;place-items:center;background:#d8c2a0;color:#16374b;font-size:14px;width:28px;height:28px;border-radius:50%;flex-shrink:0}.vi48-steps button.is-on>span{background:#f1d19c}.vi48-practice-copy{background:#fffefa;border:1px solid #cdb999;padding:clamp(23px,3vw,40px);border-radius:11px}.vi48-practice-copy h3{margin:12px 0 17px}.vi48-original-prayer{background:#f7eddd;border-left:4px solid #bf9657;padding:22px;margin:28px 0}.vi48-original-prayer span{display:block;font-weight:800;font-size:14px;letter-spacing:.06em;color:#795424}.vi48-original-prayer p{font:italic 500 clamp(23px,2vw,29px)/1.45 'Cormorant Garamond',Georgia,serif;margin:13px 0 0;color:#284759}.vi48-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.vi48-controls button:first-child{background:#fffefa;border:1px solid #cbb798;border-radius:8px;color:#173d51;padding:10px 18px;font-weight:800}.vi48-action-panel{background:#0c3047;color:#fff8e8;border:1px solid #b99865;border-radius:11px;padding:clamp(23px,2.7vw,36px)}.vi48-action-panel .vi48-kicker{color:#efd09b}.vi48-action-panel h3{color:#fff5e4}.vi48-action-panel ol{padding-left:25px}.vi48-action-panel li{color:#f1e6d3;font-size:18px;line-height:1.62;padding-left:8px;margin:23px 0}.vi48-action-panel li::marker{font-weight:800;color:#eac58e}.vi48-action-panel p{border-top:1px solid #d1bb9867;padding-top:18px;color:#f0e0c7;font-size:17px}
.vi48-reflect-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vi48-questions,.vi48-safety{background:#fffefa;border:1px solid #dac9aa;padding:clamp(24px,3vw,40px);border-radius:11px}.vi48-questions ol{padding-left:26px}.vi48-questions li{font-size:19px;line-height:1.68;margin:19px 0;padding-left:6px}.vi48-questions li::marker{color:#a17c49;font-weight:800}.vi48-safety{background:#f5eddf}.vi48-safety p{font-size:18px}.vi48-week{margin:74px 0;padding:clamp(24px,4vw,48px);background:linear-gradient(115deg,#0b2a41,#164359);border:1px solid #b68f57;border-radius:12px;color:#fff4df}.vi48-week .vi48-kicker{color:#efd29e}.vi48-week h2{color:#fff7e7}.vi48-week>p{max-width:900px;color:#e8dbc6}.vi48-week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:27px}.vi48-week-grid>div{padding:19px;border-radius:8px;border:1px solid #caa97688;background:#ffffff08}.vi48-week-grid span{font:700 30px/1 'Cormorant Garamond',serif;display:block;color:#e5c28a}.vi48-week-grid strong{display:block;margin-top:9px;color:#fff2dd;font-size:20px}.vi48-week-grid p{color:#eee0cc;font-size:16px;line-height:1.6;margin:7px 0 0}.vi48-faq details{border-bottom:1px solid #d5c3a7;padding:19px 8px}.vi48-faq summary{font-size:20px;font-weight:750;color:#173a4d;cursor:pointer;min-height:43px}.vi48-faq details>p{margin-top:12px;max-width:950px}.vi48-sources{border:1px solid #d7c4a2;background:#f8f0e3;padding:clamp(23px,3.6vw,41px);border-radius:11px;margin:65px 0 0}.vi48-sources p{max-width:1000px}.vi48-sources>div{display:grid;gap:12px;margin-top:20px}.vi48-sources a{font-size:19px;font-weight:750;line-height:1.45}.vi48-footer{margin-top:27px;padding:21px;border-top:2px solid #c3a77a;font-size:16px;color:#415865;line-height:1.65}
body.ex-reading-large .vi48 :is(p,li,summary){font-size:22px!important;line-height:1.8!important}body.ex-reading-large .vi48 :is(button,.vi48-tile strong){font-size:20px!important;min-height:56px}body.ex-reading-large .vi48 .vi48-tile small{font-size:18px!important}body.ex-reading-large .vi48 .vi48-hero p{font-size:23px!important}
@media(max-width:1020px){.vi48-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vi48-info{grid-template-columns:1fr}.vi48-hero-art .vi48-arch{height:305px}}
@media(max-width:830px){.vi48-content-grid{grid-template-columns:1fr}.vi48-list{grid-template-columns:repeat(2,minmax(0,1fr))}.vi48-hero{grid-template-columns:1fr}.vi48-hero-art{border-left:0;border-top:1px solid #cdb28380;padding:17px;min-height:185px}.vi48-hero-art .vi48-arch{height:185px;max-width:170px;padding:7px}.vi48-hero-mark{margin-top:12px}.vi48-intro-grid,.vi48-practice-grid,.vi48-reflect-grid{grid-template-columns:1fr}.vi48-intro-grid>div{border-left:0;border-top:1px solid #c4aa80;padding:18px 0 0}.vi48-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.vi48-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vi48{padding:0 3px 65px;font-size:19px}.vi48 h2{font-size:36px}.vi48-hero-copy{padding:29px 22px}.vi48-hero h1{font-size:51px}.vi48-hero p{font-size:19px}.vi48-pills span{font-size:14px}.vi48-intro{margin:19px 0 50px;padding:24px}.vi48-list{grid-template-columns:1fr}.vi48-tabs button{font-size:16px}.vi48-library,.vi48-practice,.vi48-reflect,.vi48-faq{margin:50px 0}.vi48-lesson,.vi48-practice-copy,.vi48-action-panel,.vi48-questions,.vi48-safety,.vi48-sources{padding:23px 19px}.vi48-lesson h2{font-size:44px}.vi48-steps button{font-size:16px;padding:11px 6px}.vi48-week{margin:50px 0;padding:23px}.vi48-week-grid{grid-template-columns:1fr}.vi48-controls button{width:100%}.vi48-hero-art .vi48-arch{height:155px;max-width:146px}.vi48-hero-mark{font-size:11px}}
@media(max-width:355px){.vi48-hero h1{font-size:45px}.vi48 .vi48-steps button{font-size:15px;gap:4px}.vi48-tabs{grid-template-columns:1fr}.vi48-steps button>span{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.vi48 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v0.7.6 · Acabamento editorial no próprio componente vi48.
   Tokens compartilhados do design system original, sem CSS global adicional. */
.vi48 {
  --ap-page-ivory:var(--ap-ivory,#f8f6f0);
  --ap-page-paper:var(--ap-paper,#fffefa);
  --ap-page-gold:var(--ap-gold,#a7793e);
  --ap-page-rule:var(--ap-rule,#ddd5c7);
}
.vi48-hero {
  border-radius:var(--ap-radius-lg,20px);
  box-shadow:0 16px 45px rgba(9,38,56,.13),0 1px 2px rgba(9,38,56,.08);
}
.vi48-hero :where(h1) {text-wrap:balance;letter-spacing:-.02em;line-height:1.05}
.vi48-hero :where(p) {max-width:62ch;line-height:1.65}
.vi48-hero :where(button,a) {text-decoration-thickness:1px;text-underline-offset:4px}
.vi48 :where(button,a,input,textarea,select,summary):focus-visible {outline:3px solid var(--ap-focus,#9b6e2e);outline-offset:3px}
.vi48 :where(input,textarea,select) {accent-color:var(--ap-gold,#a7793e)}
.vi48 :where(h2,h3) {text-wrap:balance}
@media(max-width:600px) {
 .vi48-hero {border-radius:14px}
 .vi48-hero :where(h1) {letter-spacing:-.024em;line-height:1.08}
}

/* Mobile typography: readable, architectural rather than oversized poster text. */
@media(max-width:600px){
 .vi48-hero :where(h1){font-size:clamp(37px,9.8vw,49px);line-height:1.08;overflow-wrap:normal}
 .vi48-hero :where(p){font-size:clamp(16px,4.15vw,19px);line-height:1.6}
}
