:root{
  --navy:#020b21;--navy-2:#06182f;--navy-3:#082b57;--blue:#005fb5;--cyan:#06b4eb;
  --ice:#c8e4f3;--ink:#071a33;--muted:#5d6f82;--paper:#f3f6f9;--white:#fff;
  --line:rgba(2,36,78,.14);--glass:rgba(255,255,255,.12);--glass-light:rgba(255,255,255,.78);
  --shadow:0 22px 60px rgba(0,25,60,.14);--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img{max-width:100%}.container{width:min(calc(100% - 56px),var(--max));margin:auto}section{padding:94px 0}.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:#71828c;margin-bottom:10px}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:30px}.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,4rem);line-height:1.03;font-weight:400;margin:0}.section-copy{max-width:620px;color:var(--muted);font-size:.92rem;margin:0}.btn{border:1px solid rgba(16,43,61,.16);border-radius:6px;min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-weight:700;font-size:.82rem;transition:.2s;background:#fff}.btn:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(13,39,54,.10)}.btn-dark{background:linear-gradient(135deg,var(--navy-3),var(--blue));color:#fff;border-color:rgba(6,180,235,.28)}.btn-gold{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;border-color:rgba(255,255,255,.18)}.btn-outline{background:transparent;border-color:rgba(16,43,61,.24)}.btn-glass{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.text-link{font-size:.78rem;font-weight:700;color:var(--blue)}.text-link::after{content:" →"}

.site-header{position:fixed;z-index:80;left:0;right:0;top:0;padding:10px 12px;transition:.25s}.site-header.scrolled{background:rgba(9,31,44,.78);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.10)}.header-shell{width:min(100%,1360px);margin:auto;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;color:#fff}.brand-mark{width:54px;height:54px;position:relative;display:block;font-family:Georgia,serif}.brand-mark span:first-child{position:absolute;font-size:2.65rem;left:0;top:0}.brand-mark span:last-child{position:absolute;font-size:2.45rem;right:1px;bottom:-1px}.brand-mark.small{width:42px;height:42px}.brand-mark.small span:first-child{font-size:2.05rem}.brand-mark.small span:last-child{font-size:1.9rem}.brand-name{font-family:Georgia,serif;text-transform:uppercase;font-size:.88rem;letter-spacing:.04em;line-height:1.2}.brand-name small{display:block;font-family:Arial,sans-serif;font-size:.47rem;letter-spacing:.12em;margin-top:4px}.header-actions{display:flex;align-items:center;gap:8px}.icon-button,.menu-toggle{height:46px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:rgba(255,255,255,.11);color:#fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer}.language-control{position:relative}.language-button{display:flex;align-items:center;gap:8px;padding:0 12px;font-size:.75rem}.current-language{font-weight:800}.language-menu{position:absolute;right:0;top:54px;width:210px;padding:7px;background:rgba(246,243,237,.96);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;pointer-events:none;transform:translateY(-6px);transition:.18s}.language-menu.open{opacity:1;pointer-events:auto;transform:none}.language-menu button{width:100%;border:0;background:transparent;padding:10px 11px;border-radius:5px;text-align:left;display:flex;justify-content:space-between;cursor:pointer;font-size:.8rem}.language-menu button:hover,.language-menu button.active{background:#e8edf0}.menu-toggle{width:50px;padding:12px;display:grid;align-content:center;gap:5px}.menu-toggle span{height:1px;background:#fff;display:block}.menu-toggle span:nth-child(2){width:70%;justify-self:end}

.page-overlay{position:fixed;z-index:88;inset:0;background:rgba(6,20,29,.46);backdrop-filter:blur(3px)}.side-drawer{position:fixed;z-index:90;right:0;top:0;bottom:0;width:min(430px,92vw);padding:20px;background:rgba(247,244,238,.97);box-shadow:-28px 0 70px rgba(8,28,39,.20);transform:translateX(104%);transition:transform .28s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;overflow:auto}.side-drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}.drawer-brand{display:flex;align-items:center;gap:10px}.drawer-brand .brand-mark{color:var(--navy)}.drawer-brand strong{display:block;font-family:Georgia,serif;font-size:.96rem}.drawer-brand small{font-size:.68rem;color:var(--muted)}.drawer-close,.modal-close{width:42px;height:42px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.65);font-size:1.45rem;cursor:pointer}.drawer-nav{display:grid;padding:18px 0}.drawer-nav a{padding:14px 4px;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:1.35rem}.drawer-nav a small{display:block;font-family:Arial,sans-serif;font-size:.68rem;color:var(--muted);margin-top:3px}.drawer-language{margin-top:8px;padding:15px;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:7px}.drawer-language>small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;font-size:.62rem;margin-bottom:10px}.language-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.language-grid button{height:36px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;font-size:.69rem}.language-grid button.active{background:var(--navy);color:#fff}.drawer-contact{margin-top:auto;padding-top:18px;display:grid;gap:9px}.drawer-contact-line{display:flex;align-items:center;gap:10px;font-size:.78rem;color:#526975;padding:9px 0}

.hero{min-height:790px;padding:0;position:relative;background:var(--navy);color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(6,24,35,.94) 0%,rgba(6,24,35,.72) 43%,rgba(6,24,35,.30) 100%),url("skyline.svg");background-size:cover;background-position:center 65%;transform:scale(1.015)}.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(5,22,32,.55))}.hero-inner{position:relative;z-index:2;min-height:790px;padding:135px 0 70px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.62fr);gap:72px;align-items:center}.hero-kicker{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;margin-bottom:22px;color:#e3ebef}.hero h1{font-family:Georgia,serif;font-size:clamp(3.7rem,6.2vw,6.7rem);font-weight:400;line-height:.94;max-width:800px;margin:0}.hero-copy>p{font-size:1.04rem;max-width:690px;color:#e2e8eb;margin:24px 0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-note{margin-top:18px;max-width:690px;font-size:.72rem;color:#aebdc5}.hero-rail{display:grid;gap:11px}.glass-card{border:1px solid rgba(255,255,255,.27);border-radius:8px;background:rgba(242,247,250,.13);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px rgba(255,255,255,.12)}.hero-fact{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px}.hero-fact-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center}.hero-fact strong{display:block;font-size:.86rem}.hero-fact small{display:block;color:#c9d5da;font-size:.7rem;margin-top:3px}.hero-mini{padding:15px 16px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem}.hero-mini strong{font-family:Georgia,serif;font-size:1.25rem}

.practice-quick{padding:42px 0 0;background:#f6f3ed}.quick-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:19px}.quick-top h2{font-family:Georgia,serif;font-size:2.45rem;font-weight:400;margin:0}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.quick-card{min-height:142px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.56);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;transition:.2s}.quick-card:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}.quick-icon{font-size:1.65rem}.quick-card strong{font-size:.82rem;line-height:1.25}.stats-band{margin-top:28px;background:linear-gradient(90deg,#21475f,#0e2e43);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);border-radius:7px 7px 0 0;overflow:hidden}.stat{padding:24px 18px;text-align:center;position:relative}.stat:not(:last-child)::after{content:"";position:absolute;right:0;top:21%;bottom:21%;width:1px;background:rgba(255,255,255,.15)}.stat strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.8rem}.stat span{display:block;font-size:.7rem;color:#c8d3d9;margin-top:2px}

.intro{background:#0c2b3f;color:#fff;padding:0}.intro-grid{display:grid;grid-template-columns:.93fr 1.07fr;width:min(100%,1500px);margin:auto}.office-art{min-height:520px;position:relative;overflow:hidden;background:linear-gradient(110deg,#c8c6c0,#899aa4 40%,#dde1df);border-right:1px solid rgba(255,255,255,.1)}.office-window{position:absolute;left:0;top:0;bottom:0;width:44%;background:linear-gradient(rgba(43,72,88,.3),rgba(43,72,88,.12)),url("skyline.svg") center/cover}.office-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 52%,rgba(10,33,47,.11) 52%,rgba(10,33,47,.11) 52.4%,transparent 52.4%),linear-gradient(0deg,transparent 35%,rgba(10,33,47,.09) 35%,rgba(10,33,47,.09) 35.3%,transparent 35.3%)}.office-table{position:absolute;bottom:-30px;left:12%;width:85%;height:170px;background:linear-gradient(8deg,#4f4439,#9e8a70);clip-path:polygon(0 25%,100% 0,100% 100%,0 100%)}.office-mark{position:absolute;right:10%;top:33%;font-family:Georgia,serif;font-size:4.4rem;color:rgba(18,43,57,.55);text-align:center}.office-mark small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em}.intro-copy{padding:65px;display:grid;grid-template-columns:1fr 185px;gap:44px;align-items:center}.intro-copy h2{font-family:Georgia,serif;font-size:3.2rem;line-height:1.03;font-weight:400;margin:0 0 18px}.intro-copy p{font-size:.88rem;color:#cfdae0;margin:0}.intro-copy .btn{margin-top:23px}.value-list{border-left:1px solid rgba(255,255,255,.16);padding-left:24px;display:grid;gap:16px}.value-item{display:flex;align-items:center;gap:9px;font-size:.78rem}.value-icon{width:31px;height:31px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center}

.details-section{background:#fff}.practice-list{border-top:1px solid var(--line)}.practice-item{border-bottom:1px solid var(--line)}.practice-btn{width:100%;border:0;background:transparent;padding:20px 5px;display:grid;grid-template-columns:56px 1fr 40px;gap:16px;align-items:center;text-align:left;cursor:pointer}.practice-num{font-size:.66rem;color:#87969e}.practice-title strong{font-family:Georgia,serif;font-weight:400;font-size:1.42rem;display:block}.practice-title>span{font-size:.78rem;color:var(--muted);display:block;margin-top:3px}.practice-plus{justify-self:end;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.24s}.practice-item.open .practice-plus{transform:rotate(45deg)}.practice-body{display:grid;grid-template-rows:0fr;transition:.28s}.practice-body>div{overflow:hidden}.practice-item.open .practice-body{grid-template-rows:1fr}.practice-inner{padding:0 50px 23px 77px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-box{background:#f5f2eb;border:1px solid var(--line);border-radius:7px;padding:18px}.info-box h4{font-size:.69rem;text-transform:uppercase;letter-spacing:.09em;margin:0 0 8px}.info-box p{font-size:.82rem;color:#526976;margin:0}.info-box .btn{margin-top:15px;min-height:40px;font-size:.75rem}

.process{background:#eff1f1}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.process-card{min-height:250px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:23px;display:flex;flex-direction:column}.process-no{font-family:Georgia,serif;font-size:2rem;color:#9aabb4}.process-card h3{font-family:Georgia,serif;font-weight:400;font-size:1.45rem;margin:24px 0 8px}.process-card p{font-size:.8rem;color:var(--muted);margin:0}.process-card::after{content:"→";margin-top:auto;color:#708692}

.knowledge{background:#fff}.knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feature-card{border:1px solid var(--line);border-radius:8px;padding:29px;background:#f7f4ee}.feature-card.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.feature-card h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:12px 0}.feature-card p,.feature-card li{font-size:.82rem;color:#586b76}.feature-card.dark p,.feature-card.dark li{color:#c9d4da}.feature-card ul{padding-left:18px}.tag{display:inline-flex;align-items:center;border-radius:4px;padding:5px 8px;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:#dde7e9;color:#1d475a}.tag.history{background:#efe2c6;color:#76531a}.tag.warning{background:#efe0d7;color:#84513a}.tag.mixed{background:#e9e6df;color:#596670}.feature-card.dark .tag{background:rgba(255,255,255,.12);color:#fff}.legal-note{border-top:1px solid currentColor;opacity:.8;margin-top:17px;padding-top:12px;font-size:.68rem}

.team{background:#ebe7df}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.person{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(12,38,52,.07)}.person-art{height:280px;position:relative;background:linear-gradient(145deg,#d6d2ca,#aebac0)}.person-art::before{content:"";position:absolute;left:50%;top:45px;width:105px;height:105px;transform:translateX(-50%);border-radius:50%;background:linear-gradient(145deg,#7b8e98,#3e5c6b)}.person-art::after{content:"";position:absolute;left:50%;bottom:0;width:200px;height:145px;transform:translateX(-50%);border-radius:100px 100px 0 0;background:linear-gradient(145deg,#24485d,#0f2c3e)}.person-monogram{position:absolute;right:17px;bottom:12px;z-index:2;font-family:Georgia,serif;font-size:2.6rem;color:rgba(255,255,255,.26)}.person-copy{padding:19px}.person-copy h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:400;margin:0}.person-copy p{font-size:.8rem;color:var(--muted);margin:6px 0 0}

.utility{background:#f7f4ee}.utility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.utility-grid+.utility-grid{margin-top:12px}.utility-card{border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.75);padding:23px}.utility-card h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:400;margin:0 0 10px}.utility-card p,.utility-card li{font-size:.81rem;color:#536875}.utility-card ul{margin:11px 0 0;padding-left:18px}.utility-card p{margin:7px 0}

.archive{background:#eae6de}.archive-box{border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:8px;overflow:hidden}.archive-toggle{width:100%;padding:20px 22px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;cursor:pointer}.archive-toggle strong{font-family:Georgia,serif;font-size:1.3rem;font-weight:400}.archive-body{display:grid;grid-template-rows:0fr;transition:.28s}.archive-body>div{overflow:hidden}.archive-box.open .archive-body{grid-template-rows:1fr}.archive-inner{padding:0 22px 22px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.archive-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:17px}.archive-card h4{margin:0 0 7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.archive-card p{font-size:.79rem;color:#536875;margin:0}

.contact{background:linear-gradient(180deg,#f8f6f1,#e8e2da)}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:start}.contact-intro-card,.contact-card{border:1px solid rgba(16,43,61,.13);border-radius:8px;background:rgba(255,255,255,.64);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow);padding:28px}.contact-intro-card h2{font-family:Georgia,serif;font-size:2.7rem;font-weight:400;line-height:1.05;margin:0 0 12px}.contact-intro-card p{font-size:.86rem;color:var(--muted)}.contact-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.contact-list{display:grid}.contact-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:0}.contact-icon{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.9rem}.contact-row strong{display:block;font-size:.79rem}.contact-row span,.contact-row a{font-size:.79rem;color:#566c78}.contact-row>a:last-child{font-size:.68rem;font-weight:700;color:var(--navy)}.map-card{margin-top:16px;min-height:148px;border-radius:7px;overflow:hidden;position:relative;background:url("skyline.svg") center 70%/cover;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}.map-card::before{content:"";position:absolute;inset:0;background:rgba(9,35,50,.52)}.map-card span{position:relative;z-index:2;font-size:.78rem}.map-card i{width:40px;height:40px;margin:0 auto 8px;border:2px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;font-style:normal}

footer{background:var(--navy);color:#fff;padding:50px 0 30px}.footer-top{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:42px}.footer-brand p{color:#abbcc5;font-size:.76rem;max-width:390px;margin-top:18px}.footer-col h4{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:#9fb1bb;margin:0 0 12px}.footer-col{display:grid;align-content:start;gap:8px}.footer-col a,.footer-col span{font-size:.76rem;color:#dbe3e7}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;color:#8fa3ae;font-size:.65rem}.mobile-actionbar{display:none}

.contact-modal{position:fixed;z-index:120;inset:0;background:rgba(5,20,29,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:24px;display:grid;place-items:center;opacity:0;pointer-events:none;transition:.2s}.contact-modal.open{opacity:1;pointer-events:auto}.contact-modal-shell{width:min(760px,100%);max-height:min(780px,94vh);overflow:auto;background:rgba(247,245,240,.98);border:1px solid rgba(255,255,255,.45);border-radius:9px;box-shadow:0 35px 95px rgba(0,0,0,.32);padding:24px}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--line)}.modal-head small{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.modal-head h2{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;margin:5px 0 0}.modal-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.modal-option{border:1px solid var(--line);border-radius:6px;background:#fff;padding:18px 12px;display:grid;gap:8px;text-align:center;cursor:pointer;min-height:118px;align-content:center}.modal-option:hover{border-color:#7792a0;box-shadow:0 8px 20px rgba(13,40,55,.08)}.modal-option .opt-icon{font-size:1.35rem}.modal-option strong{font-size:.78rem}.modal-option small{font-size:.66rem;color:var(--muted)}.request-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.request-panel[hidden]{display:none}.request-panel h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:0 0 12px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field.full{grid-column:1/-1}.field label{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#667b86;font-weight:800;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:5px;background:#fff;padding:12px;color:var(--ink);outline:none}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7693a2;box-shadow:0 0 0 3px rgba(74,111,131,.09)}.request-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:11px}.request-foot small{font-size:.66rem;color:#72838c;max-width:420px}.modal-note{margin-top:14px;padding:11px 12px;border-radius:5px;background:#e9eef0;color:#526a76;font-size:.69rem}.noscript{padding:20px;background:#fff2cc;color:#5b4a18}

@media(max-width:1000px){.quick-grid{grid-template-columns:repeat(3,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.utility-grid{grid-template-columns:1fr 1fr}.intro-copy{grid-template-columns:1fr}.value-list{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:20px 0 0;grid-template-columns:repeat(2,1fr)}.hero-inner{grid-template-columns:1fr .72fr;gap:34px}.header-contact{display:none}}
@media(max-width:800px){.container{width:min(calc(100% - 28px),var(--max))}section{padding:72px 0}.header-shell{min-height:66px}.brand-mark{width:44px;height:44px}.brand-mark span:first-child{font-size:2.15rem}.brand-mark span:last-child{font-size:1.98rem}.brand-name{font-size:.76rem}.hero,.hero-inner{min-height:760px}.hero-inner{grid-template-columns:1fr;padding-top:115px;align-content:center}.hero-rail{grid-template-columns:1fr 1fr}.hero-mini{grid-column:1/-1}.quick-grid{grid-template-columns:repeat(2,1fr)}.stats-band{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2)::after{display:none}.intro-grid{grid-template-columns:1fr}.office-art{min-height:360px}.intro-copy{padding:38px 26px}.section-head{display:block}.section-copy{margin-top:12px}.practice-inner{grid-template-columns:1fr;padding-left:72px}.knowledge-grid,.team-grid,.contact-layout{grid-template-columns:1fr}.utility-grid{grid-template-columns:1fr}.archive-inner{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.modal-options{grid-template-columns:1fr 1fr}.mobile-actionbar{position:fixed;z-index:75;display:grid;grid-template-columns:1fr .72fr;gap:7px;left:9px;right:9px;bottom:9px;padding:7px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:rgba(10,37,53,.84);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 17px 46px rgba(0,0,0,.18)}.mobile-actionbar .btn{min-height:44px}}
@media(max-width:560px){.container{width:calc(100% - 22px)}.site-header{padding:8px}.brand-name small{display:none}.language-button{padding:0 9px}.language-button>span:first-child{display:none}.hero,.hero-inner{min-height:820px}.hero-inner{padding-top:108px}.hero h1{font-size:clamp(3.05rem,14vw,4.5rem)}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-rail{grid-template-columns:1fr}.hero-mini{grid-column:auto}.quick-top{display:block}.quick-top .text-link{display:inline-block;margin-top:8px}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{min-height:127px}.stats-band{grid-template-columns:1fr 1fr}.stat{padding:18px 8px}.intro-copy h2{font-size:2.45rem}.value-list{grid-template-columns:1fr 1fr}.practice-btn{grid-template-columns:34px 1fr 34px;padding:16px 5px;gap:7px}.practice-title strong{font-size:1.16rem}.practice-inner{padding:0 5px 18px 39px}.process-grid{grid-template-columns:1fr}.section-title{font-size:2.45rem}.contact-intro-card,.contact-card{padding:20px}.contact-primary-actions{grid-template-columns:1fr}.contact-row{grid-template-columns:38px 1fr}.contact-row>a:last-child{grid-column:2}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:grid}.contact-modal{padding:9px}.contact-modal-shell{padding:17px;max-height:96vh}.modal-head h2{font-size:1.8rem}.modal-options{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.request-foot{display:grid}.request-foot .btn{width:100%}.language-grid{grid-template-columns:repeat(3,1fr)}}

/* Official brand system */
.brand-logo-link{display:flex;align-items:center;min-width:0}
.brand-logo{display:block;width:285px;max-width:31vw;height:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
.drawer-logo{display:block;width:255px;max-width:78vw;height:auto}
.footer-logo{display:block;width:290px;max-width:100%;height:auto}
.site-header.scrolled{background:rgba(2,11,33,.88);border-bottom-color:rgba(6,180,235,.16)}
.icon-button,.menu-toggle{border-color:rgba(200,228,243,.28);background:rgba(8,43,87,.30)}
.menu-toggle span{background:var(--ice)}
.language-menu{background:rgba(246,250,253,.97)}
.language-menu button:hover,.language-menu button.active{background:#e0f2fa;color:#003f7d}
.side-drawer{background:rgba(245,249,252,.985);box-shadow:-28px 0 80px rgba(0,16,46,.32)}
.language-grid button.active{background:linear-gradient(135deg,var(--navy-3),var(--blue))}
.drawer-contact-line{color:#455f79}
.hero{background:var(--navy)}
.hero-bg{background-image:linear-gradient(90deg,rgba(2,11,33,.97) 0%,rgba(2,20,48,.87) 42%,rgba(0,48,96,.48) 100%),url("skyline.svg")}
.hero-bg::after{background:linear-gradient(180deg,rgba(2,11,33,.04) 52%,rgba(2,11,33,.78))}
.hero-kicker{color:var(--ice)}
.glass-card{border-color:rgba(200,228,243,.24);background:rgba(7,49,94,.24)}
.hero-fact-icon{border-color:rgba(6,180,235,.38);color:#dff6ff}
.practice-quick{background:#f3f7fa}
.quick-card{background:rgba(255,255,255,.84)}
.quick-card:hover{border-color:rgba(0,95,181,.24)}
.quick-icon{color:var(--blue)}
.stats-band{background:linear-gradient(105deg,#020b21 0%,#052653 58%,#005fb5 120%)}
.intro{background:linear-gradient(110deg,#020b21,#061c39 62%,#062a55);color:#fff}
.office-art{background:linear-gradient(120deg,#dcebf4,#80a8c2 42%,#e5f4fb)}
.office-window{background:linear-gradient(rgba(2,28,60,.48),rgba(0,91,177,.12)),url("skyline.svg") center/cover}
.office-mark{right:7%;top:31%;width:43%;font-size:0;color:transparent}
.office-mark img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 28px rgba(0,34,82,.16))}
.team{background:linear-gradient(145deg,#020b21,#061b37 68%,#062c58);color:#fff}
.team .section-copy{color:#b8cce0}
.team .eyebrow{color:#7fdcff}
.person{border-color:rgba(200,228,243,.15);background:rgba(255,255,255,.07);box-shadow:0 18px 44px rgba(0,0,0,.20);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.person-art{height:390px;background:#020b21;overflow:hidden}
.person-art::before,.person-art::after{display:none}
.person-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .35s ease}
.person:hover .person-art img{transform:scale(1.015)}
.person-role{position:absolute;left:15px;bottom:14px;padding:7px 10px;border:1px solid rgba(255,255,255,.20);border-radius:4px;background:rgba(2,11,33,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#e9f8ff;font-size:.68rem;font-weight:700;letter-spacing:.04em}
.person-copy h3{color:#fff}
.person-copy p{color:#a8c3d8}
.contact{background:linear-gradient(150deg,#eef5f9,#f8fbfd 54%,#dfeef6)}
.contact-intro-card,.contact-card{border-color:rgba(0,74,143,.13);background:rgba(255,255,255,.78)}
.contact-icon{border-color:rgba(0,95,181,.18);color:var(--blue)}
.map-card::before{background:rgba(2,22,51,.62)}
footer{background:linear-gradient(110deg,#020b21,#041936 70%,#062956)}
.contact-modal{background:rgba(1,9,25,.74)}
.contact-modal-shell{background:rgba(247,251,253,.985)}
.modal-option:hover{border-color:rgba(0,95,181,.40)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,95,181,.10)}
.mobile-actionbar{background:rgba(2,17,44,.90)!important;border-color:rgba(6,180,235,.18)!important}

@media(max-width:800px){
  .brand-logo{width:220px;max-width:48vw}
  .person-art{height:440px}
}
@media(max-width:560px){
  .brand-logo{width:170px;max-width:50vw}
  .drawer-logo{width:220px}
  .person-art{height:390px}
}


/* ===== V4: floating navigation + borderless minimal system ===== */
.site-header{
  left:auto;
  right:0;
  width:auto;
  padding:18px 22px;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:0 !important;
  pointer-events:none;
}
.site-header.scrolled{background:transparent !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;border:0 !important}
.header-shell{width:auto;min-height:0;margin:0;display:block}
.header-actions{pointer-events:auto;gap:12px}
.header-contact,.icon-button,.menu-toggle{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  color:#fff;
}
.header-contact{
  padding:8px 4px;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
  text-shadow:0 2px 18px rgba(0,0,0,.38);
}
.icon-button{height:42px;padding:0 4px}
.menu-toggle{width:42px;height:42px;padding:9px 4px;gap:6px}
.menu-toggle span{height:1.5px;background:#fff;border-radius:99px}
.language-menu{
  top:49px;
  border:0 !important;
  box-shadow:0 22px 55px rgba(0,20,50,.18);
}
.language-menu button{border:0 !important}
.drawer-head{justify-content:flex-end;padding-bottom:4px;border:0 !important}
.drawer-close,.modal-close{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.drawer-nav a{border:0 !important;padding:13px 2px}
.drawer-language{background:transparent !important;border:0 !important;padding:13px 0}
.language-grid button{border:0 !important;background:#edf3f7}
.drawer-contact{padding-top:22px}
.drawer-contact-line{gap:9px;padding:8px 0}
.drawer-contact-line .ui-icon{width:17px;height:17px}
.mobile-actionbar{display:none !important}

/* Hero logo is part of the cover only and aligned with the content column. */
.hero-logo{
  display:block;
  width:min(355px,66vw);
  height:auto;
  margin:0 0 26px;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.14));
}
.hero-kicker{display:none !important}
.hero-inner{padding-top:88px}
.hero-fact-icon{
  width:30px;
  height:30px;
  border:0 !important;
  border-radius:0;
  display:grid;
  place-items:center;
  color:#9fe6ff;
}
.ui-icon{display:block;width:22px;height:22px}
.hero-fact-icon .ui-icon{width:25px;height:25px}

/* Remove visible line borders from the entire UI. */
.btn,.glass-card,.quick-card,.stats-band,.practice-list,.practice-item,.practice-plus,.info-box,
.process-step,.knowledge-card,.utility-card,.archive-box,.archive-card,.person,.person-role,
.contact-intro-card,.contact-card,.contact-row,.contact-icon,.contact-modal-shell,.modal-head,
.modal-option,.request-panel,.field input,.field select,.field textarea,.modal-note,.value-list,
.footer-bottom{
  border:0 !important;
}
.stat:not(:last-child)::after{display:none !important}
.btn{
  box-shadow:none;
}
.btn:hover{box-shadow:0 10px 28px rgba(0,37,80,.10)}
.btn-outline{background:rgba(4,43,86,.06)}
.glass-card{
  background:rgba(7,49,94,.23);
  box-shadow:0 16px 42px rgba(0,0,0,.10);
}
.quick-card{
  border:0 !important;
  border-radius:6px;
  background:#fff;
  box-shadow:0 9px 28px rgba(0,39,85,.055);
}
.quick-card:hover{box-shadow:0 15px 36px rgba(0,39,85,.10)}
.quick-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  color:var(--blue);
}
.quick-icon .ui-icon{width:29px;height:29px}
.stats-band{box-shadow:none;border-radius:5px 5px 0 0}
.practice-list{border:0 !important}
.practice-item{
  background:#fff;
  margin-bottom:8px;
  border-radius:6px;
  box-shadow:0 8px 26px rgba(0,35,74,.045);
  overflow:hidden;
}
.practice-plus{
  background:#eef4f8;
  width:31px;
  height:31px;
}
.info-box{background:#f2f6f8}
.utility-card,.archive-card{box-shadow:0 10px 28px rgba(0,35,74,.045)}
.archive-box{box-shadow:0 10px 30px rgba(0,35,74,.04)}
.person{box-shadow:0 18px 44px rgba(0,0,0,.18)}
.person-role{box-shadow:0 10px 25px rgba(0,0,0,.15)}

/* Contact: small semantic icons, no circles or outlines. */
.contact-intro-card,.contact-card{box-shadow:0 20px 55px rgba(0,39,85,.08)}
.contact-row{
  grid-template-columns:28px 1fr auto;
  gap:10px;
  padding:13px 0;
}
.contact-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:var(--blue);
}
.contact-icon .ui-icon{width:18px;height:18px}
.contact-row strong{margin-bottom:2px}
.map-embed{
  margin-top:16px;
  overflow:hidden;
  border-radius:6px;
  background:#dfeaf1;
  box-shadow:0 13px 32px rgba(0,42,87,.08);
}
.map-embed iframe{
  display:block;
  width:100%;
  height:190px;
  border:0;
}
.map-embed>a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 13px;
  background:#fff;
  color:var(--navy-3);
  font-size:.72rem;
  font-weight:700;
}
.map-embed>a .ui-icon{width:17px;height:17px;flex:0 0 auto;color:var(--blue)}

/* Modal/form without drawn borders. */
.contact-modal-shell{box-shadow:0 35px 95px rgba(0,0,0,.30)}
.modal-option{background:#fff;box-shadow:0 7px 22px rgba(0,37,80,.055)}
.modal-option:hover{box-shadow:0 12px 28px rgba(0,37,80,.10)}
.opt-icon{display:grid;place-items:center;color:var(--blue)}
.opt-icon .ui-icon{width:24px;height:24px}
.field input,.field select,.field textarea{
  background:#eef3f6;
  border:0 !important;
  box-shadow:none !important;
}
.field input:focus,.field select:focus,.field textarea:focus{
  background:#fff;
  box-shadow:0 10px 26px rgba(0,37,80,.08) !important;
}
.modal-note{background:#edf3f6}

/* No logo in the menu. Footer logo remains part of the brand sign-off. */
.drawer-logo,.drawer-brand{display:none !important}

/* Mobile */
@media(max-width:800px){
  .site-header{padding:14px 14px}
  .header-contact{display:none}
  .hero-inner{padding-top:84px}
  .hero-logo{width:min(300px,74vw);margin-bottom:22px}
  .contact-row{grid-template-columns:26px 1fr}
  .contact-row>a:last-child{grid-column:2}
}
@media(max-width:560px){
  .site-header{padding:12px 12px}
  .language-button>span:first-child{display:none}
  .hero-inner{padding-top:76px}
  .hero-logo{width:min(260px,78vw)}
  .map-embed iframe{height:165px}
}

.value-icon{display:grid;place-items:center;color:#8cddfb}
.value-icon .ui-icon{width:19px;height:19px}


/* ===== V5: corrected render + real photography ===== */

/* Main cover photo supplied by the client. */
.hero-bg{
  background:
    linear-gradient(90deg,
      rgba(2,11,33,.96) 0%,
      rgba(2,15,39,.90) 30%,
      rgba(2,20,48,.68) 54%,
      rgba(2,20,48,.30) 78%,
      rgba(2,11,33,.18) 100%
    ),
    url("portada-panama.jpg") center center / cover no-repeat !important;
}
.hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(1,8,24,.08) 0%,rgba(1,8,24,.05) 52%,rgba(1,8,24,.74) 100%) !important;
}
.hero{
  min-height:760px;
}
.hero-inner{
  min-height:760px;
  align-items:center;
}
.hero-copy{
  max-width:640px;
}
.hero-logo{
  width:min(390px,68vw);
  margin-bottom:30px;
}
.hero-copy h1{
  max-width:680px;
  text-shadow:0 3px 24px rgba(0,0,0,.34);
}
.hero-copy>p{
  max-width:600px;
  text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.hero-rail{
  align-self:center;
}

/* Real office photograph supplied by the client. */
.intro{
  padding:0;
  background:linear-gradient(120deg,#020b21,#061a35 72%,#07284d);
}
.intro-grid{
  max-width:none;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(440px,.84fr);
  gap:0;
  padding:0;
}
.office-art.real-office{
  min-height:720px;
  height:100%;
  border-radius:0;
  background:
    linear-gradient(90deg,rgba(2,11,33,.02),rgba(2,11,33,.16)),
    url("oficinas-perez-castillo.jpg") center center / cover no-repeat !important;
  box-shadow:none;
}
.office-art.real-office::before,
.office-art.real-office::after{
  display:none !important;
}
.intro-copy{
  padding:78px clamp(38px,5vw,82px);
  align-self:center;
  max-width:720px;
}
.intro-copy .eyebrow{
  color:#77d8fb;
}

/* Slightly more photographic, less card-like presentation. */
.practice-quick{
  position:relative;
  z-index:2;
}
.quick-card,
.person,
.contact-intro-card,
.contact-card,
.utility-card,
.archive-card,
.practice-item{
  box-shadow:0 10px 32px rgba(0,31,68,.045);
}

/* Keep floating controls legible over photography. */
.site-header{
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.language-menu,
.side-drawer,
.contact-modal-shell{
  text-shadow:none;
}

/* Responsive treatment of the two supplied images. */
@media(max-width:1000px){
  .hero,.hero-inner{min-height:720px}
  .hero-bg{
    background-position:62% center !important;
  }
  .intro-grid{
    grid-template-columns:1fr;
  }
  .office-art.real-office{
    min-height:560px;
  }
  .intro-copy{
    max-width:850px;
    padding:62px 7vw 72px;
  }
}
@media(max-width:700px){
  .hero,.hero-inner{min-height:760px}
  .hero-bg{
    background:
      linear-gradient(180deg,
        rgba(2,11,33,.78) 0%,
        rgba(2,11,33,.78) 48%,
        rgba(2,11,33,.90) 100%
      ),
      url("portada-panama.jpg") 58% center / cover no-repeat !important;
  }
  .hero-inner{
    align-items:flex-end;
    padding-bottom:76px;
  }
  .hero-logo{
    width:min(300px,80vw);
  }
  .hero-rail{
    display:none;
  }
  .office-art.real-office{
    min-height:420px;
    background-position:center center !important;
  }
  .intro-copy{
    padding:48px 24px 58px;
  }
}
@media(max-width:460px){
  .hero,.hero-inner{min-height:720px}
  .hero-logo{
    width:min(270px,82vw);
  }
  .office-art.real-office{
    min-height:340px;
  }
}


/* ===== V6: white logo + archive section removed ===== */

/* Medium-sized white brand mark in hero */
.hero-logo{
  width:min(300px,58vw) !important;
  max-height:150px;
  object-fit:contain;
  object-position:left center;
  margin:0 0 24px !important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.20)) !important;
}

/* White logo in footer at a restrained size */
.footer-logo{
  width:235px !important;
  max-width:72vw;
  height:auto;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.16));
}

/* Defensive: archive/legacy section hidden even if old markup is cached */
.archive,
#archivo,
#archiveContent{
  display:none !important;
}

@media(max-width:700px){
  .hero-logo{
    width:min(250px,72vw) !important;
    max-height:126px;
  }
  .footer-logo{
    width:210px !important;
  }
}
@media(max-width:460px){
  .hero-logo{
    width:min(220px,74vw) !important;
  }
}

/* V8: remove published-hours card from hero */
.hero-mini{display:none !important;}

/* V9: no provenance/editorial badges */
.tag,.tag.warning,.tag.mixed,.tag.history{display:none !important;}


/* ===== V11: brand blue + adaptive floating navigation ===== */
:root{
  --primary:#0160B3;
  --primary-rgb:1,96,179;
  --blue:#0160B3;
  --cyan:#3BAEE5;
  --navy:#02182F;
  --navy-2:#032B50;
  --navy-3:#06477E;
  --ink:#05294A;
}

/* Make the supplied blue the principal accent throughout the site. */
.eyebrow,
.text-link,
.quick-icon,
.contact-icon,
.map-embed>a .ui-icon,
.opt-icon{
  color:var(--primary) !important;
}
.btn-dark,
.btn-gold{
  background:var(--primary) !important;
  color:#fff !important;
}
.stats-band{
  background:linear-gradient(105deg,#043764 0%,var(--primary) 72%,#087AC9 120%) !important;
}
.intro{
  background:linear-gradient(122deg,#02182F 0%,#073D6C 56%,var(--primary) 135%) !important;
}
.team{
  background:linear-gradient(145deg,#02182F 0%,#063A68 58%,var(--primary) 135%) !important;
}
footer{
  background:linear-gradient(110deg,#02182F 0%,#04345F 70%,var(--primary) 145%) !important;
}
.practice-plus{
  background:rgba(var(--primary-rgb),.08) !important;
  color:var(--primary);
}
.field input:focus,.field select:focus,.field textarea:focus{
  box-shadow:0 10px 26px rgba(var(--primary-rgb),.12) !important;
}
.map-embed,
.contact-intro-card,
.contact-card{
  box-shadow:0 18px 48px rgba(var(--primary-rgb),.08);
}

/* Floating menu: no container, but adaptive foreground. */
.site-header{
  --nav-fg:#fff;
  color:var(--nav-fg) !important;
  transition:color .18s ease,text-shadow .18s ease !important;
}
.site-header.nav-on-dark{
  --nav-fg:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.38) !important;
}
.site-header.nav-on-light{
  --nav-fg:#052F58;
  text-shadow:none !important;
}
.site-header .header-contact,
.site-header .icon-button,
.site-header .menu-toggle,
.site-header .language-button,
.site-header .current-language{
  color:var(--nav-fg) !important;
  transition:color .18s ease !important;
}
.site-header .menu-toggle span{
  background:var(--nav-fg) !important;
  transition:background-color .18s ease !important;
}
.site-header.nav-probe,
.site-header.nav-probe *{
  pointer-events:none !important;
}

/* Dropdown itself always uses a readable fixed palette. */
.site-header .language-menu,
.site-header .language-menu button{
  color:#052F58 !important;
  text-shadow:none !important;
}

/* Correct official WhatsApp mark. */
.ui-icon.whatsapp-mark{
  color:#25D366 !important;
  fill:currentColor;
}
.contact-icon .ui-icon.whatsapp-mark{
  width:19px;
  height:19px;
}
.opt-icon .ui-icon.whatsapp-mark{
  width:25px;
  height:25px;
}

/* Primary-blue detail in the photographic hero without obscuring the image. */
.hero-bg{
  background:
    linear-gradient(90deg,
      rgba(2,24,47,.95) 0%,
      rgba(2,37,70,.87) 31%,
      rgba(var(--primary-rgb),.50) 62%,
      rgba(var(--primary-rgb),.15) 100%
    ),
    url("portada-panama.jpg") center center / cover no-repeat !important;
}

@media(max-width:700px){
  .hero-bg{
    background:
      linear-gradient(180deg,
        rgba(2,24,47,.76) 0%,
        rgba(var(--primary-rgb),.60) 44%,
        rgba(2,24,47,.92) 100%
      ),
      url("portada-panama.jpg") 58% center / cover no-repeat !important;
  }
}


/* ===== V12: spacing audit, scroll motion, hover depth and refined navigation ===== */

:root{
  --page-gutter:clamp(24px,4.2vw,70px);
}

/* Consistent breathing room around the full site */
.container{
  width:min(calc(100% - (var(--page-gutter) * 2)),var(--max)) !important;
}
section{
  scroll-margin-top:84px;
}

/* Numbers / statistics: more air from every edge */
.stats-band{
  padding:12px clamp(10px,1.6vw,22px) !important;
  gap:6px;
  overflow:visible !important;
}
.stat{
  min-height:116px;
  padding:24px clamp(16px,2vw,28px) !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:6px;
}
.stat strong{
  font-size:clamp(1.9rem,2.5vw,2.45rem) !important;
  line-height:1 !important;
  margin:0 0 7px;
  letter-spacing:-.025em;
}
.stat span{
  max-width:150px;
  line-height:1.35;
}

/* Practice list numbers were too close to the edge */
.practice-btn{
  grid-template-columns:48px minmax(0,1fr) 42px !important;
  gap:18px !important;
  padding:23px 22px !important;
}
.practice-num{
  width:36px;
  min-width:36px;
  text-align:center;
  font-size:.72rem !important;
  font-weight:700;
  color:rgba(5,47,88,.58) !important;
}
.practice-inner{
  padding:0 22px 26px 88px !important;
}

/* Process numbers also get deliberate spacing */
.process-card{
  padding:28px !important;
}
.process-no{
  line-height:1;
  margin-bottom:4px;
  font-size:2.15rem !important;
}

/* General card interior rhythm */
.utility-card,
.feature-card,
.contact-intro-card,
.contact-card{
  padding:clamp(24px,2.4vw,34px) !important;
}
.person-copy{
  padding:22px 22px 24px !important;
}

/* Elegant enter/leave animations tied to viewport */
.scroll-reveal{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.992);
  filter:blur(2px);
  transition:
    opacity .66s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),
    transform .76s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),
    filter .66s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
.scroll-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}

/* Slight directional refinement for photographic blocks */
.office-art.scroll-reveal,
.person.scroll-reveal{
  transform:translate3d(0,30px,0) scale(.985);
}
.office-art.scroll-reveal.is-visible,
.person.scroll-reveal.is-visible{
  transform:translate3d(0,0,0) scale(1);
}

/* Buttons: refined, restrained hover without looking playful */
.btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .34s cubic-bezier(.22,1,.36,1),
    box-shadow .34s cubic-bezier(.22,1,.36,1),
    background-color .25s ease,
    color .25s ease !important;
}
.btn::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-1px;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.26) 46%,transparent 62%);
  transform:translateX(-135%);
  transition:transform .64s cubic-bezier(.22,1,.36,1);
}
.btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 34px rgba(1,96,179,.16) !important;
}
.btn:hover::before{
  transform:translateX(135%);
}
.btn:active{
  transform:translateY(0) scale(.985) !important;
}

/* Cards / "buttons" hover: subtle lift, image depth and blue accent */
.quick-card,
.process-card,
.feature-card,
.utility-card,
.person,
.contact-intro-card,
.contact-card,
.practice-item,
.modal-option{
  transition:
    transform .36s cubic-bezier(.22,1,.36,1),
    box-shadow .36s cubic-bezier(.22,1,.36,1),
    background-color .28s ease !important;
}
@media (hover:hover){
  .quick-card:hover,
  .process-card:hover,
  .utility-card:hover,
  .person:hover,
  .contact-intro-card:hover,
  .contact-card:hover,
  .modal-option:hover{
    transform:translateY(-5px);
    box-shadow:0 22px 50px rgba(1,96,179,.11) !important;
  }
  .feature-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 50px rgba(1,96,179,.09);
  }
  .practice-item:hover{
    transform:translateX(3px);
    box-shadow:0 14px 34px rgba(1,96,179,.07) !important;
  }
  .person:hover .person-art img{
    transform:scale(1.035) !important;
  }
  .quick-card:hover .quick-icon .ui-icon,
  .contact-row:hover .contact-icon .ui-icon{
    transform:translateY(-2px) scale(1.045);
  }
}
.quick-icon .ui-icon,
.contact-icon .ui-icon{
  transition:transform .34s cubic-bezier(.22,1,.36,1);
}

/* Navigation: cleaner motion and stronger hierarchy */
.site-header{
  transition:
    transform .48s cubic-bezier(.22,1,.36,1),
    opacity .28s ease,
    color .18s ease,
    text-shadow .18s ease !important;
}
.site-header.nav-hidden{
  transform:translate3d(0,-125%,0);
  opacity:0;
  pointer-events:none;
}
.header-actions{
  gap:14px !important;
}
.header-contact{
  position:relative;
  padding:9px 3px !important;
  letter-spacing:.015em;
  transition:transform .28s ease,opacity .28s ease,color .18s ease !important;
}
.header-contact::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  height:1.5px;
  border-radius:99px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .34s cubic-bezier(.22,1,.36,1);
}
.header-contact:hover{
  transform:translateY(-1px);
}
.header-contact:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}
.icon-button,
.menu-toggle{
  opacity:.92;
  transition:
    transform .3s cubic-bezier(.22,1,.36,1),
    opacity .25s ease,
    color .18s ease !important;
}
.icon-button:hover,
.menu-toggle:hover{
  opacity:1;
  transform:translateY(-2px);
}
.menu-toggle span{
  transform-origin:center;
  transition:
    transform .38s cubic-bezier(.22,1,.36,1),
    width .3s ease,
    opacity .25s ease,
    background-color .18s ease !important;
}
.menu-toggle:hover span:nth-child(2){
  width:100%;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(6.5px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
  transform:scaleX(.3);
}
.menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-6.5px) rotate(-45deg);
}

/* Dropdown language motion */
.language-menu{
  transform:translateY(-8px) scale(.985) !important;
  transform-origin:top right;
  transition:
    opacity .22s ease,
    transform .34s cubic-bezier(.22,1,.36,1) !important;
}
.language-menu.open{
  transform:translateY(0) scale(1) !important;
}
.language-menu button{
  transition:transform .22s ease,background-color .22s ease !important;
}
.language-menu button:hover{
  transform:translateX(3px);
}

/* Side navigation: slower, more deliberate, with staggered entries */
.page-overlay{
  background:rgba(2,24,47,.44) !important;
  backdrop-filter:blur(7px) !important;
  -webkit-backdrop-filter:blur(7px) !important;
}
.side-drawer{
  width:min(440px,92vw) !important;
  padding:24px 28px 30px !important;
  background:rgba(248,251,253,.985) !important;
  box-shadow:-36px 0 90px rgba(1,34,66,.20) !important;
  transition:transform .52s cubic-bezier(.22,1,.36,1) !important;
}
.drawer-close{
  transition:transform .32s cubic-bezier(.22,1,.36,1),color .2s ease !important;
}
.drawer-close:hover{
  transform:rotate(90deg);
  color:var(--primary);
}
.drawer-nav{
  padding:28px 0 20px !important;
  gap:2px;
}
.drawer-nav a{
  position:relative;
  padding:14px 34px 14px 4px !important;
  font-size:1.42rem !important;
  line-height:1.08;
  transform:translateX(14px);
  opacity:0;
  transition:
    transform .46s cubic-bezier(.22,1,.36,1),
    opacity .32s ease,
    color .22s ease !important;
}
.side-drawer.open .drawer-nav a{
  transform:translateX(0);
  opacity:1;
}
.side-drawer.open .drawer-nav a:nth-child(1){transition-delay:.06s}
.side-drawer.open .drawer-nav a:nth-child(2){transition-delay:.10s}
.side-drawer.open .drawer-nav a:nth-child(3){transition-delay:.14s}
.side-drawer.open .drawer-nav a:nth-child(4){transition-delay:.18s}
.side-drawer.open .drawer-nav a:nth-child(5){transition-delay:.22s}
.side-drawer.open .drawer-nav a:nth-child(6){transition-delay:.26s}
.side-drawer.open .drawer-nav a:nth-child(7){transition-delay:.30s}
.drawer-nav a::after{
  content:"→";
  position:absolute;
  right:6px;
  top:50%;
  transform:translate(-8px,-50%);
  opacity:0;
  color:var(--primary);
  font-family:Arial,Helvetica,sans-serif;
  font-size:.9rem;
  transition:transform .3s ease,opacity .3s ease;
}
.drawer-nav a:hover{
  color:var(--primary);
  transform:translateX(5px) !important;
}
.drawer-nav a:hover::after{
  opacity:1;
  transform:translate(0,-50%);
}
.drawer-nav a small{
  margin-top:6px !important;
  line-height:1.35;
}

/* Contact rows also gain more breathing room */
.contact-row{
  padding:15px 4px !important;
  gap:13px !important;
}

/* Mobile spacing audit */
@media(max-width:800px){
  :root{--page-gutter:22px}
  .stats-band{
    padding:10px !important;
    gap:4px;
  }
  .stat{
    min-height:105px;
    padding:22px 15px !important;
  }
  .practice-btn{
    grid-template-columns:40px minmax(0,1fr) 36px !important;
    gap:11px !important;
    padding:19px 14px !important;
  }
  .practice-inner{
    padding:0 14px 20px 65px !important;
  }
  .process-card{
    padding:24px !important;
  }
}
@media(max-width:560px){
  :root{--page-gutter:16px}
  .stats-band{
    padding:8px !important;
  }
  .stat{
    padding:20px 12px !important;
  }
  .stat strong{
    font-size:1.9rem !important;
  }
  .practice-num{
    width:32px;
    min-width:32px;
  }
  .practice-btn{
    grid-template-columns:32px minmax(0,1fr) 32px !important;
    padding:17px 10px !important;
    gap:9px !important;
  }
  .practice-inner{
    padding:0 10px 18px 51px !important;
  }
  .side-drawer{
    padding:20px 20px 26px !important;
  }
}

/* Accessibility: respect users who request less motion */
@media(prefers-reduced-motion:reduce){
  .scroll-reveal,
  .scroll-reveal.is-visible{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
  .site-header,
  .btn,
  .quick-card,
  .process-card,
  .feature-card,
  .utility-card,
  .person,
  .contact-intro-card,
  .contact-card,
  .modal-option,
  .side-drawer,
  .drawer-nav a,
  .menu-toggle span{
    transition:none !important;
  }
}


/* ===== V13: clean lawyer photos + refined hamburger ===== */

/* Remove redundant specialty label from photo overlay */
.person-role{
  display:none !important;
}

/* Hamburger line weight and geometry */
.menu-toggle{
  width:44px !important;
  height:44px !important;
  padding:10px 5px !important;
  gap:6px !important;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.menu-toggle span{
  display:block;
  width:27px !important;
  height:2.2px !important;
  border-radius:999px !important;
  transform-origin:center center !important;
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    opacity .24s ease,
    width .32s cubic-bezier(.22,1,.36,1),
    background-color .18s ease !important;
  will-change:transform,opacity;
}

/* Slight asymmetry while closed for a more refined visual rhythm */
.menu-toggle span:nth-child(1){width:27px !important;}
.menu-toggle span:nth-child(2){width:21px !important;}
.menu-toggle span:nth-child(3){width:27px !important;}

/* Hover: middle line gently expands */
@media(hover:hover){
  .menu-toggle:hover span:nth-child(2){
    width:27px !important;
  }
}

/* Open state: precise, elegant X */
.menu-toggle[aria-expanded="true"]{
  gap:0 !important;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1){
  width:27px !important;
  transform:translateY(2.2px) rotate(45deg) !important;
}
.menu-toggle[aria-expanded="true"] span:nth-child(2){
  width:0 !important;
  opacity:0 !important;
  transform:scaleX(.15) !important;
}
.menu-toggle[aria-expanded="true"] span:nth-child(3){
  width:27px !important;
  transform:translateY(-2.2px) rotate(-45deg) !important;
}

/* Softer return from X to hamburger */
.menu-toggle:not([aria-expanded="true"]) span:nth-child(1),
.menu-toggle:not([aria-expanded="true"]) span:nth-child(3){
  transform:translateY(0) rotate(0deg) !important;
}
.menu-toggle:not([aria-expanded="true"]) span:nth-child(2){
  opacity:1 !important;
  transform:scaleX(1) !important;
}

@media(max-width:560px){
  .menu-toggle{
    width:42px !important;
    height:42px !important;
  }
  .menu-toggle span:nth-child(1),
  .menu-toggle span:nth-child(3),
  .menu-toggle[aria-expanded="true"] span:nth-child(1),
  .menu-toggle[aria-expanded="true"] span:nth-child(3){
    width:25px !important;
  }
  .menu-toggle span:nth-child(2){
    width:19px !important;
  }
}


/* ===== V14: navegación fija y siempre visible ===== */
.site-header{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  z-index:1000 !important;
  transform:none !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.site-header.nav-hidden{
  transform:none !important;
  opacity:1 !important;
  pointer-events:auto !important;
}


/* ===== V15: clearer contact-request messaging ===== */
.modal-note{
  line-height:1.55 !important;
  font-size:.78rem !important;
  padding:15px 18px !important;
}
.modal-option{
  min-height:88px;
}
.modal-option strong{
  font-size:.92rem;
}
.modal-option small{
  line-height:1.42;
}
.request-panel .request-foot{
  align-items:center;
}


/* ===== V16: direct contact-request delivery ===== */
.request-status{
  min-height:22px;
  margin-top:13px;
  font-size:.78rem;
  line-height:1.45;
}
.request-status.is-sending{color:#647789;}
.request-status.is-success{color:#0c7146;}
.request-status.is-error{color:#a22f36;}
.request-panel button[type="submit"][disabled]{
  opacity:.62;
  cursor:wait;
  transform:none !important;
}


/* ===== V17: post-submit thank-you state ===== */
.thankyou-state{
  padding:clamp(34px,5vw,58px) clamp(24px,5vw,56px) clamp(32px,5vw,52px);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.thankyou-check{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  color:var(--primary);
  background:rgba(var(--primary-rgb),.08);
  border-radius:50%;
}
.thankyou-check svg{
  width:34px;
  height:34px;
}
.thankyou-state .eyebrow{
  margin-bottom:10px;
}
.thankyou-state h2{
  max-width:620px;
  margin:0;
  font-size:clamp(1.75rem,3vw,2.65rem);
  line-height:1.05;
  letter-spacing:-.025em;
}
.thankyou-copy{
  max-width:620px;
  margin:18px auto 0;
  color:#53697c;
  font-size:.98rem;
  line-height:1.6;
}
.thankyou-direct{
  max-width:570px;
  margin:20px auto 0;
  font-size:.88rem;
  line-height:1.55;
  color:#193f62;
}
.thankyou-whatsapp{
  margin-top:25px;
  min-width:min(100%,280px);
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.thankyou-whatsapp .ui-icon{
  width:21px;
  height:21px;
}
.thankyou-phone{
  margin-top:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-size:.75rem;
  color:#667a8b;
}
.thankyou-phone a{
  color:var(--primary);
  font-size:1.02rem;
  font-weight:750;
  letter-spacing:.01em;
}
.thankyou-close{
  position:absolute !important;
  top:18px;
  right:18px;
  z-index:3;
}
@media(max-width:560px){
  .thankyou-state{
    padding:48px 22px 34px;
  }
  .thankyou-check{
    width:58px;
    height:58px;
  }
  .thankyou-state h2{
    font-size:1.8rem;
  }
  .thankyou-whatsapp{
    width:100%;
  }
}


/* ===== V18: clean open-menu state ===== */
body.menu-open{overflow:hidden;}

body.menu-open .site-header .header-contact,
body.menu-open .site-header .language-control{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-6px) scale(.96) !important;
}

body.menu-open .site-header{
  z-index:1305 !important;
  pointer-events:none !important;
}
body.menu-open .site-header .header-actions{
  pointer-events:none !important;
}
body.menu-open .site-header .menu-toggle{
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  color:#052F58 !important;
  text-shadow:none !important;
}
body.menu-open .site-header .menu-toggle span{
  background:#052F58 !important;
}

body.menu-open .side-drawer{
  z-index:1300 !important;
}
body.menu-open .drawer-close{
  display:none !important;
}
body.menu-open .drawer-head{
  min-height:48px;
  padding:0 0 8px !important;
}

.site-header .header-contact,
.site-header .language-control{
  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .32s cubic-bezier(.22,1,.36,1),
    color .18s ease !important;
}

body.menu-open .menu-toggle[aria-expanded="true"]{
  width:44px !important;
  height:44px !important;
  padding:10px 5px !important;
}
body.menu-open .menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(2.2px) rotate(45deg) !important;
}
body.menu-open .menu-toggle[aria-expanded="true"] span:nth-child(2){
  width:0 !important;
  opacity:0 !important;
}
body.menu-open .menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-2.2px) rotate(-45deg) !important;
}

body.menu-open .page-overlay{
  z-index:1290 !important;
}


/* ===== V19: corrected menu toggle + full-screen mobile menu + no-scroll contact modal ===== */

/* Contact modal never scrolls internally. */
.contact-modal{
  padding:clamp(8px,2vw,20px) !important;
  overflow:hidden !important;
}
.contact-modal-shell{
  position:relative;
  width:min(790px,calc(100vw - 24px)) !important;
  max-height:calc(100dvh - 24px) !important;
  overflow:hidden !important;
  padding:clamp(14px,2vw,22px) !important;
  display:flex;
  flex-direction:column;
}
.modal-head{
  flex:0 0 auto;
  padding-bottom:9px !important;
}
.modal-head h2{
  margin-top:3px !important;
  font-size:clamp(1.55rem,2.6vw,2rem) !important;
}
.modal-options{
  flex:0 0 auto;
  margin-top:10px !important;
  gap:7px !important;
}
.modal-option{
  min-height:84px !important;
  padding:10px 8px !important;
  gap:5px !important;
}
.modal-option .opt-icon .ui-icon{
  width:21px !important;
  height:21px !important;
}
.modal-option small{
  font-size:.6rem !important;
  line-height:1.28 !important;
}
.modal-note{
  flex:0 0 auto;
  margin-top:8px !important;
  padding:8px 10px !important;
  font-size:.64rem !important;
  line-height:1.35 !important;
}

/* Request becomes a separate compact state instead of stacking below options. */
.contact-modal-shell.request-mode .modal-options,
.contact-modal-shell.request-mode .modal-note{
  display:none !important;
}
.request-panel{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden !important;
  margin-top:4px !important;
  padding-top:0 !important;
}
.request-panel-head{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
}
.request-panel-head h3{
  margin:0 !important;
  font-size:clamp(1.25rem,2vw,1.55rem) !important;
}
.request-back{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:0;
  border-radius:50%;
  background:rgba(var(--primary-rgb),.08);
  color:var(--primary);
  cursor:pointer;
  font-size:1rem;
}
.fields{
  grid-template-columns:1fr 1fr !important;
  gap:7px 9px !important;
}
.field-email{grid-column:1/-1 !important;}
.field-preferred,
.field-service{grid-column:auto !important;}
.field.full{grid-column:1/-1 !important;}
.field label{
  margin-bottom:3px !important;
  font-size:.54rem !important;
}
.field input,
.field select,
.field textarea{
  min-height:38px !important;
  padding:8px 9px !important;
  font-size:.75rem !important;
}
.field textarea{
  min-height:58px !important;
  max-height:58px !important;
  resize:none !important;
}
.request-foot{
  margin-top:7px !important;
  gap:9px !important;
}
.request-foot small{
  font-size:.57rem !important;
  line-height:1.28 !important;
}
.request-foot .btn{
  min-height:39px;
  padding:8px 13px !important;
  white-space:nowrap;
}
.request-status{
  margin-top:5px !important;
  min-height:16px !important;
  font-size:.64rem !important;
}

/* Thank-you fully replaces the form in the same popup. */
.contact-modal-shell.thankyou-mode{
  width:min(640px,calc(100vw - 24px)) !important;
}
.thankyou-state{
  flex:1 1 auto;
  justify-content:center;
  min-height:0;
  padding:clamp(24px,4vh,40px) clamp(18px,4vw,42px) !important;
}
.thankyou-check{
  width:56px !important;
  height:56px !important;
  margin-bottom:14px !important;
}
.thankyou-check svg{
  width:29px !important;
  height:29px !important;
}
.thankyou-state h2{
  font-size:clamp(1.5rem,3vw,2.1rem) !important;
}
.thankyou-copy{
  margin-top:11px !important;
  font-size:.88rem !important;
  line-height:1.45 !important;
}
.thankyou-direct{
  margin-top:11px !important;
  font-size:.79rem !important;
  line-height:1.4 !important;
}
.thankyou-whatsapp{
  margin-top:16px !important;
}
.thankyou-phone{
  margin-top:10px !important;
}

/* Menu X remains the only active top control while drawer is open. */
body.menu-open .site-header{z-index:1605 !important;}
body.menu-open .side-drawer{z-index:1600 !important;}
body.menu-open .page-overlay{z-index:1590 !important;}
body.menu-open .menu-toggle{
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation;
}

/* Mobile navigation uses the entire screen and is condensed to avoid scroll. */
@media(max-width:800px){
  body.menu-open .side-drawer{
    inset:0 !important;
    width:100vw !important;
    max-width:none !important;
    height:100dvh !important;
    padding:14px 18px 14px !important;
    overflow:hidden !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  body.menu-open .drawer-head{
    min-height:46px !important;
    padding:0 !important;
  }
  body.menu-open .drawer-nav{
    padding:4px 0 6px !important;
    gap:0 !important;
  }
  body.menu-open .drawer-nav a{
    padding:8px 3px !important;
    font-size:clamp(1rem,4.4vw,1.24rem) !important;
    line-height:1 !important;
  }
  body.menu-open .drawer-nav a small{display:none !important;}
  body.menu-open .drawer-language{
    margin-top:2px !important;
    padding:8px 0 !important;
  }
  body.menu-open .drawer-language>small{
    margin-bottom:5px !important;
  }
  body.menu-open .language-grid{
    grid-template-columns:repeat(6,1fr) !important;
    gap:4px !important;
  }
  body.menu-open .language-grid button{
    height:30px !important;
    padding:0 !important;
    font-size:.59rem !important;
  }
  body.menu-open .drawer-contact{
    margin-top:auto !important;
    padding-top:6px !important;
    gap:1px !important;
  }
  body.menu-open .drawer-contact-line{
    padding:4px 0 !important;
    font-size:.7rem !important;
  }

  /* Popup fits mobile viewport without inner scrolling. */
  .contact-modal{padding:6px !important;}
  .contact-modal-shell{
    width:100% !important;
    max-height:calc(100dvh - 12px) !important;
    padding:12px !important;
    border-radius:8px !important;
  }
  .modal-head h2{font-size:1.48rem !important;}
  .modal-options{
    grid-template-columns:1fr 1fr !important;
  }
  .modal-option{
    min-height:73px !important;
    padding:8px 6px !important;
  }

  /* Keep two columns so the form stays short enough on phones. */
  .fields{
    grid-template-columns:1fr 1fr !important;
    gap:5px 6px !important;
  }
  .field-email{grid-column:1/-1 !important;}
  .field input,
  .field select{
    min-height:35px !important;
    padding:6px 7px !important;
    font-size:.69rem !important;
  }
  .field textarea{
    min-height:50px !important;
    max-height:50px !important;
  }
  .request-panel-head{
    margin-bottom:6px !important;
  }
  .request-foot{
    display:flex !important;
    align-items:center !important;
  }
  .request-foot small{max-width:56%;}
  .request-foot .btn{
    width:auto !important;
    margin-left:auto;
    min-height:36px;
    font-size:.67rem;
  }
}

/* Short phones get one more compression step, still without scroll. */
@media(max-width:560px) and (max-height:720px){
  body.menu-open .side-drawer{
    padding-top:9px !important;
    padding-bottom:9px !important;
  }
  body.menu-open .drawer-nav a{
    padding:6px 2px !important;
    font-size:.98rem !important;
  }
  body.menu-open .drawer-language{
    padding:5px 0 !important;
  }
  body.menu-open .drawer-contact-line{
    padding:2px 0 !important;
  }

  .contact-modal-shell{padding:9px !important;}
  .modal-head{padding-bottom:6px !important;}
  .modal-head h2{font-size:1.32rem !important;}
  .modal-option{
    min-height:62px !important;
  }
  .modal-option small{display:none !important;}
  .field label{font-size:.49rem !important;}
  .field input,
  .field select{
    min-height:31px !important;
    padding:5px 6px !important;
  }
  .field textarea{
    min-height:43px !important;
    max-height:43px !important;
  }
  .request-panel-head h3{font-size:1.15rem !important;}
  .request-foot small{display:none !important;}
  .request-foot .btn{width:100% !important;}
  .thankyou-state{padding:22px 14px !important;}
  .thankyou-direct{margin-top:8px !important;}
}


/* ===== V20: mobile menu grouped in the upper half ===== */
@media(max-width:800px){

  body.menu-open .side-drawer{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:stretch !important;
    padding:14px 18px 18px !important;
  }

  body.menu-open .drawer-head{
    flex:0 0 auto !important;
    min-height:46px !important;
    margin-bottom:2px !important;
  }

  body.menu-open .drawer-nav{
    flex:0 0 auto !important;
    padding:0 0 5px !important;
    margin:0 !important;
  }

  body.menu-open .drawer-nav a{
    padding:7px 2px !important;
  }

  body.menu-open .drawer-language{
    flex:0 0 auto !important;
    margin:8px 0 0 !important;
    padding:6px 0 0 !important;
  }

  body.menu-open .language-grid{
    margin-top:4px !important;
  }

  /* Contact now follows immediately after languages */
  body.menu-open .drawer-contact{
    flex:0 0 auto !important;
    margin:14px 0 0 !important;
    padding:0 !important;
    gap:3px !important;
  }

  body.menu-open .drawer-contact .btn{
    width:100% !important;
    min-height:42px !important;
    margin:0 0 4px !important;
  }

  body.menu-open .drawer-contact-line{
    padding:3px 0 !important;
    font-size:.71rem !important;
  }

  /* Remove any layout behavior that pushes contact to the bottom */
  body.menu-open .drawer-contact{
    margin-top:14px !important;
  }

  /* Keep all useful menu content concentrated at the top */
  body.menu-open .side-drawer::after{
    content:"";
    display:block;
    flex:1 1 auto;
    min-height:0;
  }
}

/* Slightly tighter on smaller phones */
@media(max-width:560px){
  body.menu-open .side-drawer{
    padding:11px 16px 14px !important;
  }

  body.menu-open .drawer-nav a{
    padding:6px 2px !important;
  }

  body.menu-open .drawer-language{
    margin-top:6px !important;
  }

  body.menu-open .drawer-contact{
    margin-top:11px !important;
  }

  body.menu-open .drawer-contact .btn{
    min-height:40px !important;
  }
}

/* Short phones: everything stays in the first half/upper area */
@media(max-width:560px) and (max-height:720px){
  body.menu-open .drawer-nav a{
    padding:5px 2px !important;
  }

  body.menu-open .drawer-language{
    margin-top:4px !important;
    padding-top:3px !important;
  }

  body.menu-open .drawer-contact{
    margin-top:8px !important;
  }

  body.menu-open .drawer-contact-line{
    padding:2px 0 !important;
  }
}


/* ===== V21: floating contact + friendlier contact UI ===== */

/* Floating contact widget */
.floating-contact{
  position:fixed;
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:1080;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.floating-contact-button{
  position:relative;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  cursor:pointer;
  box-shadow:0 14px 36px rgba(1,96,179,.28);
  transition:
    transform .3s cubic-bezier(.22,1,.36,1),
    box-shadow .3s ease,
    background-color .25s ease;
}
.floating-contact-button:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 20px 42px rgba(1,96,179,.34);
}
.floating-contact-button:active{
  transform:scale(.96);
}
.floating-contact-icon{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
}
.floating-contact-icon .ui-icon{
  width:25px;
  height:25px;
}
.floating-contact-pulse{
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1px solid rgba(1,96,179,.32);
  animation:floatingContactPulse 2.8s ease-out infinite;
  pointer-events:none;
}
@keyframes floatingContactPulse{
  0%,45%{transform:scale(.9);opacity:0}
  56%{opacity:.48}
  100%{transform:scale(1.32);opacity:0}
}

.floating-contact-panel{
  width:min(330px,calc(100vw - 32px));
  background:rgba(250,252,254,.98);
  border-radius:10px;
  padding:12px;
  box-shadow:0 24px 64px rgba(2,35,65,.19);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px) scale(.97);
  transform-origin:bottom right;
  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .34s cubic-bezier(.22,1,.36,1);
}
.floating-contact.open .floating-contact-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.floating-contact-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:3px 3px 9px;
}
.floating-contact-head strong{
  display:block;
  color:var(--ink);
  font-size:.86rem;
}
.floating-contact-head small{
  display:block;
  margin-top:2px;
  color:#708292;
  font-size:.62rem;
}
.floating-contact-close{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  color:#527087;
  font-size:1.05rem;
  cursor:pointer;
  border-radius:50%;
  transition:background-color .2s ease,transform .25s ease;
}
.floating-contact-close:hover{
  background:rgba(var(--primary-rgb),.08);
  transform:rotate(90deg);
}
.floating-contact-actions{
  display:grid;
  gap:6px;
}
.floating-action{
  width:100%;
  display:grid;
  grid-template-columns:35px 1fr;
  align-items:center;
  gap:10px;
  text-align:left;
  border:0;
  border-radius:7px;
  background:#fff;
  padding:10px 11px;
  color:var(--ink);
  cursor:pointer;
  box-shadow:0 6px 18px rgba(3,48,85,.045);
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;
}
.floating-action:hover{
  transform:translateX(-3px);
  box-shadow:0 10px 24px rgba(1,96,179,.09);
  background:#f8fbfd;
}
.floating-action>span{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  color:var(--primary);
  background:rgba(var(--primary-rgb),.075);
  border-radius:50%;
}
.floating-action>span .ui-icon{
  width:18px;
  height:18px;
}
.floating-action div strong{
  display:block;
  font-size:.74rem;
}
.floating-action div small{
  display:block;
  margin-top:2px;
  color:#738493;
  font-size:.59rem;
  line-height:1.28;
}
.floating-action-whatsapp>span{
  background:rgba(37,211,102,.10);
}
.floating-action-request{
  background:var(--primary);
  color:#fff;
}
.floating-action-request:hover{
  background:#075da9;
}
.floating-action-request>span{
  color:#fff;
  background:rgba(255,255,255,.13);
}
.floating-action-request div small{
  color:rgba(255,255,255,.75);
}

/* Hide floating contact while menu/modal is active */
body.menu-open .floating-contact,
.contact-modal.open ~ .floating-contact{
  opacity:0;
  pointer-events:none;
}

/* More intuitive popup */
.contact-modal{
  background:rgba(2,18,35,.60) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.contact-modal-shell{
  width:min(720px,calc(100vw - 28px)) !important;
  background:rgba(250,252,254,.99) !important;
  border-radius:12px !important;
  box-shadow:0 34px 90px rgba(1,34,66,.28) !important;
  padding:20px !important;
}
.modal-head{
  align-items:center !important;
  padding-bottom:10px !important;
}
.modal-head small{
  color:var(--primary) !important;
  font-size:.6rem !important;
  font-weight:800;
}
.modal-head h2{
  font-family:Georgia,serif;
  font-size:clamp(1.65rem,3vw,2.2rem) !important;
  line-height:1.03;
  margin-top:3px !important;
}
.modal-close{
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center;
  border-radius:50% !important;
  color:#315b7c !important;
  transition:background-color .22s ease,transform .28s ease !important;
}
.modal-close:hover{
  background:rgba(var(--primary-rgb),.08) !important;
  transform:rotate(90deg);
}
.contact-choice-view{
  padding-top:6px;
}
.contact-choice-lead{
  max-width:610px;
  margin:0 0 18px;
  color:#617688;
  font-size:.83rem;
  line-height:1.55;
}
.contact-choice-label{
  margin:0 0 7px;
  color:#7790a2;
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.contact-now-grid{
  display:grid;
  grid-template-columns:1.15fr .9fr .9fr;
  gap:8px;
}
.contact-now-card{
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:9px;
  min-height:76px;
  padding:12px;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 7px 22px rgba(3,48,85,.055);
  transition:transform .28s ease,box-shadow .28s ease,background-color .2s ease;
}
.contact-now-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 32px rgba(1,96,179,.10);
}
.contact-now-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--primary);
  background:rgba(var(--primary-rgb),.075);
}
.contact-now-icon .ui-icon{
  width:19px;
  height:19px;
}
.contact-now-whatsapp .contact-now-icon{
  background:rgba(37,211,102,.10);
}
.contact-now-card strong{
  display:block;
  font-size:.78rem;
}
.contact-now-card small{
  display:block;
  margin-top:2px;
  color:#738695;
  font-size:.59rem;
}
.contact-now-arrow{
  color:#93a4b1;
  font-size:.76rem;
}
.contact-request-choice{
  width:100%;
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding:14px;
  border:0;
  border-radius:8px;
  background:linear-gradient(135deg,var(--primary),#0878c8);
  color:#fff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(1,96,179,.16);
  transition:transform .3s ease,box-shadow .3s ease;
}
.contact-request-choice:hover{
  transform:translateY(-2px);
  box-shadow:0 19px 40px rgba(1,96,179,.22);
}
.contact-request-choice-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.14);
}
.contact-request-choice-icon .ui-icon{
  width:21px;
  height:21px;
}
.contact-request-choice-copy strong{
  display:block;
  font-size:.83rem;
}
.contact-request-choice-copy small{
  display:block;
  margin-top:3px;
  max-width:520px;
  color:rgba(255,255,255,.76);
  font-size:.63rem;
  line-height:1.35;
}
.contact-request-choice-arrow{
  font-size:1.05rem;
}

/* Request mode */
.contact-modal-shell.request-mode .contact-choice-view{
  display:none !important;
}
.request-panel-head{
  margin-top:2px !important;
}
.request-back{
  background:rgba(var(--primary-rgb),.08) !important;
  transition:transform .22s ease,background-color .22s ease;
}
.request-back:hover{
  transform:translateX(-2px);
  background:rgba(var(--primary-rgb),.13) !important;
}

/* Mobile */
@media(max-width:700px){
  .floating-contact{
    right:max(14px,env(safe-area-inset-right));
    bottom:max(14px,env(safe-area-inset-bottom));
  }
  .floating-contact-button{
    width:54px;
    height:54px;
  }
  .floating-contact-panel{
    width:min(310px,calc(100vw - 28px));
  }

  .contact-modal-shell{
    padding:14px !important;
  }
  .contact-choice-lead{
    margin-bottom:12px;
    font-size:.76rem;
  }
  .contact-now-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .contact-now-whatsapp{
    grid-column:1/-1;
  }
  .contact-now-card{
    min-height:65px;
    padding:9px;
  }
  .contact-request-choice{
    padding:11px;
    grid-template-columns:38px 1fr auto;
  }
  .contact-request-choice-icon{
    width:38px;
    height:38px;
  }
  .contact-request-choice-copy small{
    font-size:.58rem;
  }
}

@media(max-width:420px){
  .floating-contact-panel{
    width:calc(100vw - 24px);
  }
  .contact-now-grid{
    gap:6px;
  }
  .contact-now-card{
    grid-template-columns:34px 1fr;
  }
  .contact-now-arrow{
    display:none;
  }
  .contact-now-icon{
    width:34px;
    height:34px;
  }
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
  .floating-contact-pulse{display:none}
  .floating-contact-panel,
  .floating-contact-button,
  .floating-action,
  .contact-now-card,
  .contact-request-choice{
    transition:none !important;
  }
}


/* ===== WordPress plugin integration ===== */
body.pca-landing-page-active{margin:0!important;overflow-x:hidden!important;background:#020b21!important;}
body.pca-landing-page-active > *:not(#wpadminbar):not(#pca-landing-root){display:none!important;}
body.pca-landing-page-active:not(.pca-keep-adminbar) > #wpadminbar{display:none!important;}
#pca-landing-root{position:relative;z-index:99990;min-height:100vh;width:100%;background:var(--paper);scroll-behavior:smooth;}
body.pca-keep-adminbar.admin-bar #pca-landing-root{padding-top:32px;}
body.pca-keep-adminbar.admin-bar #pca-landing-root .site-header{top:32px!important;}
body.pca-keep-adminbar.admin-bar #pca-landing-root .side-drawer,
body.pca-keep-adminbar.admin-bar #pca-landing-root .page-overlay,
body.pca-keep-adminbar.admin-bar #pca-landing-root .contact-modal{top:32px!important;}
#wpadminbar{z-index:100000!important;}

/* Dynamic appearance images from backend */
#pca-landing-root .hero-bg{
  background:
    linear-gradient(90deg,rgba(2,24,47,.95) 0%,rgba(2,37,70,.87) 31%,rgba(var(--primary-rgb),.50) 62%,rgba(var(--primary-rgb),.15) 100%),
    var(--pca-hero-image) center center / cover no-repeat!important;
}
#pca-landing-root .office-art.real-office{
  background:
    linear-gradient(90deg,rgba(2,11,33,.02),rgba(2,11,33,.16)),
    var(--pca-office-image) center center / cover no-repeat!important;
}

/* Keep the landing isolated and above themes/builders. */
#pca-landing-root .pca-runtime-notice{display:none;}

@media(max-width:782px){
  body.pca-keep-adminbar.admin-bar #pca-landing-root{padding-top:46px;}
  body.pca-keep-adminbar.admin-bar #pca-landing-root .site-header{top:46px!important;}
  body.pca-keep-adminbar.admin-bar #pca-landing-root .side-drawer,
  body.pca-keep-adminbar.admin-bar #pca-landing-root .page-overlay,
  body.pca-keep-adminbar.admin-bar #pca-landing-root .contact-modal{top:46px!important;}
}


/* Floating contact button: universal inline SVG chat icon */
.floating-contact-icon{
  width:27px !important;
  height:27px !important;
  display:grid !important;
  place-items:center !important;
  line-height:0 !important;
}
.floating-chat-svg{
  display:block !important;
  width:27px !important;
  height:27px !important;
  overflow:visible !important;
  color:#fff !important;
}
.floating-chat-svg path{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.floating-chat-svg circle{
  fill:currentColor !important;
  stroke:none !important;
}


/* Marketwins developer credit */
.marketwins-credit{
  width:100%;
  margin-top:18px;
  padding:14px 18px 4px;
  text-align:center;
  font-size:.62rem;
  line-height:1.4;
  letter-spacing:.02em;
  color:rgba(255,255,255,.52);
}
.marketwins-credit a{
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-weight:700;
  transition:opacity .2s ease;
}
.marketwins-credit a:hover{
  opacity:.72;
}
@media(max-width:700px){
  .marketwins-credit{
    margin-top:14px;
    padding-top:12px;
    font-size:.58rem;
  }
}


/* V4: persistent Marketwins footer credit */
#pca-landing-root footer .marketwins-credit{
  display:block !important;
  width:100% !important;
  margin:24px 0 0 !important;
  padding:15px 24px 2px !important;
  text-align:center !important;
  font-size:.66rem !important;
  line-height:1.45 !important;
  letter-spacing:.02em !important;
  color:rgba(255,255,255,.64) !important;
  visibility:visible !important;
  opacity:1 !important;
}
#pca-landing-root footer .marketwins-credit a{
  color:#fff !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
#pca-landing-root footer .marketwins-credit a:hover{
  text-decoration:underline !important;
}
@media(max-width:700px){
  #pca-landing-root footer .marketwins-credit{
    margin-top:18px !important;
    padding:13px 18px 2px !important;
    font-size:.61rem !important;
  }
}

/* ===== 2026 content update: Real Estate + professional team ===== */
.hero-realestate-card{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  padding:18px;
  border-radius:9px;
  background:rgba(255,255,255,.96);
  color:#062b4d;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  text-decoration:none;
  transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease;
}
.hero-realestate-card:hover{transform:translateY(-3px);box-shadow:0 23px 50px rgba(0,0,0,.23)}
.hero-realestate-icon{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  color:var(--primary);background:rgba(var(--primary-rgb),.08);
}
.hero-realestate-icon .ui-icon{width:24px;height:24px}
.hero-realestate-copy{display:block}
.hero-realestate-copy>small{display:block;color:var(--primary);font-size:.56rem;font-weight:850;letter-spacing:.14em;margin-bottom:5px}
.hero-realestate-copy>strong{display:block;font-family:Georgia,serif;font-size:1.18rem;font-weight:400;line-height:1.05}
.hero-realestate-copy>span{display:block;margin-top:7px;color:#567083;font-size:.68rem;line-height:1.42}
.hero-realestate-copy>b{display:inline-block;margin-top:10px;color:#062b4d;font-size:.67rem}

/* Long legal texts remain readable inside the existing service accordion. */
.practice-item.open .practice-inner{align-items:start}
.practice-item.open .info-box p{line-height:1.68;font-size:.79rem}
.practice-item[id="bienes-raices"] .practice-num,
.practice-item[id="civil"] .practice-num,
.practice-item[id="osfl"] .practice-num{color:var(--primary);font-weight:800}

/* Professional team split into the three requested blocks. */
.team-block{margin-top:32px}
.team-block:first-of-type{margin-top:20px}
.team-block-head{
  display:flex;align-items:center;gap:12px;margin:0 0 14px;
  color:#fff;font-family:Georgia,serif;font-size:1.28rem;
}
.team-block-head::before{content:"";width:30px;height:2px;background:#4eb6e4;border-radius:2px}
.team-grid-lawyer,.team-grid-staff{grid-template-columns:repeat(2,minmax(0,1fr))}
.team-grid-real_estate{grid-template-columns:minmax(0,520px)}
.team-grid-real_estate .person{width:100%}
.person{display:flex;flex-direction:column;min-width:0}
.person-art{height:430px!important;background:linear-gradient(160deg,#041127,#06254a)!important}
.person-art img{object-fit:contain!important;object-position:center bottom!important;padding:14px 14px 0}
.person-staff .person-art{height:360px!important}
.person-real_estate .person-art{height:450px!important}
.person-copy{padding:18px 20px 20px!important}
.person-copy h3{font-size:1.42rem!important}
.person-copy p{font-size:.76rem!important;line-height:1.4;min-height:1.1em}
.profile-toggle{
  margin-top:14px;border:1px solid rgba(91,187,229,.38);background:rgba(255,255,255,.06);color:#eaf7ff;
  min-height:36px;padding:8px 12px;border-radius:5px;font-size:.68rem;font-weight:750;cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.profile-toggle:hover{background:rgba(91,187,229,.12);border-color:rgba(91,187,229,.66);transform:translateY(-1px)}
.profile-toggle span{margin-left:5px}
.profile-panel{padding:0 20px 20px;border-top:1px solid rgba(255,255,255,.10)}
.profile-panel[hidden]{display:none!important}
.profile-section{padding:16px 0 0}
.profile-section h4{margin:0 0 7px;color:#76d4f5;font-size:.61rem;letter-spacing:.11em;text-transform:uppercase}
.profile-section p,.profile-section li{color:#c5d6e3;font-size:.72rem;line-height:1.55}
.profile-section p{margin:0}
.profile-section ul{margin:0;padding-left:18px;display:grid;gap:5px}
.profile-empty{opacity:.66}
.team-group-photo{
  margin:38px auto 0;max-width:920px;min-height:280px;border-radius:9px;overflow:hidden;
  background:linear-gradient(145deg,#061a36,#0b3159);border:1px solid rgba(255,255,255,.11);
  display:grid;place-items:center;
}
.team-group-photo img{display:block;width:100%;max-height:620px;object-fit:contain;object-position:center bottom;padding:20px 20px 0}

/* Requested office photograph: keep its full composition visible where possible. */
#pca-landing-root .office-art.real-office{background-size:cover!important;background-position:center center!important}

@media(max-width:900px){
  .team-grid-lawyer,.team-grid-staff{grid-template-columns:1fr 1fr}
  .person-art{height:390px!important}
}

@media(max-width:700px){
  /* On phones, show only the new Real Estate card beneath the main hero actions. */
  .hero-inner{align-content:center!important}
  .hero-rail{display:block!important;margin-top:18px}
  .hero-rail .hero-fact{display:none!important}
  .hero-realestate-card{grid-template-columns:42px 1fr;padding:14px;gap:11px}
  .hero-realestate-icon{width:40px;height:40px}
  .hero-realestate-copy>strong{font-size:1.04rem}
  .hero-realestate-copy>span{font-size:.63rem}
  .hero-realestate-copy>b{font-size:.64rem}
  .team-grid-lawyer,.team-grid-staff,.team-grid-real_estate{grid-template-columns:1fr!important}
  .person-art,.person-real_estate .person-art,.person-staff .person-art{height:400px!important}
  .team-group-photo{margin-top:26px;min-height:220px}
  .team-group-photo img{padding:14px 10px 0}
}

@media(max-width:460px){
  .person-art,.person-real_estate .person-art,.person-staff .person-art{height:350px!important}
  .practice-item.open .info-box p{font-size:.75rem}
  .profile-panel{padding:0 16px 18px}
}


/* ===== 2026-10-10 layout refinement: office image + professional team ===== */
.team-grid{align-items:start}
.team-grid-professionals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.team-grid-staff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.team-grid-professionals .person,.team-grid-staff .person{align-self:start;height:auto}
.team-spotlight{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);gap:34px;align-items:center;margin:24px 0 38px}
.team-spotlight-copy{max-width:470px}
.team-spotlight-copy h3{margin:8px 0 12px;font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3vw,3.15rem);line-height:1.02;color:#fff}
.team-spotlight-copy p{color:#bdd3e7;max-width:46ch}
.team-spotlight-copy .team-spotlight-motto{margin:0 0 14px;font-size:1rem;line-height:1.65;color:#e7f4ff}
.team-spotlight-visual{display:flex;justify-content:center;align-items:flex-end;min-height:420px}
.team-spotlight-visual img{display:block;width:min(100%,820px);max-height:580px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 30px 48px rgba(0,0,0,.18))}
.person{align-self:start}
.person-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.person-copy p{margin:0;color:#b8cce0;line-height:1.45}
.person-art{height:410px!important;background:linear-gradient(160deg,#041127,#06254a)!important}
.person-art img{width:100%;height:100%;object-fit:contain!important;object-position:center bottom!important;padding:16px 16px 0}
.person-staff .person-art{height:360px!important}
.profile-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;border:1px solid rgba(123,178,220,.38);background:rgba(6,32,58,.46);color:#eaf7ff;font-size:.77rem;font-weight:700;letter-spacing:.01em;transition:transform .22s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease;box-shadow:0 10px 26px rgba(4,16,30,.12)}
.profile-toggle:hover{background:rgba(91,187,229,.14);border-color:rgba(91,187,229,.78);transform:translateY(-1px);box-shadow:0 14px 30px rgba(4,16,30,.18)}
.profile-toggle.is-open{background:rgba(91,187,229,.18);border-color:rgba(91,187,229,.86)}
.profile-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.10);transition:transform .35s ease,background .35s ease}
.profile-toggle.is-open .profile-toggle-icon{transform:rotate(180deg);background:rgba(91,187,229,.22)}
.profile-panel{padding:0 20px 0!important;border-top:1px solid rgba(255,255,255,.10);overflow:hidden;max-height:0;opacity:0;transform:translateY(-10px);transition:max-height .48s cubic-bezier(.22,1,.36,1),opacity .28s ease,transform .36s ease,padding .28s ease}
.profile-panel.is-open{padding:0 20px 20px!important;opacity:1;transform:translateY(0)}
.profile-panel[hidden]{display:block!important;max-height:0!important;opacity:0!important;padding-top:0!important;padding-bottom:0!important;pointer-events:none}
.team-group-photo{display:none!important}

@media(max-width:1180px){
  .team-grid-professionals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-grid-professionals .person-real_estate{grid-column:1/-1;max-width:560px;justify-self:center}
  .team-spotlight{grid-template-columns:1fr;gap:22px}
  .team-spotlight-copy{max-width:none}
}

@media(max-width:820px){
  .team-grid-professionals,.team-grid-staff{grid-template-columns:1fr!important}
  .team-spotlight{margin:18px 0 28px}
  .team-spotlight-visual{min-height:280px}
  .team-spotlight-copy h3{font-size:2rem}
}


/* ===== 2026-10-10 UI refinement approved mockup: practice + firm section ===== */
.practice-quick{
  padding:68px 0 0 !important;
  background:linear-gradient(180deg,#f5f7fa 0%,#f3f6f9 100%) !important;
}
.quick-top{
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:26px !important;
}
.quick-top h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.85rem,4.7vw,4.35rem) !important;
  line-height:.98;
  letter-spacing:-.02em;
}
.quick-top .text-link{
  font-size:1rem;
  font-weight:700;
  white-space:nowrap;
}
.quick-grid{
  gap:14px !important;
}
.quick-card{
  min-height:176px !important;
  padding:24px 18px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(4,44,92,.08) !important;
  box-shadow:0 14px 36px rgba(4,31,68,.06) !important;
}
.quick-card:hover{transform:translateY(-4px)}
.quick-icon{
  width:70px;
  height:70px;
  border-radius:50%;
  display:grid !important;
  place-items:center;
  background:#eef4fb;
  color:var(--blue);
  font-size:0 !important;
}
.quick-icon .ui-icon{width:34px;height:34px}
.quick-card strong{
  font-family:Georgia,"Times New Roman",serif;
  color:#0a2342;
  font-size:1.14rem !important;
  line-height:1.15;
  font-weight:400 !important;
  max-width:12ch;
}
.stats-band{
  margin-top:26px !important;
  background:linear-gradient(90deg,#032b56 0%,#00549b 52%,#0a63b4 100%) !important;
  border-radius:14px 14px 0 0 !important;
  box-shadow:0 18px 38px rgba(4,44,92,.15) !important;
}
.stat{
  padding:26px 24px !important;
  display:grid !important;
  grid-template-columns:64px 1fr;
  align-items:center;
  gap:18px;
  text-align:left !important;
}
.stat:not(:last-child)::after{top:18% !important; bottom:18% !important; background:rgba(255,255,255,.18) !important}
.stat-icon{
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#dceeff;
}
.stat-icon .ui-icon{width:26px;height:26px}
.stat-copy strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:3rem !important;
  line-height:.9;
  font-weight:400;
}
.stat-copy span{
  display:block;
  margin-top:6px;
  font-size:1rem !important;
  line-height:1.15;
  color:#e8f4ff !important;
}
.intro{
  padding:0 0 84px !important;
  background:#f3f6f9 !important;
}
.intro-grid{
  width:min(calc(100% - 56px),var(--max)) !important;
  max-width:var(--max) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr) !important;
  gap:0 !important;
  border-radius:0 0 18px 18px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(4,31,68,.16);
}
#pca-landing-root .office-art.real-office{
  min-height:590px !important;
  height:100%;
  border-right:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(90deg,rgba(2,11,33,.03),rgba(2,11,33,.15)),
    var(--pca-office-image) center center / cover no-repeat !important;
}
.intro-copy{
  min-height:590px;
  padding:56px clamp(30px,4vw,58px) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(180px,.72fr) !important;
  gap:30px !important;
  align-items:center;
  background:
    radial-gradient(circle at 100% 100%, rgba(255,255,255,.08), transparent 32%),
    linear-gradient(130deg,#04244b 0%,#073971 52%,#0a5ba4 100%) !important;
}
.intro-copy > div:first-child{max-width:540px}
.intro-copy .eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.76rem;
  color:#75ccff !important;
}
.intro-copy .eyebrow::after{
  content:"";
  height:1px;
  width:70px;
  background:rgba(117,204,255,.55);
}
.intro-copy h2{
  margin:12px 0 24px !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,4.2vw,4.2rem) !important;
  line-height:1.02 !important;
}
.intro-copy p{
  font-size:1.02rem !important;
  line-height:1.58;
  color:#dce9f7 !important;
}
.intro-copy .btn{
  margin-top:28px !important;
  min-height:52px;
  padding:0 26px;
  border-radius:10px;
  background:linear-gradient(135deg,#0d6de1,#2b8fff) !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 14px 28px rgba(4,16,30,.18);
}
.value-list{
  border-left:1px solid rgba(255,255,255,.12) !important;
  padding-left:26px !important;
  display:grid !important;
  gap:20px !important;
  align-content:center;
}
.value-item{
  gap:14px !important;
  font-size:1rem !important;
  color:#fff !important;
}
.value-icon{
  width:52px !important;
  height:52px !important;
  border:1px solid rgba(117,204,255,.35) !important;
  background:rgba(255,255,255,.06) !important;
  color:#85d3ff !important;
}
.value-icon .ui-icon{width:24px;height:24px}

@media(max-width:1200px){
  .quick-grid{grid-template-columns:repeat(3,1fr) !important}
  .intro-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important}
}
@media(max-width:1000px){
  .quick-top{display:block}
  .quick-top .text-link{display:inline-flex;margin-top:12px}
  .stat{grid-template-columns:58px 1fr;padding:22px 18px !important}
  .stat-copy strong{font-size:2.5rem !important}
  .intro-grid{width:min(calc(100% - 40px),var(--max)) !important;grid-template-columns:1fr !important}
  #pca-landing-root .office-art.real-office{min-height:440px !important;border-right:0 !important;border-bottom:1px solid rgba(255,255,255,.12)}
  .intro-copy{min-height:auto;grid-template-columns:1fr !important;padding:46px 34px 52px !important}
  .value-list{border-left:0 !important;border-top:1px solid rgba(255,255,255,.14) !important;padding:22px 0 0 !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:700px){
  .practice-quick{padding-top:54px !important}
  .quick-grid{grid-template-columns:1fr 1fr !important;gap:12px !important}
  .quick-card{min-height:160px !important;padding:18px 14px !important}
  .quick-icon{width:60px;height:60px}
  .quick-icon .ui-icon{width:28px;height:28px}
  .stats-band{grid-template-columns:1fr !important;border-radius:16px 16px 0 0 !important}
  .stat,.stats-band .stat{grid-template-columns:50px 1fr !important;padding:18px 18px !important;text-align:left !important}
  .stats-band .stat:not(:last-child)::after{display:none !important}
  .stat-copy strong{font-size:2rem !important}
  .stat-copy span{font-size:.92rem !important}
  .intro{padding-bottom:60px !important}
  .intro-grid{width:calc(100% - 22px) !important;border-radius:0 0 16px 16px !important}
  #pca-landing-root .office-art.real-office{min-height:320px !important;background-position:center center !important}
  .intro-copy{padding:34px 20px 36px !important;gap:22px !important}
  .intro-copy h2{font-size:2.5rem !important}
  .intro-copy p{font-size:.94rem !important}
}
@media(max-width:480px){
  .quick-grid{grid-template-columns:1fr 1fr !important}
  .quick-card strong{font-size:1rem !important}
  .value-list{grid-template-columns:1fr !important}
}


/* ======================================================================
   PCA FINAL UI — approved 2026 visual consolidation
   ====================================================================== */

/* Shared section rhythm */
.details-section,.process,.knowledge,.utility,.contact{padding:92px 0}
.section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:70px;align-items:end;margin-bottom:42px}
.section-head>div{max-width:760px}
.section-head .section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.25rem,5.4vw,5.65rem);line-height:.95;letter-spacing:-.035em;color:#071932;font-weight:400;margin-top:10px}
.section-head .section-copy{font-size:1.08rem;line-height:1.5;color:#72859a;max-width:540px;border-left:1px solid rgba(1,96,179,.2);padding-left:34px;margin-bottom:10px}
.eyebrow{letter-spacing:.19em;font-weight:800;font-size:.7rem}

/* Service accordion — approved list design */
.details-section{background:radial-gradient(circle at 90% 0,rgba(1,96,179,.05),transparent 30%),#fbfcfe}
.practice-list{display:grid;gap:13px}
.practice-item{background:rgba(255,255,255,.92);border:1px solid rgba(7,36,70,.08);border-radius:14px;box-shadow:0 10px 34px rgba(4,31,68,.045);overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease}
.practice-item:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(4,31,68,.07);border-color:rgba(var(--primary-rgb),.18)}
.practice-btn{min-height:98px;padding:20px 24px;display:grid;grid-template-columns:74px 1fr 52px;gap:20px;align-items:center;text-align:left;width:100%}
.practice-num{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;color:var(--primary);border-right:1px solid rgba(var(--primary-rgb),.18);height:48px;display:flex;align-items:center}
.practice-title strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.14;color:#0b1c34}
.practice-title>span{display:block;margin-top:6px;color:#69809a;font-size:.93rem;line-height:1.4}
.practice-plus{width:46px;height:46px;border-radius:50%;background:#edf5fd;color:var(--primary);display:grid;place-items:center;font-size:1.6rem;font-weight:300;transition:transform .35s ease,background .25s ease,color .25s ease}
.practice-item.open .practice-plus{transform:rotate(45deg);background:var(--primary);color:#fff}
.practice-body{background:linear-gradient(180deg,#fff,#f7fbff)}
.practice-inner{padding:0 24px 26px 118px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.info-box{border-top:1px solid rgba(var(--primary-rgb),.13);padding-top:18px}
.info-box h4{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);font-size:.68rem}
.info-box p{line-height:1.65;color:#50677d}

/* Process — approved timeline cards */
.process{background:radial-gradient(circle at 85% 20%,rgba(1,96,179,.045),transparent 30%),#f7f9fc}
.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.process-grid::before{content:"";position:absolute;left:5%;right:5%;top:64px;border-top:1px dashed rgba(var(--primary-rgb),.26);z-index:0}
.process-card{position:relative;z-index:1;min-height:390px;background:rgba(255,255,255,.92);border:1px solid rgba(4,44,92,.1);border-radius:16px;padding:30px 28px 28px;box-shadow:0 14px 38px rgba(4,31,68,.045);display:flex;flex-direction:column;align-items:flex-start;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.process-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(4,31,68,.085);border-color:rgba(var(--primary-rgb),.25)}
.process-no{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f4f8fd,#e8f2fb);border:1px solid rgba(var(--primary-rgb),.12);font-family:Georgia,"Times New Roman",serif;color:#084e98;font-size:2rem;margin-bottom:32px;box-shadow:0 8px 24px rgba(var(--primary-rgb),.07)}
.process-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;font-weight:400;color:#0b1b33;margin-bottom:14px}
.process-card p{font-size:1rem;line-height:1.55;color:#61778c}
.process-arrow{margin-top:auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eef5fd;color:var(--primary);transition:transform .3s ease,background .3s ease,color .3s ease}
.process-arrow .ui-icon{width:21px;height:21px}
.process-card:hover .process-arrow{transform:translateX(4px);background:var(--primary);color:#fff}

/* Specialized information — light/dark paired cards */
.knowledge{position:relative;background:linear-gradient(180deg,#fff,#fbfdff);overflow:hidden}
.knowledge::after{content:"";position:absolute;right:-4%;top:-2%;width:34%;height:75%;opacity:.035;background:linear-gradient(90deg,transparent,#073c73);clip-path:polygon(58% 0,100% 0,100% 100%,0 100%,25% 0)}
.knowledge .container{position:relative;z-index:1}
.knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.feature-card{min-height:520px;padding:34px 36px;border-radius:16px;border:1px solid rgba(7,36,70,.1);background:linear-gradient(145deg,#fffdf9,#f9f6ef);box-shadow:0 16px 44px rgba(4,31,68,.06);display:flex;flex-direction:column}
.feature-card.dark{background:linear-gradient(135deg,#031a36,#06284f 58%,#073963);color:#fff;border-color:rgba(81,177,228,.3);box-shadow:0 18px 48px rgba(2,25,52,.2)}
.feature-card-heading{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.feature-card-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--primary-rgb),.07);color:#073f78;flex:0 0 auto}
.feature-card.dark .feature-card-icon{background:rgba(81,177,228,.12);color:#82d2ff;border:1px solid rgba(130,210,255,.16)}
.feature-card-icon .ui-icon{width:28px;height:28px}
.feature-card h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:2.35rem;line-height:1.05;margin:0}
.feature-card>p{font-size:1rem;line-height:1.5;color:#6b7b8c}
.feature-card.dark>p{color:#dce7f2}
.feature-card ul{margin:24px 0;display:grid;gap:8px;padding-left:22px;color:#5b6e82}
.feature-card.dark ul{color:#edf5fc}
.feature-card li::marker{color:#1689e8}
.legal-note{margin-top:auto;padding-top:18px;border-top:1px solid rgba(7,36,70,.15);display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;font-size:.84rem;line-height:1.45;color:#66788a}
.feature-card.dark .legal-note{border-top-color:rgba(255,255,255,.35);color:#dbe8f3}
.legal-note-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--primary-rgb),.07)}
.feature-card.dark .legal-note-icon{background:rgba(255,255,255,.08);color:#8cd5ff}
.legal-note-icon .ui-icon{width:19px;height:19px}

/* TEAM — immersive hero + integrated portraits */
.team{padding:88px 0 108px;background:radial-gradient(circle at 68% 10%,rgba(20,118,198,.18),transparent 24%),linear-gradient(125deg,#02172f 0%,#063764 48%,#074f87 100%);color:#fff;overflow:hidden}
.team>.container{width:min(calc(100% - 48px),1500px)}
.team .section-head{margin-bottom:32px}
.team .section-head .section-title{color:#fff;font-size:clamp(3.5rem,5.4vw,5.5rem)}
.team .section-head .section-copy{color:#bed0df;border-left-color:rgba(115,202,255,.3)}
.team-spotlight{position:relative;min-height:650px;margin:22px 0 74px;border-radius:24px;overflow:hidden;background-image:var(--team-group-image);background-size:cover;background-position:center;box-shadow:0 32px 90px rgba(0,0,0,.28);isolation:isolate}
.team-spotlight::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,19,42,.98) 0%,rgba(2,29,57,.94) 34%,rgba(2,35,66,.38) 58%,rgba(2,29,57,.08) 75%);z-index:0}
.team-spotlight::after{content:"";position:absolute;inset:auto 0 0 0;height:32%;background:linear-gradient(180deg,transparent,rgba(0,10,25,.5));z-index:0}
.team-spotlight-overlay{position:absolute;inset:0;background:radial-gradient(circle at 74% 48%,transparent 0 26%,rgba(0,29,59,.05) 52%,rgba(0,13,31,.16) 100%);z-index:1;pointer-events:none}
.team-spotlight-copy{position:relative;z-index:2;max-width:590px;padding:88px 0 80px 64px;display:flex;flex-direction:column;align-items:flex-start}
.team-spotlight-copy .eyebrow{color:#55b9f2}
.team-spotlight-copy h3{margin:15px 0 22px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,5.2vw,5.7rem);line-height:.94;font-weight:400;letter-spacing:-.04em;color:#fff}
.team-spotlight-copy h3::first-line{color:#fff}
.team-spotlight-motto{font-size:1.08rem;line-height:1.55;color:#f0f6fb;max-width:36ch;margin:0}
.team-spotlight-rule{width:90px;height:1px;background:linear-gradient(90deg,#d2a56b,transparent);margin:26px 0}
.team-spotlight-copy>p:last-child{font-size:1rem;line-height:1.7;color:#bed0e0;max-width:39ch}
.team-block{margin-top:56px}
.team-block-title-centered{text-align:center;max-width:920px;margin:0 auto 28px}
.team-block-title-centered .eyebrow{display:inline-flex;align-items:center;gap:12px;color:#66c6fa}
.team-block-title-centered .eyebrow::before,.team-block-title-centered .eyebrow::after{content:"";display:block;width:34px;height:1px;background:#58bff4}
.team-block-title-centered h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.6rem,4vw,4rem);line-height:1.05;margin:10px 0 10px;color:#fff}
.team-block-title-centered p{max-width:780px;margin:0 auto;color:#bfd1e1;font-size:1rem;line-height:1.5}
.team-grid-professionals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.team-grid-staff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1040px;margin:0 auto}
.person{background:linear-gradient(180deg,rgba(2,22,48,.72),rgba(4,46,83,.78));border:1px solid rgba(81,177,228,.33);border-radius:18px;overflow:hidden;box-shadow:0 20px 55px rgba(0,0,0,.15);backdrop-filter:blur(8px);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.person:hover{transform:translateY(-5px);border-color:rgba(87,195,255,.65);box-shadow:0 26px 64px rgba(0,0,0,.22)}
.person-art{height:440px!important;background:transparent!important;overflow:hidden}
.person-art img{width:100%;height:100%;object-fit:cover!important;object-position:center top!important;padding:0!important;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.person:hover .person-art img{transform:scale(1.025)}
.person-copy{padding:22px 24px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:linear-gradient(180deg,rgba(6,63,108,.86),rgba(5,47,86,.9))}
.person-name-line{width:42px;height:2px;background:#57c4fb;margin-bottom:2px}
.person-copy h3{font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:1.75rem;font-weight:400;line-height:1.08;margin:0}
.person-copy p{color:#c4d5e4;font-size:.86rem;min-height:38px}
.profile-toggle{margin-top:4px;display:inline-flex;align-items:center;gap:12px;padding:9px 12px 9px 16px;border-radius:999px;border:1px solid #56bdff;background:transparent;color:#fff;font-size:.78rem;font-weight:800}
.profile-toggle-icon{width:29px;height:29px;background:rgba(78,184,248,.22)}
.profile-toggle.is-open{background:linear-gradient(135deg,#0874cd,#24a4f1);border-color:#49b8fb}
.profile-panel{background:linear-gradient(180deg,rgba(7,53,94,.95),rgba(5,42,77,.98));border-top:1px solid rgba(95,192,247,.22)}
.profile-panel.is-open{padding:10px 20px 22px!important}
.profile-section{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.profile-section:last-child{border-bottom:0}
.profile-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.profile-section-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(17,129,206,.16);border:1px solid rgba(75,185,247,.26);color:#8dd5ff;flex:0 0 auto}
.profile-section-icon .ui-icon{width:20px;height:20px}
.profile-section h4{margin:0;letter-spacing:.14em;text-transform:uppercase;color:#67c7fa;font-size:.68rem}
.profile-section p,.profile-section li{color:#dbe7f1;font-size:.78rem;line-height:1.48}
.team-quote{display:flex;justify-content:center;align-items:center;gap:12px;color:#d6e6f3;margin:34px auto 0;font-family:Georgia,"Times New Roman",serif}
.team-quote>span{font-size:3rem;color:#49baff;line-height:1}.team-quote em{font-size:1.2rem;font-weight:400}
.staff-title{margin-top:72px}
.team-grid-staff .person-art{height:420px!important}
.team-grid-staff .person-copy p{min-height:0}

/* Practical information */
.utility{background:radial-gradient(circle at 100% 50%,rgba(202,164,111,.07),transparent 26%),linear-gradient(135deg,#fffefa,#faf7f1)}
.utility-grid-all{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important}
.utility-card{position:relative;min-height:315px;padding:24px 26px;border-radius:16px;border:1px solid rgba(7,36,70,.07);background:rgba(255,255,255,.9);box-shadow:0 15px 38px rgba(42,44,40,.055);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.utility-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(4,31,68,.08);border-color:rgba(var(--primary-rgb),.18)}
.utility-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.utility-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#edf5fb;color:#064b8c}
.utility-icon .ui-icon{width:28px;height:28px}
.utility-arrow{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--primary);color:var(--primary);transition:background .25s ease,color .25s ease,transform .25s ease}
.utility-arrow .ui-icon{width:18px;height:18px}
.utility-card:hover .utility-arrow{background:var(--primary);color:#fff;transform:translateX(2px)}
.utility-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:400;color:#0a1930;line-height:1.08;margin:0 0 14px}
.utility-card p,.utility-card li{font-size:.94rem;line-height:1.52;color:#65788b}
.utility-card ul{padding-left:20px}.utility-card li::marker{color:#0875d3}

/* Contact */
.contact{background:radial-gradient(circle at 100% 50%,rgba(0,115,214,.08),transparent 30%),#f8fbfe}
.contact-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:20px;align-items:stretch}
.contact-intro-card,.contact-card{min-height:500px;border-radius:16px;border:1px solid rgba(7,36,70,.08);background:rgba(255,255,255,.94);box-shadow:0 16px 48px rgba(4,31,68,.06)}
.contact-intro-card{padding:42px;display:flex;flex-direction:column;justify-content:center}
.contact-intro-line{width:52px;height:3px;background:#6c89a5;margin-bottom:26px}
.contact-intro-card h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,3.5vw,3.8rem);font-weight:400;line-height:1.02;color:#071932;max-width:12ch}
.contact-intro-card p{font-size:1.05rem;line-height:1.55;color:#71859a;max-width:38ch;margin-top:20px}
.contact-primary-actions{display:grid;grid-template-columns:1.08fr 1fr;gap:10px;margin-top:34px}
.contact-primary-actions .btn{min-height:58px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:.94rem;font-weight:800}
.contact-primary-actions .btn-dark{background:linear-gradient(135deg,#0063b4,#0c79d2);border-color:transparent}
.contact-primary-actions .btn-outline{background:#f1f5f8;color:#0d2742;border-color:transparent}
.contact-primary-actions .ui-icon{width:19px;height:19px}
.contact-card{padding:28px}
.contact-card-grid{height:100%;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);gap:28px;align-items:stretch}
.contact-list{display:flex;flex-direction:column;justify-content:center}
.contact-row{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(7,36,70,.08)}
.contact-row:last-child{border-bottom:0}
.contact-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eef6fd;color:#0870c9}
.contact-icon .ui-icon{width:21px;height:21px}.contact-icon .whatsapp-mark{color:#25D366}
.contact-row strong{display:block;font-size:.86rem;color:#0c1b30;margin-bottom:2px}.contact-row span,.contact-row a{font-size:.84rem;color:#74879a;line-height:1.35}.contact-row>a{color:#0870c9;font-weight:700}
.map-embed{display:flex;flex-direction:column;min-height:100%;gap:10px}.map-embed iframe{flex:1;min-height:330px;border:0;border-radius:12px;filter:saturate(.88) contrast(.98)}.map-embed>a{display:flex;gap:10px;align-items:center;color:#0765b9;font-size:.82rem;font-weight:700}.map-embed>a .ui-icon{width:22px;height:22px}

/* Footer */
footer{background:linear-gradient(110deg,#02162f 0%,#05325e 54%,#074f88 100%)!important;padding:74px 0 34px!important;color:#fff}
footer>.container{width:min(calc(100% - 48px),1500px)}
.footer-top{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr) minmax(0,1.15fr)!important;gap:0!important;align-items:start!important}
.footer-top>div{padding:0 46px;min-height:285px}
.footer-top>div:first-child{padding-left:0}.footer-top>div+div{border-left:1px solid rgba(112,201,249,.22)}
.footer-logo{width:min(100%,360px)!important;max-height:165px;object-fit:contain;object-position:left center}
.footer-accent{display:block;width:50px;height:3px;background:#62c7fb;margin:24px 0}
.footer-brand p{max-width:470px;color:#d0deea;font-size:1rem;line-height:1.55}
.footer-col h4{font-size:.83rem;letter-spacing:.22em;text-transform:uppercase;color:#c8dae9;margin-bottom:25px;position:relative}.footer-col h4::after{content:"";display:block;width:40px;height:3px;background:#63c8fa;margin-top:12px}
.footer-nav-col a{display:flex!important;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#fff!important;font-size:1rem}.footer-nav-col a:hover{padding-left:5px;color:#8bd9ff!important}
.footer-contact-col>a,.footer-address{display:grid!important;grid-template-columns:48px 1fr;gap:14px;align-items:center;margin:0 0 16px;color:#fff!important;font-size:1rem;line-height:1.45}
.footer-contact-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff}.footer-contact-icon .ui-icon{width:21px;height:21px}
.footer-bottom{margin-top:42px!important;padding-top:30px!important;border-top:1px solid rgba(100,199,251,.28)!important;display:grid!important;grid-template-columns:1fr 1fr;gap:30px;color:#bacddd!important;font-size:.82rem!important}
footer .marketwins-credit{margin:24px auto 0!important;padding:0!important;color:#c8d7e4!important;font-size:.78rem!important}.marketwins-credit a{color:#fff!important}

/* Animation polish */
.scroll-reveal{transition-duration:.72s!important;transition-timing-function:cubic-bezier(.22,1,.36,1)!important}
.practice-item,.process-card,.feature-card,.utility-card,.person{will-change:transform}

/* Responsive */
@media(max-width:1180px){
  .section-head{grid-template-columns:1fr;gap:18px}.section-head .section-copy{border-left:0;padding-left:0;max-width:680px}
  .practice-inner{padding-left:24px}
  .process-grid{grid-template-columns:repeat(2,1fr)}.process-grid::before{display:none}
  .knowledge-grid{grid-template-columns:1fr}
  .team-spotlight{min-height:580px;background-position:60% center}.team-spotlight-copy{padding-left:44px;max-width:520px}
  .team-grid-professionals{grid-template-columns:repeat(2,1fr)}.team-grid-professionals .person-real_estate{grid-column:1/-1;max-width:520px;justify-self:center;width:100%}
  .utility-grid-all{grid-template-columns:repeat(2,1fr)}
  .contact-layout{grid-template-columns:1fr}.contact-intro-card,.contact-card{min-height:auto}.contact-card-grid{grid-template-columns:1.05fr .95fr}
  .footer-top{grid-template-columns:1fr 1fr!important}.footer-contact-col{grid-column:1/-1;border-left:0!important;border-top:1px solid rgba(112,201,249,.22);padding:34px 0 0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.footer-contact-col h4{grid-column:1/-1}
}
@media(max-width:800px){
  .details-section,.process,.knowledge,.utility,.contact{padding:66px 0}
  .section-head .section-title{font-size:clamp(2.75rem,11vw,4.2rem)}
  .practice-btn{grid-template-columns:54px 1fr 42px;padding:18px 15px;gap:12px}.practice-num{font-size:1.2rem}.practice-title strong{font-size:1.2rem}.practice-title>span{font-size:.82rem}.practice-plus{width:38px;height:38px}.practice-inner{grid-template-columns:1fr;padding:0 18px 22px}
  .process-grid{grid-template-columns:1fr}.process-card{min-height:300px}.process-card h3{font-size:1.55rem}
  .feature-card{padding:26px 22px;min-height:auto}.feature-card h3{font-size:1.9rem}.feature-card-heading{align-items:flex-start}
  .team{padding:62px 0 78px}.team>.container{width:min(calc(100% - 24px),1500px)}.team-spotlight{min-height:720px;background-position:68% center;border-radius:18px}.team-spotlight::before{background:linear-gradient(180deg,rgba(2,19,42,.98) 0%,rgba(2,24,47,.86) 46%,rgba(2,24,47,.2) 78%)}.team-spotlight-copy{padding:46px 28px 0;max-width:100%}.team-spotlight-copy h3{font-size:3rem;max-width:10ch}.team-spotlight-copy>p:last-child{max-width:28ch}
  .team-grid-professionals,.team-grid-staff{grid-template-columns:1fr}.team-grid-professionals .person-real_estate{grid-column:auto;max-width:none}.person-art,.team-grid-staff .person-art{height:460px!important}.team-quote{text-align:center;padding:0 18px}.team-block-title-centered h3{font-size:2.5rem}
  .utility-grid-all{grid-template-columns:1fr}.utility-card{min-height:auto}
  .contact-intro-card{padding:30px 24px}.contact-card{padding:18px}.contact-card-grid{grid-template-columns:1fr}.map-embed iframe{min-height:300px}.contact-primary-actions{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr!important}.footer-top>div{padding:28px 0!important;min-height:auto;border-left:0!important;border-bottom:1px solid rgba(112,201,249,.18)}.footer-top>div:last-child{border-bottom:0}.footer-contact-col{display:block}.footer-logo{width:290px!important}.footer-bottom{grid-template-columns:1fr!important;text-align:left!important}
}
@media(max-width:520px){
  .practice-btn{grid-template-columns:44px 1fr 38px}.practice-title strong{font-size:1.05rem}.practice-title>span{font-size:.76rem}.practice-num{height:40px}
  .team-spotlight{min-height:630px;background-position:71% center}.team-spotlight-copy{padding:34px 20px}.team-spotlight-copy h3{font-size:2.45rem}.team-spotlight-motto,.team-spotlight-copy>p:last-child{font-size:.88rem}.person-art,.team-grid-staff .person-art{height:390px!important}.person-copy h3{font-size:1.55rem}
  .contact-row{grid-template-columns:42px 1fr}.contact-row>a{grid-column:2}.contact-icon{width:42px;height:42px}.map-embed iframe{min-height:260px}
}

/* ======================================================================
   PCA 3.1.0 — responsive calibration + approved visual proportions
   ====================================================================== */

/* Global scale and alignment */
#pca-landing-root{overflow-x:hidden}
#pca-landing-root .container{width:min(calc(100% - 48px),1320px)}
#pca-landing-root section{padding-block:clamp(58px,5.4vw,86px)}
#pca-landing-root .ui-icon{display:block;flex:none;vertical-align:middle}
#pca-landing-root .quick-icon,
#pca-landing-root .stat-icon,
#pca-landing-root .value-icon,
#pca-landing-root .feature-card-icon,
#pca-landing-root .process-no,
#pca-landing-root .process-arrow,
#pca-landing-root .utility-icon,
#pca-landing-root .utility-arrow,
#pca-landing-root .profile-section-icon,
#pca-landing-root .contact-icon,
#pca-landing-root .footer-contact-icon{
  display:grid!important;place-items:center!important;line-height:0!important;
}

/* Shared section headings — prevent oversized text on large monitors */
#pca-landing-root .section-head{
  grid-template-columns:minmax(0,1.04fr) minmax(280px,.72fr);
  gap:clamp(28px,4.2vw,62px);
  margin-bottom:clamp(28px,3.5vw,42px);
}
#pca-landing-root .section-head .section-title{
  font-size:clamp(2.65rem,4.15vw,4.45rem)!important;
  line-height:.98!important;
  letter-spacing:-.032em!important;
}
#pca-landing-root .section-head .section-copy{
  font-size:clamp(.9rem,1vw,1rem)!important;
  line-height:1.52!important;
  max-width:510px!important;
  padding-left:clamp(20px,2.6vw,32px)!important;
}
#pca-landing-root .eyebrow{font-size:.66rem!important;letter-spacing:.18em!important}

/* Practice overview */
#pca-landing-root .practice-quick{padding-top:clamp(46px,4.6vw,68px)!important}
#pca-landing-root .quick-top h2{font-size:clamp(2.55rem,4vw,3.85rem)!important;line-height:1!important}
#pca-landing-root .quick-grid{gap:12px!important}
#pca-landing-root .quick-card{
  min-height:clamp(132px,10vw,158px)!important;
  padding:18px 14px!important;
  border-radius:14px!important;
}
#pca-landing-root .quick-icon{width:58px!important;height:58px!important}
#pca-landing-root .quick-icon .ui-icon{width:27px!important;height:27px!important}
#pca-landing-root .quick-card strong{font-size:clamp(.9rem,1vw,1.05rem)!important;max-width:13ch!important}
#pca-landing-root .stats-band{margin-top:22px!important;border-radius:12px 12px 0 0!important}
#pca-landing-root .stat{grid-template-columns:50px 1fr!important;gap:14px!important;padding:20px 22px!important}
#pca-landing-root .stat-icon{width:48px!important;height:48px!important}
#pca-landing-root .stat-icon .ui-icon{width:22px!important;height:22px!important}
#pca-landing-root .stat-copy strong{font-size:clamp(2rem,2.5vw,2.7rem)!important}
#pca-landing-root .stat-copy span{font-size:.88rem!important}

/* Firm / office block */
#pca-landing-root .intro{padding-block:0 clamp(60px,5vw,82px)!important}
#pca-landing-root .intro-grid{
  width:min(calc(100% - 48px),1320px)!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  border-radius:0 0 16px 16px!important;
}
#pca-landing-root .office-art.real-office{min-height:clamp(500px,40vw,610px)!important;background-position:center!important}
#pca-landing-root .intro-copy{min-height:clamp(500px,40vw,610px)!important;padding:clamp(40px,4vw,56px)!important;gap:26px!important}
#pca-landing-root .intro-copy h2{font-size:clamp(2.75rem,3.8vw,4.05rem)!important;line-height:1.01!important;margin:10px 0 18px!important}
#pca-landing-root .intro-copy p{font-size:clamp(.88rem,.95vw,.98rem)!important;line-height:1.58!important}
#pca-landing-root .value-list{padding-left:22px!important;gap:17px!important}
#pca-landing-root .value-item{font-size:.92rem!important;gap:12px!important}
#pca-landing-root .value-icon{width:44px!important;height:44px!important}
#pca-landing-root .value-icon .ui-icon{width:20px!important;height:20px!important}

/* Service accordion */
#pca-landing-root .details-section .section-title{max-width:13ch}
#pca-landing-root .practice-list{gap:11px!important}
#pca-landing-root .practice-btn{min-height:84px!important;padding:16px 20px!important;grid-template-columns:62px 1fr 44px!important;gap:16px!important}
#pca-landing-root .practice-num{height:42px!important;font-size:1.28rem!important}
#pca-landing-root .practice-title strong{font-size:clamp(1.14rem,1.5vw,1.46rem)!important}
#pca-landing-root .practice-title>span{font-size:.82rem!important;margin-top:4px!important}
#pca-landing-root .practice-plus{width:40px!important;height:40px!important;font-size:1.35rem!important}
#pca-landing-root .practice-inner{padding:0 20px 22px 96px!important}

/* Process */
#pca-landing-root .process-grid{gap:14px!important}
#pca-landing-root .process-card{min-height:315px!important;padding:25px 24px 22px!important;border-radius:14px!important}
#pca-landing-root .process-no{width:56px!important;height:56px!important;font-size:1.6rem!important;margin-bottom:24px!important}
#pca-landing-root .process-card h3{font-size:clamp(1.35rem,1.7vw,1.55rem)!important;margin:0 0 12px!important}
#pca-landing-root .process-card p{font-size:.9rem!important;line-height:1.5!important}
#pca-landing-root .process-arrow{width:42px!important;height:42px!important}

/* Specialized information */
#pca-landing-root .knowledge-grid{gap:18px!important}
#pca-landing-root .feature-card{min-height:0!important;padding:30px 32px!important;border-radius:15px!important}
#pca-landing-root .feature-card-heading{gap:14px!important;margin-bottom:16px!important}
#pca-landing-root .feature-card-icon{width:52px!important;height:52px!important}
#pca-landing-root .feature-card-icon .ui-icon{width:24px!important;height:24px!important}
#pca-landing-root .feature-card h3{font-size:clamp(1.75rem,2.25vw,2.15rem)!important}
#pca-landing-root .feature-card>p{font-size:.9rem!important}
#pca-landing-root .feature-card ul{margin:20px 0!important;gap:6px!important;font-size:.9rem!important}
#pca-landing-root .legal-note{font-size:.78rem!important}

/* Team section — use approved imagery without cropping or excessive scale */
#pca-landing-root .team{padding:clamp(66px,5vw,82px) 0 clamp(76px,6vw,96px)!important}
#pca-landing-root .team>.container{width:min(calc(100% - 48px),1320px)!important}
#pca-landing-root .team .section-head{margin-bottom:24px!important}
#pca-landing-root .team .section-head .section-title{font-size:clamp(3rem,4.2vw,4.35rem)!important}
#pca-landing-root .team-spotlight{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  margin:18px 0 clamp(52px,5vw,68px)!important;
  border-radius:20px!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
#pca-landing-root .team-spotlight-copy{
  max-width:42%!important;
  padding:clamp(40px,5vw,68px) 0 46px clamp(38px,5vw,64px)!important;
}
#pca-landing-root .team-spotlight-copy h3{font-size:clamp(2.5rem,3.9vw,4.1rem)!important;line-height:.97!important;margin:12px 0 18px!important}
#pca-landing-root .team-spotlight-motto{font-size:.95rem!important;line-height:1.5!important}
#pca-landing-root .team-spotlight-copy>p:last-child{font-size:.9rem!important;line-height:1.58!important}
#pca-landing-root .team-spotlight-rule{margin:20px 0!important;width:72px!important}

#pca-landing-root .team-block-title-centered{max-width:760px!important;margin-bottom:24px!important}
#pca-landing-root .team-block-title-centered h3{font-size:clamp(2.2rem,3vw,3.15rem)!important;margin:8px 0!important}
#pca-landing-root .team-block-title-centered p{font-size:.9rem!important;line-height:1.46!important;max-width:690px!important}
#pca-landing-root .team-grid-professionals{gap:16px!important;align-items:start!important}
#pca-landing-root .team-grid-staff{gap:18px!important;max-width:900px!important;align-items:start!important}
#pca-landing-root .person{height:auto!important;align-self:start!important;border-radius:14px!important}
#pca-landing-root .person-art,
#pca-landing-root .team-grid-staff .person-art{
  height:auto!important;
  aspect-ratio:4/5!important;
  background:#031a36!important;
}
#pca-landing-root .person-art img{
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important;
}
#pca-landing-root .person-copy{padding:16px 18px 18px!important;gap:6px!important}
#pca-landing-root .person-copy h3{font-size:clamp(1.28rem,1.55vw,1.55rem)!important}
#pca-landing-root .person-copy p{font-size:.76rem!important;min-height:0!important;line-height:1.4!important}
#pca-landing-root .person-name-line{width:34px!important;margin-bottom:0!important}
#pca-landing-root .profile-toggle{padding:8px 13px!important;font-size:.72rem!important;margin-top:8px!important}
#pca-landing-root .profile-toggle-icon{width:18px!important;height:18px!important}
#pca-landing-root .profile-panel{font-size:.82rem!important}
#pca-landing-root .profile-section{padding:14px 0!important}
#pca-landing-root .profile-section h4{font-size:.66rem!important}
#pca-landing-root .profile-section p,
#pca-landing-root .profile-section li{font-size:.78rem!important;line-height:1.48!important}
#pca-landing-root .team-quote{margin:24px auto 54px!important;font-size:clamp(.96rem,1.35vw,1.18rem)!important}
#pca-landing-root .team-block-staff{margin-top:0!important}

/* Practical information */
#pca-landing-root .utility-grid-all{gap:14px!important}
#pca-landing-root .utility-card{min-height:0!important;padding:20px 22px!important;border-radius:14px!important}
#pca-landing-root .utility-card-top{margin-bottom:10px!important}
#pca-landing-root .utility-icon{width:52px!important;height:52px!important}
#pca-landing-root .utility-icon .ui-icon{width:23px!important;height:23px!important}
#pca-landing-root .utility-arrow{width:38px!important;height:38px!important}
#pca-landing-root .utility-arrow .ui-icon{width:16px!important;height:16px!important}
#pca-landing-root .utility-card h3{font-size:clamp(1.35rem,1.8vw,1.6rem)!important;margin-bottom:10px!important}
#pca-landing-root .utility-card p,
#pca-landing-root .utility-card li{font-size:.84rem!important;line-height:1.48!important}

/* Contact — balance the two cards */
#pca-landing-root .contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:16px!important}
#pca-landing-root .contact-intro-card,
#pca-landing-root .contact-card{min-height:440px!important;border-radius:14px!important}
#pca-landing-root .contact-intro-card{padding:34px!important}
#pca-landing-root .contact-intro-card h2{font-size:clamp(2.2rem,3vw,3.25rem)!important}
#pca-landing-root .contact-intro-card p{font-size:.92rem!important}
#pca-landing-root .contact-primary-actions{margin-top:26px!important}
#pca-landing-root .contact-primary-actions .btn{min-height:50px!important;font-size:.84rem!important}
#pca-landing-root .contact-card{padding:22px!important}
#pca-landing-root .contact-card-grid{grid-template-columns:minmax(0,1.02fr) minmax(280px,.98fr)!important;gap:20px!important}
#pca-landing-root .contact-row{grid-template-columns:42px 1fr auto!important;gap:11px!important;padding:11px 0!important}
#pca-landing-root .contact-icon{width:40px!important;height:40px!important}
#pca-landing-root .contact-icon .ui-icon{width:18px!important;height:18px!important}
#pca-landing-root .contact-row strong{font-size:.8rem!important}
#pca-landing-root .contact-row span,
#pca-landing-root .contact-row a{font-size:.76rem!important}
#pca-landing-root .map-embed iframe{min-height:260px!important}

/* Footer */
#pca-landing-root footer{padding:58px 0 28px!important}
#pca-landing-root footer>.container{width:min(calc(100% - 48px),1320px)!important}
#pca-landing-root .footer-top>div{padding-inline:32px!important;min-height:240px!important}
#pca-landing-root .footer-top>div:first-child{padding-left:0!important}
#pca-landing-root .footer-logo{width:min(100%,310px)!important;max-height:140px!important}
#pca-landing-root .footer-brand p{font-size:.88rem!important;max-width:420px!important}
#pca-landing-root .footer-col h4{font-size:.74rem!important;margin-bottom:18px!important}
#pca-landing-root .footer-nav-col a{padding:9px 0!important;font-size:.9rem!important}
#pca-landing-root .footer-contact-col>a,
#pca-landing-root .footer-address{grid-template-columns:42px 1fr!important;gap:12px!important;font-size:.88rem!important;margin-bottom:12px!important}
#pca-landing-root .footer-contact-icon{width:40px!important;height:40px!important}
#pca-landing-root .footer-contact-icon .ui-icon{width:18px!important;height:18px!important}
#pca-landing-root .footer-bottom{margin-top:30px!important;padding-top:22px!important;font-size:.74rem!important}
#pca-landing-root footer .marketwins-credit{font-size:.72rem!important;margin-top:18px!important}

/* Laptop / tablet landscape */
@media(max-width:1200px){
  #pca-landing-root .container,
  #pca-landing-root .team>.container,
  #pca-landing-root footer>.container{width:min(calc(100% - 36px),1120px)!important}
  #pca-landing-root .section-head{grid-template-columns:1fr .8fr;gap:30px}
  #pca-landing-root .section-head .section-title{font-size:clamp(2.55rem,4.8vw,3.8rem)!important}
  #pca-landing-root .quick-grid{grid-template-columns:repeat(3,1fr)!important}
  #pca-landing-root .stats-band{grid-template-columns:repeat(2,1fr)!important}
  #pca-landing-root .stat:nth-child(2)::after{display:none!important}
  #pca-landing-root .intro-grid{width:min(calc(100% - 36px),1120px)!important}
  #pca-landing-root .intro-copy{grid-template-columns:1fr!important}
  #pca-landing-root .value-list{grid-template-columns:repeat(2,1fr)!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.14)!important;padding:18px 0 0!important}
  #pca-landing-root .process-grid{grid-template-columns:repeat(2,1fr)!important}
  #pca-landing-root .knowledge-grid{grid-template-columns:1fr 1fr!important}
  #pca-landing-root .team-spotlight-copy{max-width:45%!important}
  #pca-landing-root .team-grid-professionals{grid-template-columns:repeat(3,1fr)!important}
  #pca-landing-root .contact-layout{grid-template-columns:1fr!important}
  #pca-landing-root .contact-intro-card,#pca-landing-root .contact-card{min-height:auto!important}
  #pca-landing-root .footer-top>div{padding-inline:24px!important}
}

/* Tablet */
@media(max-width:900px){
  #pca-landing-root .container,
  #pca-landing-root .team>.container,
  #pca-landing-root footer>.container{width:min(calc(100% - 28px),820px)!important}
  #pca-landing-root section{padding-block:58px!important}
  #pca-landing-root .section-head{grid-template-columns:1fr!important;gap:14px!important}
  #pca-landing-root .section-head .section-copy{border-left:0!important;padding-left:0!important;margin:0!important}
  #pca-landing-root .section-head .section-title{font-size:clamp(2.35rem,7vw,3.4rem)!important}
  #pca-landing-root .intro-grid{width:min(calc(100% - 28px),820px)!important;grid-template-columns:1fr!important}
  #pca-landing-root .office-art.real-office{min-height:390px!important}
  #pca-landing-root .intro-copy{min-height:auto!important;padding:34px 28px 40px!important}
  #pca-landing-root .process-grid{grid-template-columns:repeat(2,1fr)!important}
  #pca-landing-root .knowledge-grid{grid-template-columns:1fr!important}
  #pca-landing-root .team-spotlight{aspect-ratio:auto!important;min-height:620px!important;background-position:67% center!important}
  #pca-landing-root .team-spotlight-copy{max-width:58%!important;padding:44px 0 40px 34px!important}
  #pca-landing-root .team-spotlight-copy h3{font-size:clamp(2.25rem,6vw,3.35rem)!important}
  #pca-landing-root .team-grid-professionals{grid-template-columns:repeat(2,1fr)!important}
  #pca-landing-root .team-grid-professionals .person-real_estate{grid-column:1/-1;max-width:420px;justify-self:center;width:100%}
  #pca-landing-root .team-grid-staff{grid-template-columns:repeat(2,1fr)!important}
  #pca-landing-root .utility-grid-all{grid-template-columns:repeat(2,1fr)!important}
  #pca-landing-root .contact-card-grid{grid-template-columns:1fr 1fr!important}
  #pca-landing-root .footer-top{grid-template-columns:1fr 1fr!important}
  #pca-landing-root .footer-contact-col{grid-column:1/-1!important;border-left:0!important;border-top:1px solid rgba(112,201,249,.22)!important;padding:26px 0 0!important}
}

/* Mobile */
@media(max-width:640px){
  #pca-landing-root .container,
  #pca-landing-root .team>.container,
  #pca-landing-root footer>.container{width:calc(100% - 20px)!important}
  #pca-landing-root section{padding-block:48px!important}
  #pca-landing-root .section-head .section-title{font-size:clamp(2.15rem,10vw,2.8rem)!important}
  #pca-landing-root .section-head .section-copy{font-size:.86rem!important}
  #pca-landing-root .quick-top h2{font-size:2.35rem!important}
  #pca-landing-root .quick-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  #pca-landing-root .quick-card{min-height:118px!important;padding:14px 10px!important}
  #pca-landing-root .quick-icon{width:48px!important;height:48px!important}
  #pca-landing-root .quick-icon .ui-icon{width:23px!important;height:23px!important}
  #pca-landing-root .quick-card strong{font-size:.88rem!important}
  #pca-landing-root .stats-band{grid-template-columns:1fr!important}
  #pca-landing-root .stat{grid-template-columns:46px 1fr!important;padding:14px 16px!important}
  #pca-landing-root .stat:not(:last-child)::after{display:none!important}
  #pca-landing-root .stat-icon{width:42px!important;height:42px!important}
  #pca-landing-root .stat-copy strong{font-size:1.85rem!important}
  #pca-landing-root .intro{padding-bottom:48px!important}
  #pca-landing-root .intro-grid{width:calc(100% - 20px)!important}
  #pca-landing-root .office-art.real-office{min-height:285px!important}
  #pca-landing-root .intro-copy{padding:28px 18px 32px!important}
  #pca-landing-root .intro-copy h2{font-size:2.35rem!important}
  #pca-landing-root .value-list{grid-template-columns:1fr!important}
  #pca-landing-root .practice-btn{grid-template-columns:42px 1fr 34px!important;padding:14px 10px!important;gap:9px!important;min-height:76px!important}
  #pca-landing-root .practice-num{font-size:1rem!important;height:34px!important}
  #pca-landing-root .practice-title strong{font-size:1rem!important}
  #pca-landing-root .practice-title>span{font-size:.72rem!important}
  #pca-landing-root .practice-plus{width:32px!important;height:32px!important}
  #pca-landing-root .practice-inner{grid-template-columns:1fr!important;padding:0 12px 18px 52px!important}
  #pca-landing-root .process-grid{grid-template-columns:1fr!important}
  #pca-landing-root .process-card{min-height:250px!important;padding:22px!important}
  #pca-landing-root .feature-card{padding:22px 18px!important}
  #pca-landing-root .feature-card h3{font-size:1.65rem!important}
  #pca-landing-root .team{padding:48px 0 62px!important}
  #pca-landing-root .team .section-head .section-title{font-size:2.9rem!important}
  #pca-landing-root .team-spotlight{
    min-height:0!important;aspect-ratio:auto!important;background-size:100% auto!important;background-position:center top!important;background-repeat:no-repeat!important;
    padding-top:56.3%!important;background-color:#02172f!important;border-radius:14px!important;
  }
  #pca-landing-root .team-spotlight::before{background:linear-gradient(180deg,transparent 0 42%,rgba(2,19,42,.78) 55%,rgba(2,19,42,.98) 70%,rgba(2,19,42,1) 100%)!important}
  #pca-landing-root .team-spotlight-copy{max-width:none!important;padding:18px 18px 28px!important}
  #pca-landing-root .team-spotlight-copy h3{font-size:2.25rem!important;max-width:12ch!important}
  #pca-landing-root .team-spotlight-motto,#pca-landing-root .team-spotlight-copy>p:last-child{font-size:.82rem!important}
  #pca-landing-root .team-block-title-centered h3{font-size:2.2rem!important}
  #pca-landing-root .team-grid-professionals,#pca-landing-root .team-grid-staff{grid-template-columns:1fr!important}
  #pca-landing-root .team-grid-professionals .person-real_estate{grid-column:auto;max-width:none}
  #pca-landing-root .person-art,#pca-landing-root .team-grid-staff .person-art{aspect-ratio:4/5!important}
  #pca-landing-root .utility-grid-all{grid-template-columns:1fr!important}
  #pca-landing-root .contact-layout{grid-template-columns:1fr!important}
  #pca-landing-root .contact-intro-card,#pca-landing-root .contact-card{min-height:auto!important;padding:20px!important}
  #pca-landing-root .contact-intro-card h2{font-size:2.2rem!important}
  #pca-landing-root .contact-primary-actions{grid-template-columns:1fr!important}
  #pca-landing-root .contact-card-grid{grid-template-columns:1fr!important}
  #pca-landing-root .contact-row{grid-template-columns:40px 1fr!important}
  #pca-landing-root .contact-row>a{grid-column:2!important}
  #pca-landing-root .map-embed iframe{min-height:240px!important}
  #pca-landing-root footer{padding:46px 0 26px!important}
  #pca-landing-root .footer-top{grid-template-columns:1fr!important}
  #pca-landing-root .footer-top>div{padding:24px 0!important;min-height:auto!important;border-left:0!important;border-bottom:1px solid rgba(112,201,249,.18)!important}
  #pca-landing-root .footer-top>div:last-child{border-bottom:0!important}
  #pca-landing-root .footer-logo{width:250px!important}
  #pca-landing-root .footer-bottom{grid-template-columns:1fr!important;gap:12px!important}
}

/* Very small phones */
@media(max-width:390px){
  #pca-landing-root .quick-grid{grid-template-columns:1fr!important}
  #pca-landing-root .quick-card{min-height:104px!important}
  #pca-landing-root .team .section-head .section-title{font-size:2.5rem!important}
  #pca-landing-root .team-spotlight-copy h3{font-size:2rem!important}
}


/* ===== 3.1.2 — Institutional block proportion fix + exact office photo ===== */
#pca-landing-root .intro{
  padding:0 0 clamp(56px,5vw,76px)!important;
  background:#f3f6f9!important;
}
#pca-landing-root .intro-grid{
  width:min(calc(100% - 48px),1320px)!important;
  max-width:1320px!important;
  margin:0 auto!important;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
  align-items:stretch!important;
  overflow:hidden!important;
  border-radius:0 0 16px 16px!important;
}
#pca-landing-root .office-art.real-office{
  min-height:clamp(500px,43vw,620px)!important;
  height:auto!important;
  background-image:var(--pca-office-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  border:0!important;
}
#pca-landing-root .intro-copy{
  min-height:clamp(500px,43vw,620px)!important;
  box-sizing:border-box!important;
  padding:clamp(34px,3.5vw,52px) clamp(32px,3.8vw,54px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.48fr) minmax(150px,.52fr)!important;
  column-gap:clamp(20px,2.2vw,30px)!important;
  row-gap:0!important;
  align-items:center!important;
}
#pca-landing-root .intro-copy>div:first-child{
  max-width:470px!important;
  min-width:0!important;
}
#pca-landing-root .intro-copy .eyebrow{
  font-size:.62rem!important;
  letter-spacing:.18em!important;
  margin-bottom:8px!important;
}
#pca-landing-root .intro-copy h2{
  max-width:11.5ch!important;
  margin:8px 0 18px!important;
  font-size:clamp(2.35rem,3.05vw,3.25rem)!important;
  line-height:1.01!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}
#pca-landing-root .intro-copy p{
  max-width:48ch!important;
  font-size:clamp(.82rem,.86vw,.92rem)!important;
  line-height:1.55!important;
}
#pca-landing-root .intro-copy .btn{
  min-height:46px!important;
  margin-top:22px!important;
  padding:0 20px!important;
  font-size:.78rem!important;
}
#pca-landing-root .value-list{
  min-width:0!important;
  padding-left:20px!important;
  gap:14px!important;
  border-left:1px solid rgba(255,255,255,.13)!important;
}
#pca-landing-root .value-item{
  grid-template-columns:40px 1fr!important;
  gap:10px!important;
  font-size:.82rem!important;
  line-height:1.25!important;
}
#pca-landing-root .value-icon{
  width:40px!important;
  height:40px!important;
}
#pca-landing-root .value-icon .ui-icon{
  width:18px!important;
  height:18px!important;
}

/* Laptop: preserve two-column composition without squeezing the headline. */
@media (min-width:901px) and (max-width:1220px){
  #pca-landing-root .intro-grid{
    width:min(calc(100% - 32px),1120px)!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  }
  #pca-landing-root .office-art.real-office,
  #pca-landing-root .intro-copy{
    min-height:520px!important;
  }
  #pca-landing-root .intro-copy{
    grid-template-columns:minmax(0,1fr)!important;
    align-content:center!important;
    padding:36px 38px!important;
  }
  #pca-landing-root .intro-copy>div:first-child{max-width:560px!important}
  #pca-landing-root .intro-copy h2{max-width:13ch!important;font-size:clamp(2.35rem,3.8vw,3rem)!important}
  #pca-landing-root .value-list{
    margin-top:22px!important;
    padding:18px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Tablet: image above copy, comfortable but compact. */
@media(max-width:900px){
  #pca-landing-root .intro-grid{
    width:min(calc(100% - 28px),820px)!important;
    grid-template-columns:1fr!important;
  }
  #pca-landing-root .office-art.real-office{
    min-height:0!important;
    aspect-ratio:3/2!important;
    background-position:center center!important;
  }
  #pca-landing-root .intro-copy{
    min-height:0!important;
    grid-template-columns:1fr!important;
    padding:34px 28px 38px!important;
  }
  #pca-landing-root .intro-copy>div:first-child{max-width:620px!important}
  #pca-landing-root .intro-copy h2{max-width:14ch!important;font-size:clamp(2.35rem,6vw,3rem)!important}
  #pca-landing-root .value-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-top:22px!important;
    padding:18px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
  }
}

/* Phone: keep photo legible and eliminate oversized text. */
@media(max-width:640px){
  #pca-landing-root .intro-grid{width:calc(100% - 20px)!important}
  #pca-landing-root .office-art.real-office{
    aspect-ratio:1.34/1!important;
    min-height:0!important;
    background-position:center center!important;
  }
  #pca-landing-root .intro-copy{padding:28px 18px 32px!important}
  #pca-landing-root .intro-copy h2{
    max-width:12ch!important;
    font-size:clamp(2.05rem,10vw,2.55rem)!important;
    line-height:1.03!important;
  }
  #pca-landing-root .intro-copy p{font-size:.86rem!important;line-height:1.5!important}
  #pca-landing-root .value-list{grid-template-columns:1fr!important;gap:10px!important}
  #pca-landing-root .value-item{font-size:.8rem!important}
}


/* ===== v3.1.3: compact section titles / max two-line desktop rhythm ===== */
@media (min-width:1101px){
  #pca-landing-root .process .section-head,
  #pca-landing-root .knowledge .section-head,
  #pca-landing-root .utility .section-head,
  #pca-landing-root .contact .section-head{
    grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr)!important;
    gap:clamp(38px,4vw,72px)!important;
    align-items:end!important;
  }

  #pca-landing-root .process .section-title,
  #pca-landing-root .knowledge .section-title,
  #pca-landing-root .utility .section-title,
  #pca-landing-root .contact .section-title{
    font-size:clamp(2.45rem,3.15vw,3.45rem)!important;
    line-height:1.01!important;
    letter-spacing:-.025em!important;
    max-width:none!important;
    text-wrap:balance;
  }

  #pca-landing-root .process .section-title{max-width:19ch!important;}
  #pca-landing-root .knowledge .section-title{max-width:21ch!important;}
  #pca-landing-root .utility .section-title{max-width:17ch!important;}
  #pca-landing-root .contact .section-title{max-width:16ch!important;}

  #pca-landing-root .process .section-copy,
  #pca-landing-root .knowledge .section-copy,
  #pca-landing-root .utility .section-copy,
  #pca-landing-root .contact .section-copy{
    font-size:clamp(.86rem,.95vw,.98rem)!important;
    line-height:1.5!important;
    max-width:520px!important;
  }
}

@media (min-width:761px) and (max-width:1100px){
  #pca-landing-root .process .section-head,
  #pca-landing-root .knowledge .section-head,
  #pca-landing-root .utility .section-head,
  #pca-landing-root .contact .section-head{
    grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)!important;
    gap:28px!important;
  }
  #pca-landing-root .process .section-title,
  #pca-landing-root .knowledge .section-title,
  #pca-landing-root .utility .section-title,
  #pca-landing-root .contact .section-title{
    font-size:clamp(2.15rem,4.2vw,2.9rem)!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
    max-width:none!important;
    text-wrap:balance;
  }
}

@media (max-width:760px){
  #pca-landing-root .process .section-head,
  #pca-landing-root .knowledge .section-head,
  #pca-landing-root .utility .section-head,
  #pca-landing-root .contact .section-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:24px!important;
  }
  #pca-landing-root .process .section-title,
  #pca-landing-root .knowledge .section-title,
  #pca-landing-root .utility .section-title,
  #pca-landing-root .contact .section-title{
    font-size:clamp(1.95rem,8.4vw,2.5rem)!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
    max-width:100%!important;
    text-wrap:balance;
  }
  #pca-landing-root .process .section-copy,
  #pca-landing-root .knowledge .section-copy,
  #pca-landing-root .utility .section-copy,
  #pca-landing-root .contact .section-copy{
    font-size:.86rem!important;
    line-height:1.48!important;
  }
}

@media (max-width:420px){
  #pca-landing-root .process .section-title,
  #pca-landing-root .knowledge .section-title,
  #pca-landing-root .utility .section-title,
  #pca-landing-root .contact .section-title{
    font-size:clamp(1.75rem,8vw,2.15rem)!important;
  }
}


/* ===== v3.1.4: compact Services heading ===== */
@media (min-width:1101px){
  #pca-landing-root .details-section .section-head{
    grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr)!important;
    gap:clamp(38px,4vw,70px)!important;
    align-items:end!important;
  }
  #pca-landing-root .details-section .section-title{
    font-size:clamp(2.4rem,3vw,3.3rem)!important;
    line-height:1.01!important;
    letter-spacing:-.024em!important;
    max-width:22ch!important;
    text-wrap:balance!important;
  }
  #pca-landing-root .details-section .section-copy{
    font-size:clamp(.86rem,.94vw,.98rem)!important;
    line-height:1.5!important;
    max-width:510px!important;
  }
}

@media (min-width:761px) and (max-width:1100px){
  #pca-landing-root .details-section .section-head{
    grid-template-columns:minmax(0,1.22fr) minmax(250px,.78fr)!important;
    gap:28px!important;
  }
  #pca-landing-root .details-section .section-title{
    font-size:clamp(2.1rem,4vw,2.75rem)!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
    max-width:22ch!important;
    text-wrap:balance!important;
  }
}

@media (max-width:760px){
  #pca-landing-root .details-section .section-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:24px!important;
  }
  #pca-landing-root .details-section .section-title{
    font-size:clamp(1.9rem,8vw,2.35rem)!important;
    line-height:1.03!important;
    letter-spacing:-.018em!important;
    max-width:19ch!important;
    text-wrap:balance!important;
  }
  #pca-landing-root .details-section .section-copy{
    font-size:.86rem!important;
    line-height:1.48!important;
  }
}


/* ===== v3.1.5 · Team spotlight full-bleed ===== */
#pca-landing-root .team{
  overflow:hidden;
}
#pca-landing-root .team-spotlight{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  min-height:clamp(560px,45vw,760px)!important;
  margin:30px 0 78px calc(50% - 50vw)!important;
  border-radius:0!important;
  overflow:hidden!important;
  background-image:var(--team-group-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
#pca-landing-root .team-spotlight::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,
      rgba(2,19,42,.99) 0%,
      rgba(2,23,47,.96) 27%,
      rgba(2,28,55,.80) 43%,
      rgba(2,31,59,.28) 60%,
      rgba(2,24,48,.05) 77%,
      rgba(2,19,42,.12) 100%)!important;
}
#pca-landing-root .team-spotlight::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:30%;
  z-index:0;
  background:linear-gradient(180deg,transparent,rgba(1,13,31,.42))!important;
}
#pca-landing-root .team-spotlight-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 71% 48%,transparent 0 28%,rgba(0,25,52,.03) 47%,rgba(0,14,32,.13) 100%)!important;
}
#pca-landing-root .team-spotlight-copy{
  position:relative!important;
  z-index:2!important;
  width:min(660px,44vw)!important;
  max-width:660px!important;
  min-height:inherit!important;
  padding:
    clamp(72px,7vw,112px)
    28px
    clamp(70px,7vw,110px)
    max(54px,calc((100vw - 1500px)/2 + 28px))!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
#pca-landing-root .team-spotlight-copy .eyebrow{
  margin:0 0 18px!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  letter-spacing:.18em!important;
  color:#49b9f7!important;
}
#pca-landing-root .team-spotlight-copy h3{
  margin:0 0 26px!important;
  max-width:12.5ch!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3rem,4.2vw,4.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  font-weight:400!important;
  color:#fff!important;
}
#pca-landing-root .team-spotlight-motto{
  margin:0!important;
  max-width:34ch!important;
  font-size:clamp(1rem,1.2vw,1.16rem)!important;
  line-height:1.62!important;
  color:#f0f6fb!important;
}
#pca-landing-root .team-spotlight-rule{
  width:76px!important;
  height:1px!important;
  margin:28px 0!important;
  background:linear-gradient(90deg,#d7ad72,rgba(215,173,114,0))!important;
}
#pca-landing-root .team-spotlight-copy>p:last-child{
  margin:0!important;
  max-width:39ch!important;
  font-size:clamp(.92rem,1vw,1.02rem)!important;
  line-height:1.68!important;
  color:#c6d7e7!important;
}

@media(max-width:1180px){
  #pca-landing-root .team-spotlight{
    min-height:610px!important;
    background-position:61% center!important;
  }
  #pca-landing-root .team-spotlight-copy{
    width:min(590px,52vw)!important;
    padding-left:34px!important;
  }
  #pca-landing-root .team-spotlight-copy h3{
    font-size:clamp(2.75rem,5vw,4rem)!important;
  }
}

@media(max-width:900px){
  #pca-landing-root .team-spotlight{
    min-height:680px!important;
    background-position:66% center!important;
    margin-top:24px!important;
    margin-bottom:58px!important;
  }
  #pca-landing-root .team-spotlight::before{
    background:linear-gradient(90deg,rgba(2,19,42,.98) 0%,rgba(2,22,45,.94) 38%,rgba(2,28,55,.52) 58%,rgba(2,24,48,.12) 100%)!important;
  }
  #pca-landing-root .team-spotlight-copy{
    width:min(530px,62vw)!important;
    max-width:530px!important;
    padding:54px 24px 54px 28px!important;
  }
  #pca-landing-root .team-spotlight-copy h3{
    max-width:11.5ch!important;
    font-size:clamp(2.55rem,6vw,3.55rem)!important;
  }
}

@media(max-width:700px){
  #pca-landing-root .team-spotlight{
    min-height:760px!important;
    background-position:68% center!important;
    margin-left:calc(50% - 50vw)!important;
    margin-bottom:46px!important;
  }
  #pca-landing-root .team-spotlight::before{
    background:
      linear-gradient(180deg,
        rgba(2,19,42,.97) 0%,
        rgba(2,21,43,.90) 31%,
        rgba(2,25,50,.46) 48%,
        rgba(2,19,42,.10) 66%,
        rgba(2,19,42,.36) 100%)!important;
  }
  #pca-landing-root .team-spotlight-copy{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    padding:36px 22px 30px!important;
    justify-content:flex-start!important;
  }
  #pca-landing-root .team-spotlight-copy .eyebrow{
    margin-bottom:12px!important;
  }
  #pca-landing-root .team-spotlight-copy h3{
    max-width:13ch!important;
    margin-bottom:16px!important;
    font-size:clamp(2.25rem,10vw,3rem)!important;
    line-height:1!important;
  }
  #pca-landing-root .team-spotlight-motto{
    max-width:32ch!important;
    font-size:.92rem!important;
    line-height:1.52!important;
  }
  #pca-landing-root .team-spotlight-rule{
    margin:18px 0!important;
    width:60px!important;
  }
  #pca-landing-root .team-spotlight-copy>p:last-child{
    max-width:32ch!important;
    font-size:.84rem!important;
    line-height:1.55!important;
  }
}

@media(max-width:480px){
  #pca-landing-root .team-spotlight{
    min-height:720px!important;
    background-position:69% center!important;
  }
  #pca-landing-root .team-spotlight-copy{
    padding:30px 18px 24px!important;
  }
  #pca-landing-root .team-spotlight-copy h3{
    font-size:2.15rem!important;
    max-width:12ch!important;
  }
}

/* ===== v3.1.7: remove empty top band after team header removal ===== */
#pca-landing-root .team{
  padding-top:0 !important;
}
#pca-landing-root .team-spotlight{
  margin-top:0 !important;
}
@media(max-width:1000px){
  #pca-landing-root .team{padding-top:0 !important;}
  #pca-landing-root .team-spotlight{margin-top:0 !important;}
}
@media(max-width:700px){
  #pca-landing-root .team{padding-top:0 !important;}
  #pca-landing-root .team-spotlight{margin-top:0 !important;}
}


/* ===== v3.1.8 — Contact request modal: approved two-column UX ===== */
.contact-modal{
  padding:clamp(12px,2vw,28px)!important;
  background:rgba(3,18,34,.67)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.contact-modal-shell{
  width:min(1180px,calc(100vw - 36px))!important;
  height:min(760px,calc(100vh - 48px))!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.35fr)!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:20px!important;
  box-shadow:0 38px 110px rgba(1,20,40,.38)!important;
}
.contact-modal-visual{
  position:relative;
  min-width:0;
  overflow:hidden;
  background-image:var(--contact-office-image)!important;
  background-size:cover!important;
  background-position:center center!important;
}
.contact-modal-visual-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(3,25,52,.30) 0%,rgba(3,25,52,.50) 44%,rgba(2,17,36,.88) 100%),
    linear-gradient(90deg,rgba(2,18,38,.42),rgba(2,18,38,.03) 66%);
}
.contact-modal-visual-content{
  position:relative;
  z-index:1;
  height:100%;
  padding:42px 34px 30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
}
.contact-modal-visual-eyebrow{
  margin-bottom:10px;
  color:#f1c275;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.contact-modal-visual-title{
  margin:0;
  max-width:9ch;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,3.4vw,3.7rem);
  line-height:.98;
  font-weight:400;
  text-wrap:balance;
}
.contact-modal-gold-line{
  width:54px;
  height:2px;
  margin:18px 0 16px;
  background:linear-gradient(90deg,#e3a64a,#f0c77f);
}
.contact-modal-visual-text{
  max-width:31ch;
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:.93rem;
  line-height:1.5;
}
.contact-modal-side-actions{
  display:grid;
  gap:8px;
}
.contact-modal-side-action{
  width:100%;
  min-height:70px;
  padding:10px 12px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 18px;
  align-items:center;
  gap:11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:11px;
  background:rgba(2,22,46,.50);
  color:#fff;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.contact-modal-side-action:hover{
  transform:translateX(3px);
  border-color:rgba(240,194,117,.55);
  background:rgba(3,31,62,.72);
}
.contact-modal-side-action.is-request{
  background:rgba(255,255,255,.96);
  color:#0a2342;
  border-color:#e8b861;
}
.contact-modal-side-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.20);
}
.contact-modal-side-action.is-request .contact-modal-side-icon{
  color:#fff;
  background:#062c55;
  border-color:#062c55;
}
.contact-modal-side-icon .ui-icon{width:20px;height:20px}
.contact-modal-side-action strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.93rem;
  font-weight:400;
  line-height:1.1;
}
.contact-modal-side-action small{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.68);
  font-size:.62rem;
  line-height:1.3;
}
.contact-modal-side-action.is-request small{color:#708296}
.contact-modal-side-arrow{font-size:1.4rem;opacity:.78}

.contact-modal-main{
  position:relative;
  min-width:0;
  padding:38px clamp(30px,4vw,54px) 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
}
.contact-modal-main>.modal-close{
  position:absolute;
  top:20px;
  right:20px;
  z-index:4;
}
.contact-modal-main .modal-head{
  display:block!important;
  padding:0!important;
  margin:0 0 20px!important;
  border:0!important;
}
.contact-modal-main .modal-head small{
  color:#c28b3b!important;
  letter-spacing:.16em!important;
  font-size:.63rem!important;
}
.contact-modal-main .modal-head h2{
  max-width:650px;
  margin:8px 48px 8px 0!important;
  font-size:clamp(2.3rem,4vw,3.9rem)!important;
  line-height:.96!important;
  color:#071a34;
  text-wrap:balance;
}
.contact-modal-main-lead{
  margin:0;
  max-width:650px;
  color:#65788c;
  font-size:.92rem;
  line-height:1.48;
}
.contact-modal-main #modalContent{
  min-width:0;
}
.contact-modal-shell.request-mode .contact-modal-main{
  justify-content:flex-start;
}
.contact-modal-shell.request-mode .modal-head{
  margin-bottom:16px!important;
}
.contact-modal-shell.request-mode .modal-head h2{
  font-size:clamp(2rem,3.3vw,3.15rem)!important;
}
.contact-modal-shell.request-mode .request-panel{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.contact-modal-shell.request-mode .fields{
  grid-template-columns:1fr 1fr!important;
  gap:12px 14px!important;
}
.contact-modal-shell.request-mode .field-email,
.contact-modal-shell.request-mode .field.full{
  grid-column:1/-1!important;
}
.contact-modal-shell .field label{
  margin-bottom:6px!important;
  color:#17314e!important;
  font-size:.65rem!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.contact-modal-shell .field input,
.contact-modal-shell .field select,
.contact-modal-shell .field textarea{
  min-height:50px;
  border:1px solid #d9e2eb!important;
  border-radius:8px!important;
  background:#fff!important;
  font-size:.84rem;
}
.contact-modal-shell .field textarea{
  min-height:92px!important;
  max-height:110px;
  resize:none!important;
}
.input-shell{
  position:relative;
}
.input-shell>span{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  color:#65788c;
  pointer-events:none;
}
.input-shell>span .ui-icon{width:18px;height:18px}
.input-shell input{padding-left:42px!important}
.modal-privacy-note{
  margin-top:12px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:9px;
  border-radius:8px;
  background:#f2f5f8;
  color:#718194;
  font-size:.66rem;
  line-height:1.35;
}
.modal-privacy-note .ui-icon{width:17px;height:17px;flex:0 0 auto}
.contact-modal-shell .request-foot{
  margin-top:14px!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
}
.contact-modal-shell .request-foot small{display:none!important}
.contact-modal-shell .request-foot .btn{
  min-height:48px;
  padding:0 22px;
  border-radius:8px;
}
.contact-modal-shell .request-back{
  margin-right:auto;
}
.contact-modal-shell.thankyou-mode .contact-modal-main{
  justify-content:center;
}
.contact-modal-shell.thankyou-mode .thankyou-state{
  max-width:520px;
  margin:auto;
}

@media(max-width:980px){
  .contact-modal-shell{
    width:min(820px,calc(100vw - 24px))!important;
    grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)!important;
  }
  .contact-modal-visual-content{padding:30px 22px 22px}
  .contact-modal-visual-title{font-size:2.4rem}
  .contact-modal-visual-text{font-size:.8rem}
  .contact-modal-side-action{min-height:60px;grid-template-columns:36px 1fr 14px;padding:8px}
  .contact-modal-side-icon{width:36px;height:36px}
  .contact-modal-side-action small{display:none}
  .contact-modal-main{padding:30px 24px 22px}
  .contact-modal-main .modal-head h2{font-size:2.55rem!important}
}

@media(max-width:700px){
  .contact-modal{
    padding:0!important;
    place-items:stretch!important;
  }
  .contact-modal-shell{
    width:100vw!important;
    height:100dvh!important;
    border-radius:0!important;
    grid-template-columns:1fr!important;
    grid-template-rows:210px minmax(0,1fr)!important;
    overflow:auto!important;
  }
  .contact-modal-visual{
    min-height:210px;
    background-position:center 44%!important;
  }
  .contact-modal-visual-content{
    padding:20px 18px;
    justify-content:flex-end;
  }
  .contact-modal-visual-title{
    max-width:13ch;
    font-size:2rem;
  }
  .contact-modal-visual-text,
  .contact-modal-side-actions,
  .contact-modal-gold-line{
    display:none!important;
  }
  .contact-modal-main{
    min-height:0;
    padding:24px 18px calc(22px + env(safe-area-inset-bottom));
    justify-content:flex-start;
  }
  .contact-modal-main>.modal-close{
    top:14px;
    right:14px;
    background:rgba(255,255,255,.92)!important;
  }
  .contact-modal-main .modal-head{margin-bottom:14px!important}
  .contact-modal-main .modal-head h2,
  .contact-modal-shell.request-mode .modal-head h2{
    margin-right:38px!important;
    font-size:clamp(1.8rem,8vw,2.35rem)!important;
    line-height:1!important;
  }
  .contact-modal-main-lead{font-size:.78rem}
  .contact-modal-shell.request-mode .fields{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .contact-modal-shell.request-mode .field-email,
  .contact-modal-shell.request-mode .field.full{
    grid-column:auto!important;
  }
  .contact-modal-shell .field textarea{
    min-height:82px!important;
  }
  .contact-modal-shell .request-foot{
    position:sticky;
    bottom:0;
    padding-top:8px;
    background:linear-gradient(180deg,rgba(255,255,255,0),#fff 26%);
  }
}


/* ===== v3.1.9 — Contact modal UX: single clear flow, direct form ===== */
#pca-landing-root .contact-modal{
  padding:clamp(12px,1.8vw,26px)!important;
  background:rgba(4,18,33,.70)!important;
  backdrop-filter:blur(15px)!important;
  -webkit-backdrop-filter:blur(15px)!important;
}
#pca-landing-root .contact-modal-shell{
  width:min(1210px,calc(100vw - 34px))!important;
  height:auto!important;
  max-height:calc(100dvh - 42px)!important;
  display:grid!important;
  grid-template-columns:minmax(350px,.82fr) minmax(0,1.38fr)!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#fff!important;
}
#pca-landing-root .contact-modal-visual{
  min-height:690px!important;
  background-image:var(--contact-office-image)!important;
  background-size:cover!important;
  background-position:50% 50%!important;
}
#pca-landing-root .contact-modal-visual-shade{
  background:
    linear-gradient(180deg,rgba(3,21,43,.25) 0%,rgba(3,21,43,.38) 35%,rgba(2,16,34,.87) 100%),
    linear-gradient(90deg,rgba(1,17,36,.34),rgba(1,17,36,.03) 72%)!important;
}
#pca-landing-root .contact-modal-visual-content{
  padding:38px 32px 28px!important;
  gap:24px!important;
}
#pca-landing-root .contact-modal-visual-copy{max-width:330px}
#pca-landing-root .contact-modal-visual-title{
  max-width:10ch!important;
  font-size:clamp(2.55rem,3.25vw,3.65rem)!important;
  line-height:.98!important;
}
#pca-landing-root .contact-modal-visual-text{
  max-width:31ch!important;
  font-size:.9rem!important;
  line-height:1.52!important;
}
#pca-landing-root .contact-modal-side-actions{gap:9px!important}
#pca-landing-root .contact-modal-side-action{
  min-height:66px!important;
  padding:9px 11px!important;
  grid-template-columns:42px minmax(0,1fr) 16px!important;
}
#pca-landing-root .contact-modal-side-action strong{font-size:.92rem!important}
#pca-landing-root .contact-modal-side-action small{font-size:.62rem!important}

#pca-landing-root .contact-modal-main{
  min-width:0!important;
  padding:34px clamp(30px,3.4vw,50px) 28px!important;
  justify-content:center!important;
  overflow:auto!important;
}
#pca-landing-root .contact-modal-main .modal-head{
  margin:0 0 18px!important;
}
#pca-landing-root .contact-modal-main .modal-head h2,
#pca-landing-root .contact-modal-shell.request-mode .modal-head h2{
  max-width:680px!important;
  margin:7px 48px 7px 0!important;
  font-size:clamp(2.35rem,3.2vw,3.35rem)!important;
  line-height:.98!important;
  letter-spacing:-.018em!important;
}
#pca-landing-root .contact-modal-main-lead{
  max-width:660px!important;
  font-size:.86rem!important;
  line-height:1.45!important;
}
#pca-landing-root .contact-choice-view{display:none!important}
#pca-landing-root .request-panel{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#pca-landing-root .request-panel[hidden]{display:block!important}
#pca-landing-root .request-panel form{position:relative!important}
#pca-landing-root .pca-honeypot{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#pca-landing-root .contact-modal-shell .fields{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:11px 14px!important;
}
#pca-landing-root .contact-modal-shell .field-email,
#pca-landing-root .contact-modal-shell .field.full{grid-column:1/-1!important}
#pca-landing-root .contact-modal-shell .field label{
  margin-bottom:6px!important;
  font-size:.66rem!important;
  font-weight:800!important;
  color:#17314e!important;
}
#pca-landing-root .contact-modal-shell .field input,
#pca-landing-root .contact-modal-shell .field select,
#pca-landing-root .contact-modal-shell .field textarea{
  min-height:47px!important;
  padding:10px 12px!important;
  border:1px solid #d8e2ec!important;
  border-radius:8px!important;
  font-size:.82rem!important;
  line-height:1.25!important;
}
#pca-landing-root .contact-modal-shell .input-shell input{padding-left:42px!important}
#pca-landing-root .contact-modal-shell .field textarea{
  min-height:86px!important;
  max-height:86px!important;
  padding-right:52px!important;
}
#pca-landing-root .field.full{position:relative!important}
#pca-landing-root .message-counter{
  position:absolute;
  right:12px;
  bottom:10px;
  color:#8494a4;
  font-size:.64rem;
}
#pca-landing-root .modal-privacy-note{
  margin-top:11px!important;
  padding:9px 11px!important;
  font-size:.64rem!important;
}
#pca-landing-root .contact-modal-shell .request-foot{
  margin-top:13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  position:static!important;
  padding:0!important;
  background:none!important;
}
#pca-landing-root .contact-modal-shell .request-foot .btn{
  min-height:46px!important;
  padding:0 20px!important;
  border-radius:8px!important;
}
#pca-landing-root .request-call-now{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  text-decoration:none!important;
  margin-right:auto!important;
}
#pca-landing-root .request-call-now .ui-icon{width:18px;height:18px}

@media(max-width:1020px){
  #pca-landing-root .contact-modal-shell{
    width:min(900px,calc(100vw - 22px))!important;
    grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr)!important;
  }
  #pca-landing-root .contact-modal-visual{min-height:640px!important}
  #pca-landing-root .contact-modal-visual-content{padding:28px 22px 22px!important}
  #pca-landing-root .contact-modal-visual-title{font-size:2.35rem!important}
  #pca-landing-root .contact-modal-visual-text{font-size:.78rem!important}
  #pca-landing-root .contact-modal-side-action{min-height:58px!important;grid-template-columns:36px 1fr 14px!important;padding:8px!important}
  #pca-landing-root .contact-modal-side-icon{width:36px!important;height:36px!important}
  #pca-landing-root .contact-modal-side-action small{display:none!important}
  #pca-landing-root .contact-modal-main{padding:28px 22px 22px!important}
  #pca-landing-root .contact-modal-main .modal-head h2,
  #pca-landing-root .contact-modal-shell.request-mode .modal-head h2{font-size:2.45rem!important}
}

@media(max-width:740px){
  #pca-landing-root .contact-modal{padding:0!important;place-items:stretch!important}
  #pca-landing-root .contact-modal-shell{
    width:100vw!important;
    max-height:none!important;
    height:100dvh!important;
    grid-template-columns:1fr!important;
    grid-template-rows:150px minmax(0,1fr)!important;
    border-radius:0!important;
    overflow:auto!important;
  }
  #pca-landing-root .contact-modal-visual{
    min-height:150px!important;
    background-position:center 38%!important;
  }
  #pca-landing-root .contact-modal-visual-content{
    min-height:150px!important;
    padding:16px 18px!important;
    justify-content:flex-end!important;
  }
  #pca-landing-root .contact-modal-visual-eyebrow{margin-bottom:4px!important}
  #pca-landing-root .contact-modal-visual-title{font-size:1.85rem!important;max-width:14ch!important}
  #pca-landing-root .contact-modal-visual-text,
  #pca-landing-root .contact-modal-side-actions,
  #pca-landing-root .contact-modal-gold-line{display:none!important}
  #pca-landing-root .contact-modal-main{
    overflow:visible!important;
    padding:20px 16px calc(20px + env(safe-area-inset-bottom))!important;
    justify-content:flex-start!important;
  }
  #pca-landing-root .contact-modal-main>.modal-close{top:10px!important;right:12px!important}
  #pca-landing-root .contact-modal-main .modal-head{margin-bottom:14px!important}
  #pca-landing-root .contact-modal-main .modal-head h2,
  #pca-landing-root .contact-modal-shell.request-mode .modal-head h2{
    margin-right:34px!important;
    font-size:clamp(1.75rem,8vw,2.2rem)!important;
    line-height:1!important;
  }
  #pca-landing-root .contact-modal-main-lead{font-size:.76rem!important}
  #pca-landing-root .contact-modal-shell .fields{grid-template-columns:1fr!important;gap:9px!important}
  #pca-landing-root .contact-modal-shell .field-email,
  #pca-landing-root .contact-modal-shell .field.full{grid-column:auto!important}
  #pca-landing-root .contact-modal-shell .field input,
  #pca-landing-root .contact-modal-shell .field select{min-height:44px!important}
  #pca-landing-root .contact-modal-shell .field textarea{min-height:78px!important;max-height:78px!important}
  #pca-landing-root .contact-modal-shell .request-foot{
    display:grid!important;
    grid-template-columns:1fr 1.25fr!important;
    gap:8px!important;
  }
  #pca-landing-root .request-call-now{margin-right:0!important}
  #pca-landing-root .contact-modal-shell .request-foot .btn{width:100%!important;padding:0 12px!important}
}

@media(max-width:440px){
  #pca-landing-root .contact-modal-shell{grid-template-rows:128px minmax(0,1fr)!important}
  #pca-landing-root .contact-modal-visual{min-height:128px!important}
  #pca-landing-root .contact-modal-visual-content{min-height:128px!important;padding:12px 14px!important}
  #pca-landing-root .contact-modal-visual-title{font-size:1.55rem!important}
  #pca-landing-root .contact-modal-main{padding:16px 13px calc(16px + env(safe-area-inset-bottom))!important}
  #pca-landing-root .contact-modal-main .modal-head h2,
  #pca-landing-root .contact-modal-shell.request-mode .modal-head h2{font-size:1.72rem!important}
  #pca-landing-root .contact-modal-shell .request-foot{grid-template-columns:1fr!important}
}


/* ===== v3.1.11 — Mobile UX/UI reflow ===== */
@media (max-width: 700px){
  html,body{overflow-x:hidden!important}
  #pca-landing-root{overflow-x:clip!important}

  /* Consistent mobile gutters */
  #pca-landing-root .container,
  #pca-landing-root .team>.container,
  #pca-landing-root footer>.container{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }
  #pca-landing-root section{padding-block:40px!important}
  #pca-landing-root .section-head{gap:10px!important;margin-bottom:24px!important}
  #pca-landing-root .section-head .section-title{
    font-size:clamp(1.95rem,8.4vw,2.35rem)!important;
    line-height:1.02!important;
    letter-spacing:-.022em!important;
    max-width:100%!important;
  }
  #pca-landing-root .section-head .section-copy{
    font-size:.82rem!important;
    line-height:1.5!important;
    max-width:100%!important;
  }
  #pca-landing-root .eyebrow{font-size:.61rem!important;letter-spacing:.16em!important}

  /* Hero: reduce vertical bulk and keep actions touch-friendly */
  #pca-landing-root .hero,
  #pca-landing-root .hero-inner{min-height:auto!important}
  #pca-landing-root .hero-inner{
    display:block!important;
    padding:104px 0 44px!important;
  }
  #pca-landing-root .hero-logo{width:min(190px,58vw)!important;margin-bottom:22px!important}
  #pca-landing-root .hero h1{
    font-size:clamp(2.5rem,11.5vw,3.25rem)!important;
    line-height:.98!important;
    max-width:10.8ch!important;
  }
  #pca-landing-root .hero-copy>p{font-size:.9rem!important;line-height:1.5!important;margin:18px 0!important}
  #pca-landing-root .hero-note{font-size:.66rem!important;line-height:1.45!important}
  #pca-landing-root .hero-actions{gap:8px!important}
  #pca-landing-root .hero-actions .btn{min-height:46px!important}
  #pca-landing-root .hero-rail{margin-top:24px!important;gap:8px!important;grid-template-columns:1fr!important}
  #pca-landing-root .hero-fact{padding:12px 13px!important;grid-template-columns:38px 1fr!important}
  #pca-landing-root .hero-fact-icon{width:36px!important;height:36px!important}
  #pca-landing-root .hero-realestate-card{min-height:auto!important;padding:14px!important}

  /* Practice shortcuts + stats */
  #pca-landing-root .practice-quick{padding-top:36px!important}
  #pca-landing-root .quick-top{margin-bottom:18px!important}
  #pca-landing-root .quick-top h2{font-size:2rem!important;line-height:1.04!important}
  #pca-landing-root .quick-top .text-link{font-size:.78rem!important}
  #pca-landing-root .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  #pca-landing-root .quick-card{min-height:108px!important;padding:12px 8px!important;gap:7px!important;border-radius:12px!important}
  #pca-landing-root .quick-icon{width:43px!important;height:43px!important}
  #pca-landing-root .quick-icon .ui-icon{width:21px!important;height:21px!important}
  #pca-landing-root .quick-card strong{font-size:.82rem!important;line-height:1.18!important;max-width:14ch!important}
  #pca-landing-root .stats-band{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:14px!important;border-radius:12px!important}
  #pca-landing-root .stat{grid-template-columns:36px 1fr!important;gap:9px!important;padding:13px 11px!important;text-align:left!important}
  #pca-landing-root .stat:nth-child(odd)::after{display:block!important;top:16%!important;bottom:16%!important}
  #pca-landing-root .stat:nth-child(even)::after{display:none!important}
  #pca-landing-root .stat-icon{width:34px!important;height:34px!important}
  #pca-landing-root .stat-icon .ui-icon{width:17px!important;height:17px!important}
  #pca-landing-root .stat-copy strong{font-size:1.45rem!important;line-height:1!important}
  #pca-landing-root .stat-copy span{font-size:.67rem!important;line-height:1.25!important;margin-top:4px!important}

  /* Firm section */
  #pca-landing-root .intro{padding-bottom:42px!important}
  #pca-landing-root .intro-grid{width:calc(100% - 32px)!important;border-radius:12px!important}
  #pca-landing-root .office-art.real-office{min-height:230px!important;background-position:center center!important}
  #pca-landing-root .intro-copy{padding:24px 18px 28px!important;gap:18px!important}
  #pca-landing-root .intro-copy h2{font-size:2rem!important;line-height:1.02!important;margin:8px 0 14px!important}
  #pca-landing-root .intro-copy p{font-size:.82rem!important;line-height:1.52!important}
  #pca-landing-root .intro-copy .btn{min-height:44px!important;margin-top:18px!important}
  #pca-landing-root .value-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:18px 0 0!important}
  #pca-landing-root .value-item{font-size:.76rem!important;gap:8px!important;align-items:flex-start!important}
  #pca-landing-root .value-icon{width:36px!important;height:36px!important;flex:0 0 36px!important}

  /* Services accordion */
  #pca-landing-root .details-section{padding-block:42px!important}
  #pca-landing-root .practice-list{gap:8px!important}
  #pca-landing-root .practice-btn{grid-template-columns:32px minmax(0,1fr) 30px!important;gap:8px!important;min-height:68px!important;padding:11px 9px!important}
  #pca-landing-root .practice-num{font-size:.86rem!important;height:30px!important}
  #pca-landing-root .practice-title strong{font-size:.94rem!important;line-height:1.22!important}
  #pca-landing-root .practice-title>span{font-size:.68rem!important;line-height:1.32!important;margin-top:3px!important}
  #pca-landing-root .practice-plus{width:29px!important;height:29px!important;font-size:1rem!important}
  #pca-landing-root .practice-inner{grid-template-columns:1fr!important;padding:0 10px 14px!important;gap:10px!important}
  #pca-landing-root .info-box{padding:14px!important}
  #pca-landing-root .info-box h4{font-size:.7rem!important}
  #pca-landing-root .info-box p{font-size:.78rem!important;line-height:1.5!important}

  /* Process: compact sequential cards */
  #pca-landing-root .process{padding-block:42px!important}
  #pca-landing-root .process-grid{gap:10px!important}
  #pca-landing-root .process-card{min-height:0!important;padding:18px!important;border-radius:12px!important}
  #pca-landing-root .process-no{width:42px!important;height:42px!important;font-size:1.25rem!important;margin-bottom:14px!important}
  #pca-landing-root .process-card h3{font-size:1.3rem!important;margin-bottom:8px!important}
  #pca-landing-root .process-card p{font-size:.79rem!important;line-height:1.48!important}
  #pca-landing-root .process-arrow{width:36px!important;height:36px!important;margin-top:16px!important}

  /* Specialized information */
  #pca-landing-root .knowledge{padding-block:42px!important}
  #pca-landing-root .knowledge-grid{gap:12px!important}
  #pca-landing-root .feature-card{padding:18px 16px!important;border-radius:12px!important}
  #pca-landing-root .feature-card-heading{gap:10px!important;margin-bottom:12px!important;align-items:center!important}
  #pca-landing-root .feature-card-icon{width:42px!important;height:42px!important;flex:0 0 42px!important}
  #pca-landing-root .feature-card h3{font-size:1.45rem!important;line-height:1.08!important}
  #pca-landing-root .feature-card>p,#pca-landing-root .feature-card li{font-size:.78rem!important;line-height:1.48!important}
  #pca-landing-root .feature-card ul{margin:14px 0!important;padding-left:18px!important}
  #pca-landing-root .legal-note{font-size:.7rem!important;line-height:1.4!important}

  /* Team spotlight: image first, copy below — never cover faces */
  #pca-landing-root .team{padding:0 0 54px!important}
  #pca-landing-root .team-spotlight{
    width:100%!important;
    margin:0 0 38px!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    padding-top:56.25%!important;
    border-radius:12px!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    background-color:#02172f!important;
    overflow:hidden!important;
  }
  #pca-landing-root .team-spotlight::before,
  #pca-landing-root .team-spotlight::after,
  #pca-landing-root .team-spotlight-overlay{display:none!important}
  #pca-landing-root .team-spotlight-copy{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    padding:22px 18px 26px!important;
    background:linear-gradient(180deg,#031c39 0%,#02172f 100%)!important;
    justify-content:flex-start!important;
  }
  #pca-landing-root .team-spotlight-copy .eyebrow{margin-bottom:9px!important}
  #pca-landing-root .team-spotlight-copy h3{font-size:2rem!important;line-height:1.02!important;max-width:100%!important;margin-bottom:12px!important}
  #pca-landing-root .team-spotlight-motto{font-size:.82rem!important;line-height:1.5!important;max-width:100%!important}
  #pca-landing-root .team-spotlight-rule{margin:14px 0!important;width:52px!important}
  #pca-landing-root .team-spotlight-copy>p:last-child{font-size:.78rem!important;line-height:1.5!important;max-width:100%!important}

  #pca-landing-root .team-block-title-centered{margin:0 auto 18px!important;padding-inline:4px!important}
  #pca-landing-root .team-block-title-centered h3{font-size:1.95rem!important;line-height:1.05!important;margin:6px 0 8px!important}
  #pca-landing-root .team-block-title-centered p{font-size:.78rem!important;line-height:1.45!important}
  #pca-landing-root .team-grid-professionals,
  #pca-landing-root .team-grid-staff{grid-template-columns:1fr!important;gap:12px!important}
  #pca-landing-root .team-grid-professionals .person-real_estate{grid-column:auto!important;max-width:none!important}

  /* Team cards become horizontal on phones to avoid giant portraits */
  #pca-landing-root .person{
    display:grid!important;
    grid-template-columns:minmax(120px,40%) minmax(0,60%)!important;
    align-items:stretch!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  #pca-landing-root .person-art,
  #pca-landing-root .team-grid-staff .person-art{
    width:100%!important;
    height:190px!important;
    min-height:190px!important;
    aspect-ratio:auto!important;
    align-self:stretch!important;
  }
  #pca-landing-root .person-art img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    padding:0!important;
  }
  #pca-landing-root .person-copy{
    min-width:0!important;
    padding:15px 14px!important;
    justify-content:center!important;
  }
  #pca-landing-root .person-copy h3{font-size:1.2rem!important;line-height:1.08!important}
  #pca-landing-root .person-copy p{font-size:.7rem!important;line-height:1.35!important}
  #pca-landing-root .person-name-line{width:30px!important}
  #pca-landing-root .profile-toggle{font-size:.68rem!important;padding:7px 10px!important;margin-top:6px!important}
  #pca-landing-root .profile-panel{grid-column:1/-1!important;width:100%!important}
  #pca-landing-root .profile-section{padding:12px 0!important}
  #pca-landing-root .profile-section p,#pca-landing-root .profile-section li{font-size:.74rem!important;line-height:1.45!important}
  #pca-landing-root .team-quote{margin:18px auto 36px!important;padding:0 6px!important;font-size:.88rem!important;line-height:1.45!important}

  /* Practical info */
  #pca-landing-root .utility{padding-block:42px!important}
  #pca-landing-root .utility-grid-all{gap:10px!important}
  #pca-landing-root .utility-card{padding:16px!important;border-radius:12px!important}
  #pca-landing-root .utility-card-top{margin-bottom:8px!important}
  #pca-landing-root .utility-icon{width:44px!important;height:44px!important}
  #pca-landing-root .utility-arrow{width:32px!important;height:32px!important}
  #pca-landing-root .utility-card h3{font-size:1.3rem!important;line-height:1.1!important;margin-bottom:8px!important}
  #pca-landing-root .utility-card p,#pca-landing-root .utility-card li{font-size:.76rem!important;line-height:1.45!important}

  /* Contact section */
  #pca-landing-root .contact{padding-block:42px!important}
  #pca-landing-root .contact-layout{gap:10px!important}
  #pca-landing-root .contact-intro-card,#pca-landing-root .contact-card{padding:18px!important;border-radius:12px!important}
  #pca-landing-root .contact-intro-card h2{font-size:1.9rem!important;line-height:1.02!important}
  #pca-landing-root .contact-intro-card p{font-size:.78rem!important;line-height:1.48!important}
  #pca-landing-root .contact-primary-actions{gap:8px!important}
  #pca-landing-root .contact-primary-actions .btn{min-height:44px!important}
  #pca-landing-root .contact-card-grid{gap:14px!important}
  #pca-landing-root .contact-list{gap:4px!important}
  #pca-landing-root .contact-row{grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important;padding:8px 0!important}
  #pca-landing-root .contact-icon{width:32px!important;height:32px!important}
  #pca-landing-root .contact-row strong{font-size:.75rem!important}
  #pca-landing-root .contact-row small{font-size:.68rem!important;line-height:1.35!important}
  #pca-landing-root .map-embed iframe{min-height:190px!important}
  #pca-landing-root .map-embed>a{font-size:.7rem!important;padding:9px 4px!important}

  /* Footer: same information, less vertical travel */
  #pca-landing-root footer{padding:36px 0 22px!important}
  #pca-landing-root .footer-top{gap:0!important}
  #pca-landing-root .footer-top>div{padding:18px 0!important}
  #pca-landing-root .footer-logo{width:min(210px,70vw)!important;max-height:100px!important}
  #pca-landing-root .footer-brand p{font-size:.74rem!important;line-height:1.5!important;margin-top:12px!important}
  #pca-landing-root .footer-col h4{font-size:.66rem!important;margin-bottom:10px!important}
  #pca-landing-root .footer-nav-col a{font-size:.78rem!important;padding:8px 0!important}
  #pca-landing-root .footer-contact-col>a,#pca-landing-root .footer-address{grid-template-columns:34px 1fr!important;gap:9px!important;font-size:.74rem!important;margin-bottom:8px!important}
  #pca-landing-root .footer-contact-icon{width:32px!important;height:32px!important}
  #pca-landing-root .footer-bottom{margin-top:18px!important;padding-top:16px!important;font-size:.64rem!important;line-height:1.45!important}
  #pca-landing-root footer .marketwins-credit{font-size:.64rem!important;margin-top:12px!important}

  /* Floating controls: respect safe areas and content */
  #pca-landing-root .floating-contact-button{right:14px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important}
}

@media (max-width: 390px){
  #pca-landing-root .container,
  #pca-landing-root .team>.container,
  #pca-landing-root footer>.container{width:calc(100% - 24px)!important}
  #pca-landing-root .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #pca-landing-root .stats-band{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #pca-landing-root .intro-grid{width:calc(100% - 24px)!important}
  #pca-landing-root .person{grid-template-columns:42% 58%!important}
  #pca-landing-root .person-art,#pca-landing-root .team-grid-staff .person-art{height:175px!important;min-height:175px!important}
  #pca-landing-root .person-copy{padding:12px 10px!important}
  #pca-landing-root .person-copy h3{font-size:1.08rem!important}
  #pca-landing-root .profile-toggle{padding:6px 8px!important;font-size:.64rem!important}
}


/* ===== v3.1.12 — mobile contact fit + reliable profile accordions ===== */
/* Profile accordions: remove measured-height race conditions and keep controls touchable. */
#pca-landing-root .person{position:relative!important;isolation:isolate}
#pca-landing-root .person-art{position:relative!important;z-index:1!important;pointer-events:none!important}
#pca-landing-root .person-copy{position:relative!important;z-index:3!important}
#pca-landing-root .profile-toggle{
  position:relative!important;
  z-index:8!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer!important;
}
#pca-landing-root .profile-toggle *{pointer-events:none!important}
#pca-landing-root .profile-panel{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  overflow:hidden!important;
  max-height:0!important;
  opacity:0!important;
  transform:translateY(-8px)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  pointer-events:none!important;
  transition:max-height .46s cubic-bezier(.22,1,.36,1),opacity .24s ease,transform .32s ease,padding .3s ease!important;
}
#pca-landing-root .profile-panel.is-open{
  max-height:2200px!important;
  opacity:1!important;
  transform:translateY(0)!important;
  padding-top:10px!important;
  padding-bottom:22px!important;
  pointer-events:auto!important;
}

/* Mobile modal: keep the entire request flow visible in one viewport on common phones. */
@media(max-width:740px){
  #pca-landing-root .contact-modal{
    overflow:hidden!important;
  }
  #pca-landing-root .contact-modal-shell{
    height:100dvh!important;
    max-height:100dvh!important;
    grid-template-rows:76px minmax(0,1fr)!important;
    overflow:hidden!important;
  }
  #pca-landing-root .contact-modal-visual,
  #pca-landing-root .contact-modal-visual-content{
    min-height:76px!important;
    height:76px!important;
  }
  #pca-landing-root .contact-modal-visual{
    background-position:center 42%!important;
  }
  #pca-landing-root .contact-modal-visual-content{
    padding:9px 14px!important;
    justify-content:center!important;
  }
  #pca-landing-root .contact-modal-visual-copy{max-width:100%!important}
  #pca-landing-root .contact-modal-visual-eyebrow{
    font-size:.52rem!important;
    margin:0 0 2px!important;
    letter-spacing:.16em!important;
  }
  #pca-landing-root .contact-modal-visual-title{
    font-size:1.22rem!important;
    line-height:1!important;
    max-width:none!important;
    margin:0!important;
  }
  #pca-landing-root .contact-modal-main{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
  }
  #pca-landing-root .contact-modal-main>.modal-close{
    top:7px!important;
    right:9px!important;
    width:32px!important;
    height:32px!important;
  }
  #pca-landing-root .contact-modal-main .modal-head{
    margin:0 0 6px!important;
    flex:0 0 auto!important;
  }
  #pca-landing-root .contact-modal-main .modal-head small{
    font-size:.52rem!important;
    letter-spacing:.13em!important;
  }
  #pca-landing-root .contact-modal-main .modal-head h2,
  #pca-landing-root .contact-modal-shell.request-mode .modal-head h2{
    margin:2px 36px 3px 0!important;
    font-size:clamp(1.28rem,6.4vw,1.62rem)!important;
    line-height:.98!important;
    max-width:92%!important;
  }
  #pca-landing-root .contact-modal-main-lead{
    margin:0!important;
    font-size:.63rem!important;
    line-height:1.25!important;
  }
  #pca-landing-root .contact-modal-main #modalContent,
  #pca-landing-root .request-panel,
  #pca-landing-root .request-panel form{
    min-height:0!important;
    flex:1 1 auto!important;
  }
  #pca-landing-root .request-panel form{
    display:flex!important;
    flex-direction:column!important;
  }
  #pca-landing-root .contact-modal-shell .fields{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:5px 7px!important;
    flex:0 0 auto!important;
  }
  #pca-landing-root .contact-modal-shell .field-email,
  #pca-landing-root .contact-modal-shell .field.full{
    grid-column:1/-1!important;
  }
  #pca-landing-root .contact-modal-shell .field label{
    margin-bottom:2px!important;
    font-size:.55rem!important;
    line-height:1.05!important;
  }
  #pca-landing-root .contact-modal-shell .field input,
  #pca-landing-root .contact-modal-shell .field select{
    min-height:36px!important;
    height:36px!important;
    padding:6px 8px!important;
    font-size:.7rem!important;
    border-radius:7px!important;
  }
  #pca-landing-root .contact-modal-shell .input-shell input{padding-left:34px!important}
  #pca-landing-root .contact-modal-shell .input-shell .ui-icon,
  #pca-landing-root .contact-modal-shell .input-shell>span{
    width:15px!important;
    height:15px!important;
  }
  #pca-landing-root .contact-modal-shell .field textarea{
    min-height:52px!important;
    height:52px!important;
    max-height:52px!important;
    padding:7px 36px 7px 8px!important;
    font-size:.68rem!important;
    border-radius:7px!important;
  }
  #pca-landing-root .message-counter{
    right:8px!important;
    bottom:6px!important;
    font-size:.52rem!important;
  }
  #pca-landing-root .modal-privacy-note{
    margin-top:5px!important;
    padding:5px 7px!important;
    min-height:0!important;
    font-size:.53rem!important;
    line-height:1.18!important;
    border-radius:7px!important;
  }
  #pca-landing-root .modal-privacy-note .ui-icon{width:13px!important;height:13px!important}
  #pca-landing-root .contact-modal-shell .request-foot{
    margin-top:auto!important;
    padding-top:6px!important;
    display:grid!important;
    grid-template-columns:.8fr 1.2fr!important;
    gap:7px!important;
    flex:0 0 auto!important;
  }
  #pca-landing-root .contact-modal-shell .request-foot .btn,
  #pca-landing-root .request-call-now{
    min-height:38px!important;
    height:38px!important;
    padding:0 8px!important;
    font-size:.66rem!important;
    border-radius:7px!important;
  }
}

@media(max-width:365px){
  #pca-landing-root .contact-modal-shell{grid-template-rows:64px minmax(0,1fr)!important}
  #pca-landing-root .contact-modal-visual,
  #pca-landing-root .contact-modal-visual-content{min-height:64px!important;height:64px!important}
  #pca-landing-root .contact-modal-visual-eyebrow{display:none!important}
  #pca-landing-root .contact-modal-visual-title{font-size:1.08rem!important}
  #pca-landing-root .contact-modal-main{padding:8px 9px calc(8px + env(safe-area-inset-bottom))!important}
  #pca-landing-root .contact-modal-main .modal-head h2,
  #pca-landing-root .contact-modal-shell.request-mode .modal-head h2{font-size:1.18rem!important}
  #pca-landing-root .contact-modal-main-lead{font-size:.58rem!important}
  #pca-landing-root .contact-modal-shell .fields{gap:4px 6px!important}
  #pca-landing-root .contact-modal-shell .field input,
  #pca-landing-root .contact-modal-shell .field select{height:34px!important;min-height:34px!important;font-size:.64rem!important}
  #pca-landing-root .contact-modal-shell .field textarea{height:46px!important;min-height:46px!important;max-height:46px!important}
  #pca-landing-root .modal-privacy-note{font-size:.49rem!important}
  #pca-landing-root .contact-modal-shell .request-foot .btn,
  #pca-landing-root .request-call-now{height:36px!important;min-height:36px!important;font-size:.61rem!important}
}


/* ===== v3.1.13 — definitive mobile profile accordion hit-testing fix ===== */
/* Closed panels leave the layout and hit-testing tree entirely. */
#pca-landing-root .profile-panel[hidden],
#pca-landing-root .profile-panel[aria-hidden="true"]{
  display:none!important;
  max-height:none!important;
  opacity:0!important;
  transform:none!important;
  padding:0!important;
  margin:0!important;
  pointer-events:none!important;
}
#pca-landing-root .profile-panel.is-open[aria-hidden="false"]{
  display:block!important;
  max-height:none!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
  animation:pcaProfileReveal .28s cubic-bezier(.22,1,.36,1) both;
}
@keyframes pcaProfileReveal{
  from{opacity:0;transform:translateY(-7px)}
  to{opacity:1;transform:translateY(0)}
}

/* Each control owns its real touch area. No sibling/panel can sit above it. */
#pca-landing-root .team-grid-professionals .person{
  overflow:hidden!important;
}
#pca-landing-root .team-grid-professionals .person-copy{
  pointer-events:auto!important;
}
#pca-landing-root .team-grid-professionals .profile-toggle{
  min-width:118px!important;
  min-height:44px!important;
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

/* Android Chrome: transforms/filters on the whole card can create stale hit-test layers. */
@media(max-width:740px), (hover:none) and (pointer:coarse){
  #pca-landing-root .team-grid-professionals .person.scroll-reveal,
  #pca-landing-root .team-grid-professionals .person.scroll-reveal.is-visible{
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
    opacity:1!important;
  }
  #pca-landing-root .team-grid-professionals .person{
    transform:none!important;
    filter:none!important;
  }
  #pca-landing-root .team-grid-professionals .person-copy{
    z-index:10!important;
  }
  #pca-landing-root .team-grid-professionals .profile-toggle{
    min-height:46px!important;
    padding:8px 12px!important;
  }
}


/* ===== v3.6.2 — new-server compatibility for WordPress/theme styles =====
   Only the landing controls below are isolated; the site design is unchanged.
   Prevent foreign theme hover rules from painting fuchsia backgrounds.
*/
#pca-landing-root,
#pca-landing-root *{box-sizing:border-box}
#pca-landing-root{overflow-x:clip}

/* Keep the floating menu at the actual viewport right, even if the active
   theme ships rules for .site-header or .header-shell. */
#pca-landing-root .site-header{
  position:fixed!important;
  left:auto!important;
  right:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:12px 20px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  transform:none!important;
}
#pca-landing-root .site-header .header-shell{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#pca-landing-root .site-header .header-actions{
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-end!important;
  align-items:center!important;
  width:auto!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
#pca-landing-root .site-header .language-control{position:relative!important;min-width:0!important}
#pca-landing-root .site-header .language-button,
#pca-landing-root .site-header .header-contact,
#pca-landing-root .site-header .menu-toggle{
  background:transparent!important;
  background-image:none!important;
  color:var(--nav-fg,#fff)!important;
  border:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
  text-transform:none!important;
  filter:none!important;
}
#pca-landing-root .site-header .language-button:hover,
#pca-landing-root .site-header .language-button:focus-visible,
#pca-landing-root .site-header .header-contact:hover,
#pca-landing-root .site-header .header-contact:focus-visible,
#pca-landing-root .site-header .menu-toggle:hover,
#pca-landing-root .site-header .menu-toggle:focus-visible{
  background:transparent!important;
  background-image:none!important;
  color:var(--nav-fg,#fff)!important;
  box-shadow:none!important;
}
#pca-landing-root .site-header .language-menu{
  position:absolute!important;
  left:auto!important;
  right:0!important;
  top:calc(100% + 8px)!important;
  width:210px!important;
  max-width:calc(100vw - 22px)!important;
  padding:8px!important;
  background:#f8fbfd!important;
  border:1px solid #d7e5f1!important;
  border-radius:10px!important;
  box-shadow:0 18px 36px rgba(1,31,64,.18)!important;
  color:#052f58!important;
}
#pca-landing-root .site-header .language-menu button,
#pca-landing-root .side-drawer .language-grid button{
  background:transparent!important;
  background-image:none!important;
  color:#052f58!important;
  border:0!important;
  box-shadow:none!important;
  text-transform:none!important;
}
#pca-landing-root .site-header .language-menu button:hover,
#pca-landing-root .site-header .language-menu button:focus-visible,
#pca-landing-root .site-header .language-menu button.active,
#pca-landing-root .side-drawer .language-grid button:hover,
#pca-landing-root .side-drawer .language-grid button:focus-visible{
  background:#e8f2fb!important;
  color:#064d94!important;
  border-color:transparent!important;
}
#pca-landing-root .side-drawer .language-grid button.active{
  background:#0160B3!important;
  color:#fff!important;
}

/* Practice accordion: the WordPress theme must not style buttons as pink CTA's. */
#pca-landing-root .practice-item,
#pca-landing-root .practice-item:hover,
#pca-landing-root .practice-item:focus-within{
  background:#fff!important;
  background-image:none!important;
  color:#0b1c34!important;
}
#pca-landing-root .practice-item .practice-btn,
#pca-landing-root .practice-item .practice-btn:hover,
#pca-landing-root .practice-item .practice-btn:focus,
#pca-landing-root .practice-item .practice-btn:active{
  display:grid!important;
  width:100%!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:#0b1c34!important;
  text-align:left!important;
  text-transform:none!important;
  text-decoration:none!important;
  white-space:normal!important;
}
#pca-landing-root .practice-btn .practice-title{min-width:0!important;max-width:100%!important;white-space:normal!important}
#pca-landing-root .practice-btn .practice-title strong,
#pca-landing-root .practice-btn .practice-title>span{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  white-space:normal!important;
  text-overflow:clip!important;
  max-width:100%!important;
}
#pca-landing-root .practice-item .practice-num{color:#0160B3!important}
#pca-landing-root .practice-item .practice-plus{color:#0160B3!important;background:#edf5fd!important}
#pca-landing-root .practice-item.open .practice-plus{background:#0160B3!important;color:#fff!important}

/* The contact flyout is a compact self-contained grid, not a themed button list. */
#pca-landing-root .floating-contact{
  position:fixed!important;
  right:max(14px,env(safe-area-inset-right))!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
  left:auto!important;
  width:auto!important;
  max-width:calc(100vw - 28px)!important;
  margin:0!important;
}
#pca-landing-root .floating-contact .floating-contact-button,
#pca-landing-root .floating-contact .floating-contact-button:hover,
#pca-landing-root .floating-contact .floating-contact-button:focus,
#pca-landing-root .floating-contact .floating-contact-button:active{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#0160B3!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:0 14px 36px rgba(1,96,179,.3)!important;
}
#pca-landing-root .floating-contact .floating-contact-panel{
  width:min(330px,calc(100vw - 28px))!important;
  min-width:0!important;
  max-width:calc(100vw - 28px)!important;
  background:#fafcfe!important;
  padding:12px!important;
  overflow:hidden!important;
}
#pca-landing-root .floating-contact .floating-contact-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  min-width:0!important;
  gap:6px!important;
}
#pca-landing-root .floating-contact .floating-action,
#pca-landing-root .floating-contact .floating-action:hover,
#pca-landing-root .floating-contact .floating-action:focus-visible{
  display:grid!important;
  grid-template-columns:35px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  margin:0!important;
  padding:10px 11px!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  background-image:none!important;
  color:#071a33!important;
  box-shadow:0 6px 18px rgba(3,48,85,.045)!important;
  text-align:left!important;
  text-transform:none!important;
  text-decoration:none!important;
}
#pca-landing-root .floating-contact .floating-action div{min-width:0!important}
#pca-landing-root .floating-contact .floating-action div strong,
#pca-landing-root .floating-contact .floating-action div small{overflow-wrap:anywhere!important;white-space:normal!important;color:#071a33!important}
#pca-landing-root .floating-contact .floating-action div small{color:#738493!important}
#pca-landing-root .floating-contact .floating-action-request,
#pca-landing-root .floating-contact .floating-action-request:hover,
#pca-landing-root .floating-contact .floating-action-request:focus-visible{
  background:#0160B3!important;
  color:#fff!important;
}
#pca-landing-root .floating-contact .floating-action-request div strong{color:#fff!important}
#pca-landing-root .floating-contact .floating-action-request div small{color:rgba(255,255,255,.86)!important}
#pca-landing-root .floating-contact .floating-action-whatsapp>span{color:#25D366!important}
@media(max-width:700px){
  #pca-landing-root .site-header{padding:9px 13px!important}
  #pca-landing-root .floating-contact .floating-contact-button{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important}
  #pca-landing-root .floating-contact .floating-contact-panel{width:min(310px,calc(100vw - 28px))!important}
}

/* Keep the open-menu close icon dark against the light side drawer. */
body.menu-open #pca-landing-root .site-header .menu-toggle,
body.menu-open #pca-landing-root .site-header .menu-toggle:hover{
  color:#052f58!important;
  background:transparent!important;
}
body.menu-open #pca-landing-root .site-header .menu-toggle span{
  background:#052f58!important;
}

/* Theme-safe hover states for the remaining main actions. */
#pca-landing-root .btn.btn-dark:hover,
#pca-landing-root .btn.btn-dark:focus-visible{
  background:linear-gradient(135deg,#082b57,#005fb5)!important;
  color:#fff!important;
}
#pca-landing-root .btn.btn-glass:hover,
#pca-landing-root .btn.btn-glass:focus-visible{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
#pca-landing-root .profile-toggle:hover,
#pca-landing-root .profile-toggle:focus-visible{
  background:rgba(91,187,229,.14)!important;
  color:#eaf7ff!important;
  border-color:rgba(91,187,229,.75)!important;
}
#pca-landing-root .floating-contact .floating-action-request > span{
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
}


/* v3.6.3 — foreground contrast of the floating navigation. Only these
   controls change shade; the language dropdown retains its fixed colors. */
#pca-landing-root .site-header.nav-on-dark{
  --nav-fg:#ffffff!important;
  color:#ffffff!important;
  text-shadow:0 2px 15px rgba(0,0,0,.36)!important;
}
#pca-landing-root .site-header.nav-on-light{
  --nav-fg:#041b38!important;
  color:#041b38!important;
  text-shadow:none!important;
}
#pca-landing-root .site-header.nav-on-light .language-button,
#pca-landing-root .site-header.nav-on-light .header-contact,
#pca-landing-root .site-header.nav-on-light .current-language,
#pca-landing-root .site-header.nav-on-light .menu-toggle,
#pca-landing-root .site-header.nav-on-dark .language-button,
#pca-landing-root .site-header.nav-on-dark .header-contact,
#pca-landing-root .site-header.nav-on-dark .current-language,
#pca-landing-root .site-header.nav-on-dark .menu-toggle{
  color:var(--nav-fg)!important;
}
#pca-landing-root .site-header.nav-on-light .menu-toggle span,
#pca-landing-root .site-header.nav-on-dark .menu-toggle span{
  background:var(--nav-fg)!important;
  transition:background-color .18s ease!important;
}
/* When the drawer is open the close glyph sits over its light backdrop. */
body.menu-open #pca-landing-root .site-header .menu-toggle span{
  background:#041b38!important;
}


/* v3.6.4 — forced contrast on the fixed menu, overriding external theme CSS. */
#pca-landing-root .site-header.nav-on-light{
  --nav-fg:#041b38!important;
  color:#041b38!important;
  text-shadow:none!important;
}
#pca-landing-root .site-header.nav-on-dark{
  --nav-fg:#fff!important;
  color:#fff!important;
}
#pca-landing-root .site-header.nav-on-light .header-actions :is(.language-button,.language-button span,.header-contact,.menu-toggle),
#pca-landing-root .site-header.nav-on-light .header-actions :is(.language-button,.header-contact,.menu-toggle):is(:hover,:focus-visible){
  color:#041b38!important;
}
#pca-landing-root .site-header.nav-on-dark .header-actions :is(.language-button,.language-button span,.header-contact,.menu-toggle),
#pca-landing-root .site-header.nav-on-dark .header-actions :is(.language-button,.header-contact,.menu-toggle):is(:hover,:focus-visible){
  color:#fff!important;
}
#pca-landing-root .site-header.nav-on-light .menu-toggle span{background-color:#041b38!important}
#pca-landing-root .site-header.nav-on-dark .menu-toggle span{background-color:#fff!important}
#pca-landing-root .site-header .header-actions :is(.language-button,.language-button span,.header-contact,.menu-toggle),
#pca-landing-root .site-header .menu-toggle span{
  transition:color .2s ease,background-color .2s ease!important;
}
