:root{--background:#f8f7f3;--foreground:#18343b;--ink:#18343b;--muted:#606965;--accent:#816638;--line:#dcded5;--font-sans:Arial,Helvetica,sans-serif;--font-serif:Georgia,'Times New Roman',serif;--radius:0;--ring:#987946;--border:#dcded5}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;background:var(--background);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
::selection{background:#d9d1b9;color:var(--ink)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
button,a{-webkit-tap-highlight-color:transparent}
svg{flex:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3,p,figure{margin:0}
.container{max-width:1344px;margin-inline:auto;padding-inline:64px}
.skip-link{position:fixed;z-index:100;top:-80px;left:20px;padding:14px 20px;background:var(--ink);color:white}
.skip-link:focus{top:12px}
.site-header{background:rgba(248,247,243,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:18px;flex-shrink:0}
.brand-monogram{font-family:var(--font-serif);font-size:43px;letter-spacing:-5px;line-height:1;padding-right:5px}
.brand-monogram>span{color:var(--accent)}
.brand-name{font-family:var(--font-serif);font-size:22px;line-height:1.15;border-left:1px solid #bec5bb;padding-left:19px;letter-spacing:-.3px}
.brand-name>span{font-family:var(--font-sans);display:block;font-size:9px;letter-spacing:3.4px;padding-top:8px}
nav{display:flex;align-items:center;gap:35px;font-size:13px}
nav>a{transition:color .2s}nav>a:hover{color:var(--accent)}
nav .nav-contact{margin-left:9px;border:1px solid #8b9a95;padding:13px 20px;display:flex;align-items:center;gap:26px;transition:background .2s,color .2s}
nav .nav-contact:hover{background:var(--ink);color:#fff}
.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;padding-top:54px;padding-bottom:42px;align-items:center}
.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;line-height:1.6;display:flex;align-items:center;gap:13px}
.small-line{display:inline-block;width:30px;height:1px;background:var(--accent);flex:none}
h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(56px,5.45vw,79px);line-height:1.02;letter-spacing:-3.8px;margin-top:27px}
em{font-weight:400;color:var(--accent)}
h1 em{color:var(--ink)}
.hero-description{color:var(--muted);max-width:405px;font-size:14px;line-height:1.8;margin-top:26px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:17px 23px;font-size:12px;font-weight:500;letter-spacing:.1px;transition:background .2s,transform .2s}
.button-dark{background:var(--ink);color:#fff;margin-top:27px}
.button-dark:hover{background:#28505a;transform:translateY(-2px)}
.hero-registration{font-size:9px;letter-spacing:1.3px;line-height:1.8;color:#656d64;margin-top:28px}
.hero-registration span{display:block;font-size:9px;letter-spacing:1px}
.hero-visual{position:relative;padding-left:17px}
.image-frame{position:relative;height:582px;background:#d3caba;overflow:hidden}
.image-frame:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(12,30,34,.84))}
.image-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:52% 50%}
.hero-visual:before{content:"";position:absolute;left:0;top:22px;bottom:34px;width:1px;background:var(--accent)}
.image-caption{position:absolute;z-index:1;left:35px;right:20px;bottom:37px;color:#fff;display:flex;flex-direction:column;gap:18px}
.caption-line{width:36px;height:1px;background:#d4b678}
.image-caption p{font-family:var(--font-serif);font-size:26px;line-height:1.3;letter-spacing:-.5px}
.image-caption em{color:#eee6d5}
.hero-visual figcaption{text-align:right;font-size:9px;color:#71776c;padding-top:9px;letter-spacing:.4px}
.principles{border-block:1px solid var(--line)}
.principles-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px}
.principles-inner>span{display:flex;gap:15px;align-items:center;justify-content:center;font-size:12px;letter-spacing:.3px;border-right:1px solid var(--line)}
.principles-inner>span:first-child{justify-content:flex-start}.principles-inner>span:last-child{border-right:none;justify-content:flex-end}
.principles i{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:15px}
.section-space{padding-block:93px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}
h2{font-family:var(--font-serif);font-size:48px;line-height:1.13;font-weight:400;letter-spacing:-1.8px;margin-top:17px}
.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);padding-bottom:5px}
.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.practice-card{border:1px solid var(--line);padding:30px 28px 26px;background:#f4f3ed;display:flex;flex-direction:column}
.area-number{font-size:12px;letter-spacing:1px;color:var(--accent);padding-bottom:30px;display:flex;align-items:center;gap:14px}
.area-number:after{content:"";height:1px;flex:1;background:var(--line)}
.practice-card h3{font-family:var(--font-serif);font-size:29px;line-height:1.12;letter-spacing:-.7px;min-height:66px;font-weight:400;max-width:270px}
.practice-card>p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:18px;margin-bottom:28px}
.practice-card ul{list-style:none;padding:19px 0 0;margin:auto 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:11px}
.practice-card li{font-size:11px;display:flex;align-items:center;gap:10px;line-height:1.5}
.practice-card li:before{content:"";width:4px;height:4px;background:var(--accent)}
.about{background:var(--ink);color:#f4f2ea;padding-block:78px}
.about-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}
.about .eyebrow{color:#d2bea0}
.about h2{font-size:58px;line-height:1.05;margin-top:26px;letter-spacing:-1.5px}
.about h2 em{color:#d7c5a8}
.oab-badge{display:inline-block;font-size:10px;letter-spacing:1.5px;padding:10px 15px;border:1px solid #61726f;color:#d8e0d9;margin-top:24px}
.about-copy .about-lead{font-family:var(--font-serif);font-size:30px;line-height:1.25;letter-spacing:-.4px;color:#f6f3eb;margin-bottom:22px}
.about-copy>p{font-size:13px;line-height:1.95;color:#ccd3ce;margin-top:14px}
.about-signature{margin-top:28px;padding-top:24px;border-top:1px solid #3b5359;display:flex;gap:17px;align-items:center}
.about-signature>span:last-child{font-size:11px;line-height:1.8;color:#bdcac6;letter-spacing:.2px}
.about-signature strong{font-weight:400;color:#f4f2e9}
.about-signature .small-line{background:#c8ab7d}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.contact-copy>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin-top:23px;max-width:305px}
.contact-label{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:15px}
.email-link{font-family:var(--font-serif);font-size:clamp(21px,2.1vw,29px);letter-spacing:-.5px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #9ca9a2;padding-bottom:18px;transition:color .2s;overflow-wrap:anywhere}
.email-link:hover{color:var(--accent)}
.contact-details>p{font-size:10px;color:var(--muted);padding-top:11px}
.contact-note{display:flex;align-items:flex-start;gap:13px;margin-top:35px}
.note-mark{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid #93a19a;border-radius:50%;font-family:var(--font-serif);font-size:12px;font-style:italic;margin-top:2px}
.contact-note p{font-size:11px;line-height:1.85;color:var(--muted);max-width:370px}
.site-footer{background:#efeee7;border-top:1px solid var(--line)}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:40px}
.footer-main>p{font-size:11px;line-height:1.9}.footer-main>p>span{color:var(--muted);font-size:10px}
.footer-brand .brand-name{font-size:19px}.footer-brand .brand-monogram{font-size:38px}.footer-brand .brand-name>span{font-size:8px}
.back-top{display:flex;align-items:center;gap:14px;font-size:11px}
.back-top:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-block:21px;font-size:9px;line-height:1.7;color:var(--muted)}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1500px){.hero{gap:90px;padding-top:65px;padding-bottom:50px}.image-frame{height:620px}h1{font-size:82px}}
@media(max-width:1100px){.container{padding-inline:38px}.hero{gap:25px}.image-frame{height:560px}h1{font-size:65px;letter-spacing:-3px}.hero-description{font-size:13px}.about-inner{gap:60px}.contact{gap:65px}.practice-card{padding:25px 21px}.practice-card h3{font-size:26px}nav{gap:24px}.brand-name{font-size:20px}.footer-bottom{justify-content:flex-start;column-gap:25px}}
@media(max-width:800px){.container{padding-inline:28px}.header-inner{min-height:91px;gap:15px}.brand-monogram{font-size:37px}.brand-name{font-size:18px;padding-left:14px}.brand{gap:13px}.brand-name>span{font-size:8px;letter-spacing:2.5px}nav{gap:18px;font-size:11px}nav .nav-contact{padding:10px 13px;gap:13px;margin-left:0}.hero{gap:24px;padding-top:42px;padding-bottom:33px;grid-template-columns:1.08fr 1fr}h1{font-size:54px;letter-spacing:-2.7px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;gap:9px}.hero .small-line{width:17px}.hero-description{font-size:12px;line-height:1.85;margin-top:20px}.image-frame{height:514px}.hero-visual{padding-left:9px}.image-caption{left:24px;bottom:30px}.image-caption p{font-size:22px}.button{font-size:11px;padding:15px 16px;gap:19px}.hero-registration{font-size:8px;letter-spacing:.5px;margin-top:23px}.principles-inner{padding-block:22px}.principles-inner>span{font-size:10px;gap:10px}.section-space{padding-block:65px}h2{font-size:40px}.section-heading>p{font-size:12px}.practice-grid{gap:14px}.practice-card{padding:23px 17px}.practice-card h3{font-size:23px;min-height:78px}.practice-card>p{font-size:12px}.practice-card li{font-size:10px}.about-inner{gap:38px}.about h2{font-size:49px}.about-copy .about-lead{font-size:26px}.about-copy>p{font-size:12px}.contact{gap:40px}.footer-main{flex-wrap:wrap}.footer-main>p{margin-left:auto}.back-top{display:none}}
@media(max-width:620px){html{scroll-padding-top:124px}.container{padding-inline:23px}.header-inner{min-height:117px;display:flex;flex-wrap:wrap;justify-content:center;padding-block:15px;gap:16px}.brand-monogram{font-size:34px}.brand-name{font-size:18px}.brand-name>span{font-size:7px;padding-top:5px}.brand{gap:15px}nav{width:100%;justify-content:center;gap:28px;font-size:11px}nav .nav-contact{border:0;padding:0;gap:7px}nav .nav-contact svg{width:14px;height:14px}nav .nav-contact:hover{background:transparent;color:var(--accent)}.hero{grid-template-columns:1fr;padding-top:35px;gap:31px;padding-bottom:27px}.hero-copy{max-width:100%}.hero .eyebrow{font-size:9px;letter-spacing:1.8px;gap:12px}.hero .small-line{width:24px}h1{font-size:clamp(54px,13.8vw,76px);line-height:1.04;margin-top:23px;letter-spacing:-3px}.desktop-break{display:none}h1{max-width:440px}.hero-description{font-size:13px;max-width:370px;margin-top:22px}.button{font-size:12px;padding:17px 21px;gap:27px;margin-top:24px}.hero-registration{font-size:8px;letter-spacing:1px;margin-top:23px}.hero-registration span{display:inline;margin-left:8px;font-size:8px}.hero-visual{padding-left:12px}.image-frame{height:350px}.image-frame img{object-position:50% 52%}.hero-visual:before{top:13px;bottom:32px}.image-caption{left:25px;bottom:27px;gap:13px}.image-caption p{font-size:25px}.hero-visual figcaption{font-size:8px}.principles-inner{grid-template-columns:1fr;gap:16px;padding-block:21px}.principles-inner>span,.principles-inner>span:first-child,.principles-inner>span:last-child{border:0;justify-content:flex-start;font-size:11px;gap:16px}.principles i{font-size:14px}.section-space{padding-block:57px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;padding-bottom:0;font-size:13px}.eyebrow{font-size:9px;letter-spacing:2px}h2{font-size:40px;letter-spacing:-1.5px;margin-top:15px}.practice-grid{grid-template-columns:1fr;gap:17px}.practice-card{padding:26px 25px}.area-number{padding-bottom:23px}.practice-card h3{font-size:30px;min-height:0;max-width:100%}.practice-card>p{font-size:13px;margin-top:17px;margin-bottom:23px}.practice-card ul{padding-top:17px;gap:10px}.practice-card li{font-size:11px}.about{padding-block:56px}.about-inner{grid-template-columns:1fr;gap:34px}.about h2{font-size:56px}.about-copy .about-lead{font-size:28px}.about-copy>p{font-size:13px}.about-signature{margin-top:24px;padding-top:20px}.contact{grid-template-columns:1fr;gap:37px}.contact-copy>p:last-child{font-size:13px;max-width:340px;margin-top:19px}.email-link{font-size:26px}.contact-note{margin-top:27px}.footer-main{align-items:flex-start;flex-direction:column;gap:24px;padding-block:32px}.footer-main>p{margin-left:0}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;padding-block:21px;font-size:9px}.footer-brand .brand-name{font-size:19px}.footer-brand .brand-monogram{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Expanded institutional experience */
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.hero-actions .button{gap:11px}.hero-actions .button svg,.whatsapp-float svg,.email-link svg{stroke-width:1.45}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:11px;border-bottom:1px solid var(--line);padding:13px 0 7px}
.text-link:hover{color:var(--accent)}
.about-copy blockquote{font-family:var(--font-serif);font-size:25px;line-height:1.35;margin:27px 0 0;padding:22px 0 0;border-top:1px solid #3b5359;color:#f4f2ea}
.about-copy blockquote cite{display:block;font-family:var(--font-sans);font-size:9px;letter-spacing:1.5px;color:#bdcac6;font-style:normal;margin-top:9px;text-transform:uppercase}
.reviews{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:90px}
.reviews-copy>p:last-child{max-width:480px;margin-top:21px;color:var(--muted);font-size:13px;line-height:1.85}
.reviews-placeholder{border:1px solid var(--line);background:#f2f1eb;padding:34px;display:flex;gap:25px;align-items:center;min-height:165px}
.reviews-placeholder .google-g{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid var(--line);font:bold 29px Arial;color:#365a8c;flex:none}
.reviews-placeholder strong{font-family:var(--font-serif);font-size:21px;font-weight:400}.reviews-placeholder p{font-size:12px;line-height:1.75;color:var(--muted);margin-top:10px}
.editorial{background:#ecebe4;border-block:1px solid var(--line)}
.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.editorial-card{background:#f8f7f3;border:1px solid #d5d7cd;padding:28px;min-height:255px;display:flex;flex-direction:column;align-items:flex-start}
.editorial-card>span{color:var(--accent);font:italic 17px var(--font-serif)}
.editorial-card>p:nth-of-type(1){font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-top:28px}
.editorial-card h3{font:400 28px/1.15 var(--font-serif);letter-spacing:-.6px;margin-top:13px}
.editorial-card>p:last-child{font-size:12px;line-height:1.8;color:var(--muted);margin-top:16px}
.editorial-note{text-align:right;font-size:9px;letter-spacing:.4px;color:var(--muted);margin-top:17px}
.court-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.court-grid>a{min-height:128px;padding:24px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:8px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s,color .2s}
.court-grid>a:hover{background:var(--ink);color:#fff}.court-grid strong{font:400 24px var(--font-serif)}.court-grid span{font-size:10px;line-height:1.5;color:var(--muted)}.court-grid>a:hover span{color:#cbd5d1}.court-grid svg{grid-row:1/3;grid-column:2;align-self:center}
.location{background:#ecebe4;border-block:1px solid var(--line);padding-block:76px}
.location-inner{display:grid;grid-template-columns:.75fr 1.25fr;gap:72px;align-items:center}
.location-copy>p:nth-of-type(2){font:400 17px/1.7 var(--font-serif);color:var(--muted);margin-top:23px}
.location-route{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #9ca9a2;padding:13px 0 8px;margin-top:22px;font-size:11px;transition:color .2s,border-color .2s}
.location-route:hover{color:var(--accent);border-color:var(--accent)}
.map-frame{height:420px;border:1px solid #cdd0c6;background:#dfe1d9;overflow:hidden}
.map-frame iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.72) contrast(.96)}
.social{background:var(--ink);color:#f4f2ea;padding-block:76px}
.social-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:center}.social .eyebrow{color:#d2bea0}.social h2{margin-top:17px}.social h2 em{color:#d7c5a8}
.social-list{border-top:1px solid #3b5359}.social-list a{padding:20px 4px;border-bottom:1px solid #3b5359;display:flex;justify-content:space-between;align-items:center;transition:padding .2s,color .2s}.social-list a:hover{padding-left:14px;color:#d7c5a8}.social-list a>span{font:400 20px var(--font-serif)}.social-list small{display:block;font:9px var(--font-sans);letter-spacing:.5px;color:#aebdb8;margin-top:7px}
.contact-label-spaced{margin-top:27px}
.address-link{font:400 17px/1.65 var(--font-serif);display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #9ca9a2;padding-bottom:16px}.address-link:hover{color:var(--accent)}
.contact-note strong{color:var(--ink)}
.whatsapp-float{position:fixed;z-index:40;right:24px;bottom:24px;background:#166b51;color:#fff;display:flex;align-items:center;gap:10px;padding:14px 18px;box-shadow:0 10px 35px rgba(16,35,38,.24);font-size:11px;letter-spacing:.2px;transition:transform .2s,background .2s}.whatsapp-float:hover{transform:translateY(-3px);background:#0f5842}

@media(max-width:900px){.reviews{gap:40px}.social-inner{gap:50px}.court-grid{grid-template-columns:repeat(2,1fr)}.location-inner{gap:40px}.map-frame{height:360px}}
@media(max-width:800px){.hero-actions{gap:17px}.reviews{grid-template-columns:1fr 1.1fr}.reviews-placeholder{padding:25px;gap:17px}.editorial-grid{gap:13px}.editorial-card{padding:22px}.social-inner{gap:35px}.whatsapp-float span{display:none}.whatsapp-float{border-radius:50%;width:54px;height:54px;padding:0;justify-content:center}}
@media(max-width:620px){nav>a:not(.nav-contact){display:none}.header-inner{min-height:105px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{margin-top:24px}.text-link{margin-top:0}.reviews{grid-template-columns:1fr;gap:30px}.reviews-placeholder{min-height:0;padding:24px}.reviews-placeholder .google-g{width:46px;height:46px;font-size:24px}.editorial-grid{grid-template-columns:1fr}.editorial-card{min-height:0}.editorial-note{text-align:left;line-height:1.6}.court-grid{grid-template-columns:1fr}.court-grid>a{min-height:108px}.location{padding-block:56px}.location-inner{grid-template-columns:1fr;gap:31px}.map-frame{height:320px}.social{padding-block:56px}.social-inner{grid-template-columns:1fr;gap:34px}.social-list a{padding-block:17px}.address-link{font-size:16px}.whatsapp-float{right:17px;bottom:17px}}
