:root{
 --wine:#650b2c;--wine2:#790d37;--wineDark:#3b0720;--rose:#d89297;--blush:#f7efee;--cream:#fdfaf9;--ink:#292226;--muted:#665c61;--line:#e9dfe0;--serif:"Baskerville","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--sans:"Helvetica Neue",Arial,system-ui,sans-serif;--page:clamp(24px,6.5vw,108px)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{cursor:pointer}::selection{background:#efb7be;color:var(--wineDark)}:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.skip-link{position:fixed;left:15px;top:-90px;z-index:500;background:white;color:var(--wine);padding:14px 20px;border:2px solid var(--wine)}.skip-link:focus{top:12px}.container{width:100%;padding-inline:var(--page);margin:0 auto;max-width:1620px}.serif{font-family:var(--serif)}
.site-header{height:90px;background:rgba(255,253,252,.985);border-bottom:1px solid #f2e9e8;position:relative;z-index:90}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:inline-flex;gap:21px;align-items:center;flex-shrink:0;min-width:0}.brand-logo{display:block;width:79px;height:67px;object-fit:contain}.brand-divider{height:48px;width:1px;background:var(--rose);flex-shrink:0}.brand-text{font:500 clamp(16px,1.65vw,24px)/1.15 var(--serif);color:var(--wine);letter-spacing:.015em;text-transform:uppercase;white-space:nowrap}.nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,44px)}.nav a{font-size:14px;font-weight:550;padding:19px 0;position:relative;white-space:nowrap;color:#32262d;transition:color .2s}.nav a:after{content:"";position:absolute;bottom:14px;left:0;right:100%;height:2px;background:var(--wine);transition:right .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--wine)}.nav a:hover:after,.nav a[aria-current=page]:after{right:0}.menu-button{display:none;background:transparent;border:1px solid var(--line);color:var(--wine);height:43px;width:45px;align-items:center;justify-content:center;border-radius:3px}.menu-button span{display:block;width:20px;height:2px;background:currentColor;margin:4px auto}.page-marker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--wine2);font-weight:700}.top-link{color:var(--wine);font-size:13px;font-weight:700;letter-spacing:.03em}
/* Hero exactly in the visual language approved in the mockup */
.hero{height:423px;min-height:423px;background:linear-gradient(110deg,#fcf8f7,#f9f0f0);position:relative;isolation:isolate;overflow:hidden}.hero::before{content:"";position:absolute;z-index:-1;inset:0 0 0 43%;background:url('assets/coimbra-ilustracao.webp') center center/cover no-repeat;mask-image:linear-gradient(to right,transparent 0%,#000 31%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 31%)}.hero::after{content:"";position:absolute;pointer-events:none;right:0;bottom:0;width:19%;height:45%;background:linear-gradient(145deg,transparent 0%,rgba(101,11,44,.25) 100%);clip-path:polygon(100% 0,100% 100%,0 100%);opacity:.15}.hero-grid{height:100%;display:flex;align-items:center}.hero-copy{position:relative;max-width:680px;z-index:2;padding:30px 0}.hero h1{font:500 clamp(39px,3.4vw,57px)/1.11 var(--serif);letter-spacing:-.023em;max-width:700px;color:var(--wine);margin:0}.mini-rule{width:69px;height:2px;background:var(--rose);display:block;margin:24px 0 19px}.hero p{font-size:15.5px;line-height:1.67;max-width:525px;color:#383137;margin:0 0 23px}.button{min-height:44px;display:inline-flex;gap:24px;align-items:center;justify-content:space-between;border-radius:5px;padding:13px 23px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;transition:transform .15s,background .2s,color .2s,border-color .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--wine);color:white}.button-solid:hover{background:var(--wineDark)}.button-outline{color:var(--wine);border-color:var(--wine);background:transparent}.button-outline:hover{background:var(--wine);color:#fff}.button-blush{background:#f5d8dc;color:var(--wineDark)}.button-blush:hover{background:#fff}.button-arrow{font:400 21px/1 var(--sans);margin-left:4px}
/* home sections */
.home-practices{padding:29px 0 34px;background:#fffdfc}.section-kicker{display:flex;gap:24px;align-items:center;margin-bottom:20px}.section-kicker .mini-rule{flex:none;width:68px;margin:0}.section-kicker h2{font:500 clamp(34px,3.3vw,51px)/1.08 var(--serif);letter-spacing:-.015em;color:var(--wine);margin:0}.practice-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.practice-tile{background:linear-gradient(145deg,#faf4f2,#f5eeec);min-height:156px;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:19px 9px;text-align:center;border:1px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s}.practice-tile:hover{border-color:#e9cacf;box-shadow:0 12px 28px rgba(85,14,41,.07);transform:translateY(-3px)}.practice-tile svg{width:40px;height:40px;stroke:var(--wine);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}.practice-tile h3{font:500 clamp(15px,1.45vw,19px)/1.15 var(--serif);margin:0;color:#2c2228;letter-spacing:-.007em}
.home-profile{background:linear-gradient(115deg,#f7f1f0,#fff9f9);display:grid;grid-template-columns:45% 55%;min-height:286px;overflow:hidden}.book-panel{position:relative;background:url('assets/livros-juridicos.webp') left center/cover no-repeat;min-height:290px}.book-panel:after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:50%;background:linear-gradient(90deg,transparent,#f8f3f1)}.home-profile-copy{padding:30px clamp(38px,5.2vw,95px) 34px clamp(25px,4.8vw,80px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.home-profile-copy .section-kicker{margin-bottom:2px;gap:18px}.home-profile-copy .section-kicker .mini-rule{width:58px}.home-profile-copy .section-kicker h2{font-size:clamp(34px,3vw,47px)}.eyebrow{color:#a0455d;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:800;margin:0 0 12px}.home-profile-copy .eyebrow{margin-left:77px;margin-bottom:10px}.home-profile-copy p.profile-blurb{font-size:14px;line-height:1.65;color:#3f343a;max-width:595px;margin:0 0 18px}.home-profile-copy .button{padding:10px 20px;min-height:40px}
.contact-band{position:relative;background:linear-gradient(115deg,#500820 0%,#7c143b 72%,#63102e 100%);overflow:hidden;color:#fff}.contact-band:before{content:"";position:absolute;right:-14%;top:-130%;width:37%;height:340%;border-radius:50%;border:65px solid rgba(221,134,151,.18);transform:rotate(28deg);pointer-events:none}.contact-band-inner{min-height:112px;display:grid;grid-template-columns:60px 1.05fr 1.25fr 210px;align-items:center;gap:25px;position:relative}.envelope{width:38px;height:34px;stroke:#fdf1ef;stroke-width:1.4;fill:none}.contact-band-title{font:500 clamp(24px,2.7vw,38px)/1.15 var(--serif);border-left:1px solid #d9abb8;padding-left:24px;white-space:nowrap}.contact-band-copy{border-left:1px solid #d9abb8;padding-left:28px;font-size:13.5px;line-height:1.65;color:#fff1f4;max-width:420px}.contact-band .button{justify-content:center;gap:25px}
.home-footer{background:#fdfafa;border-top:1px solid #f1e5e5;padding:16px 0}.home-footer .container{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{display:flex;align-items:center;gap:15px;font:500 18px/1.1 var(--serif);color:var(--wine);text-transform:uppercase}.footer-brand img{height:47px;width:53px;object-fit:contain}.footer-brand span{border-left:1px solid var(--rose);padding-left:13px}.footer-right{display:flex;gap:13px;align-items:center;font-size:12px;color:#5d5358}.footer-right a:hover{color:var(--wine);text-decoration:underline}.footer-minor{font-size:11px;color:#81767b;line-height:1.6;margin-top:7px}
/* interior */
.interior-hero{background:linear-gradient(115deg,#fcf7f6 5%,#f6e9eb 100%);position:relative;overflow:hidden;padding:63px 0 67px}.interior-hero:before{content:"LRF";position:absolute;right:-24px;top:-80px;font:500 clamp(230px,30vw,450px)/1 var(--serif);color:rgba(130,41,69,.04);letter-spacing:-.12em;pointer-events:none}.interior-hero .container{position:relative}.breadcrumb{font-size:12px;color:#7b6070;display:flex;align-items:center;gap:10px;margin-bottom:25px}.breadcrumb a:hover{text-decoration:underline}.interior-hero h1{color:var(--wine);font:500 clamp(47px,6vw,88px)/1.02 var(--serif);letter-spacing:-.038em;margin:0 0 19px}.interior-hero .intro{color:#66565e;font-size:16px;line-height:1.7;max-width:680px;margin:0}.interior-section{padding:65px 0 83px}.section-heading{color:var(--wine);font:500 clamp(34px,3.9vw,54px)/1.1 var(--serif);margin:0 0 20px}.section-lede{font-size:15px;color:var(--muted);line-height:1.8;max-width:750px;margin:0 0 28px}.subhead{font:500 27px/1.2 var(--serif);color:var(--wine);margin:0 0 12px}.inline-link{display:inline-flex;gap:10px;align-items:center;color:var(--wine);border-bottom:1px solid var(--rose);padding-bottom:5px;font-size:13px;font-weight:700}.inline-link:hover{color:var(--wineDark)}
/* profile */
.profile-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,440px);gap:clamp(40px,9vw,145px);align-items:center}.profile-hero h1{margin-bottom:22px}.profile-hero p.intro{max-width:640px}.profile-photo-wrapper{position:relative;padding:15px 15px 0 0}.profile-photo-wrapper:before{content:"";position:absolute;inset:0 0 15px 15px;border:1px solid var(--rose);z-index:0}.profile-photo-wrapper img{display:block;width:100%;aspect-ratio:4/4.45;object-fit:cover;object-position:center 25%;position:relative;z-index:1;filter:saturate(.92)}.profile-name-meta{font:500 18px/1.1 var(--serif);color:var(--wine);padding-top:10px}.profile-intro-grid{display:grid;grid-template-columns:.6fr 1.2fr;gap:60px}.profile-intro-grid>div:first-child{border-top:2px solid var(--rose);padding-top:20px}.profile-intro-grid p{font-size:15px;line-height:1.9;color:#5a4a52;margin:0 0 17px}.cv-section{background:#faf4f2;padding:66px 0 80px}.cv-list{border-top:1px solid #e8d9da;margin-top:31px}.cv-item{display:grid;grid-template-columns:165px 1fr;gap:28px;border-bottom:1px solid #e8d9da;padding:26px 0}.cv-item .cv-year{font-size:13px;font-weight:800;letter-spacing:.03em;color:#a04960}.cv-item h3{font:500 25px/1.24 var(--serif);color:var(--wine);margin:0 0 9px}.cv-item p{margin:0;color:#615359;font-size:14px;line-height:1.75;max-width:810px}.source-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:30px}.source-links a{color:var(--wine);text-decoration:underline;text-underline-offset:4px;font-size:12px}
/* areas */
.area-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.area-detail{background:#fff;border:1px solid #eddfdf;padding:38px 39px 37px;scroll-margin-top:30px;transition:border-color .2s}.area-detail:target{border-color:var(--rose);box-shadow:0 0 0 3px #f6dce1}.area-icon{margin-bottom:23px}.area-icon svg{width:39px;height:39px;stroke:var(--wine);stroke-width:1.55;fill:none;stroke-linecap:round;stroke-linejoin:round}.area-detail h2{font:500 clamp(28px,3vw,39px)/1.15 var(--serif);color:var(--wine);margin:0 0 15px}.area-detail p{font-size:14px;line-height:1.75;color:var(--muted);min-height:50px;max-width:550px}.area-detail ul{list-style:none;margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:grid;gap:12px}.area-detail li{position:relative;padding-left:20px;font-size:13.5px;color:#4d4349;line-height:1.5}.area-detail li:before{content:"";width:6px;height:6px;border:1px solid var(--rose);border-radius:50%;position:absolute;left:0;top:.5em}
/* contact */
.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.office-card{border:1px solid #eadcde;background:white;padding:36px;position:relative}.office-card:before{content:"";height:4px;width:70px;background:var(--wine);position:absolute;top:0;left:36px}.office-card h2{font:500 37px/1.1 var(--serif);color:var(--wine);margin:0 0 19px}.office-card address{font-style:normal;font-size:15px;line-height:1.9;color:#493d43;min-height:96px}.office-card .inline-link{margin-top:22px}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:23px}.contact-link{border:1px solid #eadcde;background:#f8eff0;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background .2s}.contact-link:hover{background:#f5e4e7}.contact-link span{color:#92546a;display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}.contact-link strong{color:var(--wine);font-size:15px;overflow-wrap:anywhere}.contact-link i{font-size:26px;color:var(--wine);font-style:normal}.contact-practical{padding:65px 0;background:#f9f3f3}.contact-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-practical p{color:var(--muted);line-height:1.8;font-size:14px}.contact-form{padding:33px;background:#fff;border:1px solid var(--line)}.contact-form h3{font:500 28px/1.2 var(--serif);color:var(--wine);margin:0 0 9px}.contact-form .form-hint{font-size:12px;color:#71636a;line-height:1.7;margin:0 0 22px}.field{display:block;margin:0 0 16px}.field span{display:block;font-size:12px;color:#55414b;font-weight:700;margin:0 0 7px}.field input,.field textarea,.field select{display:block;width:100%;background:#fdfafa;border:1px solid #e0d3d6;color:#32272c;padding:11px 13px;border-radius:3px;outline-offset:3px}.field textarea{resize:vertical;min-height:105px}.form-action{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.form-feedback{font-size:12px;line-height:1.6;color:var(--wine);margin:16px 0 0;min-height:16px}.tiny-note{color:#766c72;font-size:12px;line-height:1.75}.tiny-note a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
/* legal */
.text-page{max-width:920px;margin:0 auto}.text-page h2{font:500 28px/1.2 var(--serif);color:var(--wine);margin:35px 0 10px}.text-page p,.text-page li{font-size:15px;line-height:1.86;color:#5a4c53}.text-page a{text-decoration:underline;text-underline-offset:3px;color:var(--wine)}.text-page ul{padding-left:22px}.caution{margin:30px 0;border-left:3px solid var(--rose);padding:15px 21px;background:#f8eff0;color:#5c3446;font-size:13px;line-height:1.65}
/* sitewide footer for interiors */
.deep-footer{background:var(--wineDark);color:#f8e8ec;padding:54px 0 25px}.deep-footer-top{display:grid;grid-template-columns:1.3fr .75fr .75fr;gap:50px;padding-bottom:43px}.deep-footer .footer-brand{color:#ffeef2}.deep-footer .footer-brand img{max-width:58px;max-height:58px;object-fit:contain;filter:brightness(0) invert(1);opacity:.95}.deep-footer p{color:#f4d7df;line-height:1.7;font-size:12px;max-width:340px}.deep-footer-col h3{font-size:11px;letter-spacing:.15em;color:#e4a5b6;margin:0 0 19px;text-transform:uppercase}.deep-footer-col a{display:block;color:#f2dce3;font-size:12px;line-height:1.8;margin-bottom:8px}.deep-footer-col a:hover{text-decoration:underline}.deep-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff36;padding-top:19px;color:#dfb7c5;font-size:11px;gap:20px;flex-wrap:wrap}.deep-footer-bottom a:hover{text-decoration:underline}
/* utility */
.bottom-note{background:#f9f3f2;padding:30px 0;border-top:1px solid var(--line);display:flex;align-items:center}.bottom-note-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.bottom-note p{color:#6c5862;margin:0;font-size:14px;max-width:790px;line-height:1.7}.bottom-note strong{color:var(--wine)}.bottom-note .button{flex:none}
@media(min-width:1600px){.hero{height:474px}.hero h1{font-size:62px}.practice-tile{min-height:180px}.home-profile{min-height:338px}}
@media(max-width:1150px){:root{--page:5vw}.brand-text{font-size:18px}.nav{gap:18px}.hero h1{font-size:clamp(39px,4vw,49px)}.practice-row{gap:9px}.practice-tile{min-height:145px}.contact-band-inner{grid-template-columns:43px 1fr 1.15fr 180px;gap:15px}.contact-band-title{padding-left:15px}.contact-band-copy{padding-left:17px}}
@media(max-width:900px){.site-header{height:77px}.brand-logo{height:58px;width:68px}.brand-divider{height:36px}.brand-text{font-size:19px}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:77px;background:#fffcfb;padding:15px var(--page) 28px;box-shadow:0 20px 32px rgba(60,5,25,.12);align-items:stretch;flex-direction:column;gap:0}.nav.is-open{display:flex}.nav a{padding:15px 0;font-size:15px;border-bottom:1px solid var(--line)}.nav a:after{bottom:-1px}.hero{height:auto;min-height:395px}.hero::before{left:37%;opacity:.86}.hero-copy{max-width:600px;padding:62px 0 54px}.hero p{max-width:470px}.practice-row{grid-template-columns:repeat(3,1fr)}.practice-tile{min-height:148px}.home-profile{grid-template-columns:40% 60%}.home-profile-copy{padding:30px}.home-profile-copy .eyebrow{margin-left:0}.home-profile-copy .section-kicker .mini-rule{width:36px}.contact-band-inner{grid-template-columns:35px 1fr 1fr;min-height:130px}.contact-band .button{grid-column:2/4;justify-self:start;margin-bottom:20px}.contact-band-copy{font-size:12.5px}.profile-hero-inner{grid-template-columns:1fr .7fr;gap:35px}.profile-intro-grid{grid-template-columns:.6fr 1fr;gap:25px}.contact-practical-grid{gap:35px}}
@media(max-width:640px){:root{--page:22px}.site-header{height:70px}.brand{gap:10px}.brand-logo{height:47px;width:55px}.brand-divider{height:32px}.brand-text{font-size:clamp(13px,3.8vw,17px)}.nav{top:70px}.hero{min-height:480px;background:linear-gradient(#fdf8f7,#f9f2f1)}.hero::before{inset:auto 0 0 6%;height:51%;background-size:cover;background-position:center;opacity:.9;mask-image:linear-gradient(to bottom,transparent 0%,#000 38%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 38%)}.hero-grid{align-items:flex-start}.hero-copy{padding:36px 0 248px}.hero h1{font-size:clamp(37px,9vw,51px);line-height:1.09}.hero p{font-size:13px;line-height:1.55;max-width:470px}.mini-rule{margin:16px 0 12px}.home-practices{padding:31px 0}.section-kicker{gap:12px}.section-kicker .mini-rule{width:35px}.section-kicker h2{font-size:clamp(29px,8vw,43px)}.practice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.practice-tile{min-height:142px}.practice-tile h3{font-size:17px}.practice-tile svg{width:34px;height:34px}.home-profile{grid-template-columns:1fr}.book-panel{min-height:180px;background-position:center 48%}.book-panel:after{display:none}.home-profile-copy{padding:27px var(--page) 36px}.home-profile-copy .section-kicker .mini-rule{width:35px}.home-profile-copy .eyebrow{margin:7px 0 12px}.home-profile-copy p.profile-blurb{font-size:14px}.contact-band-inner{grid-template-columns:38px 1fr;gap:9px 15px;padding-top:27px;padding-bottom:27px}.contact-band-title{border:0;padding:0;font-size:31px}.contact-band-copy{grid-column:1/3;border-left:0;padding:0 0 0 53px;font-size:13px}.contact-band .button{grid-column:2;margin:10px 0 0;justify-self:start}.home-footer .container{align-items:flex-start;flex-direction:column;gap:14px}.footer-right{font-size:11px}.footer-brand img{height:36px;width:44px}.footer-brand{font-size:15px}.interior-hero{padding:48px 0 48px}.interior-hero h1{font-size:clamp(45px,11vw,68px)}.interior-hero p.intro{font-size:14px}.interior-section{padding:43px 0 60px}.profile-hero-inner{grid-template-columns:1fr}.profile-photo-wrapper{max-width:350px;width:85%;margin:20px auto 0}.profile-intro-grid{grid-template-columns:1fr;gap:20px}.cv-item{grid-template-columns:1fr;gap:8px;padding:24px 0}.area-detail-grid,.contact-info-grid,.contact-links,.contact-practical-grid{grid-template-columns:1fr}.area-detail{padding:28px 26px}.area-detail p{min-height:unset}.office-card{padding:28px}.office-card:before{left:28px}.office-card address{min-height:unset}.contact-link{padding:21px}.contact-form{padding:24px}.source-links{gap:14px}.bottom-note-inner{flex-direction:column;align-items:flex-start}.deep-footer-top{grid-template-columns:1fr 1fr;gap:30px}.deep-footer-top>div:first-child{grid-column:1/-1}.deep-footer-bottom{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::after,*::before{transition:none!important;animation:none!important}}
