@charset "UTF-8";
/* v5: distinctive brand, readable disclosures and centered team cards. */
.brand{gap:14px}
.brand-logo{width:64px;height:64px;flex-basis:64px;border-radius:12px;box-shadow:0 5px 16px #143a2418}
.brand-name{font-size:1.45rem;letter-spacing:.055em;white-space:nowrap}
.brand-sub{font-size:.75rem;letter-spacing:.14em;line-height:1.4}
.whatsapp{display:flex;align-items:center;gap:12px;background:#23d366;color:#062e18;border:2px solid #d5ffe2;border-radius:100px;padding:14px 23px;min-height:58px;font-size:1rem;font-weight:700;box-shadow:0 6px 25px #05512738;right:22px;bottom:22px}
.whatsapp:hover{background:#49e382;color:#062e18;box-shadow:0 9px 30px #05512748}
.whatsapp:before{content:"";width:10px;height:10px;border-radius:50%;background:#075e32;box-shadow:0 0 0 5px #075e3218;flex-shrink:0}
.process-slide{grid-template-columns:max-content minmax(0,1fr)}
.process-number,.practice-index{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;min-width:2ch;width:max-content;font-variant-numeric:tabular-nums;line-height:1.1}
.process-number{font-size:3.1rem}
.practices-section{background:#edf2eb}
.practice-accordion{border-top:1px solid #c1cebd}
.practice-row{border-bottom:1px solid #c1cebd;background:#f9fbf6;transition:background .2s}
.practice-row>summary{list-style:none;display:grid;grid-template-columns:66px minmax(0,1fr) 48px;align-items:center;gap:30px;padding:32px;cursor:pointer}
.practice-row>summary::-webkit-details-marker{display:none}
.practice-row>summary::marker{content:""}
.practice-index{font-family:var(--serif);font-size:2rem;color:#8c734e}
.practice-title{display:block;min-width:0}
.practice-tag{display:block;font-size:.875rem;letter-spacing:.03em;color:var(--muted);margin-bottom:8px}
.practice-name{display:block;font-family:var(--serif);font-size:clamp(1.65rem,2.5vw,2.45rem);line-height:1.2;margin-bottom:10px;color:var(--ink)}
.practice-short{display:block;font-size:1rem;color:var(--muted);max-width:760px;line-height:1.75}
.practice-toggle{width:46px;height:46px;border:1px solid #b5c2ae;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;color:var(--bronze);transition:transform .25s,background .25s}
.practice-row>summary:hover{background:#f0f5e9}
.practice-row[open]{background:white}
.practice-row[open] .practice-toggle{transform:rotate(45deg);background:var(--ink);color:var(--gold);border-color:var(--ink)}
.practice-row[open] .practice-index{color:var(--ink)}
.practice-content{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;margin-left:128px;margin-right:32px;padding:5px 0 34px}
.practice-content .eyebrow{font-size:.875rem;margin-bottom:12px}
.practice-content p{font-size:1rem;color:var(--muted);margin-bottom:0}
.practice-content ul{padding-left:20px;margin:0 0 20px;color:var(--ink);font-size:.9375rem}
.practice-content li{padding-left:5px;margin-bottom:9px}
.law-source{font-size:.875rem;color:var(--bronze);text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:44px;padding-block:8px}
.practice-disclaimer{font-size:.875rem;color:var(--muted);margin:22px 0 0}
.people-section{padding:74px 0 30px;overflow:hidden;background:#f5f8f1}
.people-section+.people-section{padding-top:55px;background:#eaf0e5}
.people-heading{justify-content:space-between;align-items:end;margin-bottom:24px}
.people-heading:after{display:none}
.people-heading .eyebrow{font-size:.75rem;margin-bottom:14px}
.people-heading h2{font-size:2.7rem}
.coverflow-controls{display:flex;gap:10px}
.coverflow-controls button{background:#fff;border:1px solid #9bae9a;color:var(--ink);width:50px;height:50px}
.coverflow-controls button:disabled{opacity:.35;cursor:default}
.team-coverflow{--card-width:clamp(320px,38vw,460px);position:relative}
.coverflow-track{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(1100px,calc(100% - 64px));margin:auto;gap:28px;padding-block:18px 48px}
.team-coverflow.is-enhanced .coverflow-track{display:flex;align-items:flex-start;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:calc((100% - var(--card-width))/2);padding-inline:calc((100% - var(--card-width))/2);gap:30px;scrollbar-width:thin;scrollbar-color:#9db09a transparent;overscroll-behavior-x:contain}
.team-coverflow.is-enhanced .person{width:var(--card-width);flex:0 0 var(--card-width);scroll-snap-align:center;transform:scale(.88);transform-origin:top center;opacity:.75;transition:transform .4s,opacity .4s,border-color .4s,box-shadow .4s}
.team-coverflow.is-enhanced .person.is-centered{transform:scale(1);opacity:1;border-color:#bda272;box-shadow:0 20px 45px #14351c1f}
.team-coverflow .person:hover{transform:none}
.team-coverflow.is-enhanced .person:hover{transform:scale(.88)}
.team-coverflow.is-enhanced .person.is-centered:hover{transform:scale(1)}
.person{border-radius:8px;border-color:#ced8c6}
.person-photo{aspect-ratio:4/2.5;border-bottom:0;position:relative;background:#e7e9e2}
.person-photo img{object-fit:contain}
.person-content{padding:28px}
.person-heading{min-height:0;margin-bottom:18px}
.person h3{font-size:1.9rem}
.person-role{font-size:.9375rem;font-weight:600;letter-spacing:.025em;color:var(--bronze);margin-bottom:14px}
.person-summary{font-size:1.0625rem;color:var(--muted);line-height:1.8;margin-bottom:16px}
.person-experience{font-size:.875rem}
.person-bio summary{min-height:60px;padding:16px 0;font-size:.9375rem;color:var(--ink)}
.bio-arrow{width:34px;height:34px;font-size:1.2rem}
.person-bio[open] .bio-arrow{transform:rotate(180deg)}
.bio-full p{font-size:1rem;line-height:1.85}
.person-contact{gap:8px 22px}
.person-contact a{font-size:.875rem}
#contact{padding-block:55px;background:#fff}
#contact .contact-grid{display:block}
#contact .contact-copy h2{font-size:2.35rem;max-width:none;margin-bottom:18px}
#contact .contact-copy .eyebrow{margin-bottom:14px}
#contact .contact-copy>p{max-width:760px;font-size:1rem;margin-bottom:20px}
.contact-list{display:grid;grid-template-columns:1.05fr 1.15fr .85fr 1.3fr;gap:22px;margin-top:20px}
.contact-item{padding:16px 0 0}
.contact-item dt{font-size:.75rem;margin-bottom:9px}
.contact-item dd{font-size:.9375rem}
.contact-compose{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}
.contact-compose>summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:48px;padding:10px 0;font-weight:500}
.contact-compose>summary::-webkit-details-marker{display:none}
.contact-compose>summary span{transition:transform .2s}
.contact-compose[open]>summary span{transform:rotate(180deg)}
.contact-compose .contact-form{margin-top:20px;max-width:900px;box-shadow:none;border:1px solid var(--line)}
.office-section{padding-block:68px 40px}
.office-heading{display:block;margin-bottom:32px}
.office-heading h2{font-size:clamp(2.2rem,3.5vw,3.3rem)}
.office-map iframe{height:440px}
.payment-title{background:#eff4e9;padding:30px 0 5px}
.payment-title h1{font-size:2.5rem;margin-bottom:12px}
.payment-title .eyebrow{font-size:.875rem;margin-bottom:12px}
.payment-title+.section{padding-block:28px 65px}
.payment-panel{border-top:3px solid var(--gold)}
.moka-provider{align-items:center;justify-content:flex-start;gap:18px;background:#eef3e8;padding:24px;margin-top:25px;border-radius:7px}
.moka-provider .provider-name{font-size:1.8rem;letter-spacing:-.03em;color:var(--ink)}
.moka-button{font-size:1.0625rem;min-height:58px;width:100%;margin-bottom:16px}
.customer-reviews{background:#fcfdf9}
.customer-reviews .section-heading p{color:var(--muted)}
.customer-reviews .review-stage{max-width:none;border:1px solid #d2ddc8;border-top:3px solid #b49a6e;padding:36px 52px;background:#f2f6ed}
.review-card{min-height:210px}
.review-enter{animation:slide-enter .4s ease both}
.review-quote{font-family:var(--serif);font-size:4rem;color:#a38d65;line-height:.7;display:block;margin:12px 0 24px}
.review-card h3{font-family:var(--serif);font-size:1.8rem;margin-bottom:15px}
.review-body{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.review-author{display:flex;gap:22px;flex-wrap:wrap;font-size:.875rem;color:var(--muted);margin-top:24px}
.review-author strong{font-size:1rem;color:var(--ink)}
.review-empty{margin:5px 0;color:var(--muted)}
.review-form-disclosure{margin-top:30px;border:1px solid var(--line);background:#fff}
.review-form-disclosure>summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;padding:20px 26px;font-size:1.05rem;font-weight:500}
.review-form-disclosure>summary::-webkit-details-marker{display:none}
.review-form-body{padding:10px 30px 32px;max-width:1000px;margin:auto}
.review-form-body h3{font-family:var(--serif);font-size:1.8rem}
.review-form-body>p{font-size:.9375rem;color:var(--muted)}
.review-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.check-line{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;margin:16px 0;line-height:1.65;cursor:pointer}
.check-line input{width:18px;height:18px;min-width:18px;margin:4px 0 0;accent-color:var(--ink)}
.check-line a{text-decoration:underline;text-underline-offset:3px}
.review-form-body .button{margin-top:8px}
.review-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
button:disabled{opacity:.55;cursor:wait;transform:none!important}
.admin-page{padding:50px 0 80px;min-height:70vh;background:#f1f5ec}
.admin-heading{display:flex;justify-content:space-between;gap:24px;align-items:start}
.admin-heading h1{font-size:3rem;margin-bottom:14px}
.admin-heading p{color:var(--muted)}
.admin-login{max-width:460px;padding:30px;background:#fff;border:1px solid var(--line);margin-block:30px}
.admin-login h2{font-size:2rem}
.admin-login .button{width:100%}
.admin-login .small{margin:20px 0 0}
.admin-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:24px 0}
.admin-toolbar select{font:inherit;padding:12px;min-height:48px;border:1px solid #bacab2;background:#fff}
.admin-review{padding:30px;background:white;border:1px solid var(--line);margin-bottom:24px;border-radius:6px}
.admin-review-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}
.admin-review-heading h2{font-size:1.8rem;margin:0}
.admin-review-heading>span{font-size:.875rem;color:var(--muted)}
.admin-contact{color:var(--muted);margin:15px 0;font-size:.9375rem;overflow-wrap:anywhere}
.admin-original{padding:18px 22px;background:#f3f6ef;border:1px solid var(--line);margin-bottom:20px}
.admin-original summary{cursor:pointer;font-weight:500}
.admin-original h3{font-size:1.2rem;margin:22px 0 12px}
.admin-original p{white-space:pre-line;overflow-wrap:anywhere}
.admin-consent{font-size:.9375rem;font-weight:500}
.admin-actions,.admin-pagination{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.admin-actions .button{font-size:.875rem}
.admin-empty{padding:35px;background:white;border:1px solid var(--line)}
@media(max-width:1100px){.brand-logo{width:54px;height:54px;flex-basis:54px}.brand-name{font-size:1.3rem}.brand-sub{letter-spacing:.07em}.practice-content{gap:30px;margin-left:112px}.practice-row>summary{grid-template-columns:52px minmax(0,1fr) 46px;gap:28px}.contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 36px}.team-coverflow{--card-width:clamp(330px,48vw,440px)}}
@media(max-width:720px){.brand-logo{width:48px;height:48px;flex-basis:48px}.brand-name{font-size:1.2rem;letter-spacing:.025em}.brand-sub{font-size:.75rem;letter-spacing:.025em}.whatsapp{font-size:.9375rem;right:14px;bottom:max(14px,env(safe-area-inset-bottom));min-height:52px;padding:12px 20px}.practice-row>summary{padding:23px 18px;grid-template-columns:40px minmax(0,1fr) 34px;gap:13px;align-items:start}.practice-index{font-size:1.55rem;padding-top:3px}.practice-tag{font-size:.75rem}.practice-name{font-size:1.65rem;margin-bottom:12px}.practice-short{font-size:.9375rem}.practice-toggle{width:34px;height:34px;font-size:1.2rem;margin-top:3px}.practice-content{display:block;margin:0;padding:0 22px 26px}.practice-content>div+div{margin-top:22px}.people-section{padding:50px 0 20px}.people-heading h2{font-size:2rem}.people-heading .eyebrow{max-width:210px;line-height:1.65}.coverflow-controls button{width:44px;height:44px}.team-coverflow{--card-width:min(78vw,410px)}.coverflow-track{grid-template-columns:1fr;width:calc(100% - 40px)}.team-coverflow.is-enhanced .coverflow-track{gap:16px;padding-bottom:35px}.team-coverflow.is-enhanced .person{transform:scale(.91);opacity:.72}.team-coverflow.is-enhanced .person:hover{transform:scale(.91)}.team-coverflow.is-enhanced .person.is-centered,.team-coverflow.is-enhanced .person.is-centered:hover{transform:scale(1);opacity:1}.person-content{padding:24px}.person h3{font-size:1.65rem}.person-summary{font-size:1rem;line-height:1.75}.person-photo{aspect-ratio:4/3}.person-heading{margin-bottom:15px}.person-bio summary{font-size:.875rem}.bio-full p{font-size:.9375rem}#contact .contact-copy h2{font-size:2rem}.contact-list{gap:12px 22px}.contact-compose .contact-form{padding:25px}.office-map iframe{height:390px}.office-section{padding-top:50px}.payment-title h1{font-size:2.2rem}.moka-provider{align-items:flex-start;padding:20px}.customer-reviews .review-stage{padding:28px 24px}.review-form-body{padding:10px 24px 26px}.admin-heading{display:block}.admin-heading .button{margin-top:8px}.admin-heading h1{font-size:2.4rem}.admin-review{padding:24px}.admin-review-heading{display:block}.admin-review-heading>span{display:block;margin-top:10px}}
@media(max-width:440px){.brand-logo{width:42px;height:42px;flex-basis:42px}.brand{gap:10px}.brand-name{font-size:1.1rem;letter-spacing:0}.brand-sub{font-size:.75rem;letter-spacing:0}.person-content{padding:20px}.person h3{font-size:1.4rem}.team-coverflow{--card-width:82vw}.coverflow-controls{gap:7px}.people-heading h2{font-size:1.8rem}.practice-row>summary{grid-template-columns:32px minmax(0,1fr) 30px;padding-inline:16px;gap:10px}.practice-index{font-size:1.3rem}.practice-name{font-size:1.4rem}.practice-toggle{width:30px;height:30px}.contact-list,.review-fields{grid-template-columns:1fr}.review-form-body{padding-inline:20px}.admin-review{padding:20px}.admin-original{padding:16px}.process-number{font-size:2.75rem}.admin-toolbar select{width:100%}.customer-reviews .slide-pause{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.team-coverflow .person,.team-coverflow .coverflow-track{transition:none!important;scroll-behavior:auto!important}}
@media print{.coverflow-controls,.review-form-disclosure,.admin-page,.whatsapp{display:none!important}.team-coverflow.is-enhanced .coverflow-track{display:block;overflow:visible;padding:0;width:100%}.team-coverflow.is-enhanced .person{width:100%;transform:none;opacity:1;margin-bottom:25px}.person-bio>.bio-full{display:block}}
