/* October 2026: shared editorial layout, scoped to the public site. */
.redesign { --purple:#7739c9; --pink:#a647bd; --ink:#2c193c; --muted:#706677; background:#faf9fc; color:var(--ink); }
.redesign main { display:block; }
.redesign a:focus-visible,.redesign button:focus-visible,.redesign input:focus-visible,.redesign textarea:focus-visible { outline:3px solid #8b4dd3; outline-offset:5px; }
.skip-link { position:fixed; top:-100px; left:20px; padding:14px; background:white; color:#351641; z-index:100; }
.skip-link:focus { top:12px; }
.redesign .site-nav { position:relative; top:auto; left:auto; transform:none; display:flex; width:min(1240px,100%); min-height:100px; margin:auto; padding:14px 36px; gap:32px; }
.redesign .brand { margin:0; flex-shrink:0; }
.redesign .brand img { width:106px; filter:none; }
.redesign .nav-links { display:flex; flex-wrap:wrap; gap:24px; justify-content:flex-end; }
.redesign .nav-links > a,.redesign .nav-links > a:not(.button) { display:inline-flex; font-size:13px; color:#63566e; }
.redesign .nav-links > a[aria-current] { color:#7739c9; }
.redesign .nav-links > a[href*="instagram"],.redesign .nav-links > a[href*="youtube"] { display:none; }
.redesign .button { border-radius:12px; background:#783ac6; box-shadow:none; min-height:50px; font-size:13px; padding:14px 23px; font-weight:700; }
.redesign .button:hover { background:#6227ae; box-shadow:0 8px 20px #7739c922; }
.redesign .button--ghost { border:1px solid #d8cede; color:#493257; background:transparent; }
.redesign .button--ghost:hover { background:#eee6f6; }
.redesign .eyebrow { color:#7e489f; font-size:11px; letter-spacing:.13em; line-height:1.6; }
.redesign .hero { min-height:0; background:#f3eef9; overflow:hidden; border-top:1px solid #ece5f0; border-bottom:1px solid #e9e1ef; }
.redesign .hero__content { width:min(1240px,100%); padding:54px 36px 0; grid-template-columns:1.12fr 1fr; gap:24px; align-items:center; }
.redesign .hero__copy { padding-bottom:48px; z-index:2; }
.redesign .hero h1 { width:auto; margin:20px 0; font-size:clamp(40px,4.6vw,66px); font-weight:800; text-transform:none; letter-spacing:-.065em; line-height:1.08; white-space:normal; color:#2c193c; }
.redesign .hero h1 span { color:#7a3dc0; }
.redesign .hero__copy > p { max-width:490px; margin-bottom:26px; font-size:16px; line-height:1.8; color:#706179; }
.redesign .hero__actions { gap:12px; }
.hero-appointment { display:flex; align-items:center; gap:12px; margin-top:30px; }
.appointment-icon { display:grid; place-items:center; width:38px; height:38px; border:1px solid #dcd0e8; border-radius:50%; font-size:25px; color:#76449a; }
.hero-appointment strong,.hero-appointment div > span { display:block; }
.hero-appointment strong { font-size:13px; margin-bottom:5px; font-weight:600; }
.hero-appointment div > span { font-size:11px; color:#74677b; }
.hero-portrait { position:relative; display:flex; align-self:stretch; align-items:flex-end; justify-content:center; min-width:0; }
.portrait-orbit { position:absolute; width:460px; height:460px; max-width:100%; border-radius:50%; background:#e1d3ef; top:45px; }
.portrait-orbit:after { content:''; position:absolute; inset:-20px; border:1px solid #d9c9e9; border-radius:50%; }
.redesign .hero__couple { position:relative; width:100%; height:auto; max-height:500px; object-fit:contain; object-position:bottom; transform:none; filter:none; }
.portrait-tag { position:absolute; right:0; top:15px; z-index:2; padding:10px 16px; border:1px solid #d8c7e8; border-radius:24px; color:#70468c; font-size:11px; transform:rotate(5deg); background:#f9f5fc; }
.portrait-caption { position:absolute; bottom:28px; left:25px; z-index:3; display:flex; align-items:center; gap:12px; padding:14px 22px; border:1px solid #ffffffbb; background:#fffc; backdrop-filter:blur(14px); border-radius:14px; box-shadow:0 12px 30px #3d165718; }
.portrait-caption > span { font-size:32px; color:#8a4fbb; }
.portrait-caption strong,.portrait-caption div > span { display:block; }
.portrait-caption strong { font-size:12px; }
.portrait-caption div > span { font-size:11px; color:#806a8a; margin-top:5px; }
.portrait-caption--whatsapp { max-width:calc(100% - 40px); color:inherit; text-decoration:none; transition:box-shadow .2s,background .2s; }
.portrait-caption__whatsapp-icon { width:30px; height:30px; flex-shrink:0; color:#1b9b55; }
.portrait-caption--whatsapp:hover { background:#fff; box-shadow:0 12px 30px #1b9b5530; }
.portrait-caption--whatsapp:focus-visible { outline:3px solid #1b9b55; outline-offset:4px; }
.redesign .home-baby-cta { width:min(1168px,calc(100% - 48px)); margin:48px auto 0; padding:30px; display:grid; grid-template-columns:100px 1fr 240px; gap:26px; border:1px solid #e8dce8; border-radius:20px; background:#fff7f6; box-shadow:none; text-align:left; }
.baby-home-art img { width:110px; height:165px; object-fit:contain; }
.redesign .home-baby-cta h2 { margin:8px 0 12px; color:#513647; font-size:25px; line-height:1.25; letter-spacing:-1px; }
.redesign .home-baby-cta p { max-width:470px; font-size:13px; line-height:1.8; color:#806b78; }
.text-link { display:inline-flex; align-items:center; gap:14px; font-size:12px; font-weight:700; text-decoration:none; color:#763da8; line-height:1.6; }
.text-link:hover { text-decoration:underline; }
.home-baby-cta .text-link { margin-top:14px; }
.redesign .home-baby-cta__action { grid-column:auto; min-width:0; border-left:1px solid #e9d9e1; padding-left:26px; gap:8px; text-align:left; }
.redesign .home-baby-cta__action > span { margin:0; font-size:11px; font-weight:500; color:#806b78; }
.redesign .home-baby-cta__action strong { font-size:32px; color:#703d74; letter-spacing:-1px; }
.home-baby-cta__action small { font-size:10px; color:#7c6674; margin-bottom:8px; }
.home-baby-progress { grid-column:1 / -1; width:100%; padding-top:4px; }
.home-baby-progress__labels { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; margin-bottom:12px; color:#703d74; font-size:14px; line-height:1.5; }
.home-baby-progress__labels strong { font-weight:700; }
.mini-progress { height:20px; border-radius:999px; overflow:hidden; background:#e4d3e6; }
.mini-progress i { display:block; height:100%; background:#8046b5; border-radius:999px; }
.redesign .home-baby-progress p { max-width:none; margin:10px 0 0; color:#77617a; font-size:12px; line-height:1.6; }
.recent-supporters { width:min(1168px,calc(100% - 48px)); margin:64px auto; scroll-margin-top:25px; }
.supporters-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:30px; }
.supporters-heading h2 { font-family:var(--title); font-size:clamp(25px,3vw,36px); line-height:1.25; letter-spacing:-1.4px; margin:9px 0 0; color:#2c193c; }
.supporters-heading h2 span { display:block; color:#927d9e; font-weight:700; }
.supporters-heading .text-link { flex-shrink:0; }
.supporters-label { display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid #e9e2ee; }
.supporters-label h3 { margin:0; font-size:14px; font-weight:600; }
.supporters-label > span { font-size:10px; color:#6c6173; display:flex; align-items:center; gap:7px; }
.supporters-label i { width:6px; height:6px; background:#469279; border-radius:50%; }
.supporters-grid { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.supporter-card { display:flex; align-items:center; gap:12px; min-width:0; padding:20px 16px; background:white; border:1px solid #e9e2ed; border-radius:14px; }
.supporter-heart { width:36px; height:36px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; background:#f2ebf8; color:#9867b6; font-size:23px; }
.supporter-card div { flex:1; min-width:0; }
.supporter-card strong { display:block; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.supporter-card div > span { display:block; margin-top:6px; font-size:9px; color:#7b6e84; }
.supporter-card b { font-size:12px; color:#79479e; white-space:nowrap; }
.supporters-note { font-size:10px; color:#796d80; line-height:1.8; margin-top:16px; }
.supporters-empty { padding:24px; border:1px dashed #d5c6df; border-radius:14px; color:#73667c; line-height:1.7; font-size:14px; }
.community-intro { width:min(1168px,calc(100% - 48px)); margin:0 auto; padding-top:10px; border-top:1px solid #e9e2ee; }
.community-intro .eyebrow { margin-top:30px; }
.community-intro h2 { margin:10px 0; font-family:var(--title); font-size:clamp(26px,3vw,36px); letter-spacing:-1.4px; }
.community-intro p { color:#7a6b82; font-size:14px; line-height:1.7; }
.redesign .home-community { width:min(1168px,calc(100% - 48px)); margin:0 auto 40px; grid-template-columns:1.5fr 1fr; gap:24px; }
.redesign .live-carousel { margin-top:0; box-shadow:none; border-radius:16px; border-color:#e7deed; }
.redesign .live-carousel__footer { min-height:54px; padding:14px 20px; }
.redesign .reality-poll { margin-top:0; padding:22px; border-color:#e7deed; background:#fff; box-shadow:none; border-radius:16px; }
.redesign .reality-poll h3 { margin:8px 0 18px; font-size:19px; letter-spacing:-.6px; }
.redesign .reality-poll > p { font-size:11px; }
.redesign .follower-comments { padding:28px; background:#f0eaf5; border:0; border-radius:16px; box-shadow:none; min-height:0; }
.redesign .follower-comments h2 { font-size:23px; letter-spacing:-.8px; }
.redesign .follower-comments__viewport { height:auto; min-height:0; max-height:none; overflow:visible; mask-image:none; -webkit-mask-image:none; }
.redesign .follower-comments__track { display:grid; gap:12px; animation:none; transform:none; }
.redesign .follower-comments article { padding:16px; margin:0; border:0; background:#faf8fc; box-shadow:none; }
.redesign .follower-comments article q { font-size:13px; line-height:1.6; }
.redesign .follower-comments article strong { font-size:11px; }
.redesign .follower-comments article small { font-size:9px; }
.redesign .follower-comments > a { display:inline-block; font-size:11px; margin-top:20px; }
.redesign .schedule { width:min(1168px,calc(100% - 48px)); margin:24px auto 56px; border:0; border-radius:20px; background:#352043; padding:34px; box-shadow:none; }
.redesign .schedule h2 { font-size:27px; letter-spacing:-1px; }
.redesign .schedule .eyebrow { color:#d5b7ee; }
.redesign .schedule__badge { border-color:#785b8c; background:transparent; color:#e0c8ee; font-size:10px; }
.redesign footer { margin-top:0; background:#f2edf6; border-top:1px solid #e6dced; padding:36px 24px; color:#73617e; }
.redesign footer img { width:90px; }
.redesign footer p,.redesign footer a,.redesign footer small { color:#73617e; }
.redesign.subpage main { padding-top:28px; }
.redesign.subpage .baby-campaign { border-radius:24px; width:min(1168px,calc(100% - 48px)); padding:36px; }
.redesign.subpage .baby-campaign__intro h2 { font-size:clamp(32px,4vw,48px); letter-spacing:-2px; line-height:1.12; }
.redesign.subpage .baby-campaign__art { top:0; }
.redesign.subpage .donation { padding-top:40px; }
.redesign .donation-card { border-radius:22px; box-shadow:0 20px 50px #43245614; }
.redesign [hidden] { display:none!important; }
.redesign .donation-card { color:#352043; background:#fff; border:1px solid #e4d9ec; }
.redesign .donation-card__head > span { color:#80539c; }
.redesign .donation-card__head strong,.redesign .message-box__head strong { color:#352043; }
.redesign .amount-options button { background:#f7f2fb; color:#65417c; border:1px solid #dfd2e8; }
.redesign .amount-options button.is-active { background:#793fc2; color:#fff; border-color:#793fc2; }
.redesign .amount-field > span,.redesign .text-field > span,.redesign .audio-recorder__label { color:#624b72; }
.redesign .amount-field__control,.redesign .text-field input,.redesign .text-field textarea { background:#faf8fc; border-color:#dcd0e6; color:#352043; }
.redesign .amount-field__control input { color:#352043; }
.redesign .amount-field__control b { color:#80539c; }
.redesign .text-field input::placeholder,.redesign .text-field textarea::placeholder { color:#92839d; }
.redesign .message-box { border-color:#e9e0ef; }
.redesign .message-box__head > span,.redesign .text-field small,.redesign .ranking-consent,.redesign .audio-recorder small,.redesign .terms-note { color:#776581; }
.redesign .audio-recorder { background:#faf7fc; border-color:#e4d8ec; }
.redesign .record-button,.redesign .upload-button,.redesign .audio-preview button { color:#65417c; background:#f0e7f7; border-color:#dcd0e6; }
.redesign .secure-note { color:#5b796e; }
.redesign .ranking-consent { line-height:1.6; }
.redesign .supporter-ranking__list strong { overflow-wrap:anywhere; }
.redesign .baby-progress__track i { min-width:0; }
@media(min-width:901px) { .redesign.subpage .donation { grid-template-columns:.8fr 1.2fr; width:min(1168px,calc(100% - 48px)); padding-inline:0; gap:46px; } .redesign.subpage .donation__copy { order:0; text-align:left; padding-top:22px; } .redesign.subpage .donation__copy ul { margin-left:0; } }
@media(max-width:1050px) { .redesign .hero__actions { flex-direction:column; align-items:flex-start; } .redesign .nav-links { gap:16px; } .supporters-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .redesign .home-baby-cta { grid-template-columns:70px 1fr 210px; gap:20px; padding:24px; } .baby-home-art img { width:80px; } }
@media(max-width:760px) {
 .redesign .site-nav { min-height:88px; padding:12px 24px; gap:20px; align-items:center; }
 .redesign .brand img { width:86px; }
 .redesign .nav-links { gap:10px 16px; }
 .redesign .nav-links > a { font-size:11px; }
 .redesign .nav-links > a[href*="whatsapp"],.redesign .nav-links > a:first-child { display:none; }
 .redesign .nav-links .button { min-height:34px; padding:8px 12px; }
 .redesign .hero__content { grid-template-columns:1fr 1fr; padding:32px 24px 0; gap:12px; }
 .redesign .hero h1 { font-size:40px; }
 .redesign .hero__copy > p { font-size:14px; }
 .redesign .hero__copy { padding-bottom:32px; }
 .portrait-orbit { top:90px; height:280px; }
 .portrait-caption { left:0; bottom:16px; padding:12px; gap:8px; }
 .portrait-caption strong { font-size:10px; }
 .portrait-caption div > span { font-size:9px; }
 .portrait-tag { font-size:9px; top:45px; }
 .redesign .home-baby-cta { grid-template-columns:1fr 210px; gap:24px; }
 .baby-home-art { display:none; }
 .redesign .home-baby-cta h2 { font-size:23px; }
 .redesign .home-community { grid-template-columns:1fr; max-width:none; }
 .supporters-heading { align-items:flex-start; flex-direction:column; gap:16px; }
 .redesign .schedule { flex-wrap:wrap; gap:20px; padding:28px; }
 .redesign .schedule__badge { display:none; }
}
@media(max-width:540px) {
 .redesign .site-nav { padding:12px 20px; gap:15px; }
 .redesign .nav-links { gap:9px 13px; }
 .redesign .nav-links > a[href="nossa-historia.php"] { display:none; }
 .redesign .hero__content { grid-template-columns:1fr; padding:34px 24px 0; gap:0; }
 .redesign .hero__copy { padding-bottom:24px; }
 .redesign .hero h1 { font-size:clamp(36px,10.4vw,54px); }
 .redesign .hero__actions { align-items:stretch; max-width:none; }
 .redesign .hero__copy > p { font-size:15px; }
 .hero-appointment { margin-top:24px; }
 .hero-portrait { width:100%; max-width:340px; margin:auto; height:300px; }
 .redesign .hero__couple { width:auto; max-width:100%; height:300px; }
 .portrait-orbit { top:30px; width:280px; height:280px; }
 .portrait-tag { top:12px; right:-4px; }
 .portrait-caption { left:5px; bottom:16px; }
 .redesign .home-baby-cta { width:calc(100% - 32px); margin-top:24px; grid-template-columns:1fr; padding:24px; gap:24px; }
 .redesign .home-baby-cta__action { justify-self:stretch; border-left:0; border-top:1px solid #e9d9e1; padding:20px 0 0; }
 .recent-supporters { width:calc(100% - 40px); margin:44px auto; }
 .supporters-grid { grid-template-columns:1fr; }
 .supporter-card { padding:18px; }
 .supporter-card strong { font-size:13px; }
 .supporter-card div > span { font-size:10px; }
 .supporter-card b { font-size:13px; }
 .supporters-note { font-size:11px; }
 .community-intro,.redesign .home-community { width:calc(100% - 40px); }
 .redesign .follower-comments { padding:22px; }
 .redesign .schedule { width:calc(100% - 32px); margin-bottom:32px; }
 .redesign .schedule h2 { font-size:24px; }
 .redesign .schedule .button { width:100%; }
 .redesign.subpage .baby-campaign { width:calc(100% - 24px); padding:24px 18px; }
 .redesign.subpage .baby-campaign__art { position:static; }
 .redesign .donation-card { padding:20px; }
 .redesign .amount-options { gap:6px; }
 .redesign .amount-options button { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .redesign *, .redesign *:before,.redesign *:after { animation:none!important; transition:none!important; } }

/* One public header and footer, including donation return/error pages. */
.donation-faq { width:min(1168px,calc(100% - 40px)); margin:48px auto; }
.donation-faq h2 { margin:10px 0 24px; color:#352043; font-family:var(--title); font-size:clamp(24px,3vw,34px); letter-spacing:-1px; }
.donation-faq details { border-bottom:1px solid #e4d9ec; padding:0 4px; }
.donation-faq summary { cursor:pointer; padding:20px 0; color:#523565; font-weight:600; font-size:14px; line-height:1.6; }
.donation-faq summary:focus-visible { outline:3px solid #8b4dd3; outline-offset:3px; }
.donation-faq details p { max-width:850px; margin:0 0 18px; color:#776581; font-size:14px; line-height:1.8; }
.donation-faq details a { color:#7739c9; }
.redesign .follower-comments__viewport { height:430px; min-height:0; overflow-y:auto; }
.redesign .follower-comments__track { display:block; }
.comments-group { display:grid; gap:12px; padding-bottom:12px; }
.comments-group--copy { display:none; }
.redesign .comments-moving .follower-comments__viewport { overflow:hidden; mask-image:linear-gradient(to bottom,transparent,#000 12px,#000 calc(100% - 12px),transparent); }
.redesign .comments-moving .comments-group--copy { display:grid; }
.redesign .comments-moving .follower-comments__track { animation:community-scroll-up 85s linear infinite; will-change:transform; }
.redesign .comments-moving.comments-paused .follower-comments__track,
.redesign .comments-moving .follower-comments__viewport:hover .follower-comments__track,
.redesign .comments-moving .follower-comments__viewport:focus-within .follower-comments__track { animation-play-state:paused; }
.comments-toggle { align-self:flex-start; margin:0 0 14px; padding:8px 12px; border:1px solid #cfbddd; border-radius:8px; background:#faf8fc; color:#714494; font:600 11px var(--body); cursor:pointer; }
@keyframes community-scroll-up { from { transform:translateY(0); } to { transform:translateY(-50%); } }
@media(prefers-reduced-motion:reduce) { .redesign .comments-moving .follower-comments__viewport { overflow-y:auto; mask-image:none; } .redesign .comments-moving .comments-group--copy { display:none; } }
.redesign .site-nav,.redesign.subpage .site-nav { width:min(1240px,100%); background:transparent; box-shadow:none; }
.redesign .site-nav .brand,.redesign.subpage .site-nav .brand { position:static; margin:0; }
.redesign .site-nav .brand img { height:auto; object-fit:contain; }
.redesign .site-nav .nav-links > a { display:inline-flex; align-items:center; min-height:40px; }
.redesign .site-nav .nav-links > a[aria-current="page"] { color:#7739c9; font-weight:800; text-decoration:underline; text-underline-offset:6px; }
.redesign .schedule { display:grid; grid-template-columns:1fr; gap:26px; scroll-margin-top:24px; }
.redesign .schedule h2 { margin:10px 0; }
.redesign .schedule p { line-height:1.8; margin:0; }
.schedule__channels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.schedule__channels a { display:flex; align-items:center; gap:14px; padding:20px; border:1px solid #735c86; background:#ffffff08; border-radius:14px; color:#fff; text-decoration:none; transition:background .2s; }
.schedule__channels a:hover { background:#ffffff14; }
.schedule__channels .channel-icon { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:12px; background:#ffffff12; font-size:24px; font-weight:800; }
.schedule__channels a > span:last-child { margin-left:auto; color:#ddc8ee; }
.schedule__channels strong { display:block; font-size:15px; }
.schedule__channels small { display:block; font-size:11px; margin-top:6px; color:#decfe8; }
.redesign footer > a { display:inline-block; }
.redesign footer img { display:block; height:auto; }
.redesign footer > div { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 24px; }
.redesign.public-status .status-shell { width:min(760px,calc(100% - 40px)); margin:44px auto; min-height:55vh; display:grid; align-content:center; }
.redesign.public-status .status-card { background:white; color:#352043; border:1px solid #e4d9ec; box-shadow:0 12px 35px #4324560d; }
.redesign.public-status .status-card p { color:#706179; }
@media(max-width:760px) {
 .redesign .site-nav { flex-direction:column; gap:8px; padding:16px 20px 12px; }
 .redesign .site-nav .nav-links { width:100%; justify-content:center; gap:2px 16px; }
 .redesign .site-nav .nav-links > a { font-size:12px; }
 .redesign .site-nav .nav-links .button { min-height:36px; }
 .schedule__channels { grid-template-columns:1fr; gap:10px; }
 .schedule__channels a { padding:16px; }
 .redesign .schedule { padding:24px; }
}
