@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');
:root{--green:#082b23;--deep:#06221c;--gold:#b69a5e;--ivory:#f8f6f1;--ink:#15362e;--muted:#6b736d;--line:#deded3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}::selection{background:#b69a5e;color:white}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.header{height:105px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:#fdfcf9;position:sticky;top:0;z-index:10;border-bottom:1px solid #e5e2d8}.brand{width:280px;display:block}.brand img{mix-blend-mode:multiply}.header nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:600}.header nav a{transition:color .2s}.header nav a:hover{color:#96783f}.nav-contact{padding:14px 20px;border:1px solid #b7a777;display:flex;gap:28px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.15fr 1fr;background:var(--green);color:var(--ivory);min-height:730px}.hero-copy{padding:72px 8% 32px 9.5%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;line-height:1.7;text-transform:uppercase;margin:0 0 28px;color:var(--gold)}.hero .eyebrow{display:flex;gap:12px;align-items:center;font-size:9px;letter-spacing:1.5px}.eyebrow>span{width:23px;height:1px;background:var(--gold);flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,4.35vw,68px);font-weight:500;line-height:1.14;letter-spacing:-2.6px;margin-bottom:28px}h1>span{color:#d2bc89}h2{font-weight:500;font-size:clamp(32px,3.25vw,49px);line-height:1.18;letter-spacing:-1.7px;margin-bottom:26px}h3{font-weight:600;font-size:21px;letter-spacing:-.5px;line-height:1.35;margin-bottom:12px}p{font-size:14px;line-height:1.85}.hero-description{color:#c4cfc7;max-width:440px;margin-bottom:34px}.button{padding:18px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#d5bd85;transform:translateY(-2px)}.gold{background:#c2a56a;color:var(--deep)}.text-link{font-size:12px;font-weight:600;display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid #b49c63;padding-bottom:9px}.hero-copy>.text-link{margin-top:22px;color:#dce3dc}.hero-signature{display:flex;justify-content:space-between;width:100%;border-top:1px solid #ffffff24;margin-top:63px;padding-top:22px;font-size:9px;letter-spacing:1.4px;color:#aabdb2;gap:15px}.hero-signature span:last-child{letter-spacing:.4px}.hero-photo{position:relative;overflow:hidden}.hero-photo>img{height:100%;object-fit:cover;object-position:center 39%}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#081b16b3)}.photo-caption{position:absolute;bottom:33px;left:35px;right:35px;z-index:1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:#fff4d9;gap:15px}.principles{display:flex;justify-content:center;align-items:center;gap:58px;padding:29px 5%;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.7px}.principles i{font-style:normal;color:var(--gold);font-size:13px}.section{padding:105px 8%;max-width:1600px;margin:auto}.section-heading>p:last-child{color:var(--muted);max-width:390px}.practice{display:grid;grid-template-columns:.88fr 1.12fr;gap:75px}.practice-list article{display:flex;gap:26px;padding:25px 0;border-bottom:1px solid var(--line)}.number{font-size:11px;color:#9b824d;padding-top:6px;letter-spacing:1px}.practice-list article p{font-size:13px;color:var(--muted);margin-bottom:0}.practice-list .featured-practice{background:var(--green);color:var(--ivory);padding:34px 27px;margin-bottom:7px;position:relative;border:0}.featured-practice h3{font-size:25px;margin-top:15px}.practice-list .featured-practice p{color:#c4cfc7;margin-bottom:24px}.small-label{font-size:9px;letter-spacing:1.7px;color:var(--gold);font-weight:600}.article-arrow{position:absolute;right:22px;top:28px;color:var(--gold)}.featured-practice .text-link{font-size:11px}.office{background:var(--deep);color:var(--ivory);padding:98px 8%;position:relative;overflow:hidden}.office:after{content:'';width:450px;height:450px;border:1px solid #b69a5e25;border-radius:50%;position:absolute;right:-240px;top:-150px;box-shadow:0 0 0 70px #b69a5e06,0 0 0 140px #b69a5e05;pointer-events:none}.office-inner{max-width:1344px;margin:auto}.office h2{font-size:clamp(35px,4vw,60px);max-width:920px;margin-bottom:46px}.office h2 span{color:#c5aa71}.office-bottom{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:950px}.office-bottom p{color:#bccbc1}.values{display:flex;gap:60px;border-top:1px solid #ffffff26;padding-top:27px;margin-top:25px;font-size:10px;letter-spacing:1px}.values span:before{content:'✦';color:var(--gold);margin-right:15px}.biography{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.bio-image{position:relative;padding:0 22px 22px 0}.bio-image img{height:560px;object-fit:cover;object-position:50% 38%;position:relative;z-index:1}.image-rule{position:absolute;inset:22px 0 0 22px;border:1px solid var(--gold)}.bio-copy h2{font-size:65px;letter-spacing:-2.8px;margin-bottom:18px}.registration{font-size:10px;letter-spacing:1.9px;color:#9b824d;margin-bottom:28px}.bio-copy>p:not(.eyebrow):not(.registration){color:var(--muted);max-width:450px}.experience{display:flex;gap:27px;align-items:center;padding:27px 0;margin:28px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience strong{font-size:53px;line-height:1;font-weight:500;letter-spacing:-2.5px}.experience strong>span{color:var(--gold);font-size:36px}.experience>div{font-size:12px;line-height:1.7}.experience>div>span{font-size:10px;color:var(--muted)}.process{border-top:1px solid var(--line);padding-top:80px;padding-bottom:85px}.process .section-heading{display:flex;gap:50px;justify-content:space-between;align-items:flex-start}.process h2{max-width:650px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:32px}.steps article{border-top:1px solid var(--gold);padding-top:23px}.steps article>span{font-size:11px;color:#9b824d;display:block;margin-bottom:25px}.steps h3{font-size:20px}.steps p{font-size:13px;color:var(--muted);margin:0}.information{background:#efeee6;max-width:none;display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.questions details{border-bottom:1px solid #cfcec1}.questions summary{cursor:pointer;list-style:none;display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;padding:26px 0;line-height:1.7}.questions summary::-webkit-details-marker{display:none}.questions summary>span{font-size:24px;color:#9b824d;font-weight:400}.questions details[open] summary>span{transform:rotate(45deg)}.questions details p{font-size:13px;color:var(--muted);padding-right:35px;margin-bottom:25px}.contact{padding:88px 8%;background:var(--green);color:var(--ivory);display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:center}.contact h2{font-size:clamp(35px,3.7vw,55px)}.contact p{color:#bacbc0;max-width:470px}.contact-panel{border-left:1px solid #b69a5e66;padding-left:42px}.contact-panel>p{margin-top:20px;font-size:13px}.contact-panel .text-link{margin-top:10px;font-size:11px}#contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px}footer{padding:42px 5.5% 20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;background:#fdfcf9}footer .brand{width:255px}footer p{font-size:11px;margin:0;line-height:2}footer p span{color:var(--muted);font-size:10px}footer>a:last-of-type{font-size:10px}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:var(--muted);gap:20px}
@media(min-width:1700px){.hero-copy{padding-left:max(8%,calc((100vw - 1400px)/2))}.hero{min-height:840px}.hero-photo img{max-height:900px}.header{padding-left:8%;padding-right:8%}}
@media(max-width:1100px){.header{padding:0 4%;height:90px}.brand{width:235px}.header nav{gap:20px;font-size:11px}.nav-contact{padding:12px}.hero{min-height:660px}.hero-copy{padding:50px 7% 30px}h1{font-size:47px}.hero-signature{margin-top:40px}.section{padding:80px 6%}.practice{gap:45px}.biography{gap:55px}.bio-image img{height:490px}.bio-copy h2{font-size:55px}.information{gap:50px}.contact{padding:75px 6%;gap:45px}.principles{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:80px}.header{height:80px;padding:0 6%}.brand{width:220px}.menu-toggle{display:flex;background:transparent;border:1px solid var(--line);width:40px;height:40px;flex-direction:column;gap:6px;align-items:center;justify-content:center}.menu-toggle span{width:17px;height:1px;background:var(--green)}.header nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px 6%;background:#fdfcf9;border-bottom:1px solid var(--line);align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:23px}.nav-contact{justify-content:space-between}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:49px 7% 30px}h1{font-size:44px;letter-spacing:-1.9px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:25px}.hero-description{font-size:13px;max-width:100%}.hero-signature{margin-top:38px}.hero-photo{height:450px}.hero-photo>img{object-position:center 29%}.photo-caption{bottom:25px;left:25px;right:25px;font-size:8px}.principles{gap:15px;padding:21px 6%;font-size:8px;text-align:center;line-height:1.7}.principles i{font-size:9px}.section{padding:66px 7%}.section-heading .eyebrow{margin-bottom:22px}h2{font-size:34px;letter-spacing:-1.3px}.practice{grid-template-columns:1fr;gap:24px}.practice-list article{gap:19px}.practice-list .featured-practice{padding:28px 22px}.practice-list h3{font-size:20px}.featured-practice h3{font-size:23px}.office{padding:65px 7%}.office h2{font-size:37px;margin-bottom:30px}.office-bottom{grid-template-columns:1fr;gap:0}.values{flex-direction:column;gap:18px;padding-top:25px;margin-top:15px}.biography{grid-template-columns:1fr;gap:42px}.bio-image img{height:480px}.bio-copy h2{font-size:55px}.bio-copy>p:not(.eyebrow):not(.registration){max-width:100%}.experience{margin-top:25px}.process .section-heading{display:block}.steps{grid-template-columns:1fr;gap:30px;margin-top:24px}.steps article{padding-top:18px}.steps article>span{margin-bottom:15px}.information{grid-template-columns:1fr;gap:15px}.questions summary{font-size:13px;padding:22px 0}.contact{grid-template-columns:1fr;gap:30px;padding:65px 7%}.contact h2{font-size:36px}.contact-panel{padding-left:24px}.contact p{font-size:13px}footer{padding:35px 7% 20px;gap:25px}footer .brand{width:250px}footer p{width:100%}.footer-bottom{flex-direction:column;gap:10px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero{position:relative;display:flex;isolation:isolate;overflow:hidden;min-height:730px}
.hero{background-image:url('assets/rio-desktop-green.jpg');background-size:cover;background-position:center}
.hero-video{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;object-fit:cover;object-position:center;z-index:0;opacity:1;visibility:visible}
.hero h1>.hero-intro{color:inherit}.mobile-title-break{display:none}
@media(max-width:760px){.hero{background-image:url('assets/rio-mobile-motion-v3.webp'),url('assets/rio-mobile-native-v2.jpg')}.hero-video{display:none}.mobile-title-break{display:inline}}
@media(prefers-reduced-motion:reduce){.hero-video{visibility:hidden}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.hero{background-image:url('assets/rio-mobile-native-v2.jpg')}}
.hero-copy{width:min(850px,73%);padding:85px 0 38px;margin-left:8%;position:relative;z-index:2}
.hero h1{max-width:740px}.hero-description{max-width:490px}.hero-signature{max-width:620px}
.header{padding-left:8%;padding-right:8%}.header .brand{width:260px;flex-shrink:0}.brand img{mix-blend-mode:normal}footer{padding-left:8%;padding-right:8%}
@media(max-width:1100px){.header{padding-left:6%;padding-right:6%}.header .brand{width:235px}footer{padding-left:6%;padding-right:6%}}
@media(max-width:760px){.header{padding-left:7%;padding-right:7%}.header .brand{width:min(220px,64vw)}footer{padding-left:7%;padding-right:7%}}
@media(max-width:760px){.hero-copy>.button{gap:20px;padding:17px 18px;font-size:11px}}
@media(min-width:1700px){.hero{min-height:840px}.hero-copy{padding:100px 0 40px;margin-left:max(8%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.hero{min-height:660px}.hero-copy{margin-left:6%;width:77%;padding:65px 0 35px}}
@media(max-width:760px){.hero{min-height:730px;min-height:max(690px,calc(100svh - 80px))}.hero-copy{margin:0;width:100%;padding:65px 7% 95px;justify-content:center}.hero-video{object-position:center}.hero h1{font-size:42px}.hero-signature{margin-top:40px;gap:8px;font-size:8px}}
/* Original vertical lockup: preserve the supplied composition and its aspect ratio. */
html{scroll-padding-top:124px}
.header{height:124px}
.header .brand{width:132px}
.brand img{object-fit:contain}
footer .brand{width:170px}
@media(max-width:1100px){.header .brand{width:132px}}
@media(max-width:760px){html{scroll-padding-top:110px}.header{height:110px}.header .brand{width:116px}.header nav{top:110px}.hero{min-height:max(690px,calc(100svh - 110px))}footer .brand{width:158px}}
