.about-page .section { padding-block:104px; }
.about-page .eyebrow { font-size:12px; letter-spacing:.18em; }
.about-page .h2 { font-size:clamp(32px,3.25vw,48px); line-height:1.08; }
.about-hero { position:relative; isolation:isolate; overflow:hidden; padding:100px 0 88px; background:#faf5f0; }
.about-hero-photo { position:absolute; z-index:-2; right:0; top:0; width:43%; height:100%; object-fit:cover; object-position:center 46%; }
.about-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#faf5f0 42%,rgba(250,245,240,.94) 56%,rgba(250,245,240,.25) 75%,transparent 90%); }
.about-hero .page-hero-grid { grid-template-columns:1.2fr .7fr .4fr; gap:48px; align-items:end; }
.about-hero .display { font-size:var(--h1-size); line-height:1.02; max-width:580px; margin-bottom:26px; }
.about-hero .lead { font-family:var(--serif); font-size:18px; line-height:1.65; }
.about-hero .page-hero-aside { padding:0 0 0 26px; font-size:15px; line-height:1.65; border-color:rgba(100,75,65,.14); }
.about-hero .page-hero-aside strong { font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.15; margin-bottom:14px; }
.about-founder .split { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; align-items:stretch; }
.about-founder .media-card { position:relative; aspect-ratio:8/13; min-height:0; overflow:hidden; border-radius:18px; background:var(--cream); }
.about-founder .media-card img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:83% center; }
.about-founder .copy-stack { position:relative; min-width:0; padding:84px 64px 36px; display:flex; flex-direction:column; justify-content:flex-start; background:#fdfaf8; border:1px solid rgba(214,108,132,.32); border-radius:16px; box-shadow:0 12px 36px rgba(70,45,35,.025); }
.about-founder .copy-stack::before,.about-founder .copy-stack::after { content:none; }
.about-founder .letter-frame { position:absolute; inset:0; width:100%; height:100%; margin:0; pointer-events:none; fill:none; }
.about-founder .letter-frame path { vector-effect:non-scaling-stroke; }
.about-founder .letter-frame-ink { stroke:var(--ink); stroke-width:1.5; }
.about-founder .copy-stack>.eyebrow { margin-top:0; }
.about-founder .lead,.about-founder .text-muted { font-size:16px; line-height:1.8; color:#47515a; margin-bottom:0; }
.about-founder .h2 { font-size:clamp(30px,3vw,44px); line-height:1.1; margin-top:26px; margin-bottom:12px; }
.about-founder .signature { position:relative; margin-top:44px; padding-top:4px; padding-right:30px; font-size:14px; }
.about-founder .signature::before { content:none; }
.about-founder .signature strong { font-family:"Segoe Script","Bradley Hand",cursive; font-size:38px; font-weight:400; line-height:1.4; margin-bottom:8px; }
.about-founder .letter-heart { position:absolute; right:0; top:8px; width:32px; height:38px; fill:none; stroke:#eaa3b3; stroke-width:1.5; }
.about-founder .letter-footer { display:flex; align-items:center; gap:20px; margin-top:auto; padding-top:60px; color:#59616a; font-size:10px; letter-spacing:.32em; white-space:nowrap; text-align:center; }
.about-founder .letter-footer::before,.about-founder .letter-footer::after { content:""; height:1px; flex:1; background:rgba(24,33,41,.5); }
.signature { margin-top:28px; color:var(--muted); font-size:15px; line-height:1.6; }
.signature::before { content:""; display:block; width:28px; height:2px; background:var(--pink); margin-bottom:15px; }
.signature strong { display:block; color:var(--ink); }
.about-values { background:#f7eee7; }
.about-values .values-grid { gap:32px; margin-top:52px; }
.about-values .value { border:1px solid rgba(80,60,50,.09); border-radius:18px; padding:32px; background:rgba(255,255,255,.85); transition:transform .24s cubic-bezier(.22,1,.36,1), box-shadow .24s cubic-bezier(.22,1,.36,1), border-color .24s ease, background-color .24s ease; }
.about-values .value:hover, .about-values .value:focus-visible { transform:translateY(-6px); box-shadow:0 18px 38px rgba(70,45,35,.15); border-color:rgba(80,60,50,.18); background:rgba(255,255,255,.97); }
.value-heading { display:flex; align-items:center; gap:20px; margin-bottom:24px; }
.value-heading svg { width:38px; height:38px; flex:none; stroke:var(--pink); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:stroke .24s ease, transform .24s ease; }
.about-values .value:hover .value-heading svg, .about-values .value:focus-visible .value-heading svg { stroke:#b81463; transform:scale(1.06); }
.value-heading h3 { font-family:var(--serif); font-size:28px; font-weight:400; margin:0; }
.about-values .value p { margin:0; font-size:16px; line-height:1.7; color:var(--muted); }
.specialist-intro { align-items:end; gap:80px; }
.specialist-intro .h2 { max-width:530px; }
.specialist-intro .lead { font-size:17px; line-height:1.7; color:var(--muted); margin:0; }
.about-specialists .partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:52px; }
.about-specialists .partner { padding:14px; display:grid; grid-template-columns:clamp(140px,14vw,190px) minmax(0,1fr); gap:20px; border-radius:18px; border:1px solid rgba(24,33,41,.09); background:var(--paper); }
.partner-photo { position:relative; min-height:0; aspect-ratio:3/4; align-self:start; overflow:hidden; border-radius:12px; display:grid; place-items:center; background:linear-gradient(145deg,#f4eae0,#ead8cf); }
.about-specialists .partner-photo>span { font:32px var(--serif); color:#a37872; margin:0; }
.partner-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.partner-photo img[src$="dr-pedro-henrique-alves.webp"] { height:125%; object-position:center top; }
.partner-photo img[src$="dra-josie-velani.webp"] { height:115%; object-position:center top; }
.partner-photo img[src$="nutricionista-viviane-reis-png.webp"] { object-position:center top; }
.partner-photo img[hidden] { display:none; }
.partner-photo.has-photo>span { visibility:hidden; }
.partner-copy { padding-block:12px; }
.about-specialists .partner strong { font:20px/1.25 var(--serif); display:block; }
.about-specialists .partner-copy>span { display:block; color:var(--pink); font-weight:600; font-size:13px; margin-top:8px; }
.about-specialists .partner p { font-size:14px; line-height:1.6; margin:14px 0 0; color:var(--muted); }
.about-page .about-team { position:relative; isolation:isolate; overflow:hidden; background:#cf236d; padding-block:82px; min-height:clamp(680px,46vw,780px); display:flex; align-items:center; }
.about-team-photo { position:absolute; z-index:-2; inset:0 0 0 auto; width:42%; height:100%; object-fit:cover; object-position:center 6%; border-top-left-radius:clamp(40px,6vw,96px); }
.about-team::before,.about-team::after { content:none; }
.about-team .container { display:block; }
.about-team .container>div { max-width:57%; }
.about-team .eyebrow { margin-bottom:24px; }
.about-team .h2 { color:white; max-width:640px; font-size:clamp(2.3rem,3.9vw,3.6rem); line-height:1.22; margin-bottom:26px; }
.about-team-title-line { display:block; }
.about-team p { color:white; line-height:1.65; }
.about-team p:not(.eyebrow) { font-size:1.18rem; line-height:1.75; margin:0; }
.about-team .btn { margin-top:40px; }
@media (max-width:1100px) {
 .about-founder .split { gap:28px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .about-founder .copy-stack { padding:64px 36px 32px; }
 .about-specialists .partner-grid { gap:20px; }
 .about-specialists .partner { grid-template-columns:140px minmax(0,1fr); padding:20px; }
 .partner-photo { min-height:0; aspect-ratio:3/4; width:100%; }
 .about-values .value { padding:26px; }
}
@media (max-width:800px) {
 .about-page .section { padding-block:72px; }
 .about-hero { padding:76px 0 62px; }
 .about-hero .page-hero-grid { grid-template-columns:1.2fr .8fr; gap:32px; }
 .about-hero-photo { width:55%; opacity:.65; }
 .about-hero::after { background:linear-gradient(90deg,#faf5f0 20%,rgba(250,245,240,.85) 60%,rgba(250,245,240,.2)); }
 .about-founder .split { grid-template-columns:1fr; }
 .about-founder .media-card { min-height:0; aspect-ratio:4/5; width:100%; max-width:600px; justify-self:center; }
 .about-founder .copy-stack { width:100%; max-width:600px; justify-self:center; padding:64px 48px 36px; }
 .about-values .values-grid { gap:20px; }
 .value-heading { gap:12px; }
 .value-heading h3 { font-size:24px; }
 .about-values .value { padding:22px; }
 .specialist-intro { gap:32px; }
 .about-specialists .partner { grid-template-columns:1fr; }
 .about-specialists .partner-photo { width:min(100%,220px); justify-self:center; }
 .about-team .container>div { max-width:57%; }
}
@media (max-width:600px) {
 .about-page .section { padding-block:56px; }
 .about-hero { padding:52px 0 0; display:flex; flex-direction:column; }
 .about-hero .page-hero-grid { display:block; }
 .about-hero .display { font-size:var(--h1-size); }
 .about-hero .page-hero-aside { margin:28px 0 34px; max-width:340px; }
 .about-hero-photo { position:relative; order:2; width:100%; height:260px; opacity:1; object-position:center 48%; }
 .about-hero::after { display:none; }
 .about-founder .split { gap:32px; }
 .about-founder .media-card { aspect-ratio:4/5; border-radius:20px; }
 .about-founder .copy-stack { padding:56px 32px 32px; }
 .about-founder .letter-footer { gap:12px; font-size:9px; letter-spacing:.23em; padding-top:44px; }
 .about-founder .copy-stack .h2 { font-size:30px; }
 .about-page .h2 { font-size:34px; }
 .about-values .values-grid,.about-specialists .partner-grid { grid-template-columns:1fr; margin-top:32px; gap:24px; }
 .about-values .value { padding:28px; }
 .specialist-intro { grid-template-columns:1fr; gap:24px; }
 .about-specialists .partner { grid-template-columns:minmax(110px,35%) minmax(0,1fr); gap:20px; padding:16px; }
 .partner-photo { aspect-ratio:3/4; min-height:0; }
 .about-page .about-team { padding-bottom:0; display:flex; flex-direction:column; align-items:stretch; min-height:0; }
 .about-team .container>div { max-width:100%; }
 .about-team-photo { position:relative; display:block; width:100%; height:300px; margin-top:36px; object-position:center 36%; border-top-left-radius:40px; order:2; }
 .about-team::after { display:none; }
}
