@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#1b2250;--blue:#414bbb;--paper:#f9f9f7;--line:#d9dce3;--muted:#5e6273;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8e8fea;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{line-height:1.08;letter-spacing:-.045em}em{font-family:var(--serif);font-weight:400}p{color:var(--muted)}header{padding:27px 4.7%;display:flex;justify-content:space-between;align-items:center;background:var(--paper);border-bottom:1px solid var(--line);gap:30px}.brand{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:31px;letter-spacing:-1.4px;line-height:1.05;display:inline-block}.brand span{font-family:var(--sans);font-size:11px;letter-spacing:4px;display:block;margin-top:9px}nav{display:flex;align-items:center;gap:29px;font-size:14px}nav>a{position:relative}nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--ink);transition:width .2s}nav>a:hover:after{width:100%}.nav-cta{padding:13px 20px;border:1px solid var(--ink)}.nav-cta span{margin-left:18px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:53% 47%;padding:0 4.7%;background:#eceef4}.hero-copy{padding:64px 25px 59px 0}.eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:2px;line-height:1.5;text-transform:uppercase}.hero h1{font-size:clamp(58px,6.8vw,110px);margin:29px 0 29px;line-height:1.015;letter-spacing:-.06em}.hero h1 em{color:var(--blue);letter-spacing:-.065em}.hero-copy p{font-size:17px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 23px;background:var(--ink);color:white;font-size:14px;margin-top:30px;transition:background .2s,transform .2s}.button:hover{background:var(--blue);transform:translateY(-2px)}.button span{font-size:20px}.hero-image{position:relative;margin:29px 0 29px 16px;overflow:hidden;min-height:520px}.hero-image img{filter:grayscale(75%);object-position:52% center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,24,60,.8),rgba(25,34,65,.05) 70%);pointer-events:none}.image-note{position:absolute;bottom:28px;left:29px;z-index:1;color:white;display:flex;flex-direction:column;gap:4px;font-size:11px;letter-spacing:1.6px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:21px 0;border-top:1px solid #ccd0df;font-size:12px;letter-spacing:1.6px;text-transform:uppercase}.hero-bottom span:before{content:'—';margin-right:14px;color:var(--blue)}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:26% 74%;padding-top:108px;padding-bottom:112px}.intro h2{font-size:clamp(36px,4.2vw,62px)}.intro h2 em{color:#6c708a}.intro-copy{display:grid;grid-template-columns:1fr 1.25fr;gap:45px;margin:33px 0 30px;max-width:850px}.intro-copy p{font-size:16px}.text-link{display:inline-flex;gap:26px;font-size:14px;border-bottom:1px solid currentColor;padding:0 0 8px;transition:color .2s}.text-link:hover{color:var(--blue)}.expertise{background:#eff0f5;padding-top:78px;padding-bottom:80px}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:42px}.section-head h2{font-size:clamp(40px,4.5vw,64px);margin-top:20px}.section-head>p{font-size:15px;max-width:280px;padding-bottom:8px}.practice-row{display:grid;grid-template-columns:55px 1.05fr 1fr 45px;align-items:center;gap:22px;border-top:1px solid #c9cdda;padding:28px 0;transition:color .2s,background .2s}.practice-row:last-child{border-bottom:1px solid #c9cdda}.practice-row:hover{color:var(--blue);background:#e6e8f0}.index{font-size:13px;color:#72798f}.practice-row h3{font-size:30px;letter-spacing:-1px}.row-description{color:var(--muted);font-size:14px;max-width:320px}.round-arrow{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #bcc0d0;border-radius:50%;font-size:21px}.approach{display:grid;grid-template-columns:1fr 1fr;min-height:550px}.approach-photo{overflow:hidden}.approach-photo img{filter:saturate(.65)}.approach-copy{padding:80px 12% 80px 11%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.approach-copy h2{font-size:clamp(34px,3.3vw,49px);margin:23px 0}.approach-copy p{margin-bottom:28px}.community{text-align:center;border-bottom:1px solid var(--line);padding-top:85px;padding-bottom:85px}.community h2{font-size:clamp(36px,4vw,57px);margin:24px 0}.community p{max-width:530px;margin:0 auto 25px}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1.15fr 1fr;gap:60px}.contact h2{font-size:clamp(46px,4.8vw,72px);margin-top:23px}.light{background:#fafaf7;color:var(--ink)}.light:hover{background:#dfe1f2;color:var(--ink)}.contact-details{padding-top:0;display:grid;gap:35px}.contact-details .eyebrow{color:#aeb5d5;margin-bottom:15px}.contact-details a:not(.text-link){display:block;font-size:25px;line-height:1.8}.contact-details p{color:#cdd1e0}.contact-details small{font-size:15px}.contact-details .text-link{margin-top:10px}footer{background:#fff;color:var(--ink);padding:55px 7% 28px}.foot-top{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:40px}.foot-top p{color:var(--muted);line-height:1.5}.foot-top>a:last-child{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:8px}.foot-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;gap:30px;font-size:12px;color:var(--muted)}.foot-bottom span{margin-right:auto}.disclaimer{font-size:12px;color:var(--muted);line-height:1.7;max-width:1120px;margin-top:23px}.skip{position:fixed;left:20px;top:-100px;background:white;padding:10px;z-index:99}.skip:focus{top:10px}.sub-hero{background:#e9ecf4;padding-top:80px;padding-bottom:75px}.sub-hero h1{font-size:clamp(50px,6.8vw,92px);margin:23px 0;max-width:1050px}.sub-hero h1 em{color:var(--blue)}.sub-hero h1>span{color:var(--blue)}.sub-hero>p{font-size:21px;max-width:700px}.breadcrumb{font-size:13px;text-transform:uppercase;letter-spacing:1.5px}.service-content{display:grid;grid-template-columns:27% 73%;gap:20px}.service-content h2{font-size:38px;max-width:850px;line-height:1.25}.service-content p{margin-top:24px;max-width:730px}.service-content .text-link{margin-top:25px}.service-items{list-style:none;padding:0;margin:35px 0}.service-items li{border-top:1px solid var(--line);padding:18px 0;font-size:20px}.service-items li:before{content:'—';color:var(--blue);margin-right:20px}.cta{background:var(--ink);color:white;text-align:center;padding:75px 6%}.cta h2{font-size:clamp(36px,4.8vw,64px);margin-top:22px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 35px}.person>img{height:auto;aspect-ratio:1/1;object-position:top;background:#e4e7ed;filter:saturate(.55)}.person-body{padding-top:25px}.person .eyebrow{letter-spacing:1px;font-size:11px;min-height:20px}.person h2{font-size:30px;margin:10px 0 15px}.person-body>a{display:block;font-size:14px}.person details{margin-top:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:13px 0;font-size:14px;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}.bio{padding:5px 0 15px}.bio p{font-size:15px;margin-bottom:15px}.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.community-grid h2{font-size:32px;margin:20px 0}.community-grid article{border-top:1px solid var(--line);padding-top:20px}
@media(min-width:1600px){body{max-width:1920px;margin:auto}.hero-copy{padding-top:90px;padding-bottom:90px}}@media(max-width:1100px){nav{gap:18px}header{gap:20px}.brand{font-size:27px}.nav-cta{padding:11px 13px}nav>a{font-size:13px}.hero h1{font-size:76px}.hero-image{min-height:500px}.section{padding-left:6%;padding-right:6%}.practice-row h3{font-size:26px}.approach-copy{padding:55px 10%}.people-grid{gap:40px 25px}.person h2{font-size:25px}}@media(max-width:850px){header{padding:23px 6%;position:relative;flex-wrap:wrap}.menu-toggle{display:flex;gap:15px;align-items:center;border:0;background:none;color:var(--ink);cursor:pointer;font-size:14px;padding:8px 0}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:20px}nav.open{display:flex}nav a{font-size:16px;padding:8px 0}.nav-cta{padding:14px!important;text-align:center}.hero{grid-template-columns:55% 45%;padding:0 6%}.hero-copy{padding-top:45px}.hero h1{font-size:62px}.hero .eyebrow{font-size:10px}.hero-image{margin-left:0;min-height:440px}.hero-copy p{font-size:15px;padding-right:10px}.hero-copy .button{gap:16px;padding:14px 16px}.image-note{left:18px;font-size:9px}.hero-bottom{gap:20px;font-size:10px}.intro{grid-template-columns:1fr;gap:25px}.intro-copy{gap:30px}.section{padding-top:70px;padding-bottom:70px}.practice-row{grid-template-columns:30px 1fr 35px;gap:15px}.row-description{display:none}.round-arrow{width:35px;height:35px}.section-head>p{max-width:200px}.approach{grid-template-columns:1fr 1fr}.approach-copy{padding:45px 9%}.approach-copy h2{font-size:34px}.contact{gap:35px}.contact-details a:not(.text-link){font-size:21px}.people-grid{grid-template-columns:repeat(2,1fr)}.service-content{grid-template-columns:1fr;gap:30px}.community-grid{grid-template-columns:1fr;gap:35px}.community-grid p{max-width:700px}}@media(max-width:580px){.hero{display:flex;flex-direction:column}.hero-copy{padding:43px 0 34px}.hero h1{font-size:64px;margin-top:22px}.hero-copy p{font-size:16px}.hero-copy p br{display:none}.hero-image{height:285px;min-height:0;margin:0 0 20px}.hero-image img{object-position:center 58%}.hero-bottom{display:none}.image-note{bottom:18px;font-size:10px}.hero .eyebrow{font-size:11px}.section{padding:58px 6%}.intro h2{font-size:39px}.intro-copy{grid-template-columns:1fr;gap:18px;margin-top:26px}.section-head{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.section-head>p{max-width:100%}.section-head>p br{display:none}.section-head h2{font-size:43px}.practice-row{padding:23px 0;grid-template-columns:22px 1fr 35px;gap:12px}.practice-row h3{font-size:24px}.approach{grid-template-columns:1fr}.approach-photo{height:300px}.approach-copy{padding:50px 6%}.approach-copy h2{font-size:38px}.community h2{font-size:39px}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:52px}.contact-details a:not(.text-link){font-size:23px}.foot-top{align-items:flex-start;flex-direction:column;gap:25px}.foot-bottom{flex-wrap:wrap;gap:12px 23px}.foot-bottom span{width:100%}.sub-hero h1{font-size:49px}.sub-hero>p{font-size:18px}.service-content h2{font-size:30px}.service-items li{font-size:18px}.people-grid{grid-template-columns:1fr;gap:40px}.person h2{font-size:31px}.person .eyebrow{font-size:12px}.person-body>a{font-size:16px}.cta{padding:60px 6%}.cta h2{font-size:40px}.cta .button{gap:20px}footer{padding-left:6%;padding-right:6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Original supplied identity, displayed without altering the artwork. */
:root{--blue:#006e96;--brand-cyan:#00ade2;--ink:#192666}
header{padding-top:14px;padding-bottom:14px}
.brand-logo{width:278px;flex:0 0 278px;line-height:0}
.brand-logo .logo-window{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:800/290;margin:0;padding:0;letter-spacing:normal}
.logo-window img{position:absolute;width:135.375%;height:auto;max-width:none;left:-15.5%;top:-61.379%;object-fit:contain}
footer .brand-logo{width:278px;max-width:100%;flex:0 0 auto}
.owl-mascot{display:block;position:relative;overflow:hidden;width:85px;aspect-ratio:144/205;margin:0 auto 24px}
.owl-mascot img{position:absolute;width:752.0833%;height:auto;max-width:none;left:-322.9167%;top:-88.2927%;object-fit:contain}
.contact .owl-mascot{margin:0 0 24px;width:72px}
.cta .owl-mascot{width:78px}
.contact .eyebrow,.cta>.eyebrow{color:#a9e3f3}
.hero h1 em{color:#17698d}
@media(max-width:1180px){header{flex-wrap:wrap;padding-top:15px;padding-bottom:15px}.menu-toggle{display:flex;gap:15px;align-items:center;border:0;background:none;color:var(--ink);cursor:pointer;font-size:14px;padding:8px 0}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:20px}nav.open{display:flex}nav a{font-size:16px;padding:8px 0}.nav-cta{padding:14px!important;text-align:center}}
@media(max-width:580px){.brand-logo{width:226px;flex-basis:226px}header{gap:12px}.menu-toggle{gap:7px;font-size:13px}.owl-mascot{width:68px}footer .brand-logo{width:278px;max-width:100%}}
@media(max-width:365px){.brand-logo{width:198px;flex-basis:198px}}

/* Brand visibility and layout audit: keep original art on a clear surface. */
header{background:#fff}
footer .brand-logo{background:transparent;border:0;padding:0}
.mascot-badge{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:#fff;border:1px solid #e3e6ee;margin:0 auto 26px;flex-shrink:0}
.mascot-badge .owl-mascot{width:62px;margin:0;flex-shrink:0}
.contact .mascot-badge{margin-left:0}
.contact .text-link:hover,.contact-details>a:hover{color:#a9e3f3}
.contact-details a:not(.text-link):hover{color:#a9e3f3}
.contact a:focus-visible,.cta a:focus-visible{outline-color:#a9e3f3}
.service-content{grid-template-columns:minmax(0,27fr) minmax(0,73fr)}
.service-content>div,.contact>div,.intro>div,.person{min-width:0}
.person .eyebrow{font-size:12px}
.person-body>a{overflow-wrap:anywhere}
.image-note{font-size:12px;letter-spacing:1.2px}
@media(max-width:850px){.service-content{grid-template-columns:minmax(0,1fr)}.image-note{font-size:12px}}
@media(max-width:580px){footer .brand-logo{width:278px;padding:0}.mascot-badge{width:108px;height:108px}.mascot-badge .owl-mascot{width:57px}.sub-hero h1{font-size:clamp(38px,8.5vw,49px)}.hero h1{font-size:clamp(52px,15vw,64px)}.image-note{font-size:12px}.contact-details a:not(.text-link){font-size:clamp(20px,5.7vw,23px)}}

.policy{max-width:980px;margin:auto}.policy h2{font-size:30px;line-height:1.3;margin:40px 0 18px;letter-spacing:-.025em}.policy h2:first-child{margin-top:0}.policy p{margin:0 0 18px;line-height:1.8}.policy a{color:var(--ink);text-decoration:underline}.fees>section{margin-top:55px}.fees h2{font-size:34px;line-height:1.2;margin:10px 0 25px}.fees h3{font-size:20px;line-height:1.4;letter-spacing:0}.fee-intro{max-width:850px;font-size:18px}.fee-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:22px}.fee-card{border:1px solid var(--line);border-top:3px solid var(--blue);padding:25px;background:#fff}.fees .fee-amount{font-size:30px;color:var(--ink);margin:15px 0 8px}.fees section>p{margin:18px 0}.ib-fee-table{border-collapse:collapse;width:100%;table-layout:fixed;margin:22px 0 35px}.ib-fee-table th,.ib-fee-table td{text-align:left;padding:17px 18px;border-bottom:1px solid var(--line);vertical-align:top;font-size:16px;overflow-wrap:anywhere}.ib-fee-table th{background:var(--ink);color:white;font-weight:500}.ib-fee-table th:first-child{width:58%}.ib-fee-table td:last-child{color:var(--ink)}.ib-fee-table tbody tr:nth-child(even){background:#eff0f5}@media(max-width:850px){.fee-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.fee-cards{grid-template-columns:minmax(0,1fr)}.fees h2{font-size:28px}.policy h2{font-size:26px}.ib-fee-table th,.ib-fee-table td{padding:13px 9px;font-size:14px}.ib-fee-table th:first-child{width:54%}}

footer a:not(.brand-logo):hover{color:var(--blue)}
footer a:focus-visible{outline-color:var(--blue)}

/* The ceremonial legal owl appears once on home-page load. */
.legal-owl-flight{position:fixed;inset:0 auto auto 0;width:clamp(122px,14vw,190px);aspect-ratio:1;z-index:120;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 13px 18px rgba(8,20,58,.25))}.legal-owl-flight img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;animation:legal-owl-wingbeat .9s ease-in-out infinite;transform-origin:50% 62%}.legal-owl-aura{position:absolute;z-index:0;inset:17%;border-radius:50%;background:radial-gradient(circle,rgba(182,232,245,.48),rgba(65,75,187,0) 68%);animation:legal-owl-glow 1.8s ease-in-out infinite}.owl-promise{--promise-x:20%;--promise-y:45vh;--promise-tilt:-1.5deg;position:fixed;left:var(--promise-x);top:0;z-index:115;display:block;padding:10px 17px;color:#142452;background:rgba(255,255,255,.97);border:1px solid rgba(20,36,82,.18);border-top:3px solid #00a9df;border-radius:0 0 18px 18px;box-shadow:0 12px 28px rgba(8,20,58,.16);font-family:var(--sans);font-size:clamp(13px,1.25vw,16px);font-weight:600;letter-spacing:.01em;white-space:nowrap;pointer-events:none;animation:owl-promise-drop 2.45s cubic-bezier(.2,.72,.28,1) forwards;transform:translate(-50%,-90px) rotate(var(--promise-tilt));opacity:0}.owl-promise:before{content:'';position:absolute;left:50%;top:-13px;width:8px;height:13px;background:#00a9df;border-radius:65% 35% 60% 40%;transform:translateX(-50%) rotate(45deg)}@keyframes legal-owl-wingbeat{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-7px) scaleY(.95)}}@keyframes legal-owl-glow{0%,100%{opacity:.45;transform:scale(.86)}50%{opacity:.82;transform:scale(1.08)}}@keyframes owl-promise-drop{0%{opacity:0;transform:translate(-50%,-90px) rotate(var(--promise-tilt)) scale(.9)}12%{opacity:1}74%{opacity:1;transform:translate(-50%,var(--promise-y)) rotate(var(--promise-tilt)) scale(1)}84%{transform:translate(-50%,calc(var(--promise-y) - 10px)) rotate(calc(var(--promise-tilt) * -.35)) scale(1)}92%{opacity:1;transform:translate(-50%,var(--promise-y)) rotate(0) scale(1)}100%{opacity:0;transform:translate(-50%,calc(var(--promise-y) + 16px)) rotate(0) scale(.97)}}@media(max-width:700px){.legal-owl-flight{width:112px}.owl-promise{padding:9px 12px;font-size:12px;max-width:42vw;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){.legal-owl-flight,.owl-promise{display:none!important}}

/* Directly mirrors the articulated owl and word-rain system on indigoblue.ca. */
.legal-owl-flight{width:220px;height:150px;aspect-ratio:auto;opacity:0;filter:drop-shadow(0 9px 8px rgba(20,36,82,.24));contain:none;transform-origin:center;will-change:transform}
.legal-owl-art{position:relative;display:block;width:100%;height:100%;perspective:700px;transform-style:preserve-3d;animation:legal-owl-breathe 1.05s ease-in-out infinite alternate}
.legal-owl-flight img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;animation:none}
.legal-wing-left{clip-path:polygon(0 0,43% 0,43% 100%,0 100%);transform-origin:41% 49%;z-index:1;animation:legal-left-flap .52s cubic-bezier(.4,0,.6,1) infinite alternate!important}
.legal-wing-right{clip-path:polygon(57% 0,100% 0,100% 100%,57% 100%);transform-origin:59% 49%;z-index:1;animation:legal-right-flap .52s cubic-bezier(.4,0,.6,1) infinite alternate!important}
.legal-owl-body{z-index:2;animation:legal-body-tilt 1.04s ease-in-out infinite alternate!important}
@keyframes legal-left-flap{from{transform:rotateY(52deg) rotate(-18deg) scaleY(.82)}to{transform:rotateY(-12deg) rotate(12deg) scaleY(1.04)}}
@keyframes legal-right-flap{from{transform:rotateY(-52deg) rotate(18deg) scaleY(.82)}to{transform:rotateY(12deg) rotate(-12deg) scaleY(1.04)}}
@keyframes legal-body-tilt{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-2px) rotate(1deg)}}
@keyframes legal-owl-breathe{from{transform:translateY(3px)}to{transform:translateY(-5px)}}
.owl-promise{position:fixed;z-index:115;display:flex;flex-wrap:wrap;gap:5px;max-width:260px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;animation:none;white-space:normal;transform:none;opacity:1}
.owl-promise:before{display:none}
.owl-word{display:inline-block;padding:7px 10px;background:#fff;color:#171e60;border:1px solid #a8d3ec;border-radius:18px;box-shadow:0 7px 20px rgba(23,33,59,.21);font-size:14px;font-weight:700;line-height:1.25;animation:owl-word-rain 7.5s cubic-bezier(.15,.46,.43,.94) var(--word-delay) both}
@keyframes owl-word-rain{0%{transform:translate3d(0,-18px,0) rotate(-8deg) scale(.7);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translate3d(var(--drift),var(--fall-distance),0) rotate(6deg) scale(.94);opacity:0}}
@media(max-width:760px){.legal-owl-flight{width:185px;height:126px}.owl-promise{max-width:190px}.owl-word{padding:6px 8px;font-size:13px}}

/* Use the original logo owl to identify each homepage practice area. */
.practice-row .practice-owl{width:32px;margin:0;justify-self:center}
@media(max-width:850px){.practice-row{grid-template-columns:38px minmax(0,1fr) 35px}.practice-row .practice-owl{width:28px}}

/* Original logo owl markers for the three community initiatives. */
.community-grid .community-owl{width:32px;margin:0}
/* September editorial refresh: original brand, people-led presentation. */
:root{--paper:#fcfcfd;--line:#dce2ec;--muted:#535e73}
.eyebrow{font-size:14px;letter-spacing:1.6px}.editorial-hero{display:grid;grid-template-columns:1.15fr .85fr;background:#eaf0f6;min-height:630px}.editorial-copy{padding:85px 9% 60px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.editorial-copy h1{font-size:clamp(54px,5.3vw,84px);line-height:1.05;margin:28px 0}.editorial-copy h1 em{color:#006e96}.editorial-copy>p{font-size:19px;max-width:540px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}.hero-actions .button{margin:0}.hero-caption{margin-top:48px;border-top:1px solid #c6d3e1;padding-top:18px;font-size:14px;color:var(--muted)}.team-portrait{position:relative;min-width:0;background:#dfe5ec;overflow:hidden}.team-portrait>img{object-position:center 20%;height:100%;position:absolute;inset:0}.team-portrait>a{position:absolute;bottom:28px;left:28px;right:28px;padding:23px 25px;background:rgba(255,255,255,.96);display:flex;flex-direction:column;gap:4px}.team-portrait strong{font-size:28px;font-weight:500}.team-portrait .eyebrow{font-size:12px;color:#006e96}.team-portrait>a>span:last-child{font-size:15px}.team-portrait>a>span:last-child span{float:right}.team-feature{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;align-items:center}.team-feature h2,.next-steps h2{font-size:clamp(36px,4vw,56px);margin:20px 0}.team-feature>div>p{margin:24px 0;max-width:440px}.featured-people{display:grid;grid-template-columns:1fr 1fr;gap:24px}.featured-people img{aspect-ratio:4/5;height:auto;object-position:top;background:#eaf0f6}.featured-people h3{font-size:25px;margin-top:18px}.featured-people p{font-size:14px;line-height:1.5;margin-top:7px}.next-steps{background:#edf2f7}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.mini-owl{width:32px;margin:0 0 20px}.steps-grid h3{font-size:24px;margin-bottom:16px}.steps-grid p{font-size:16px}.profile-link{margin-top:22px!important;display:inline-flex!important}.profile-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;background:#eaf0f6;align-items:center}.profile-hero>img{height:auto;aspect-ratio:4/5;max-height:570px;object-position:top}.profile-hero h1{font-size:clamp(44px,5.5vw,78px);margin:20px 0 30px}.profile-hero .eyebrow{margin-top:40px}.profile-contact a{display:block;margin:10px 0;overflow-wrap:anywhere}.profile-body{display:grid;grid-template-columns:1fr 2fr;gap:50px}.profile-body p{font-size:18px;line-height:1.85;margin-bottom:24px}.service-depth{background:#edf2f7;display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.service-overview h2{font-size:clamp(34px,3.7vw,52px);margin:20px 0}.service-overview>p{font-size:18px}.inline-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.inline-actions .button{margin:0}.prepare-panel{padding:35px;background:#fff;border-top:3px solid var(--blue)}.prepare-panel h3{font-size:28px;margin:14px 0}.prepare-panel ul{padding-left:20px;margin:20px 0}.prepare-panel li{margin:12px 0;color:var(--muted)}.prepare-panel>p{font-size:14px;border-top:1px solid var(--line);padding-top:20px}.faq{max-width:1100px;margin:auto}.faq h2{font-size:clamp(34px,3.5vw,48px);margin:20px 0 35px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:18px;gap:25px;padding:24px 0}.faq details p{padding:0 35px 26px 0;font-size:16px}.mobile-contact{display:none}.practice-row h3{letter-spacing:-.6px}
@media(max-width:1000px){.editorial-copy{padding:55px 8%}.editorial-copy h1{font-size:58px}.team-feature,.service-depth{gap:35px}.profile-hero{gap:35px}.editorial-hero{min-height:610px}}
@media(max-width:700px){.editorial-hero{grid-template-columns:1fr;min-height:0}.editorial-copy{padding:48px 6% 38px}.editorial-copy h1{font-size:clamp(44px,9.5vw,64px)}.editorial-copy>p{font-size:17px}.hero-caption{margin-top:28px}.team-portrait{height:480px}.team-portrait>img{object-position:center 20%}.team-portrait>a{left:6%;right:6%;bottom:22px}.team-feature,.profile-hero,.profile-body,.service-depth{grid-template-columns:1fr;gap:32px}.team-feature h2{font-size:40px}.featured-people{gap:18px}.featured-people h3{font-size:22px}.steps-grid{grid-template-columns:1fr;gap:30px}.steps-grid article{border-top:1px solid #cad5e2;padding-top:24px}.profile-hero>img{max-height:480px;object-fit:cover}.profile-hero .eyebrow{margin-top:25px}.profile-body p{font-size:17px}.prepare-panel{padding:27px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:row;gap:0;background:white;border-top:1px solid #c6d3e1;padding:0 0 env(safe-area-inset-bottom);z-index:40;box-shadow:0 -4px 18px #1926660c;width:100%}.mobile-contact a{padding:17px 12px;font-size:14px;text-align:center;flex:1}.mobile-contact a:last-child{background:var(--ink);color:white}body{padding-bottom:65px}footer{padding-bottom:35px}.hero-actions{gap:22px}.profile-hero h1{font-size:48px}}
@media(max-width:380px){.featured-people{grid-template-columns:1fr}.team-portrait{height:410px}.eyebrow{font-size:12px}}
/* Firm-wide editorial design: navy, white and a restrained cyan accent. */
.firm-hero{background:#142452;color:#fff;padding:66px 7% 58px}.firm-hero-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center}.firm-hero h1{font-size:clamp(46px,5.2vw,78px);margin-top:22px;line-height:1.08;letter-spacing:-.045em}.firm-hero h1 em{color:#b6e8f5}.firm-hero .eyebrow{color:#b6e8f5}.firm-hero-message>p:first-child{font-size:23px;color:white;margin-bottom:12px}.firm-hero-message>p{color:#e0e6f0;font-size:17px;line-height:1.75}.firm-hero .button{margin-top:25px}.hero-service-link{display:inline-block;margin:20px 0 0 20px;font-size:14px;color:#d8f2fa;border-bottom:1px solid #7194b1;padding-bottom:5px}.firm-hero a:focus-visible{outline-color:#8fddf4}.counsel-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:48px 0 22px;border-top:1px solid #526384;padding-top:25px}.counsel-heading>a{font-size:14px}.counsel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.counsel-card{min-width:0}.counsel-photo{overflow:hidden;background:#e6eaf0;aspect-ratio:1/1}.counsel-photo img{object-fit:cover;object-position:center 18%;filter:saturate(.65);transition:filter .2s}.counsel-card:hover img{filter:saturate(1)}.counsel-card h2{font-family:var(--sans);font-size:22px;letter-spacing:-.025em;line-height:1.3;margin:15px 0 5px}.counsel-card p{font-size:14px;line-height:1.5;color:#dce4f0}.counsel-card:hover h2,.counsel-heading>a:hover{color:#b6e8f5}.expertise{background:#fff}.intro{background:#eff3f8}.section-head>p{font-size:16px}.practice-row .row-description{font-size:16px;max-width:100%}.community{background:#fff}.community .owl-mascot{width:46px;margin-bottom:18px}.community h2{margin-top:18px}.next-steps .section-head{margin-bottom:30px}.contact .mascot-badge{width:88px;height:88px}.contact .mascot-badge .owl-mascot{width:45px}.contact{background:#142452}.directory-head{max-width:720px;margin-bottom:38px}.directory-head h2{font-size:clamp(34px,4vw,48px);margin:15px 0}.directory-head>p{font-size:17px}.team-directory .people-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 25px}.team-directory .person h2{font-size:25px;line-height:1.25;letter-spacing:-.02em}.team-directory .person .eyebrow{font-size:12px;line-height:1.6;min-height:40px;letter-spacing:1px}.team-directory .person>img{aspect-ratio:4/5;object-position:center 18%;filter:saturate(.65)}.team-directory .person-body>a{font-size:14px;overflow-wrap:anywhere}.team-directory .support-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px}.operations-head{border-top:1px solid var(--line);padding-top:48px;margin-top:68px}.service-team{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;background:#f0f4f8}.service-team h2{font-size:clamp(34px,3.5vw,48px);margin:18px 0}.service-team>div>p{max-width:440px}.service-people{display:flex;flex-direction:column;gap:25px}.service-person{display:flex;gap:22px;align-items:center;padding-bottom:24px;border-bottom:1px solid #cbd6e4}.service-person:last-child{border:0;padding:0}.service-person>img{width:105px;height:125px;object-position:center 18%;flex:0 0 105px;filter:saturate(.65)}.service-person>span{display:flex;flex-direction:column;gap:8px}.service-person strong{font-size:23px;font-weight:500;line-height:1.2}.service-person>span>span{font-size:14px;color:var(--muted)}.service-person .profile-action{color:#00618a;text-decoration:underline;text-underline-offset:5px}.booking-hero{padding-bottom:58px}.booking-hero>p{max-width:760px}.consultation-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.consultation-options article{display:flex;flex-direction:column;align-items:flex-start;border-top:3px solid #006e96;padding-top:25px}.consultation-options h2{font-size:32px;line-height:1.15;letter-spacing:-.035em;margin:20px 0}.consultation-options .consultation-term{font-size:16px;color:var(--ink);font-weight:500;margin-bottom:18px}.consultation-options p{font-size:16px;margin-bottom:24px}.consultation-options a{margin-top:auto;font-size:16px}.booking-help{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;border-top:1px solid var(--line);padding-top:50px;margin-top:60px}.booking-help h2{font-size:29px;margin-bottom:20px;line-height:1.2}.booking-help p{margin-bottom:22px}.booking-help a{overflow-wrap:anywhere}.profile-hero{grid-template-columns:1.15fr .85fr}.profile-hero>img{filter:saturate(.65);object-position:center 18%}.sub-hero .breadcrumb{font-size:14px}.foot-bottom,.disclaimer{font-size:14px}.person-body .profile-link{padding-bottom:9px}.faq details[open] summary{color:#00618a}.faq summary:hover{color:#00618a}
@media(max-width:1100px){.firm-hero-intro{gap:35px}.firm-hero h1{font-size:58px}.counsel-grid{gap:18px}.counsel-card h2{font-size:20px}.team-directory .people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-directory .person .eyebrow{min-height:0}.team-directory .person h2{font-size:28px}.team-directory .person-body>a{font-size:16px}.service-team{gap:35px}.consultation-options{gap:24px}.consultation-options h2{font-size:28px}}
@media(max-width:850px){.firm-hero-intro{grid-template-columns:1fr;gap:30px}.firm-hero h1{font-size:clamp(45px,7.3vw,68px)}.firm-hero-message{max-width:620px}.counsel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.counsel-photo{aspect-ratio:5/4}.counsel-card h2{font-size:23px}.practice-row{grid-template-columns:38px minmax(0,1fr) 35px;row-gap:12px}.practice-row .row-description{display:block;grid-column:2;grid-row:2;font-size:15px;max-width:100%}.practice-row .round-arrow{grid-column:3;grid-row:1}.practice-row .practice-owl{grid-row:1;align-self:center}.practice-row h3{grid-column:2;grid-row:1}.service-team{grid-template-columns:1fr}.consultation-options{grid-template-columns:1fr;gap:38px}.consultation-options article{max-width:780px}.consultation-options h2{font-size:32px}.booking-help{gap:35px}.counsel-heading .eyebrow{font-size:12px}}
@media(max-width:580px){.firm-hero{padding:43px 6%}.firm-hero h1{font-size:clamp(40px,10.5vw,56px)}.firm-hero-intro{gap:26px}.firm-hero-message>p:first-child{font-size:21px}.firm-hero-message>p{font-size:16px}.hero-service-link{margin-left:0;margin-top:20px;display:table}.counsel-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-top:35px}.counsel-grid{gap:26px 16px}.counsel-photo{aspect-ratio:4/5}.counsel-card h2{font-size:19px;line-height:1.3;margin-top:12px}.counsel-card p{font-size:13px}.team-directory .people-grid,.team-directory .support-grid{grid-template-columns:1fr}.team-directory .person>img{max-height:430px}.team-directory .person h2{font-size:29px}.operations-head{margin-top:48px;padding-top:35px}.booking-help{grid-template-columns:1fr;gap:35px}.service-person{gap:18px}.service-person>img{width:85px;flex-basis:85px;height:105px}.service-person strong{font-size:22px}.profile-hero{grid-template-columns:1fr}.profile-hero>img{max-height:480px}.practice-row h3{font-size:23px}.foot-bottom{gap:14px 22px}}

.award-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:#edf3f8}.award-title h2{font-size:clamp(40px,4.6vw,64px);margin:20px 0;line-height:1.1}.award-title h2 em{color:#006e96}.award-institution{display:block;font-size:18px;color:var(--muted)}.award-story h3{font-size:29px;margin-bottom:22px}.award-story p{font-size:17px;margin-bottom:22px;line-height:1.8}.award-story .text-link{margin-top:6px}.community-grid h2{font-size:29px;line-height:1.2}@media(max-width:700px){.award-feature{grid-template-columns:1fr;gap:32px}.award-title h2{font-size:43px}}

.arts-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#142452;color:white;align-items:start}.arts-feature .eyebrow{color:#b6e8f5}.arts-feature h2{font-size:clamp(35px,3.7vw,52px);line-height:1.15;margin:20px 0}.arts-feature h2 em{color:#b6e8f5}.arts-feature h3{font-size:28px;line-height:1.3;margin-bottom:22px}.arts-feature p{color:#e0e6f0;font-size:17px;line-height:1.8;margin-bottom:22px}.arts-feature .community-note{font-size:14px;padding-top:20px;border-top:1px solid #526384;color:#b6c9dd}@media(max-width:700px){.arts-feature{grid-template-columns:1fr;gap:25px}}

/* A restrained, typography-led homepage opening. */
.firm-hero-quiet{padding-top:96px;padding-bottom:96px}.firm-hero-quiet .firm-hero-intro{gap:70px}.firm-hero-quiet .firm-hero-message{border-left:1px solid #526384;padding-left:40px}@media(max-width:850px){.firm-hero-quiet{padding-top:64px;padding-bottom:64px}.firm-hero-quiet .firm-hero-intro{gap:32px}.firm-hero-quiet .firm-hero-message{border-left:0;padding-left:0;max-width:600px}}@media(max-width:580px){.firm-hero-quiet{padding-top:48px;padding-bottom:48px}}
/* Architectural photography fades into the hero's existing navy surface. */
.firm-hero-blended{position:relative;isolation:isolate;overflow:hidden}.hero-atmosphere{position:absolute;inset:0 0 0 25%;z-index:-1;pointer-events:none}.hero-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:grayscale(1);opacity:.42}.hero-atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#142452 0%,rgba(20,36,82,.88) 27%,rgba(20,36,82,.64) 70%,rgba(20,36,82,.62) 100%)}.firm-hero-blended .firm-hero-message{border-left:0;padding-left:0}.consultation-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}#wills-estates-fees .text-link{margin-top:20px}@media(max-width:850px){.hero-atmosphere{left:0}.hero-atmosphere:after{background:linear-gradient(90deg,rgba(20,36,82,.97),rgba(20,36,82,.73))}.consultation-options{grid-template-columns:1fr}}

/* Coordinated studio portraits retain their complete, consistent 4:5 framing. */
.team-directory .person>img,.profile-hero>img{aspect-ratio:4/5;object-fit:contain;object-position:center;filter:none;background:#e5e8ed;height:auto}.team-directory .person>img{max-height:none}.profile-hero>img{width:100%;max-height:570px}@media(max-width:580px){.profile-hero>img{max-height:480px}}

/* Interior page photography extends the homepage's navy treatment. */
.sub-hero,.profile-hero{
  position:relative;
  isolation:isolate;
  background:#142452;
  color:#fff;
}
.sub-hero::before,.profile-hero::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:linear-gradient(90deg,rgba(20,36,82,.97) 0%,rgba(20,36,82,.88) 42%,rgba(20,36,82,.64) 100%),url('/assets/architecture.jpg');
  background-size:cover;
  background-position:center,center 35%;
}
.sub-hero.photo-interior::before,.profile-hero.photo-interior::before{
  background-image:linear-gradient(90deg,rgba(20,36,82,.97) 0%,rgba(20,36,82,.88) 42%,rgba(20,36,82,.64) 100%),url('/assets/interior.jpg');
  background-position:center,center 55%;
}
.sub-hero h1 em,.sub-hero h1>span,.sub-hero .eyebrow,.profile-hero .eyebrow{color:#b6e8f5}
.sub-hero>p{color:#e0e6f0}
.sub-hero .breadcrumb,.profile-hero .breadcrumb{color:#e0e6f0}
.profile-hero .profile-contact a{color:#fff}
.profile-hero .button{background:#fff;color:#192666}
.profile-hero .button:hover{background:#d8f2fa}
.sub-hero a:focus-visible,.profile-hero a:focus-visible{outline-color:#8fddf4}
.profile-hero .breadcrumb:hover,.profile-hero .profile-contact a:hover{color:#b6e8f5}
@media(max-width:700px){
  .sub-hero::before,.profile-hero::before{background-position:center,60% center}
  .sub-hero.photo-interior::before,.profile-hero.photo-interior::before{background-position:center,65% center}
}

/* A compact practice contact immediately below the page introduction. */
.key-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 7%;border-bottom:1px solid var(--line);background:#f0f4f8}
.key-contact h2{font-size:24px;line-height:1.3;letter-spacing:-.025em;margin:0}
.key-contact .service-people{min-width:0}
.key-contact .service-person{gap:20px;padding:0;border:0}
.key-contact .service-person>img{width:76px;height:95px;flex-basis:76px;object-fit:contain;object-position:center;filter:none;background:#e5e8ed}
.key-contact .service-person>span{gap:5px}
.key-contact .service-person strong{font-size:22px}
.key-contact .profile-action{font-size:14px}
@media(max-width:700px){.key-contact{align-items:flex-start;flex-direction:column;gap:18px;padding:24px 6%}.key-contact h2{font-size:22px}.key-contact .service-person{gap:18px}}

/* Mobile: one flight, four staggered value phrases, then land in the logo. */
@media(max-width:760px){
  .legal-owl-flight.mobile-flight{display:block!important;width:185px;height:126px;animation:mobile-legal-journey 22s cubic-bezier(.45,.02,.22,1) .7s both}
  .owl-promise.mobile-promise{display:flex!important}
}
@keyframes mobile-legal-journey{
  0%{transform:translate3d(-185px,46vh,0) rotate(-5deg) scale(.76);opacity:0}
  8%{transform:translate3d(5vw,28vh,0) rotate(3deg) scale(.9);opacity:1}
  30%{transform:translate3d(calc(100vw - 180px),24vh,0) rotate(-3deg) scale(.95);opacity:1}
  55%{transform:translate3d(6vw,43vh,0) rotate(3deg) scale(.82);opacity:1}
  78%{transform:translate3d(calc(100vw - 190px),36vh,0) rotate(-6deg) scale(.78);opacity:1}
  95%{transform:translate3d(var(--landing-x),var(--landing-y),0) rotate(-1deg) scale(.16);opacity:.95}
  100%{transform:translate3d(var(--landing-x),var(--landing-y),0) rotate(0) scale(.05);opacity:0}
}
