@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root { --graphite:#242424; --charcoal:#303030; --cream:#ece9e3; --gold:#c6a464; --white:#f6f4ef; --line:rgba(239,231,217,.21); --serif:'Playfair Display',Georgia,serif; --sans:'Manrope',Arial,sans-serif; --mono:'DM Mono',monospace; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-snap-type:y proximity; } body { margin:0; color:var(--cream); background:var(--graphite); font-family:var(--sans); } a { color:inherit; text-decoration:none; } img { display:block; width:100%; height:100%; object-fit:cover; }.skip-link { position:fixed; transform:translateY(-130%); top:1rem; left:1rem; z-index:10; padding:.7rem 1rem; color:var(--graphite); background:var(--white); }.skip-link:focus { transform:translateY(0); }
.site-header { background:#061f2c; border-bottom:1px solid rgba(225,210,184,.34); height:96px; padding:0 clamp(1.2rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; position:fixed; inset:0 0 auto; z-index:5; }.logo { height:90px; display:flex; align-items:center; gap:.95rem; color:#f5eee4; }.logo img { height:84px; width:76px; object-fit:cover; object-position:center; mix-blend-mode:screen; }.logo span { display:grid; gap:.16rem; }.logo strong { font:500 clamp(1.14rem,1.7vw,1.55rem)/1 var(--serif); letter-spacing:-.02em; }.logo small { color:#dfbd78; font:500 .63rem var(--mono); letter-spacing:.13em; text-transform:uppercase; }.site-header nav { display:flex; gap:clamp(1.15rem,3vw,3.2rem); color:#f2eee7; font:600 clamp(.76rem,1vw,.9rem) var(--sans); letter-spacing:.01em; }.site-header nav a { transition:color .2s; }.site-header nav a:hover { color:#e1bd75; }
.screen { min-height:100svh; scroll-snap-align:start; position:relative; }.eyebrow { color:var(--gold); font:500 .61rem var(--mono); letter-spacing:.16em; margin:0 0 1.25rem; }
.about { background:var(--charcoal); display:grid; grid-template-columns:minmax(310px,.86fr) minmax(600px,1.14fr); padding-top:96px; }.about-portrait { min-height:calc(100svh - 96px); position:sticky; top:96px; height:calc(100svh - 96px); overflow:hidden; }.about-portrait img { filter:grayscale(1) contrast(1.05); object-position:center top; }.about-portrait:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 30%); }.portrait-credit { position:absolute; z-index:1; bottom:1.5rem; left:1.5rem; color:#ece5db; font:.55rem var(--mono); letter-spacing:.1em; writing-mode:vertical-rl; transform:rotate(180deg); }
.about-content { padding:clamp(3.5rem,6vw,7rem) clamp(1.5rem,5vw,6.5rem) 7rem; max-width:1000px; }.about h1 { font:500 clamp(3.8rem,6.1vw,7.6rem)/.85 var(--serif); letter-spacing:-.07em; margin:0 0 2.5rem; color:var(--white); }.about h1 em,.instagram h2 em,.contact h2 em { color:var(--gold); }.bio-intro { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; padding:1.5rem 0; font-size:clamp(.79rem,1vw,.94rem); line-height:1.65; }.bio-intro p,.bio-story p { margin:0; }.bio-story { max-width:720px; display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; color:#d9d3ca; padding:1.5rem 0 2.4rem; font-size:.77rem; line-height:1.7; }.practice-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; }.practice-grid article { border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-height:178px; padding:1.1rem 1.2rem 1.4rem; }.practice-grid article:nth-child(even) { border-right:0; }.practice-grid span { color:var(--gold); font:.55rem var(--mono); }.practice-grid h2 { color:#ece8df; font:500 1.23rem/1.2 var(--serif); margin:2.4rem 0 .55rem; }.practice-grid p { margin:0; max-width:280px; color:#cfc9c0; font-size:.67rem; line-height:1.65; }.next-page { position:absolute; bottom:1.4rem; right:clamp(1.3rem,4vw,4.5rem); color:#e8e0d4; font:.59rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }.next-page span { color:var(--gold); font-size:1.25rem; margin-left:.65rem; }
.instagram { background:var(--cream); color:var(--graphite); padding:clamp(8rem,11vw,10rem) clamp(1.2rem,4vw,4.5rem) 6rem; display:block; }.instagram .eyebrow { color:#8d7041; }.instagram-title { max-width:1320px; margin:0 auto 3.2rem; }.instagram h2 { font:500 clamp(3.25rem,5.4vw,6.8rem)/.96 var(--serif); letter-spacing:-.065em; margin:0 0 1.35rem; white-space:nowrap; }.instagram-title > a { border-bottom:1px solid #605b52; padding-bottom:.45rem; font:.68rem var(--mono); }.instagram-title > a span { color:#a77b38; margin-left:1rem; }.post-grid { display:grid; grid-template-columns:repeat(3,minmax(170px,1fr)); gap:1.15rem; align-items:start; max-width:1320px; margin:0 auto; padding-bottom:2.2rem; }.post-grid a { aspect-ratio:4/5; display:grid; place-items:center; overflow:hidden; padding:.2rem; background:#ded9d0; box-shadow:0 12px 28px rgba(36,36,36,.17); transition:transform .25s ease, box-shadow .25s ease; }.post-grid img { object-fit:contain; }.post-grid a:nth-child(even) { transform:translateY(2.2rem); }.post-grid a:hover { transform:translateY(-.6rem); box-shadow:0 20px 34px rgba(36,36,36,.3); }.post-grid a:nth-child(even):hover { transform:translateY(1.6rem); }
.contact { display:grid; grid-template-columns:1fr 1.2fr; min-height:100svh; background:#0f2837; }.contact-image { min-height:580px; }.contact-image img { object-position:center 20%; filter:saturate(.75) contrast(1.03); }.contact-copy { padding:clamp(4rem,10vw,10rem); display:flex; flex-direction:column; justify-content:center; }.contact h2 { color:var(--white); max-width:710px; font:500 clamp(3.3rem,6vw,7rem)/.91 var(--serif); letter-spacing:-.07em; margin:0 0 1.7rem; }.contact-copy > p:not(.eyebrow):not(.contact-handle) { max-width:400px; color:#cdd6d6; font-size:.83rem; line-height:1.75; }.contact-button { display:flex; justify-content:space-between; max-width:345px; background:var(--gold); color:#1b2f39; margin-top:1.9rem; padding:1.1rem 1.3rem; font-size:.76rem; font-weight:700; }.contact-button span { font-size:1rem; }.contact-handle { margin:.9rem 0 -.1rem; color:#aebfc2; font:.6rem var(--mono); }.instagram-link { width:max-content; margin-top:1.3rem; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:.3rem; color:#d8e0df; font:.63rem var(--mono); }.instagram-link span { color:var(--gold); margin-left:.6rem; }
@media (max-width:1000px) { .about { grid-template-columns:.72fr 1.28fr; }.post-grid { grid-template-columns:repeat(3,1fr); }.post-grid a:nth-child(even) { transform:none; }.post-grid a:nth-child(4),.post-grid a:nth-child(5) { margin-top:.2rem; } }
@media (max-width:720px) { .site-header { height:78px; }.logo { height:72px; gap:.5rem; }.logo img { height:65px; width:58px; }.logo strong { font-size:1rem; }.logo small { font-size:.48rem; }.site-header nav { gap:.8rem; font-size:.68rem; }.about { display:block; padding-top:78px; }.about-portrait { min-height:58svh; height:58svh; position:relative; top:0; }.about-content { padding:3.5rem 1.3rem 5rem; }.bio-intro,.bio-story { grid-template-columns:1fr; gap:1rem; }.practice-grid { grid-template-columns:1fr; }.practice-grid article,.practice-grid article:nth-child(even) { border-right:0; min-height:150px; }.next-page { display:none; }.instagram { display:block; padding:7rem 1.2rem 4rem; }.instagram-title { margin-bottom:2rem; }.instagram h2 { white-space:normal; }.post-grid { grid-template-columns:repeat(2,1fr); gap:.8rem; }.post-grid a:nth-child(5) { grid-column:auto; max-width:none; }.contact { grid-template-columns:1fr; }.contact-image { height:52svh; min-height:0; }.contact-copy { padding:4rem 1.3rem; } }

/* Ajustes de leitura e toque para smartphones */
@media (max-width:720px) {
  html { scroll-snap-type:none; }
  body { overflow-x:hidden; }
  .site-header { height:72px; padding:0 1rem; }
  .logo { height:68px; gap:.45rem; min-width:0; }
  .logo img { width:44px; height:52px; flex:none; }
  .logo strong { font-size:.86rem; white-space:nowrap; }
  .logo small { font-size:.43rem; letter-spacing:.1em; }
  .site-header nav { gap:.55rem; font-size:.62rem; white-space:nowrap; }
  .site-header nav a { min-height:44px; display:grid; place-items:center; }
  .about { padding-top:72px; }
  .about-portrait { height:43svh; min-height:43svh; }
  .about-portrait img { object-position:center 16%; }
  .portrait-credit { bottom:1rem; left:1rem; font-size:.48rem; }
  .about-content { padding:2.9rem 1.15rem 3.3rem; }
  .eyebrow { margin-bottom:1rem; font-size:.56rem; }
  .about h1 { font-size:clamp(3.05rem,15vw,4.35rem); line-height:.88; margin-bottom:1.8rem; }
  .bio-intro { gap:.85rem; padding:1.15rem 0; font-size:.91rem; line-height:1.58; }
  .bio-story { gap:1rem; padding:1.25rem 0 1.7rem; font-size:.86rem; line-height:1.65; }
  .practice-grid { margin:0 -1.15rem; }
  .practice-grid article,.practice-grid article:nth-child(even) { min-height:0; padding:1.2rem 1.15rem 1.35rem; }
  .practice-grid h2 { margin:1.25rem 0 .5rem; font-size:1.35rem; }
  .practice-grid p { font-size:.8rem; line-height:1.6; }
  .instagram { padding:4.5rem 1rem 3.5rem; }
  .instagram-title { margin-bottom:1.8rem; }
  .instagram h2 { font-size:clamp(2.7rem,14vw,4rem); line-height:.94; margin-bottom:1rem; }
  .instagram-title > a { font-size:.7rem; padding:.55rem 0; display:inline-block; }
  .post-grid { gap:.7rem; padding-bottom:0; }
  .post-grid a { padding:.14rem; box-shadow:0 7px 16px rgba(36,36,36,.16); }
  .contact-image { height:46svh; }
  .contact-copy { padding:3.35rem 1.15rem 3.6rem; }
  .contact h2 { font-size:clamp(2.75rem,14vw,4.15rem); margin-bottom:1.25rem; }
  .contact-copy > p:not(.eyebrow):not(.contact-handle) { font-size:.9rem; line-height:1.65; }
  .contact-button { width:100%; max-width:none; min-height:56px; align-items:center; padding:1rem 1.15rem; font-size:.88rem; }
  .contact-handle,.instagram-link { font-size:.66rem; }
}
@media (max-width:380px) {
  .logo strong { font-size:.76rem; }
  .logo small { display:none; }
  .site-header nav { gap:.38rem; font-size:.58rem; }
  .post-grid { gap:.55rem; }
}
