/* Finalização de interface v0.3 — extensões não destrutivas à identidade visual aprovada. */
.skip-to-content{position:absolute;left:12px;top:-70px;z-index:3000;padding:12px 20px;background:#f7f3e6;color:#0b2d5b;border:2px solid #0b2d5b;border-radius:8px}.skip-to-content:focus{top:12px}
.monthly-guide{display:grid;gap:19px}.phase-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.phase-tab{display:flex;align-items:center;gap:9px;min-height:49px;background:#fffdf7;border:1px solid #e6d9c5;border-radius:11px;color:#30435b;text-align:left;padding:10px 12px;font-size:12px;font-weight:800;line-height:1.25}.phase-tab span{display:grid;place-items:center;flex:none;height:27px;width:27px;border-radius:8px;background:#f4e8d1;color:#926c27;font-size:11px}.phase-tab.phase-on{background:#0b2d5b;color:#fff;border-color:#0b2d5b}.phase-tab.phase-on span{background:#c9a752;color:#09233d}.phase-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 23px;background:linear-gradient(108deg,#f9efda,#fffcf5);border:1px solid #e8d7b8;border-radius:14px}.phase-heading h3{font-family:var(--serif);font-size:21px;margin:7px 0 6px}.phase-heading p{margin:0;color:#62707a;font-size:13px}.monthly-day-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.monthly-day-grid .day-button{min-height:42px;display:grid;place-items:center}.phase-controls{display:flex;justify-content:space-between;gap:10px}.phase-controls .btn:first-child .icon{transform:rotate(180deg)}.phase-controls .btn:disabled{opacity:.45}
.formation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:21px 0}.formation-card{position:relative;min-height:208px;background:#fffcf6;border:1px solid var(--border);border-radius:16px;padding:25px;display:flex;align-items:flex-start;flex-direction:column;box-shadow:0 6px 22px #2b271908}.formation-index{position:absolute;right:20px;top:14px;font:700 23px var(--serif);color:#d4c19c}.formation-symbol{color:#b68d3e;margin-bottom:13px}.formation-card h3{font:600 17px var(--serif);margin-bottom:7px}.formation-card p{color:#69737e;font-size:13px;flex:1;margin:0 0 15px}.intro-paragraph{margin:20px 0}.intro-paragraph p{margin:0;color:#526174}.library-grid{margin-top:25px}
.faq-landing{text-align:center;background:#faf6ee}.faq-landing h2{text-align:center}.quick-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0}.quick-faq-grid article{text-align:left;padding:27px 25px;background:white;border:1px solid #e9dcc8;border-radius:14px}.quick-faq-grid h3{font:600 16px var(--serif)}.quick-faq-grid p{font-size:13px;color:#65717b;margin-bottom:0}.public-subfooter{background:#061e3b;color:#d5dddf;border-top:1px solid #334d69;padding:15px 0}.public-subfooter>.wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.public-subfooter span{font-size:12px}.public-subfooter nav{display:flex;gap:19px;flex-wrap:wrap;font-size:12px}.public-subfooter a:hover,.legal-footer a:hover{text-decoration:underline;color:#e2bc63}
.legal-main{background:#f9f5ed;min-height:70vh;padding:72px 0}.legal-container{max-width:860px}.legal-container>h1{font-size:clamp(30px,4.5vw,44px);margin-top:11px}.legal-container .section-lead{text-align:left;margin-left:0;font-size:16px}.faq-items{display:grid;gap:11px;margin:36px 0}.faq-item{border:1px solid #e4d9c3;background:#fffdf8;border-radius:14px;overflow:hidden}.faq-item summary{list-style:none;padding:20px 25px;cursor:pointer;color:#0b2d5b;font-weight:900;display:flex;justify-content:space-between;align-items:center;gap:15px}.faq-item summary::-webkit-details-marker{display:none}.faq-item[open] summary .icon{transform:rotate(45deg)}.faq-answer{color:#596978;border-top:1px solid #efe6d7;padding:18px 25px;line-height:1.75}.legal-section{padding:25px 0;border-bottom:1px solid #e8dccb}.legal-section h2{font-size:20px}.legal-section p{color:#566574}.legal-cta{text-align:center;background:#f4ead7;border:1px solid #e7d3ab;padding:34px;border-radius:15px;margin-top:30px}.legal-cta h2{font-size:20px}.legal-footer{background:#0b2d5b;color:white;padding:30px 0}.legal-footer>.wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.legal-footer-links{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}.legal-footer small{font-size:12px;color:#b8c8d6}
/* Better contrast and fluid dimensions in tight mobile viewports */
@media(max-width:1080px){.phase-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.monthly-day-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.formation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.phase-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-day-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.phase-heading{align-items:flex-start;flex-direction:column}.formation-grid,.quick-faq-grid{grid-template-columns:1fr}.legal-main{padding:38px 0}.legal-container{width:min(100% - 36px,860px)}.faq-item summary{padding:17px}.faq-answer{padding:16px}.legal-footer>.wrap{flex-direction:column;align-items:flex-start}}
@media(max-width:400px){.phase-picker{grid-template-columns:1fr 1fr}.phase-tab{padding:8px;min-height:47px;font-size:11px;gap:5px}.monthly-day-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.phase-controls .btn{font-size:11px;padding:9px}.formation-card{padding:20px}.public-subfooter nav{gap:12px}}
@media(prefers-reduced-motion:reduce){.phase-tab,.day-button,.formation-card{transition:none}}
