/* Campaign chapters. Kept separate from the hero, navigation and media dialog. */
.campaign-section, .imama-section, .doctor-section, .faq-section {
  padding-block: clamp(72px, 7.5vw, 112px);
}
.campaign-section h2, .imama-section h2, .doctor-section h2, .faq-section h2 {
  font-size: clamp(38px, 4.4vw, 64px); line-height: 1.14; letter-spacing: -.045em; text-wrap: balance;
}
.campaign-section .eyebrow, .imama-section .eyebrow, .doctor-section .eyebrow, .faq-section .eyebrow {
  font-size: 10px; letter-spacing: .13em;
}
/* Origin: an editorial story and a dedicated gateway to IMAMA. */
.origin-section { background: radial-gradient(ellipse at 85% 20%,#f1dce443,transparent 55%),#faf7f2; overflow: clip; }
.origin-topline { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #d9c5c8; }
.origin-topline>span { color: #8b6b76; font-size: 8px; letter-spacing: .13em; }
.origin-grid { display: grid; grid-template-columns: 1fr 1.06fr; align-items: center; gap: 70px; margin-top: 40px; }
.origin-kicker { display: block; font-family: var(--serif); font-style: italic; font-size: 21px; color: #92717c; }
.campaign-section .origin-copy h2 { font-size: clamp(45px,4.8vw,70px); line-height: 1.08; letter-spacing: -.05em; text-wrap: initial; margin-top: 17px; }
.origin-copy h2 em { color: #ae5076; }
.origin-copy>p { max-width: 530px; color: #64716b; font-size: 14px; line-height: 1.85; margin-top: 18px; }
.origin-copy>p.origin-lead { color: #385653; font-size: 18px; line-height: 1.65; margin-top: 24px; }
.origin-copy strong { color: #a3496d; font-weight: 600; }
.origin-button { min-height: 48px; margin-top: 26px; background: #a64e70; border-color: #a64e70; color: #fff8f4; font-size: 12px; padding-inline: 24px; }
.origin-button:hover { background: #8c3d5c; border-color: #8c3d5c; }
.origin-stories { position: relative; isolation: isolate; min-width: 0; width: 100%; max-width: 590px; justify-self: end; }
.origin-stories::before { content: ''; position: absolute; z-index: -1; inset: 60px -15px 70px; border-radius: 48% 48% 42% 42%; background: radial-gradient(ellipse at 40% 30%,#f7e9ec,#ead1dc88 65%,#f3e4e86b); border: 1px solid #e7ccd677; transform: rotate(-12deg); }
.origin-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.origin-values>span { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 8px; border: 1px solid #e6d0d8; border-radius: 24px; background: #fff8f3; color: #926175; font-size: 9px; line-height: 1.4; white-space: nowrap; }
.origin-values .icon { width: 14px; height: 14px; stroke-width: 1.2; }
.origin-photo-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 22px; padding-inline: 12px; margin-top: 27px; }
.origin-photo { display: block; min-width: 0; padding: 8px; border: 1px solid #e8dbd6; border-radius: 19px; background: #fffdf8; color: #385653; cursor: zoom-in; text-align: left; box-shadow: 0 15px 32px #74435a16; transition: box-shadow .25s; }
.origin-photo-vere { transform: rotate(-2deg); }
.origin-photo-tiago { margin-top: 52px; transform: rotate(2deg); }
.origin-photo:hover { box-shadow: 0 18px 38px #74435a2b; }
.origin-photo>img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 12px; }
/* Origin institute panel and social channels. */
.origin-institute { position: relative; isolation: isolate; display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 48px; padding: 30px 34px; border: 1px solid #3c6460; border-radius: 24px; background: #284b47; box-shadow: 0 14px 32px #183f3512; }
.origin-institute::after { content: ''; position: absolute; z-index: -1; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(ellipse at 70% 0%,#557b6f55,transparent 70%); }
.origin-institute-brand { display: flex; align-items: center; gap: 24px; min-width: 0; }
.origin-institute-logo { display: grid; place-items: center; width: 174px; padding-right: 24px; border-right: 1px solid #c3d4c533; flex: none; }
.origin-institute-logo img { display: block; width: 100%; height: auto; transition: opacity .2s; }
.origin-institute-logo:hover img { opacity: .8; }
.origin-institute-brand>div>span { display: block; color: #e8b7ca; font-size: 8px; line-height: 1.5; letter-spacing: .1em; }
.origin-institute-brand p { font-family: var(--serif); font-size: 26px; line-height: 1.2; letter-spacing: -.02em; color: #fff6ed; margin-top: 9px; }
.origin-institute-brand p em { color: #efd0dc; }
.origin-institute-actions { display: flex; align-items: center; gap: 24px; flex: none; }
.origin-site-link { display: flex; align-items: center; gap: 13px; min-height: 56px; padding: 10px 16px; border-radius: 13px; border: 1px solid #f1c4d6; background: #f1c4d6; color: #294b47; font-size: 14px; font-weight: 600; transition: background .2s; }
.origin-site-link:hover { background: #fff0f6; }
.origin-site-link small { display: block; font-size: 7px; letter-spacing: .1em; line-height: 1.5; font-weight: 500; margin-bottom: 3px; }
.origin-site-link>.icon { width: 19px; height: 19px; flex: none; }
.origin-site-link>.icon:last-child { width: 12px; height: 12px; }
.origin-socials { display: flex; align-items: center; gap: 10px; }
.origin-socials a { display: flex; flex-direction: column; align-items: center; gap: 7px; color: #f8e4eb; }
.social-glyph { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #c5d2c34d; border-radius: 50%; background: #fff5ed06; transition: background .2s,color .2s,border-color .2s,transform .2s; }
.origin-socials a:hover .social-glyph { background: #f1c4d6; color: #294b47; border-color: #f1c4d6; transform: translateY(-3px); }
.social-icon { display: block; width: 19px; height: 19px; fill: currentColor; stroke: none; }
.social-icon-instagram, .social-icon-youtube { fill: none; stroke: currentColor; stroke-width: 1.7; }
.social-name { font-size: 8px; line-height: 1.4; color: #d8e1d3; }

/* Mixed gallery: six full-frame records per page. */
.moments-section { padding-block: 100px; background: radial-gradient(ellipse at 100% 0%,#52716955,transparent 55%),#203f3d; color: #fff7ee; overflow: clip; position: relative; }
.moments-section::before { content: ''; position: absolute; width: 600px; height: 600px; right: -320px; top: -330px; border: 1px solid #b1c4b327; border-radius: 50%; pointer-events: none; }
.moments-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 50px; margin-bottom: 35px; }
.moments-section .moments-heading h2 { font-size: clamp(43px,4.8vw,68px); margin-top: 22px; line-height: 1.05; letter-spacing: -.05em; }
.moments-heading h2 em { color: #efb9cd; }
.moments-section .eyebrow, .moments-section .section-index { color: #c5d4c5; }
.moments-intro { max-width: 390px; justify-self: end; }
.moments-intro>p { color: #d6dfd1; font-size: 13px; line-height: 1.8; margin-top: 18px; }
.album-label { display: flex; align-items: center; gap: 9px; font-size: 9px; letter-spacing: .1em; color: #edc6d3; }
.album-label .live-dot { width: 5px; height: 5px; background: #e8b0c6; box-shadow: none; }
.album-instruction { display: flex; align-items: center; gap: 10px; font-size: 11px; color: #f1e0ce; margin-top: 18px; }
.album-instruction .icon { width: 14px; height: 14px; }
.moments-album { position: relative; }
.moments-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 340px; gap: 24px; padding: 0; overflow: visible; }
.moment-card { position: relative; isolation: isolate; display: grid; grid-template-rows: 30px minmax(0,1fr) 86px; width: 100%; min-width: 0; height: 100%; margin: 0; border: 1px solid #f5ede630; border-radius: 16px; padding: 0; overflow: hidden; background: #365955; color: #fff7f2; cursor: pointer; text-align: left; box-shadow: 0 10px 24px #0c272630; transition: transform .3s,box-shadow .3s; }
.moments-track>.moment-card[hidden] { display: none; }
/* Captions occupy their own row, keeping faces clear. */
.moment-visual { position: relative; isolation: isolate; grid-row: 2; display: block; min-height: 0; overflow: hidden; background-color: #23423f; background-size: 0 0; background-repeat: no-repeat; }
.moment-visual::before { content: ''; position: absolute; z-index: -1; inset: -20px; background-image: inherit; background-size: cover; background-position: center; filter: blur(18px); opacity: .45; }
.moment-visual img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.moment-card:hover { transform: translateY(-4px); box-shadow: 0 15px 32px #0c272650; }
.moment-top, .moment-play, .moment-bottom { pointer-events: none; }
.moment-top { grid-row: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-inline: 13px; font-size: 8px; letter-spacing: .06em; }
.moment-top>span { font-size: 8px; color: #edc6d3; white-space: nowrap; }
.moment-top>.icon { width: 14px; height: 14px; }
.moment-play { position: absolute; bottom: 98px; left: 13px; display: grid; place-items: center; z-index: 1; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #fff6f4ad; background: #203f3dc9; backdrop-filter: blur(8px); transition: background .3s; }
.moment-play .icon { width: 16px; height: 16px; fill: currentColor; stroke: none; }
.moment-card:hover .moment-play { background: #b76c8de6; }
.moment-bottom { grid-row: 3; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 10px 16px; }
.moment-bottom>em { font-size: 21px; line-height: 1.17; letter-spacing: -.025em; }
.moment-bottom>span { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 8px; letter-spacing: .06em; }
.moment-bottom .icon { width: 13px; height: 13px; flex: none; }
.moment-photo { padding: 0 7px; background: #faf4eb; color: #294746; border: 0; border-radius: 4px; }
.moment-photo .moment-visual { border-radius: 2px; background-color: #b7b5a7; }
.moment-photo .moment-visual::before { opacity: .55; }
.moment-photo .moment-top { padding-inline: 7px; }
.moment-photo .moment-bottom { padding-inline: 10px; }
.moment-photo .moment-bottom>em br { display: none; }
.moment-photo .moment-bottom>span { display: none; }
.album-pagination { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 27px; }
.album-pagination[hidden] { display: none; }
.album-status { color: #c7d4c2; font-size: 11px; }
.album-controls, .album-pages { display: flex; align-items: center; gap: 8px; }
.album-nav-arrow, .album-page-button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #c3d0ba55; border-radius: 50%; background: #fff8f006; color: #f5d5e0; cursor: pointer; font-size: 11px; }
.album-nav-arrow .icon { width: 17px; height: 17px; }
.album-nav-arrow:first-child .icon { transform: rotate(180deg); }
.album-page-button[aria-current="page"], .album-nav-arrow:hover:not(:disabled), .album-page-button:hover { background: #efc3d2; color: #294746; border-color: #efc3d2; }
.album-nav-arrow:disabled { opacity: .3; cursor: default; }
.moments-footer { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-top: 24px; margin-top: 25px; border-top: 1px solid #c3d0ba33; }
.moments-footer>p { color: #bfd0c0; font-size: 8px; letter-spacing: .06em; line-height: 1.7; }
.moments-footer>.text-link { color: #f3c6d7; font-size: 12px; }

/* IMAMA: a quiet sage chapter with the complete official launch invitation. */
.imama-section { position: relative; isolation: isolate; overflow: clip; background: radial-gradient(ellipse at 90% 20%,#f2dce352,transparent 55%),linear-gradient(135deg,#f1f4ee80,transparent 60%),#e6eeea; color: #294746; border-top: 1px solid #cddbd1; }
.imama-section::before { content: ''; position: absolute; z-index: -1; width: 820px; height: 820px; right: -430px; top: -470px; border: 1px solid #92ada329; border-radius: 50%; box-shadow: 0 0 0 65px #92ada30a,0 0 0 66px #92ada31c; pointer-events: none; }
.imama-garden { position: absolute; z-index: -1; width: 380px; height: 380px; left: -170px; bottom: -155px; fill: none; stroke: #87a498; stroke-width: .35; opacity: .22; transform: rotate(-16deg); pointer-events: none; }
.imama-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #b6c9bf80; }
.imama-section .eyebrow, .imama-section .section-index { color: #526d62; }
.imama-topline>span { color: #6e8177; font-size: 8px; letter-spacing: .12em; }
.imama-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; align-items: center; margin-top: 40px; }
.imama-copy { min-width: 0; }
.imama-kicker { display: block; color: #75877c; font-family: var(--serif); font-style: italic; font-size: 19px; }
.imama-section .imama-copy h2 { color: #294746; margin-top: 18px; margin-bottom: 24px; font-size: clamp(42px,4.5vw,64px); line-height: 1.1; text-wrap: initial; }
.imama-copy h2 em { color: #a34d70; }
.imama-copy>p:not(.eyebrow) { max-width: 510px; color: #5c7266; font-size: 14px; line-height: 1.85; margin-top: 16px; }
.imama-copy>p.imama-lead { color: #34594d; font-size: 18px; line-height: 1.6; margin-top: 0; max-width: 420px; }
.imama-copy strong { color: #34594d; }
.imama-support { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 27px 0 0; padding: 23px 0; border-top: 1px solid #b6c9bf80; border-bottom: 1px solid #b6c9bf80; }
.imama-support li { min-width: 0; display: flex; flex-direction: column; gap: 12px; color: #466253; font-size: 11px; line-height: 1.6; }
.imama-support .icon { width: 25px; height: 25px; color: #a75c7b; stroke-width: 1.2; }
.imama-purpose { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.imama-purpose>img { width: 20px; height: 32px; flex: none; }
.imama-purpose p { color: #63796b; font-size: 11px; line-height: 1.8; }
.imama-purpose em { display: block; color: #a34d70; font-size: 24px; line-height: 1.4; margin-top: 4px; }
.imama-copy>.text-link { min-height: 48px; margin-top: 27px; padding: 13px 22px; border: 1px solid #31584d; border-radius: 28px; background: #31584d; color: #fff7ef; font-size: 12px; transition: background .2s,border-color .2s; }
.imama-copy>.text-link:hover { background: #25453b; border-color: #25453b; color: #fff7ef; }
.imama-launch { position: relative; min-width: 0; width: 100%; max-width: 560px; margin: 0; justify-self: end; padding: 12px; border: 1px solid #ffffffd9; border-radius: 24px; background: #fffaf4; box-shadow: 0 24px 60px #31584d14,0 3px 10px #31584d08; }
.imama-launch-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 3px 4px 12px; color: #718074; font-size: 8px; letter-spacing: .09em; text-align: left; }
.imama-launch-heading>span:first-child { display: flex; align-items: center; gap: 9px; }
.imama-launch-heading .live-dot { width: 5px; height: 5px; background: #aa5578; box-shadow: none; }
.imama-launch-image { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 14px; background: transparent; cursor: zoom-in; }
.imama-launch-image>img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 14px; }
.imama-launch-zoom { display: flex; align-items: center; gap: 7px; flex: none; padding: 7px 10px; border: 1px solid #d1ded5; border-radius: 20px; background: #e6eeea; color: #31584d; font-size: 9px; letter-spacing: 0; }
.imama-launch-zoom .icon { width: 13px; height: 13px; }
.imama-launch-image:hover .imama-launch-zoom { background: #d1e0d7; }
.imama-launch-caption { display: grid; grid-template-columns: 78px minmax(0,1fr); gap: 20px; align-items: center; padding: 22px 10px 10px; }
.imama-launch-date { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 82px; border-right: 1px solid #d9ddd2; padding-right: 20px; }
.imama-launch-date strong { color: #a34d70; font-family: var(--serif); font-size: 48px; line-height: 1; font-weight: 400; letter-spacing: -.04em; }
.imama-launch-date>span { color: #7d6b72; font-size: 8px; letter-spacing: .08em; margin-top: 8px; white-space: nowrap; }
.imama-launch-label { display: block; color: #8d6b7c; font-size: 8px; line-height: 1.6; letter-spacing: .06em; }
.imama-launch-caption>div>strong { display: block; color: #31584d; font-family: var(--serif); font-weight: 400; font-size: 25px; line-height: 1.25; letter-spacing: -.025em; margin-top: 5px; }
.imama-launch-caption p { display: flex; align-items: start; gap: 6px; margin-top: 9px; color: #738074; font-size: 10px; line-height: 1.6; }
.imama-launch-caption p .icon { width: 13px; height: 13px; margin-top: 1px; }

.doctor-section { background: #faf7f2; }
.doctor-grid { grid-template-columns: .95fr 1.05fr; gap: 0; align-items: stretch; background: #284b48; border-radius: 30px; overflow: hidden; color: #f9f1e8; }
.doctor-photo { height: auto; min-height: 620px; border-radius: 0; }
.doctor-photo>img { position: absolute; inset: 0; object-position: 50% 28%; }
.doctor-photo::after { inset: 58% 0 0; background: linear-gradient(transparent,#14271eb3); }
.doctor-experience { position: absolute; top: 27px; left: 27px; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 13px 16px; background: #fff8f2ed; color: #345751; border: 1px solid #fff8f2a1; border-radius: 14px; backdrop-filter: blur(10px); }
.doctor-experience strong { font-family: var(--serif); font-size: 33px; font-weight: 400; letter-spacing: -.045em; }
.doctor-experience>span { font-size: 8px; letter-spacing: .09em; line-height: 1.6; }
.doctor-copy { padding: 52px; align-self: center; }
.doctor-copy .eyebrow, .doctor-copy .section-index { color: #c5d5c4; }
.doctor-copy h2 { margin-top: 25px; }
.doctor-copy h2 em { color: #efc1d4; }
.doctor-specialty { font-size: 9px; letter-spacing: .09em; color: #e5c8d4; line-height: 1.8; margin: 24px 0; }
.doctor-copy>p:not(.eyebrow):not(.doctor-specialty) { font-size: 14px; color: #d6e0d3; line-height: 1.85; }
.doctor-signoff { border-color: #c6d5c336; gap: 17px; padding-block: 20px; margin-top: 25px; }
.doctor-signoff .icon, .doctor-signoff em { color: #edbfd0; }
.doctor-signoff>span { font-size: 22px; }
.doctor-copy>.text-link { font-size: 12px; margin-top: 23px; color: #f6e4ec; }
.doctor-watch { position: absolute; z-index: 2; bottom: 26px; left: 26px; right: 26px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 19px; border: 1px solid #fff7f180; border-radius: 14px; background: #294746ad; color: #faf8f4; backdrop-filter: blur(12px); font-size: 10px; cursor: pointer; transition: background .25s; }
.doctor-watch>.icon { width: 18px; height: 18px; flex: none; }
.doctor-watch>.icon:first-child { fill: currentColor; stroke: none; }
.doctor-watch:hover { background: #a36685c7; }

.faq-section { background: #f0ece5; }
.faq-grid { grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.faq-heading { position: sticky; top: 140px; }
.faq-heading h2 { margin-top: 25px; }
.faq-heading>p:not(.eyebrow) { font-size: 14px; line-height: 1.85; }
.faq-heading>.text-link { background: #294d49; color: #fff7ef; padding: 15px 20px; border-radius: 30px; font-size: 12px; }
.faq-list { counter-reset: question; display: grid; gap: 12px; }
.faq-list details { counter-increment: question; border: 1px solid #dcdcd1; border-radius: 19px; background: #fbf8f2; overflow: hidden; transition: background .25s, border-color .25s; }
.faq-list details:first-child { border-top: 1px solid #dcdcd1; }
.faq-list details[open] { border-color: #d0a7bb; background: #f6e8ee; }
.faq-list summary { display: grid; grid-template-columns: 24px minmax(0,1fr) 30px; align-items: center; gap: 13px; padding: 23px; font-size: 14px; line-height: 1.5; }
.faq-list summary::before { content: counter(question,decimal-leading-zero); font-size: 9px; font-weight: 400; color: #a27787; letter-spacing: .05em; }
.faq-plus { width: 29px; height: 29px; border: 1px solid #c1afba7d; border-radius: 50%; }
.faq-plus::before, .faq-plus::after { top: 13px; left: 8px; width: 11px; }
.faq-answer { padding: 0 23px 24px 60px; font-size: 13px; line-height: 1.85; color: #72616b; }
.faq-answer .text-link { font-size: 11px; line-height: 1.7; }

.final-cta { background: #f0ece5; color: #fff4ee; padding-block: 0 75px; }
.final-cta-inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 65px; align-items: center; padding: 65px; border-radius: 32px; text-align: left; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 0% 100%,#608e7866,transparent 60%), linear-gradient(120deg,#224743,#3a5956); }
.final-cta-inner::before { content: ''; position: absolute; z-index: -1; width: 660px; height: 660px; border: 1px solid #c0d2ba2e; border-radius: 50%; left: -420px; top: -100px; box-shadow: 0 0 0 45px #d7dbbe08,0 0 0 46px #d7dbbe0f; }
.final-cta .eyebrow { justify-content: flex-start; font-size: 9px; letter-spacing: .12em; }
.final-cta h2 { font-size: clamp(38px,4.4vw,60px); line-height: 1.15; letter-spacing: -.04em; text-wrap: balance; margin-top: 23px; }
.final-cta .cta-message>p:not(.eyebrow) { font-size: 14px; line-height: 1.85; color: #dce5d6; margin-top: 26px; }
.cta-action-panel { position: relative; padding: 32px 25px; background: linear-gradient(145deg,#fff8f418,#efc6d021); border: 1px solid #fff5f240; border-radius: 24px; text-align: center; box-shadow: inset 0 1px 1px #fff7f524; }
.cta-ribbon { display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid #e6bdce61; border-radius: 50%; background: #ffe9f216; margin: 0 auto 22px; }
.cta-action-label { display: block; color: #e5d6d7; font-size: 8px; letter-spacing: .1em; }
.cta-action-panel h3 { font-family: var(--serif); font-size: 36px; line-height: 1.15; letter-spacing: -.035em; margin-top: 16px; }
.cta-action-panel h3 em { color: #f0c0d3; }
.final-cta .button-light { background: #f3c5d6; border-color: #f3c5d6; color: #294746; min-height: 53px; padding: 15px 20px; width: 100%; font-size: 12px; gap: 9px; margin-top: 25px; }
.final-cta .button-light .button-arrow { margin-left: auto; }
.final-cta .button-light:hover { background: #fff1f6; border-color: #fff1f6; }
.cta-phone { color: #dce4d6; font-size: 10px; line-height: 1.7; }
.cta-flower { opacity: .13; }
.cta-flower-left { left: 35%; bottom: -120px; }
.cta-flower-right { right: -100px; top: -100px; }

.site-footer { background: #1d3d3c; color: #e7ebe0; padding-block: 46px 27px; }
.footer-top { display: grid; grid-template-columns: 170px 1fr 1.3fr auto; gap: 35px; align-items: center; padding-bottom: 32px; }
.footer-top .brand img { width: 154px; }
.footer-top>p { font-size: 11px; color: #d6dfd0; }
.footer-top>p em { color: #e5bbcc; font-size: 17px; }
.footer-location { margin: 0; color: #cbd8c7; font-size: 11px; line-height: 1.8; }
.footer-location .icon { flex: none; color: #d9bcc9; }
.footer-instagram { padding: 12px 15px; border: 1px solid #bdcdbb36; border-radius: 30px; font-size: 11px; }
.footer-bottom { border-color: #bacbb826; color: #b5c6b4; font-size: 10px; line-height: 1.8; }
.footer-bottom>div { gap: 20px; }
.footer-note { color: #bac8b7; font-size: 10px; line-height: 1.8; margin-top: 17px; }
.footer-credit { display: flex; align-items: center; justify-content: center; gap: 16px; padding-top: 24px; margin-top: 24px; border-top: 1px solid #bacbb826; }
.footer-credit>span { color: #b5c6b4; font-size: 11px; }
.footer-credit>a { display: block; padding: 4px; border-radius: 5px; transition: opacity .2s; }
.footer-credit>a:hover { opacity: .8; }
.footer-credit img { display: block; width: 120px; height: auto; }

@media (max-width: 1199px) {
  .doctor-copy { padding: 36px; }
  .doctor-photo { min-height: 630px; }
  .faq-grid { gap: 45px; }
  .final-cta-inner { padding: 44px; gap: 40px; }
  .footer-top { gap: 25px; grid-template-columns: 150px 1fr 1.4fr auto; }
}
@media (max-width: 960px) {
  .doctor-copy { padding: 32px; }
  .doctor-copy h2 { font-size: 44px; }
  .doctor-copy>p:not(.eyebrow):not(.doctor-specialty) { font-size: 13px; }
  .doctor-signoff>span { font-size: 20px; }
  .faq-grid { grid-template-columns: .85fr 1.15fr; gap: 35px; }
  .faq-heading h2 { font-size: 42px; }
  .faq-list summary { padding: 20px 17px; font-size: 13px; gap: 9px; }
  .faq-answer { padding-inline: 50px 20px; }
  .final-cta-inner { padding: 35px; gap: 30px; }
  .cta-action-panel { padding-inline: 19px; }
  .final-cta .button-light { font-size: 10px; padding-inline: 15px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-instagram { justify-self: start; }
}
@media (max-width: 760px) {
  .campaign-section, .imama-section, .doctor-section, .faq-section { padding-block: 64px; }
  .campaign-section h2, .imama-section h2, .doctor-section h2, .faq-section h2 { font-size: clamp(36px,8.5vw,48px); }
  .campaign-section .eyebrow, .imama-section .eyebrow, .doctor-section .eyebrow, .faq-section .eyebrow { font-size: 8px; letter-spacing: .09em; }
  .doctor-grid { grid-template-columns: 1fr; border-radius: 24px; }
  .doctor-photo { min-height: 0; height: 435px; }
  .doctor-photo>img { object-position: 50% 29%; }
  .doctor-experience { top: 22px; left: 22px; }
  .doctor-watch { bottom: 22px; left: 22px; right: 22px; padding: 15px; font-size: 9px; gap: 10px; }
  .doctor-copy { padding: 31px 27px 35px; }
  .doctor-copy h2 { margin-top: 21px; }
  .doctor-copy h2 br { display: initial; }
  .doctor-copy>p:not(.eyebrow):not(.doctor-specialty) { font-size: 13px; }
  .doctor-signoff>span { font-size: 21px; }
  .faq-grid { grid-template-columns: 1fr; gap: 32px; }
  .faq-heading { position: static; }
  .faq-heading h2 { margin-top: 22px; }
  .faq-list summary { font-size: 13px; padding: 20px 17px; }
  .faq-answer { padding: 0 20px 23px; font-size: 13px; }
  .final-cta { padding-block: 0 54px; }
  .final-cta-inner { grid-template-columns: 1fr; gap: 32px; padding: 33px 27px; border-radius: 25px; }
  .final-cta h2 { font-size: clamp(36px,8.9vw,48px); }
  .final-cta .cta-message>p:not(.eyebrow) { font-size: 13px; margin-top: 23px; }
  .final-cta .cta-message>p:not(.eyebrow) br { display: none; }
  .final-cta .eyebrow { font-size: 8px; }
  .cta-action-panel { padding: 27px 22px; border-radius: 21px; }
  .cta-ribbon { width: 62px; height: 62px; margin-bottom: 20px; }
  .cta-action-panel h3 { font-size: 36px; }
  .final-cta .button-light { font-size: 12px; padding-inline: 17px; }
  .site-footer { padding-block: 38px max(84px,calc(72px + env(safe-area-inset-bottom))); }
  .footer-top { grid-template-columns: 1fr; gap: 25px; padding-bottom: 27px; }
  .footer-top>p { font-size: 12px; }
  .footer-top .brand img { width: 155px; }
  .footer-location { font-size: 12px; }
  .footer-bottom { flex-direction: column; gap: 15px; font-size: 10px; }
  .footer-bottom>div { flex-wrap: wrap; gap: 13px 23px; }
  .footer-note { font-size: 10px; }
  .footer-credit { flex-direction: column; gap: 10px; padding-top: 23px; margin-top: 23px; }
}
@media (max-width: 370px) {
  .doctor-photo { height: 370px; }
  .doctor-copy { padding-inline: 24px; }
  .final-cta-inner { padding-inline: 24px; }
  .cta-action-panel { padding-inline: 18px; }
  .final-cta .button-light { font-size: 11px; padding-inline: 12px; }
}

@media (max-width: 960px) {
  .moments-heading { gap: 30px; }
  .moments-track { gap: 20px; grid-auto-rows: 320px; }
  .moment-bottom>em { font-size: 19px; }
  .moment-top, .moment-top>span { font-size: 7px; }
}
@media (max-width: 760px) {
  .moments-section { padding-block: 64px; }
  .moments-heading { grid-template-columns: 1fr; gap: 21px; margin-bottom: 29px; }
  .moments-section .moments-heading h2 { font-size: clamp(40px,11vw,55px); margin-top: 20px; }
  .moments-intro { justify-self: start; max-width: 470px; }
  .moments-intro>p { font-size: 12px; margin-top: 13px; }
  .album-label { font-size: 8px; }
  .album-instruction { font-size: 10px; margin-top: 13px; }
  .moments-track { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 272px; gap: 16px 13px; }
  .moment-card { grid-template-rows: 27px minmax(0,1fr) 90px; border-radius: 12px; }
  .moment-photo { border-radius: 3px; padding-inline: 5px; }
  .moment-top { padding-inline: 8px; font-size: 6px; letter-spacing: 0; gap: 4px; }
  .moment-top>span { font-size: 6px; }
  .moment-photo .moment-top { padding-inline: 5px; }
  .moment-photo .moment-top>.icon { width: 12px; height: 12px; }
  .moment-play { width: 31px; height: 31px; left: 9px; bottom: 99px; }
  .moment-play .icon { width: 12px; height: 12px; }
  .moment-bottom, .moment-photo .moment-bottom { padding: 8px 9px; gap: 7px; }
  .moment-bottom>em { font-size: clamp(15px,4.1vw,19px); }
  .moment-bottom>span { font-size: 6px; letter-spacing: 0; }
  .moment-bottom .icon { width: 11px; height: 11px; }
  .album-pagination { flex-wrap: wrap; gap: 14px; margin-top: 23px; }
  .album-status { font-size: 10px; }
  .album-controls, .album-pages { gap: 6px; }
  .album-nav-arrow, .album-page-button { width: 34px; height: 34px; }
  .moments-footer { flex-direction: column; align-items: start; gap: 15px; margin-top: 23px; padding-top: 21px; }
  .moments-footer>.text-link { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .moment-card { transition: none; }
  .moment-card:hover { transform: none; }
}

@media (max-width: 1199px) {
  .origin-grid { gap: 40px; }
  .origin-photo-pair { gap: 17px; }
  .origin-institute { padding: 26px; gap: 24px; }
  .origin-institute-logo { width: 145px; padding-right: 20px; }
  .origin-institute-brand { gap: 20px; }
  .origin-institute-brand p { font-size: 23px; }
  .origin-institute-actions { gap: 18px; }
  .origin-socials { gap: 8px; }
  .social-glyph { width: 42px; height: 42px; }
}
@media (max-width: 960px) {
  .origin-grid { gap: 32px; }
  .campaign-section .origin-copy h2 { font-size: 43px; }
  .origin-copy>p { font-size: 13px; }
  .origin-copy>p.origin-lead { font-size: 16px; }
  .origin-values { gap: 5px; }
  .origin-values>span { font-size: 7px; padding-inline: 5px; gap: 4px; }
  .origin-values .icon { width: 11px; height: 11px; }
  .origin-photo { padding: 6px; border-radius: 15px; }
  .origin-photo-pair { padding-inline: 7px; gap: 13px; }
  .origin-photo>img { border-radius: 9px; }
  .origin-institute { flex-direction: column; align-items: stretch; gap: 24px; }
  .origin-institute-brand { justify-content: center; }
  .origin-institute-actions { justify-content: space-between; padding-top: 22px; border-top: 1px solid #c3d4c533; }
}
@media (max-width: 760px) {
  .origin-topline { padding-bottom: 18px; }
  .origin-topline>span { display: none; }
  .origin-grid { grid-template-columns: 1fr; gap: 32px; margin-top: 28px; }
  .origin-kicker { font-size: 19px; }
  .campaign-section .origin-copy h2 { font-size: clamp(37px,10vw,55px); margin-top: 14px; }
  .origin-copy>p { max-width: 100%; margin-top: 16px; }
  .origin-copy>p.origin-lead { margin-top: 22px; }
  .origin-button { min-height: 47px; margin-top: 24px; padding-inline: 22px; font-size: 11px; }
  .origin-stories { max-width: 480px; justify-self: center; }
  .origin-stories::before { inset: 60px 0 55px; }
  .origin-values { gap: 6px; }
  .origin-values>span { font-size: 8px; padding: 9px 6px; gap: 5px; }
  .origin-values .icon { width: 12px; height: 12px; }
  .origin-photo-pair { margin-top: 24px; gap: 16px; padding-inline: 8px; }
  .origin-photo-tiago { margin-top: 42px; }
  .origin-institute { margin-top: 32px; padding: 24px 20px; border-radius: 21px; gap: 20px; }
  .origin-institute-brand { justify-content: start; gap: 17px; }
  .origin-institute-logo { width: 128px; padding-right: 17px; }
  .origin-institute-brand>div>span { font-size: 6px; letter-spacing: .06em; }
  .origin-institute-brand p { font-size: 21px; margin-top: 7px; }
  .origin-institute-actions { flex-wrap: wrap; justify-content: center; gap: 20px; padding-top: 20px; }
  .origin-site-link { width: 100%; justify-content: center; min-height: 52px; }
  .origin-socials { width: 100%; justify-content: space-around; gap: 8px; }
  .social-glyph { width: 44px; height: 44px; }
  .social-name { font-size: 9px; }
}
@media (max-width: 370px) {
  .origin-values>span { font-size: 7px; padding-inline: 4px; gap: 4px; }
  .origin-values .icon { width: 10px; height: 10px; }
  .origin-photo-pair { gap: 12px; }
  .origin-institute { padding-inline: 17px; }
  .origin-institute-logo { width: 107px; padding-right: 14px; }
  .origin-institute-brand { gap: 14px; }
  .origin-institute-brand p { font-size: 19px; }
  .origin-institute-brand>div>span { font-size: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .origin-socials .social-glyph { transition: none; }
  .origin-socials a:hover .social-glyph { transform: none; }
}

@media (max-width: 1199px) {
  .imama-grid { gap: 44px; }
  .imama-launch-caption { gap: 16px; padding-inline: 5px; }
  .imama-launch-caption>div>strong { font-size: 23px; }
}
@media (max-width: 960px) {
  .imama-grid { gap: 32px; }
  .imama-section .imama-copy h2 { font-size: 40px; }
  .imama-kicker { font-size: 16px; }
  .imama-copy>p:not(.eyebrow) { font-size: 13px; }
  .imama-copy>p.imama-lead { font-size: 16px; }
  .imama-support { gap: 10px; }
  .imama-support li { font-size: 10px; }
  .imama-purpose p { font-size: 10px; }
  .imama-purpose em { font-size: 22px; }
  .imama-launch-caption { grid-template-columns: 59px minmax(0,1fr); gap: 13px; padding: 17px 2px 5px; }
  .imama-launch-date { padding-right: 13px; min-height: 75px; }
  .imama-launch-date strong { font-size: 42px; }
  .imama-launch-caption>div>strong { font-size: 21px; }
  .imama-launch-label { font-size: 7px; }
  .imama-launch-caption p { font-size: 9px; }
}
@media (max-width: 760px) {
  .imama-topline { padding-bottom: 18px; }
  .imama-topline>span { display: none; }
  .imama-grid { grid-template-columns: 1fr; gap: 34px; margin-top: 28px; }
  .imama-kicker { font-size: 17px; }
  .imama-section .imama-copy h2 { font-size: clamp(38px,10vw,50px); margin-top: 15px; margin-bottom: 21px; }
  .imama-copy>p:not(.eyebrow) { font-size: 13px; }
  .imama-copy>p.imama-lead { font-size: 17px; }
  .imama-support { gap: 12px; margin-top: 23px; padding-block: 20px; }
  .imama-support li { font-size: 10px; gap: 10px; }
  .imama-support .icon { width: 23px; height: 23px; }
  .imama-purpose { margin-top: 21px; gap: 13px; }
  .imama-purpose em { font-size: 24px; }
  .imama-copy>.text-link { margin-top: 23px; font-size: 11px; padding-inline: 20px; }
  .imama-launch { max-width: 480px; justify-self: center; padding: 10px; border-radius: 20px; }
  .imama-launch-heading { font-size: 6px; padding: 1px 2px 11px; gap: 9px; }
  .imama-launch-image { border-radius: 12px; }
  .imama-launch-zoom { font-size: 8px; padding: 6px 8px; gap: 5px; }
  .imama-launch-caption { grid-template-columns: 64px minmax(0,1fr); padding: 19px 5px 7px; gap: 15px; }
  .imama-launch-date { min-height: 80px; padding-right: 15px; }
  .imama-launch-date strong { font-size: 45px; }
  .imama-launch-caption>div>strong { font-size: 23px; }
  .imama-launch-label { font-size: 7px; }
  .imama-launch-caption p { font-size: 9px; }
}
@media (max-width: 370px) {
  .imama-section .imama-copy h2 { font-size: 35px; }
  .imama-support { gap: 8px; }
  .imama-support li { font-size: 9px; }
  .imama-purpose p { font-size: 9px; }
  .imama-purpose em { font-size: 22px; }
  .imama-launch-heading { font-size: 6px; }
  .imama-launch-caption { grid-template-columns: 54px minmax(0,1fr); gap: 12px; padding-inline: 1px; }
  .imama-launch-date { padding-right: 12px; }
  .imama-launch-date strong { font-size: 40px; }
  .imama-launch-caption>div>strong { font-size: 20px; }
  .imama-launch-label { font-size: 6px; }
}
