:root{--paper:#f8f5f0;--cream:#f1e9e1;--ink:#352822;--brown:#805f4d;--copper:#b68a70;--line:#d8c9bd;--white:#fffdfa;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:92px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(128,95,77,.14);position:absolute;z-index:5;top:0;left:0;right:0}.brand{display:flex;align-items:center;gap:13px}.brand-monogram,.footer-brand{font:italic 34px var(--serif);color:var(--brown);letter-spacing:-5px}.brand-name{font-size:11px;letter-spacing:.2em;font-weight:600}.brand-name small{display:block;font-size:8px;font-weight:400;letter-spacing:.19em;color:#8f796b;margin-top:5px}.nav{display:flex;align-items:center;gap:37px;font-size:11px;color:#68584f}.nav a:not(.nav-cta):hover,.text-link:hover{color:var(--copper)}.nav-cta{border:1px solid #b79c8c;padding:13px 18px;letter-spacing:.02em}.nav-cta span,.button span,.text-link span{margin-left:14px}.menu-toggle{display:none}.hero{min-height:760px;height:100vh;max-height:950px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:110px 10% 90px}.hero-copy{position:relative;z-index:1;padding-bottom:25px}.eyebrow,.section-kicker{font-size:9px;letter-spacing:.22em;color:#8c7465;font-weight:600}.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:27px}.eyebrow span{width:25px;height:1px;background:var(--copper)}h1,h2{font:400 var(--serif);letter-spacing:-.035em;margin:0}h1{font-size:clamp(52px,6vw,82px);line-height:1.08}h1 em,h2 em{font-weight:400;color:#a87c63}.hero-description{font-size:14px;line-height:1.9;color:#76665c;max-width:390px;margin:23px 0 30px}.button{display:inline-flex;align-items:center;padding:17px 22px;font-size:10px;letter-spacing:.05em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#594236}.hero-note{display:flex;align-items:center;gap:12px;margin-top:56px;color:#917d70;font-size:9px;letter-spacing:.06em}.note-line{height:1px;width:32px;background:#c7ab98}.hero-art{width:min(100%,475px);aspect-ratio:1;justify-self:center;position:relative;display:grid;place-items:center}.logo-frame{width:80%;aspect-ratio:1;position:relative;z-index:1;mix-blend-mode:multiply}.logo-frame img{width:100%;height:100%;object-fit:contain}.art-orbit{border:1px solid #decec2;border-radius:50%;position:absolute}.orbit-one{inset:0 3% 4% 3%}.orbit-two{inset:10% 0 0 13%;border-color:#e8ddd4}.art-caption{position:absolute;bottom:3%;left:5%;font-size:8px;letter-spacing:.2em;color:#907a6c}.art-caption i{font-style:normal;color:var(--copper);padding:0 5px}.art-index{position:absolute;right:0;top:9%;font-size:8px;letter-spacing:.2em;color:#aa9688;writing-mode:vertical-rl}.hero-bottom{position:absolute;bottom:35px;left:7.2%;right:7.2%;display:flex;justify-content:space-between;color:#9b8779;font-size:8px;letter-spacing:.18em}.hero-bottom a span{padding-left:10px;font-size:12px}.section-pad{padding:120px 12%}.intro{background:var(--white)}.section-kicker{display:flex;gap:14px;align-items:center}.section-kicker span{font:italic 14px var(--serif);color:var(--copper);letter-spacing:0}.intro-content{display:grid;grid-template-columns:1.3fr .7fr;gap:10%;align-items:end;margin-top:49px}.intro h2,.contact h2{font-size:clamp(39px,4.4vw,61px);line-height:1.18}.intro-text p,.care-copy>p,.appointment-detail p,.contact-content p{line-height:1.9;color:#76665c;font-size:13px;margin:0 0 22px}.text-link{font-size:10px;letter-spacing:.05em;border-bottom:1px solid #cdb7a8;padding-bottom:8px}.care{display:grid;grid-template-columns:1fr 1fr;min-height:630px;background:#eee5dc}.care-image{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(56,42,34,.05),rgba(56,42,34,.25))}.image-overlay{position:absolute;inset:0;padding:38px;display:flex;justify-content:space-between;align-items:flex-end;color:white;font-size:9px;line-height:1.7;letter-spacing:.2em}.image-number{font-size:8px}.care-copy{padding:90px 12% 70px 11%;align-self:center}.care-copy h2{font-size:clamp(37px,4vw,53px);line-height:1.14;margin:35px 0 20px}.care-copy>p{max-width:420px}.care-points{margin-top:31px;border-top:1px solid #d4c3b6}.care-points>div{display:flex;gap:20px;border-bottom:1px solid #d4c3b6;padding:16px 0}.care-points>div>span{font:italic 13px var(--serif);color:#a77c63;padding-top:2px}.care-points p{margin:0}.care-points strong,.care-points small{display:block}.care-points strong{font-size:11px;font-weight:500}.care-points small{font-size:10px;color:#8a786c;margin-top:5px}.appointment{background:#795b4a;color:#fbf7f1;padding-top:78px;padding-bottom:38px}.appointment .section-kicker{color:#ddc8b7}.appointment .section-kicker span{color:#e6b999}.appointment-top{display:flex;justify-content:space-between;align-items:center}.appointment-mark{font:italic 42px var(--serif);letter-spacing:-7px;color:#d7b59e;opacity:.8}.appointment-body{display:grid;grid-template-columns:1fr .65fr;gap:10%;align-items:end;padding:75px 0 100px}.appointment h2{font-size:clamp(48px,6vw,77px);line-height:1.1}.appointment h2 em{color:#e5c1a7}.appointment-detail p{color:#eadbd0}.button-light{background:var(--paper);color:var(--ink);margin-top:8px}.button-light:hover{background:white}.appointment-foot{border-top:1px solid rgba(255,255,255,.26);padding-top:17px;display:flex;justify-content:space-between;color:#ddc8b7;font-size:8px;letter-spacing:.18em}.contact{padding-top:100px;padding-bottom:105px;background:var(--white)}.contact-content{margin-top:43px;display:grid;grid-template-columns:1fr .7fr;gap:12%;align-items:center}.contact-content p{max-width:320px}.contact-hint{display:block;color:#9a887c;font-size:9px;margin-top:13px}.contact-hint code{font-family:monospace}.footer{padding:27px 7.2%;display:flex;align-items:center;gap:14px;border-top:1px solid #e4d8cf;color:#806d60}.footer-brand{font-size:30px}.footer div strong,.footer div span{display:block}.footer div strong{font-size:10px;font-weight:500;letter-spacing:.08em}.footer div span{font-size:8px;color:#a08d80;margin-top:4px;letter-spacing:.08em}.footer-note{margin-left:auto;font:italic 16px var(--serif);color:#9a8272}.back-top,.copyright{font-size:8px;letter-spacing:.13em;margin-left:32px}.copyright{color:#a08d80}.menu-toggle{color:inherit}
@media(max-width:850px){.site-header{padding:0 6%;height:78px}.nav{gap:20px}.nav a{font-size:10px}.hero{padding-left:7%;padding-right:7%;min-height:700px}.hero-art{width:100%}.care-copy{padding:70px 8%}.section-pad{padding-left:8%;padding-right:8%}.footer{padding-left:6%;padding-right:6%}.footer-note{display:none}}
@media(max-width: 960px){.site-header{position:absolute}.brand-monogram{font-size:30px}.brand-name{font-size:9px}.menu-toggle{display:flex;width:38px;height:38px;border:1px solid #cdb9aa;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{width:15px;height:1px;background:#725847}.nav{display:none;position:absolute;top:77px;left:0;right:0;padding:25px 7% 29px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:22px}.nav.open{display:flex}.nav-cta{text-align:center}.hero{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:145px 8% 85px}.hero-copy{padding:0}.hero h1{font-size:clamp(51px,13vw,70px)}.hero-description{font-size:13px;max-width:330px}.hero-note{margin-top:32px}.hero-art{width:min(88%,380px);margin:42px auto 12px}.hero-bottom{left:8%;right:8%;bottom:24px;font-size:7px}.hero-bottom a{font-size:7px}.section-pad{padding:78px 8%}.intro-content,.contact-content{grid-template-columns:1fr;gap:25px;margin-top:35px}.intro h2,.contact h2{font-size:46px}.intro-text p,.contact-content p{font-size:12px}.care{grid-template-columns:1fr}.care-image{min-height:400px}.care-copy{padding:65px 8% 70px}.care-copy h2{font-size:43px}.appointment{padding-top:55px;padding-bottom:28px}.appointment-body{grid-template-columns:1fr;gap:26px;padding:56px 0 65px}.appointment h2{font-size:56px}.appointment-detail p{font-size:12px}.appointment-foot{font-size:7px}.footer{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:23px 7%}.back-top{margin:0;grid-column:2}.copyright{margin:0;grid-column:3;grid-row:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Identidade, legibilidade e movimento */
:root {
  --paper: #f8f3ed;
  --ink: #34251e;
  --copper: #8d5743;
  --header-height: 80px;
}
html { scroll-padding-top: calc(var(--header-height) + 16px); }
body { font-size: 16px; }
:focus-visible { outline: 2px solid #9d6249; outline-offset: 5px; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 20; padding: 12px 20px; background: var(--ink); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.reading-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px; z-index: 11; transform: scaleX(0); transform-origin: left; background: #ad7158; pointer-events: none; }
.site-header { position: sticky; top: 0; height: var(--header-height); background: #f8f3edf5; backdrop-filter: blur(14px); }
.brand-name { font-size: 12px; }
.brand-name small { font-size: 9px; color: #755d50; }
.nav a, .button, .text-link { font-size: 13px; }
.nav-cta, .button { border-radius: 3px; }
.nav a[aria-current] { color: var(--copper); text-decoration: underline; text-underline-offset: 6px; }
.hero { min-height: 640px; height: calc(100svh - var(--header-height)); padding-top: 55px; gap: 3%; background: radial-gradient(ellipse at 79% 50%, #eadad0, transparent 55%); }
.hero h1 { font-size: clamp(52px, 5.7vw, 89px); }
h1 em, h2 em { color: #945c47; }
.hero-description, .intro-text p, .care-copy > p, .appointment-detail p, .contact-content p { font-size: 16px; line-height: 1.75; }
.hero-note, .hero-bottom, .art-caption, .section-kicker, .eyebrow { font-size: 11px; color: #795e50; }
.logo-frame { width: 69%; }
.orbit-one { border-color: #ceb1a0; }
.orbit-two { border-color: #ddc3b5; }
.care-image {
  display: grid;
  place-items: center;
  min-height: 430px;
  background: radial-gradient(ellipse at 38% 27%, #a7735b, #523529 85%);
}
.care-art { position: relative; width: min(74%, 460px); aspect-ratio: 1; display: grid; place-items: center; color: #f5dfce; }
.care-art i { position: absolute; inset: 8%; border: 1px solid #f3d2bb85; border-radius: 49% 51% 45% 55%; transform: rotate(var(--angle, 0deg)) scaleX(.76); }
.care-art i:nth-child(2) { --angle: 60deg; }
.care-art i:nth-child(3) { --angle: 120deg; }
.care-art span { font: italic clamp(60px, 10vw, 145px) var(--serif); letter-spacing: -.17em; padding-right: .17em; }
.care-points strong { font-size: 15px; }
.care-points small { font-size: 13px; color: #695548; }
.appointment { background: #50362b; }
.button span, .text-link span { display: inline-block; transition: transform .25s ease; }
.button:hover span, .text-link:hover span { transform: translate(3px, -3px); }
@media (prefers-reduced-motion: no-preference) {
  .hero-copy { animation: enter .75s ease-out both; }
  .hero-art { animation: enter .95s .12s ease-out both; }
  [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
  [data-reveal].visible, [data-reveal]:focus-within { opacity: 1; transform: none; }
  @keyframes enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 960px) {
  :root { --header-height: 70px; }
  .hero { height: auto; min-height: 0; padding-top: 48px; gap: 0; }
  .hero h1 { font-size: clamp(39px, 11.4vw, 68px); }
  .hero-bottom, .art-caption { font-size: 8px; }
  .nav { top: calc(var(--header-height) - 1px); box-shadow: 0 14px 24px #34251e16; }
  .nav a { font-size: 14px; }
  .menu-toggle { width: 44px; height: 44px; }
  .care-image { min-height: 310px; }
  .appointment h2, .intro h2, .contact h2 { font-size: clamp(35px, 10vw, 53px); }
}
@media (max-width: 960px) {
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) .site-header { position: relative; height: auto; flex-wrap: wrap; gap: 16px; padding-block: 14px; }
  html:not(.js) .nav { display: flex; position: static; flex-flow: row wrap; align-items: center; padding: 0; box-shadow: none; border: 0; }
}

/* Tablets keep two columns where both content and artwork fit comfortably. */
@media (min-width: 701px) and (max-width: 960px) {
  .hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    padding: 66px 6% 82px;
  }
  .hero h1 { font-size: clamp(42px, 6.2vw, 60px); }
  .hero-art { width: 100%; margin: 0; }
  .care { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .care-copy { padding: 56px 9%; }
  .intro-content, .contact-content, .appointment-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
    gap: 32px;
  }
  .image-overlay { padding: 24px; }
}

@media (max-width: 960px) {
  .nav { max-height: calc(100dvh - var(--header-height)); overflow-y: auto; gap: 4px; }
  .nav a { display: flex; align-items: center; min-height: 44px; padding: 10px 14px; }
  .nav .nav-cta { justify-content: center; }
  .hero-bottom a, .back-top { display: inline-flex; align-items: center; min-height: 44px; }
  .hero-bottom { align-items: center; }
  .footer {
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 16px;
    padding: 24px 6% 18px;
    background: #f0e6dc;
  }
  .footer-brand { padding-right: 5px; }
  .footer div strong { font-size: 14px; letter-spacing: 0; color: var(--ink); }
  .footer div span { font-size: 11px; letter-spacing: 0; color: #695548; }
  .back-top {
    grid-column: 3;
    grid-row: 1;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid #b79c8c;
    border-radius: 3px;
    color: var(--ink);
    font-size: 12px;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .back-top:hover { background: var(--paper); }
  .copyright {
    grid-column: 1 / -1;
    grid-row: 2;
    border-top: 1px solid #d8c9bd;
    padding-top: 14px;
    font-size: 11px;
    letter-spacing: 0;
    color: #695548;
  }
}

@media (max-width: 700px) {
  .hero-copy { text-align: center; }
  .hero .eyebrow, .hero-note { justify-content: center; }
  .hero-description { margin-inline: auto; }
  .hero h1 br, .intro h2 br, .appointment h2 br, .contact h2 br { display: none; }
  .hero h1 { font-size: clamp(38px, 9.8vw, 60px); }
  .hero .button { width: fit-content; max-width: 100%; }
  .care-copy h2 { font-size: clamp(34px, 9vw, 46px); }
  .appointment-foot { flex-wrap: wrap; gap: 10px 18px; }
}

@media (max-width: 370px) {
  .hero-bottom > span { display: none; }
  .hero-bottom { justify-content: flex-end; }
  .brand-name { letter-spacing: .12em; }
}

/* Keep the three footer groups on one row on compact screens. */
@media (max-width: 960px) {
  .footer {
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, max-content);
    column-gap: clamp(6px, 1.5vw, 14px);
    padding-inline: clamp(12px, 4vw, 36px);
  }
  .back-top { grid-column: 3; grid-row: 1; }
  .copyright {
    grid-column: 4;
    grid-row: 1;
    border-top: 0;
    padding-top: 0;
    max-width: 12ch;
    text-align: right;
  }
}
@media (max-width: 480px) {
  .footer-brand { font-size: 26px; }
  .footer div strong { font-size: 12px; }
  .back-top { padding-inline: 6px; font-size: 11px; white-space: normal; text-align: center; }
  .copyright { max-width: 9ch; }
}

.care-portrait {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
}
@media (max-width: 700px) {
  .care-image { display: block; min-height: 0; }
  .care-portrait { position: static; display: block; height: auto; }
}

.bio { background: var(--cream); padding: clamp(48px, 8vw, 110px) 8%; }
.bio-heading, .bio-copy { max-width: 760px; margin-inline: auto; }
.bio-heading {
  display: grid;
  grid-template-columns: clamp(84px, 16vw, 160px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
  margin-bottom: clamp(26px, 4vw, 44px);
}
.bio-portrait {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
}
.bio h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.12; }
.bio-copy p { color: #665247; font-size: 16px; line-height: 1.75; margin: 0 0 14px; }
.bio-heading .bio-role { color: #794f3d; font-weight: 600; margin: 12px 0 0; }
.bio-copy .bio-lead { font-size: 19px; color: var(--ink); }
.bio h3 { font-size: 17px; margin: 28px 0 8px; }
.bio blockquote { margin: 30px 0 16px; padding-left: 18px; border-left: 2px solid var(--copper); font: italic 25px/1.4 var(--serif); }
.bio-copy .bio-signature { font-size: 14px; }
@media (max-width: 700px) {
  .bio h2 { font-size: clamp(24px, 5.8vw, 38px); }
  .bio-heading .bio-role { font-size: 13px; }
}

.hero-art { top: -16px; }
.publications { background: var(--cream); }
.publications-intro { margin-bottom: 42px; }
.publications h2 { font-family: var(--sans); letter-spacing: .22em; }
.publications p { color: #665247; line-height: 1.7; }
.publications .publications-subtitle { font-size: 19px; font-weight: 600; color: var(--ink); }
.publications h3 { font-size: 22px; margin: 0 0 12px; }
.publication-year { font: 400 29px var(--serif); color: var(--copper); margin: 28px 0 14px; }
.publication-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.publication-featured { grid-template-columns: minmax(0, 1fr); }
.publication-card, .academic-profile { padding: clamp(18px, 3vw, 34px); border: 1px solid var(--line); border-radius: 4px; background: var(--white); }
.publication-card h5 { margin: 0; font-size: clamp(17px, 2vw, 22px); line-height: 1.35; }
.publication-original { font-size: 14px; font-style: italic; }
.publication-meta { font-size: 14px; }
.publications .text-link { display: inline-block; padding-block: 12px; }
.academic-profile { margin-top: 28px; }
.academic-profile p { margin: 4px 0; }
@media (max-width: 700px) {
  .publication-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 701px) {
  .intro-content {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(24px, 5vw, 72px);
  }
  .intro h2 br { display: none; }
}


.bio-portrait-frame {
  position: relative;
  padding: 9%;
}
.bio-portrait-frame .art-orbit { pointer-events: none; }
.bio-portrait-frame .orbit-one { inset: 0 5% 5% 0; }
.bio-portrait-frame .orbit-two { inset: 8% 0 0 8%; }

.bio-heading { max-width: 1040px; container-type: inline-size; }
.bio #bio-title { font-size: clamp(8px, 4.5cqw, 48px); white-space: nowrap; }
.bio-heading .bio-role { margin: 8px 0 0; }
@media (max-width: 480px) {
  .bio-heading { grid-template-columns: clamp(60px, 18vw, 84px) minmax(0, 1fr); }
  .bio #bio-title { font-size: 4.25cqw; }
}

@media (prefers-reduced-motion: no-preference) {
  [data-reveal] { transform: translateY(30px); }
  [data-reveal].visible, [data-reveal]:focus-within { transform: none; }
}

.contact-social { margin-top: 12px; }
.contact-social .text-link { display: inline-flex; align-items: center; min-height: 44px; padding-bottom: 0; }
