/* =========================================================================
   Icon Law — design system (faithful port of design_handoff prototypes)
   ========================================================================= */

/* ---------- Tokens ---------- */
:root{
  --background:35 30% 95%;
  --foreground:220 15% 12%;
  --primary:0 72% 44%;
  --primary-foreground:0 0% 100%;
  --secondary:35 18% 88%;
  --muted:35 15% 88%;
  --muted-foreground:30 5% 48%;
  --accent:215 55% 38%;
  --border:30 12% 82%;
  --input:30 12% 82%;
  --ring:215 55% 38%;
  --radius:0rem;
  --surface:35 22% 91%;
  --brand-blue:0 72% 44%;
  --brand-blue-light:0 72% 55%;
  --brand-red:0 72% 44%;
  --brand-navy:218 35% 18%;
  --brand-dark:220 8% 22%;
  --maxw:1600px;
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  background-color:hsl(var(--background));
  color:hsl(var(--foreground));
  background-image:
    radial-gradient(ellipse 80% 60% at 90% 10%, hsla(215,55%,38%,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 10% 90%, hsla(215,55%,38%,0.03) 0%, transparent 50%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
  margin:0;
}
.il img{display:block;max-width:100%;}
.il a{text-decoration:none;color:inherit;}
.il em{font-style:normal;}
.il h1,.il h2,.il h3,.il h4,.il p,.il blockquote,.il ul,.il ol,.il figure{margin:0;padding:0;}
.il ul,.il ol{list-style:none;}
.il *{box-sizing:border-box;border-color:hsl(var(--border));}

/* ---------- Utilities ---------- */
.text-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));}
.hero-heading{font-family:'Inter',sans-serif;font-weight:800;line-height:0.92;letter-spacing:-0.03em;}
.section-heading{font-family:'Inter',sans-serif;font-weight:700;line-height:1.1;letter-spacing:-0.02em;}
.text-primary{color:hsl(var(--primary));}
.text-red{color:hsl(var(--primary));}
.text-brand-blue{color:hsl(var(--brand-blue));}
.text-blue{color:hsl(var(--brand-blue));}
.text-muted{color:hsl(var(--muted-foreground));}
.text-muted-foreground{color:hsl(var(--muted-foreground));}
.font-serif{font-family:'Playfair Display',serif;}
.serif-em{font-family:'Playfair Display',serif;font-weight:500;color:hsl(var(--primary));}
.wrap{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 24px;}
@media(min-width:640px){.wrap{padding:0 40px;}}

.link-arrow{display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--foreground));transition:color .3s;cursor:pointer;}
.link-arrow > span.ln,.link-arrow > span:empty{width:40px;height:1px;background:hsl(var(--foreground));transition:background-color .3s;display:inline-block;flex:none;}
.link-arrow:hover{color:hsl(var(--primary));}
.link-arrow:hover > span.ln,.link-arrow:hover > span:empty{background:hsl(var(--primary));}
.link-arrow-blue{display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--brand-blue));transition:color .3s;cursor:pointer;}
.link-arrow-blue .ln{width:40px;height:1px;background:hsl(var(--brand-blue));transition:background-color .3s;display:inline-block;}
.link-arrow-blue:hover{color:hsl(var(--brand-navy));}
.link-arrow-blue:hover .ln{background:hsl(var(--brand-navy));}

.geo-pattern{
  background-image:
    linear-gradient(hsla(215,55%,50%,0.08) 1px, transparent 1px),
    linear-gradient(90deg, hsla(215,55%,50%,0.08) 1px, transparent 1px);
  background-size:40px 40px;
}
.blueprint{position:absolute;pointer-events:none;}

/* ---------- Navbar ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s;}
body.admin-bar .nav{top:32px;}
.nav.scrolled,.nav.solid{background:hsla(35,30%,95%,0.95);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid hsl(var(--border));}
.nav-inner{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:80px;}
@media(min-width:640px){.nav-inner{padding:0 40px;}}
img.nav-logo{height:56px;width:auto;}
.nav-links{display:none;align-items:center;gap:22px;}
@media(min-width:1024px){.nav-links{display:flex;}}
@media(min-width:1180px){.nav-links{gap:30px;}}
@media(min-width:1400px){.nav-links{gap:38px;}}
.nav-links a{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;white-space:nowrap;color:hsl(var(--foreground)/0.7);transition:color .3s;}
.nav-links a:hover,.nav-links a.active{color:hsl(var(--primary));}
.nav-cta{width:40px;height:40px;border-radius:9999px;background:hsl(var(--brand-navy));display:flex;align-items:center;justify-content:center;transition:background-color .3s;}
.nav-cta:hover{background:hsl(var(--primary));}
.nav-burger{display:flex;background:none;border:0;color:hsl(var(--foreground));cursor:pointer;padding:0;}
@media(min-width:1024px){.nav-burger{display:none;}}
.mobile-menu{display:none;background:hsl(var(--background));border-top:1px solid hsl(var(--border));padding:32px 24px;flex-direction:column;gap:24px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:hsl(var(--foreground)/0.7);}

/* ---------- Footer ---------- */
.footer{position:relative;background:hsl(var(--brand-dark));overflow:hidden;}
.footer .geo{position:absolute;inset:0;opacity:0.1;}
.footer-inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
@media(min-width:640px){.footer-inner{padding:0 40px;}}
.footer-grid{display:grid;grid-template-columns:1fr;gap:48px;padding:64px 0;border-bottom:1px solid hsl(var(--background)/0.1);}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr);}}
img.footer-logo{height:60px;width:auto;margin-bottom:24px;}
.footer-tag{font-size:15px;font-weight:300;line-height:1.6;color:hsl(var(--background)/0.6);}
.footer-col h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--background)/0.5);margin-bottom:24px;}
.footer-col a,.footer-col p{display:block;font-size:15px;font-weight:300;color:hsl(var(--background)/0.7);margin-bottom:12px;transition:color .3s;}
.footer-col a:hover{color:hsl(var(--primary));}
.footer-addr{color:hsl(var(--background)/0.55)!important;line-height:1.7;}
.footer-linkedin{font-size:12px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary))!important;}
.footer-bottom{padding:32px 0;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:space-between;}
@media(min-width:640px){.footer-bottom{flex-direction:row;}}
.footer-bottom p,.footer-bottom a,.footer-bottom span{font-size:12px;font-weight:300;color:hsl(var(--background)/0.4);}

/* ---------- Shared section base ---------- */
.section{position:relative;overflow:hidden;}
.section.bordered{border-top:1px solid hsl(var(--border));}
.section.surface{background:hsl(var(--surface));}
.section.dark{background:hsl(var(--brand-dark));}
.il-sec-home{padding:64px 0;}
@media(min-width:640px){.il-sec-home{padding:88px 0;}}
.il-sec-about{padding:80px 0;}
@media(min-width:640px){.il-sec-about{padding:112px 0;}}
.section-bg{position:absolute;inset:0;}
.section-bg img{width:100%;height:100%;object-fit:cover;}
.section-bg .ov85{position:absolute;inset:0;background:hsl(var(--background)/0.85);}
.hairline-grid{display:grid;gap:1px;background:hsl(var(--border));}
.cols-3{grid-template-columns:1fr;}
@media(min-width:768px){.cols-3{grid-template-columns:repeat(3,1fr);}}
.cols-2{grid-template-columns:1fr;}
@media(min-width:640px){.cols-2{grid-template-columns:repeat(2,1fr);}}
.cell{background:hsl(var(--background));padding:40px;}
.cell .num{font-size:11px;font-weight:700;letter-spacing:0.18em;color:hsl(var(--primary));margin-bottom:24px;}
.cell h3{font-size:20px;font-weight:600;margin-bottom:12px;letter-spacing:-0.01em;}
.cell p{font-size:16px;font-weight:300;line-height:1.65;color:hsl(var(--muted-foreground));}
.section-head{margin-bottom:64px;}
.section-head h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-top:16px;max-width:36rem;line-height:1.1;font-weight:700;letter-spacing:-0.02em;}
.page-hero{position:relative;padding:128px 0 80px;overflow:hidden;}
.page-hero h1{font-size:clamp(2.5rem,7vw,5rem);margin:16px 0 24px;}
.page-hero .lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:36rem;}
.back-link{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));display:inline-block;margin-bottom:32px;transition:color .3s;}
.back-link:hover{color:hsl(var(--primary));}

/* =========================================================================
   HOME
   ========================================================================= */
.il-hero-home{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;}
.il-hero-home .hero-bg{position:absolute;inset:0;}
.il-hero-home .hero-bg img{width:100%;height:100%;object-fit:cover;}
.il-hero-home .hero-bg .overlay{position:absolute;inset:0;background:hsl(var(--background)/0.8);}
.hero-blueprint{position:absolute;right:0;top:0;width:55vw;max-width:500px;height:100%;opacity:0.08;pointer-events:none;}
.hero-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:var(--maxw);margin:0 auto;width:100%;padding:120px 24px 0;}
@media(min-width:640px){.hero-content{padding:120px 40px 0;}}
.hero-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));margin-bottom:20px;}
.hero-firm{font-size:clamp(1.5rem,2.6vw,2.25rem);font-weight:800;letter-spacing:-0.02em;margin-bottom:18px;}
.hero-h1{font-size:clamp(2.5rem,6.4vw,5.25rem);margin-bottom:6px;}
.hero-h1.second{margin-bottom:34px;}
.hero-lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:32rem;margin-bottom:32px;}
.hero-stats-wrap{position:relative;z-index:10;}
.hero-stats{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 24px;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid hsl(var(--border));}
@media(min-width:640px){.hero-stats{padding:0 40px;}}
@media(min-width:1024px){.hero-stats{grid-template-columns:repeat(4,1fr);}}
.hero-stat{padding:24px 16px;}
@media(min-width:640px){.hero-stat{padding:28px 24px;}}
.hero-stat:not(:first-child){border-left:1px solid hsl(var(--border));}
.hero-stat .v{font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-0.02em;margin-bottom:4px;}
.hero-stat .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));}

.two-col{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:1024px){.two-col{grid-template-columns:repeat(2,1fr);gap:72px;}}
.about-h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:28px;line-height:1.1;}
.about-quote{border-left:2px solid hsl(var(--primary));padding-left:24px;margin-bottom:32px;}
.about-quote p{font-size:17px;font-weight:300;line-height:1.7;font-style:normal;color:hsl(var(--muted-foreground));}
.about-prose{display:flex;flex-direction:column;gap:20px;margin-bottom:32px;}
.about-prose p{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));}
.about-prose strong{color:hsl(var(--foreground));font-weight:500;}
.about-summary{display:flex;flex-direction:column;justify-content:flex-end;gap:32px;}

.people{position:relative;background:hsl(var(--background));overflow:hidden;padding:64px 0;}
@media(min-width:640px){.people{padding:88px 0;}}
.people-inner{position:relative;z-index:10;max-width:var(--maxw);margin:0 auto;padding:0 24px;border-top:1px solid hsl(var(--border));}
@media(min-width:640px){.people-inner{padding:0 40px;}}
.people-h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:16px;max-width:32rem;}
.people-lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:36rem;margin-bottom:48px;}
.people-grid{display:grid;grid-template-columns:1fr;gap:1px;background:hsl(var(--border));}
@media(min-width:640px){.people-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.people-grid{grid-template-columns:repeat(5,1fr);}}
.person{background:hsl(var(--background));padding:28px;transition:background-color .3s;display:block;}
@media(min-width:640px){.person{padding:32px;}}
.person:hover{background:hsl(var(--surface));}
.person-photo{width:72px;height:72px;border-radius:9999px;overflow:hidden;margin-bottom:20px;}
.person-photo img{width:100%;height:100%;object-fit:cover;}
.person h3{font-size:19px;font-weight:600;margin-bottom:4px;transition:color .3s;}
.person:hover h3{color:hsl(var(--primary));}
.person .role{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:20px;color:hsl(var(--muted-foreground));}
.person .role.founder{color:hsl(var(--primary));}
.person .pf{display:flex;align-items:center;gap:8px;}
.person .pf .ln{width:24px;height:1px;background:hsl(var(--primary));display:inline-block;}
.person .pf .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:hsl(var(--primary));}
.people-foot{border-top:1px solid hsl(var(--border));padding-top:32px;}

.pa{position:relative;overflow:hidden;padding:64px 0;border-top:1px solid hsl(var(--border));background:hsl(var(--surface));}
@media(min-width:640px){.pa{padding:88px 0;}}
.pa-head{margin-bottom:40px;max-width:40rem;}
.pa-head h2{font-size:clamp(2rem,3.6vw,3rem);margin-top:16px;line-height:1.1;}
.pa-lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:36rem;margin-top:20px;}
.pa-list{border-top:1px solid hsl(var(--border));}
.pa-row{display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:baseline;padding:22px 0;border-bottom:1px solid hsl(var(--border));}
@media(min-width:768px){.pa-row{grid-template-columns:64px 1fr auto;gap:40px;}}
.pa-row .n{color:hsl(var(--primary));font-size:14px;font-weight:700;}
.pa-row .t{font-size:20px;font-weight:600;letter-spacing:-0.01em;}
@media(min-width:768px){.pa-row .t{font-size:22px;}}
.pa-row .tag{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;color:hsl(var(--muted-foreground));}
@media(max-width:767px){.pa-row .tag{grid-column:2;}}
.pa-foot{padding-top:32px;}

.contact{position:relative;padding:64px 0;overflow:hidden;}
@media(min-width:640px){.contact{padding:88px 0;}}
.contact-bg{position:absolute;inset:0;}
.contact-bg img{width:100%;height:100%;object-fit:cover;}
.contact-bg .ov{position:absolute;inset:0;background:hsl(var(--brand-dark)/0.95);}
.contact-bg .geo{position:absolute;inset:0;opacity:0.1;}
.contact-inner{position:relative;z-index:10;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
@media(min-width:640px){.contact-inner{padding:0 40px;}}
.contact-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;margin-bottom:16px;color:hsl(var(--background)/0.5);}
.contact-h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:36px;line-height:1.1;color:hsl(var(--background));}
.contact-block{display:flex;flex-direction:column;gap:32px;}
.contact-block .cl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;margin-bottom:8px;color:hsl(var(--background)/0.5);}
.contact-block a.email{font-size:16px;font-weight:300;color:hsl(var(--background)/0.85);transition:color .3s;}
.contact-block a.email:hover{color:hsl(var(--primary));}
.contact-block .firm{font-size:16px;font-weight:500;margin-bottom:4px;color:hsl(var(--background));}
.contact-block .addr{font-size:16px;font-weight:300;line-height:1.7;color:hsl(var(--background)/0.7);}
.contact-block a.linkedin{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary));transition:opacity .3s;}
.contact-block a.linkedin:hover{opacity:0.7;}

/* Home enquiry form (dark) — CF7-aware */
.form-card{background:hsl(var(--brand-navy)/0.6);backdrop-filter:blur(4px);padding:24px;}
@media(min-width:1024px){.form-card{background:transparent;padding:0;backdrop-filter:none;}}
.form-card .fl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;margin-bottom:32px;color:hsl(var(--background)/0.5);}
.form-card .ff{margin-bottom:24px;}
.form-card .ff label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;display:block;margin-bottom:8px;color:hsl(var(--background)/0.85);}
.form-card .ff input,.form-card .ff textarea{width:100%;background:transparent;border:0;border-bottom:1px solid hsl(var(--background)/0.35);padding:12px 0;font-size:16px;font-weight:300;font-family:inherit;color:hsl(var(--background));outline:none;transition:border-color .3s;border-radius:0;}
.form-card .ff input:focus,.form-card .ff textarea:focus{border-color:hsl(var(--primary));}
.form-card .ff textarea{resize:none;}
.form-card .fc{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px;}
.form-card .fc input{margin-top:4px;accent-color:hsl(var(--primary));width:auto;}
.form-card .fc label,.form-card .fc .wpcf7-list-item-label{font-size:13px;font-weight:300;line-height:1.6;color:hsl(var(--background)/0.85);}
.form-card .fc a{text-decoration:underline;color:hsl(var(--background));}
.form-card .fc a:hover{color:hsl(var(--primary));}
.form-card .fsubmit-wrap{display:flex;justify-content:center;padding-top:28px;}
.form-card .fsubmit-wrap input[type=submit]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:#fff;background:hsl(var(--primary));border:0;cursor:pointer;transition:background-color .3s;font-family:inherit;padding:16px 48px;border-radius:0;}
.form-card .fsubmit-wrap input[type=submit]:hover{background:hsl(var(--brand-navy));}

/* =========================================================================
   ABOUT
   ========================================================================= */
.il-hero-about{position:relative;padding:128px 0 80px;overflow:hidden;}
.il-hero-about .hero-bg{position:absolute;inset:0;}
.il-hero-about .hero-bg img{width:100%;height:100%;object-fit:cover;}
.il-hero-about .hero-bg .overlay{position:absolute;inset:0;background:hsl(var(--background)/0.85);}
.il-hero-about h1{font-size:clamp(2.5rem,7vw,5rem);margin:16px 0 24px;}
.il-hero-about .hero-lead{font-size:19px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:34rem;margin-bottom:0;}
.il-hero-about .blueprint{opacity:0.07;}

.stats{border-top:1px solid hsl(var(--border));}
.stats-grid{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(2,1fr);}
@media(min-width:640px){.stats-grid{padding:0 40px;}}
@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
.stat{padding:32px 16px;}
@media(min-width:640px){.stat{padding:32px 24px;}}
.stat + .stat{border-left:1px solid hsl(var(--border));}
@media(max-width:1023px){.stat:nth-child(3){border-left:0;}}
.stat .v{font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-0.02em;margin-bottom:4px;}
.stat .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));}

.story-grid{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:1024px){.story-grid{grid-template-columns:1fr 1fr;gap:96px;}}
.story-grid h2.section-heading{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;margin-bottom:40px;}
blockquote.bar{border-left:2px solid hsl(var(--primary));padding-left:24px;margin-bottom:40px;}
blockquote.bar p{font-size:18px;font-weight:300;line-height:1.6;font-style:normal;color:hsl(var(--muted-foreground));}
.prose p{font-size:17px;font-weight:300;line-height:1.75;color:hsl(var(--muted-foreground));}
.prose p + p{margin-top:24px;}
.prose strong{color:hsl(var(--foreground));font-weight:500;}
.story-actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:40px;}

.rec-grid{display:grid;grid-template-columns:1fr;gap:1px;background:hsl(var(--border));}
@media(min-width:768px){.rec-grid{grid-template-columns:1fr 1fr;}}
.rec-span{grid-column:1 / -1;}
.rec-cell{background:hsl(var(--background));padding:44px 40px;min-height:228px;display:flex;flex-direction:column;}
.rec-logo{height:40px;display:flex;align-items:center;margin-bottom:42px;color:hsl(var(--foreground)/0.82);}
.rec-cell .note{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;line-height:1.8;color:hsl(var(--muted-foreground));margin-top:auto;max-width:34ch;}
.rl-asialaw{display:flex;align-items:center;gap:9px;}
.rl-asialaw .ic{width:24px;height:24px;border-radius:50%;background:hsl(var(--foreground)/0.82);position:relative;flex:none;}
.rl-asialaw .ic::after{content:"";position:absolute;left:7px;top:6px;width:8px;height:8px;background:hsl(var(--background));border-radius:50% 50% 50% 0;transform:rotate(8deg);}
.rl-asialaw .wm{font-family:'Inter',sans-serif;font-weight:800;font-size:23px;letter-spacing:-0.02em;}
.rl-iflr{font-family:'Playfair Display',serif;font-weight:500;font-size:27px;letter-spacing:0.04em;}
.rl-alm{display:flex;align-items:baseline;gap:9px;font-family:'Inter',sans-serif;}
.rl-alm .sm{font-size:13px;font-weight:800;letter-spacing:0.02em;}
.rl-alm .dv{color:hsl(var(--border));font-weight:400;font-size:18px;}
.rl-alm .bg{font-size:18px;font-weight:700;letter-spacing:0.01em;}
.rl-legal{display:flex;align-items:baseline;}
.rl-legal .g{font-family:'Playfair Display',serif;font-weight:500;font-size:27px;}
.rl-legal .n{font-family:'Inter',sans-serif;font-weight:800;font-size:27px;letter-spacing:-0.01em;}
.rl-alb{font-family:'Inter',sans-serif;font-weight:800;font-size:24px;line-height:1.04;letter-spacing:-0.02em;}

.founder-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center;}
@media(min-width:768px){.founder-grid{grid-template-columns:340px 1fr;gap:72px;}}
.founder-photo{position:relative;}
.founder-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;filter:grayscale(15%);}
.founder-photo::after{content:"";position:absolute;left:-14px;top:-14px;width:64px;height:64px;border-top:2px solid hsl(var(--primary));border-left:2px solid hsl(var(--primary));}
.founder-body .role{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:hsl(var(--primary));margin:8px 0 20px;}
.founder-body h3{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;letter-spacing:-0.02em;line-height:1.1;}
.founder-body .lede{font-family:'Playfair Display',serif;font-style:normal;font-size:22px;line-height:1.5;color:hsl(var(--foreground));margin:24px 0 24px;}
.founder-body p.bio{font-size:16px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));margin-bottom:14px;}
.founder-body .actions{margin-top:28px;}

.plist{border-top:1px solid hsl(var(--border));}
.prow{border-bottom:1px solid hsl(var(--border));padding:32px 0;display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:baseline;transition:color .3s;}
@media(min-width:768px){.prow{grid-template-columns:64px 1fr auto;gap:40px;}}
.prow .pn{color:hsl(var(--primary));font-size:14px;font-weight:700;}
.prow .pt{font-size:21px;font-weight:600;letter-spacing:-0.01em;}
@media(min-width:768px){.prow .pt{font-size:24px;}}
.prow .ptag{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;color:hsl(var(--muted-foreground));}
@media(max-width:767px){.prow .ptag{grid-column:2;}}
.prow:hover .pt{color:hsl(var(--primary));}

.cta-bg{position:absolute;inset:0;}
.cta-bg img{width:100%;height:100%;object-fit:cover;}
.cta-bg .ov{position:absolute;inset:0;background:hsl(var(--brand-dark)/0.95);}
.cta-grid{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:1024px){.cta-grid{grid-template-columns:1fr 1fr;gap:96px;align-items:center;}}
.cta-grid h2.section-heading{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;color:hsl(var(--background));}
.contact-item{margin-bottom:32px;}
.contact-item .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--background)/0.5);margin-bottom:8px;}
.contact-item a,.contact-item p{font-size:16px;color:hsl(var(--background)/0.85);font-weight:300;line-height:1.6;}
.contact-item a:hover{color:hsl(var(--primary));}
.contact-item .big-line{color:hsl(var(--background));}

/* =========================================================================
   TEAM (archive page)
   ========================================================================= */
.ph-hero{padding:128px 0 64px;}
.ph-hero h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.1;margin-bottom:16px;max-width:42rem;}
.ph-hero .lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:36rem;}
.team-grid{display:grid;grid-template-columns:1fr;gap:1px;background:hsl(var(--border));}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.team-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1280px){.team-grid{grid-template-columns:repeat(4,1fr);}}
.tm{background:hsl(var(--background));padding:32px;transition:background-color .3s;}
.tm:hover{background:hsl(var(--surface));}
.tm-main{display:block;color:inherit;text-decoration:none;}
.tm-photo{width:96px;height:96px;border-radius:9999px;overflow:hidden;margin-bottom:20px;}
.tm-photo img{width:100%;height:100%;object-fit:cover;}
.tm-initials{width:96px;height:96px;border-radius:9999px;background:hsl(var(--brand-navy));display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.tm-initials span{font-size:16px;font-weight:700;letter-spacing:0.08em;color:hsl(var(--background));}
.tm h3{font-size:19px;font-weight:600;margin-bottom:4px;transition:color .3s;}
.tm:hover h3{color:hsl(var(--brand-blue));}
.tm .role{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:12px;color:hsl(var(--muted-foreground));}
.tm .role.founder{color:hsl(var(--primary));}
.tm .bio{font-size:15px;font-weight:300;line-height:1.6;color:hsl(var(--muted-foreground));margin-bottom:16px;}
.tm .icons{display:flex;gap:8px;margin-top:20px;}
.tm .icons a{width:34px;height:34px;border-radius:4px;background:hsla(0,72%,44%,0.08);display:flex;align-items:center;justify-content:center;color:hsl(var(--brand-blue));transition:all .25s;}
.tm .icons a:hover{background:hsl(var(--primary));color:hsl(var(--background));}
.tm .vp{display:flex;align-items:center;gap:8px;}
.tm .vp .ln{width:24px;height:1px;background:hsl(var(--brand-blue));display:inline-block;}
.tm .vp .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:hsl(var(--brand-blue));}
.team-filters{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:48px;}
@media(min-width:768px){.team-filters{grid-template-columns:1.2fr 1fr 1fr;}}
.team-filters input,.team-filters select{width:100%;font-family:inherit;font-size:15px;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:0;padding:14px 16px;outline:none;transition:border-color .25s;-webkit-appearance:none;appearance:none;}
.team-filters input::placeholder{color:hsl(var(--muted-foreground));}
.team-filters input:focus,.team-filters select:focus{border-color:hsl(var(--primary));}
.team-filters .sel{position:relative;}
.team-filters .sel::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:1.5px solid hsl(var(--muted-foreground));border-bottom:1.5px solid hsl(var(--muted-foreground));transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.team-filters select{padding-right:40px;cursor:pointer;}
.team-noresults{padding:64px 0;text-align:center;color:hsl(var(--muted-foreground));font-size:16px;font-weight:300;display:none;}

/* =========================================================================
   EXPERTISE
   ========================================================================= */
.svc-row{padding:64px 0;}
@media(min-width:640px){.svc-row{padding:80px 0;}}
.svc-row + .svc-row{border-top:1px solid hsl(var(--border));}
.svc-grid{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(12,1fr);gap:64px;}}
.svc-num{color:hsl(var(--primary));font-size:16px;font-weight:700;}
@media(min-width:1024px){.svc-num-col{grid-column:span 1;}.svc-title-col{grid-column:span 4;}.svc-desc-col{grid-column:span 7;}}
.svc-title{font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;line-height:1.15;margin-bottom:12px;}
.svc-tags{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;color:hsl(var(--muted-foreground));}
.svc-desc{font-size:17px;font-weight:300;line-height:1.8;color:hsl(var(--muted-foreground));}
.sa-head h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:64px;max-width:28rem;}
.sa-grid{display:grid;grid-template-columns:1fr;gap:1px;background:hsl(var(--border));}
@media(min-width:640px){.sa-grid{grid-template-columns:repeat(2,1fr);}}
.sa-cell{background:hsl(var(--background));padding:40px;}
@media(min-width:640px){.sa-cell{padding:56px;}}
.sa-cell h3{font-size:18px;font-weight:600;margin-bottom:16px;}
.sa-cell p{font-size:16px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));}

/* =========================================================================
   UPDATES (blog index)
   ========================================================================= */
.rs-hero{position:relative;padding:128px 0 64px;overflow:hidden;}
.rs-hero h1{font-size:clamp(2.5rem,7vw,5rem);margin:16px 0 24px;}
.rs-hero .lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:36rem;}
.filters{border-top:1px solid hsl(var(--border));}
.filters .wrap{padding-top:24px;padding-bottom:24px;display:flex;gap:16px;flex-wrap:wrap;}
.filter-btn{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;padding:10px 20px;border:0;cursor:pointer;font-family:inherit;background:hsl(var(--surface));color:hsl(var(--muted-foreground));transition:color .2s,background-color .2s;}
.filter-btn:hover{color:hsl(var(--foreground));}
.filter-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));}
.items{padding-bottom:96px;}
.item{display:block;color:inherit;text-decoration:none;border-top:1px solid hsl(var(--border));padding:40px 16px;margin:0 -16px;transition:background-color .3s;}
@media(min-width:640px){.item{padding:56px 16px;}}
.item:hover{background:hsla(35,22%,91%,0.5);}
.item-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:1024px){.item-grid{grid-template-columns:repeat(12,1fr);}}
.item-meta{grid-column:span 2;}
.item-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:hsl(var(--muted-foreground));}
.item-type.deal{color:hsl(var(--primary));}
.item-date{font-size:13px;color:hsl(var(--muted-foreground));margin-top:4px;}
.item-body{grid-column:span 7;}
.item-body h3{font-size:19px;font-weight:600;line-height:1.35;margin-bottom:12px;transition:color .3s;}
@media(min-width:640px){.item-body h3{font-size:21px;}}
.item:hover .item-body h3{color:hsl(var(--primary));}
.item-body p{font-size:16px;font-weight:300;line-height:1.6;color:hsl(var(--muted-foreground));}
.item-area{grid-column:span 3;display:flex;align-items:flex-start;justify-content:flex-start;}
@media(min-width:1024px){.item-area{justify-content:flex-end;}}
.item-area span{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;color:hsl(var(--muted-foreground));background:hsl(var(--muted));padding:6px 12px;}
.item-thumb{display:block;width:100%;max-width:240px;aspect-ratio:16/10;object-fit:cover;margin-bottom:14px;background:hsl(var(--surface));}
@media(min-width:1024px){.item-area{flex-direction:column;align-items:flex-end;}.item-thumb{max-width:100%;}}
.item-readmore{display:inline-flex;align-items:center;gap:12px;margin-top:18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:hsl(var(--primary));}
.item-readmore .ln{width:28px;height:1px;background:hsl(var(--primary));display:inline-block;}
.cta-banner{background:hsl(var(--brand-dark));border-top:1px solid hsl(var(--border));padding:64px 0;text-align:center;}
.cta-banner p{font-size:16px;font-weight:300;margin-bottom:24px;color:hsl(var(--background)/0.75);}
.cta-banner a{display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary));transition:opacity .3s;}
.cta-banner a:hover{opacity:0.8;}
.cta-banner a .ln{width:40px;height:1px;background:hsl(var(--primary));display:inline-block;}

/* =========================================================================
   ARTICLE (single post)
   ========================================================================= */
.il-article{--maxw-read:1180px;}
.art-head{padding:120px 0 0;}
.art-head .col{max-width:var(--maxw-read);margin:0 auto;padding:0 24px;}
@media(min-width:640px){.art-head .col{padding:0 40px;}}
.art-crumb{display:flex;gap:10px;align-items:center;font-size:13px;letter-spacing:.01em;color:hsl(var(--muted-foreground));margin-bottom:30px;flex-wrap:wrap;}
.art-crumb a:hover{color:hsl(var(--foreground));}
.art-crumb .cur{color:hsl(var(--foreground));}
.art-meta{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap;}
.art-chip{display:inline-block;flex:none;width:fit-content;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#fff;background:hsl(var(--primary));padding:7px 13px;}
.art-date{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:hsl(var(--muted-foreground));}
.art-title{font-family:'Playfair Display',serif;font-weight:700;color:hsl(var(--foreground));font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.18;letter-spacing:-0.01em;max-width:24ch;}
.art-figure{display:block;margin:0 0 60px;}
.art-figure .frame{width:100%;overflow:hidden;background:hsl(var(--surface));border:1px solid hsl(var(--border));}
.art-figure .frame img{display:block;width:100%;height:auto;}
.art-wrap{max-width:var(--maxw-read);margin:0 auto;padding:48px 24px 8px;display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:640px){.art-wrap{padding-left:40px;padding-right:40px;}}
@media(min-width:960px){.art-wrap{grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding-top:56px;}}
.art-body{font-size:18px;font-weight:300;line-height:1.85;color:hsl(var(--foreground)/0.86);min-width:0;}
.art-body .lead,.art-body > p:first-of-type{font-size:20px;font-weight:400;line-height:1.7;color:hsl(var(--foreground));margin:0 0 28px;}
.art-body p{margin:0 0 24px;}
.art-body p:last-child{margin-bottom:0;}
.art-body strong{font-weight:600;color:hsl(var(--foreground));}
.art-body a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px;}
.art-share{display:flex;gap:12px;align-items:center;margin-top:40px;padding-top:26px;border-top:1px solid hsl(var(--border));}
.art-share .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:hsl(var(--muted-foreground));margin-right:2px;}
.art-share a{width:38px;height:38px;border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;color:hsl(var(--foreground));transition:all .25s;}
.art-share a:hover{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary));}
.art-side{min-width:0;}
.art-side .sticky{position:static;}
@media(min-width:960px){.art-side .sticky{position:sticky;top:104px;}}
.side-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));padding:28px;margin-bottom:20px;}
.side-card .hd{display:flex;align-items:center;gap:12px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));margin-bottom:24px;}
.side-card .hd::before{content:"";width:24px;height:2px;background:hsl(var(--primary));}
.kc-person{display:flex;gap:16px;align-items:center;}
.kc-photo{width:72px;height:72px;flex:none;overflow:hidden;background:hsl(var(--brand-navy));border-radius:9999px;}
.kc-photo img{width:100%;height:100%;object-fit:cover;object-position:top;}
.kc-photo.ini{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:19px;}
.kc-name{font-size:18px;font-weight:700;color:hsl(var(--foreground));line-height:1.2;}
.kc-name:hover{color:hsl(var(--primary));}
.kc-role{font-size:13px;color:hsl(var(--primary));margin-top:3px;line-height:1.35;}
.kc-icons{display:flex;gap:8px;margin-top:18px;}
.kc-icons a{width:38px;height:38px;background:hsl(var(--background));border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;color:hsl(var(--foreground));transition:all .25s;}
.kc-icons a:hover{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary));}
.kc-viewlink{display:inline-flex;align-items:center;gap:12px;margin-top:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:hsl(var(--foreground));}
.kc-viewlink .ln{width:28px;height:1px;background:hsl(var(--foreground));transition:background-color .3s;}
.kc-viewlink:hover{color:hsl(var(--primary));}
.kc-viewlink:hover .ln{background:hsl(var(--primary));}
.side-cta{background:hsl(var(--brand-dark));position:relative;overflow:hidden;padding:28px;}
.side-cta .geo{position:absolute;inset:0;opacity:0.1;}
.side-cta .in{position:relative;z-index:1;}
.side-cta h3{font-family:'Playfair Display',serif;font-weight:700;color:#fff;font-size:1.35rem;line-height:1.2;margin-bottom:10px;}
.side-cta p{font-size:14px;font-weight:300;line-height:1.6;color:hsl(0 0% 100%/0.72);margin-bottom:20px;}
.side-cta a{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#fff;background:hsl(var(--primary));padding:13px 22px;transition:opacity .25s;}
.side-cta .side-form .ff{margin-bottom:18px;}
.side-cta .side-form .ff label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;display:block;margin-bottom:6px;color:hsl(0 0% 100%/0.85);}
.side-cta .side-form .ff input,.side-cta .side-form .ff textarea{width:100%;background:transparent;border:0;border-bottom:1px solid hsl(0 0% 100%/0.35);padding:10px 0;font-size:15px;font-weight:300;font-family:inherit;color:#fff;outline:none;transition:border-color .3s;border-radius:0;}
.side-cta .side-form .ff input:focus,.side-cta .side-form .ff textarea:focus{border-color:hsl(var(--primary));}
.side-cta .side-form .ff textarea{resize:none;}
.side-cta .side-form .fc{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;}
.side-cta .side-form .fc input{margin-top:3px;accent-color:hsl(var(--primary));width:auto;}
.side-cta .side-form .fc label,.side-cta .side-form .fc .wpcf7-list-item-label{font-size:12.5px;font-weight:300;line-height:1.6;color:hsl(0 0% 100%/0.8);}
.side-cta .side-form .fc a{display:inline;padding:0;background:none;font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none;text-decoration:underline;color:#fff;}
.side-cta .side-form .fc a:hover{color:hsl(var(--primary));}
.side-cta .side-form .fsubmit-wrap{display:flex;justify-content:center;padding-top:6px;}
.side-cta .side-form .fsubmit-wrap input[type=submit]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#fff;background:hsl(var(--primary));padding:14px 32px;border:0;cursor:pointer;transition:opacity .25s;font-family:inherit;}
.side-cta .side-form .fsubmit-wrap input[type=submit]:hover{opacity:0.85;}
.side-cta .side-form .wpcf7-not-valid-tip{font-size:11px;color:#ffb3b3;margin-top:5px;}
.side-cta .side-form .wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:10px 12px;font-size:12px;color:#fff;border-color:hsl(0 0% 100%/0.4);}
.side-cta a:hover{opacity:0.88;}
.art-back{max-width:var(--maxw-read);margin:8px auto 0;padding:0 24px 8px;}
@media(min-width:640px){.art-back{padding-left:40px;padding-right:40px;}}
.art-back a{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--foreground));}
.art-back a .ln{width:34px;height:1px;background:hsl(var(--foreground));transition:background-color .3s;}
.art-back a:hover{color:hsl(var(--primary));}
.art-back a:hover .ln{background:hsl(var(--primary));}
.art-spacer{height:88px;}

/* =========================================================================
   CAREERS
   ========================================================================= */
.cr-hero{position:relative;padding:128px 0 80px;overflow:hidden;}
.cr-hero h1{font-size:clamp(2.5rem,7vw,5rem);margin:16px 0 24px;}
.cr-hero .lead{font-size:18px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:40rem;}
.cr-sec{padding:80px 0;}
@media(min-width:640px){.cr-sec{padding:112px 0;}}
.cr-sec.bordered{border-top:1px solid hsl(var(--border));}
.cr-sec.surface{background:hsl(var(--surface));}
.cr-head{margin-bottom:56px;max-width:40rem;}
.cr-head h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-top:16px;line-height:1.12;}
.why-grid{display:grid;grid-template-columns:1fr;gap:1px;background:hsl(var(--border));}
@media(min-width:768px){.why-grid{grid-template-columns:repeat(3,1fr);}}
.why-cell{background:hsl(var(--background));padding:44px 40px;}
.why-cell .n{font-size:11px;font-weight:700;letter-spacing:0.18em;color:hsl(var(--primary));margin-bottom:24px;}
.why-cell h3{font-size:21px;font-weight:600;margin-bottom:14px;letter-spacing:-0.01em;}
.why-cell p{font-size:16px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));}
.look-grid{display:grid;grid-template-columns:1fr;gap:64px;}
@media(min-width:1024px){.look-grid{grid-template-columns:0.9fr 1.1fr;}}
.look-list{list-style:none;margin:0;padding:0;border-top:1px solid hsl(var(--border));}
.look-list li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid hsl(var(--border));font-size:17px;font-weight:300;line-height:1.6;color:hsl(var(--foreground));}
.look-list li::before{content:"";width:7px;height:7px;background:hsl(var(--primary));margin-top:9px;flex:none;}
.roles{display:grid;grid-template-columns:1fr;gap:1px;background:hsl(var(--border));margin-top:48px;}
@media(min-width:640px){.roles{grid-template-columns:repeat(2,1fr);}}
.role-cell{background:hsl(var(--background));padding:32px 36px;}
.role-cell h4{font-size:18px;font-weight:600;margin-bottom:6px;}
.role-cell p{font-size:14px;font-weight:300;color:hsl(var(--muted-foreground));line-height:1.6;}
.apply{position:relative;overflow:hidden;background:hsl(var(--brand-dark));}
.apply .geo{position:absolute;inset:0;opacity:0.1;}
.apply .inner{position:relative;z-index:1;padding:96px 0;text-align:center;}
.apply h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;letter-spacing:-0.02em;color:hsl(var(--background));max-width:40rem;margin:0 auto 24px;line-height:1.15;}
.apply p{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--background)/0.72);max-width:38rem;margin:0 auto 40px;}
.apply a{display:inline-flex;align-items:center;gap:16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary));}
.apply a .ln{width:40px;height:1px;background:hsl(var(--primary));display:inline-block;}
.apply a:hover{opacity:0.8;}

/* =========================================================================
   ICON CORPSERV
   ========================================================================= */
.cs-hero{position:relative;padding:128px 0 80px;overflow:hidden;background:hsl(var(--brand-navy));}
.cs-hero .geo{position:absolute;inset:0;opacity:0.15;}
.cs-hero .back{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--background)/0.5);display:inline-block;margin-bottom:32px;transition:color .3s;}
.cs-hero .back:hover{color:hsl(var(--primary));}
.cs-hero .label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--background)/0.5);margin-bottom:16px;}
.cs-hero h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.1;margin-bottom:24px;color:hsl(var(--background));}
.cs-hero .lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--background)/0.75);max-width:36rem;}
.intro{padding:80px 0;}
@media(min-width:640px){.intro{padding:112px 0;}}
.intro-grid{display:grid;grid-template-columns:1fr;gap:64px;}
@media(min-width:1024px){.intro-grid{grid-template-columns:repeat(2,1fr);}}
.intro h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:32px;line-height:1.15;}
.intro p{font-size:17px;font-weight:300;line-height:1.8;color:hsl(var(--muted-foreground));}
.svc-sec{padding:64px 0;background:hsl(var(--surface));}
@media(min-width:640px){.svc-sec{padding:96px 0;}}
.svc-sec h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:64px;}
.cs-grid{display:grid;grid-template-columns:1fr;gap:1px;background:hsl(var(--border));}
@media(min-width:640px){.cs-grid{grid-template-columns:repeat(2,1fr);}}
.cs-cell{background:hsl(var(--background));padding:40px;transition:background-color .3s;}
@media(min-width:640px){.cs-cell{padding:56px;}}
.cs-cell .ic{margin-bottom:24px;}
.cs-cell h3{font-size:19px;font-weight:600;margin-bottom:16px;}
.cs-cell p{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));}
.promise{padding:80px 0;text-align:center;}
@media(min-width:640px){.promise{padding:112px 0;}}
.promise h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:0 auto 32px;max-width:42rem;}
.promise p{font-size:17px;font-weight:300;line-height:1.8;color:hsl(var(--muted-foreground));max-width:42rem;margin:0 auto 48px;}
.promise .link-arrow{justify-content:center;}

/* =========================================================================
   CONTACT
   ========================================================================= */
.ct-hero{padding:128px 0 56px;}
.ct-hero h1{font-size:clamp(2.5rem,7vw,5rem);margin:16px 0 24px;}
.ct-hero .lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));max-width:38rem;}
.ct-main{border-top:1px solid hsl(var(--border));padding:72px 0 112px;}
.ct-grid{display:grid;grid-template-columns:1fr;gap:56px;}
@media(min-width:1024px){.ct-grid{grid-template-columns:0.9fr 1.1fr;gap:96px;}}
.ct-detail{display:flex;flex-direction:column;gap:36px;}
.ct-item .cl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--brand-blue));margin-bottom:10px;}
.ct-item a,.ct-item p{font-size:18px;font-weight:400;color:hsl(var(--foreground));line-height:1.6;}
.ct-item a:hover{color:hsl(var(--primary));}
.ct-item .muted{color:hsl(var(--muted-foreground));font-weight:300;font-size:16px;}
.ct-linkedin{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary));}
.ct-linkedin:hover{opacity:0.7;}
.ct-form-wrap{background:hsl(var(--surface));border:1px solid hsl(var(--border));padding:40px;}
@media(min-width:640px){.ct-form-wrap{padding:56px;}}
.ct-form-wrap .fl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));margin-bottom:32px;}
.ct-form-wrap .ff{margin-bottom:24px;}
.ct-form-wrap .ff label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;display:block;margin-bottom:8px;color:hsl(var(--foreground));}
.ct-form-wrap .ff input,.ct-form-wrap .ff textarea{width:100%;background:transparent;border:0;border-bottom:1px solid hsl(var(--border));padding:12px 0;font-size:16px;font-weight:300;font-family:inherit;color:hsl(var(--foreground));outline:none;transition:border-color .3s;border-radius:0;}
.ct-form-wrap .ff input:focus,.ct-form-wrap .ff textarea:focus{border-color:hsl(var(--primary));}
.ct-form-wrap .ff textarea{resize:none;}
.ct-form-wrap .fc{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px;}
.ct-form-wrap .fc input{margin-top:4px;accent-color:hsl(var(--primary));width:auto;}
.ct-form-wrap .fc label,.ct-form-wrap .fc .wpcf7-list-item-label{font-size:13px;font-weight:300;line-height:1.6;color:hsl(var(--muted-foreground));}
.ct-form-wrap .fc a{text-decoration:underline;color:hsl(var(--foreground));}
.ct-form-wrap .fc a:hover{color:hsl(var(--primary));}
.ct-form-wrap .fsubmit-wrap{display:flex;justify-content:flex-start;padding-top:28px;}
.ct-form-wrap .fsubmit-wrap input[type=submit]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:#fff;background:hsl(var(--primary));border:0;cursor:pointer;transition:background-color .3s;font-family:inherit;padding:16px 48px;border-radius:0;}
.ct-form-wrap .fsubmit-wrap input[type=submit]:hover{background:hsl(var(--brand-navy));}
.map-band{border-top:1px solid hsl(var(--border));background:hsl(var(--brand-dark));position:relative;overflow:hidden;}
.map-band .geo{position:absolute;inset:0;opacity:0.1;}
.map-band .inner{position:relative;z-index:1;padding:56px 0 40px;display:grid;grid-template-columns:1fr;gap:20px;align-items:end;}
@media(min-width:768px){.map-band .inner{grid-template-columns:1fr auto;}}
.map-band h2{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;letter-spacing:-0.02em;color:hsl(var(--background));line-height:1.15;}
.map-band .inner > div > p{font-size:16px;font-weight:300;color:hsl(var(--background)/0.7);margin-top:12px;}
.map-band .text-label{color:hsl(var(--background)/0.5);margin-bottom:14px;display:block;}
.map-band a.maps-link{display:inline-flex;align-items:center;gap:16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary));white-space:nowrap;}
.map-band a.maps-link .ln{width:40px;height:1px;background:hsl(var(--primary));display:inline-block;}
.map-embed{line-height:0;position:relative;z-index:1;}
.map-embed iframe{width:100%;height:460px;border:0;display:block;}

/* ---------- Contact Form 7 plumbing ---------- */
.wpcf7-form-control-wrap{display:block;}
.wpcf7-not-valid-tip{color:hsl(var(--primary));font-size:12px;margin-top:6px;}
.wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:12px 16px;border:1px solid hsl(var(--border));font-size:14px;}
.form-card .wpcf7 form .wpcf7-response-output{color:hsl(var(--background)/0.85);border-color:hsl(var(--background)/0.35);}
.fc .wpcf7-list-item{margin:0;}
.fc .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:12px;}
.fc .wpcf7-acceptance input{margin-top:4px;accent-color:hsl(var(--primary));}

/* =========================================================================
   TEAM PROFILE (single) — editorial format, scoped under .il-profile
   ========================================================================= */
.il-profile{
  --cream:#faf5e9;
  --cream-line:#e6ddc8;
  --paper:#ecebe6;
  --paper-line:#dcdbd4;
  --ink:#17191e;
  --ink-soft:#3c3f47;
  --p-muted:#8a8a88;
  --muted-2:#a4a4a0;
  --red:#c21f20;
  --steel:#c21f20;
  --grotesk:'Inter','Helvetica Neue',Arial,sans-serif;
  --p-serif:'Playfair Display',Georgia,serif;
  --p-wrap:1240px;
  --pad-x:54px;
  font-family:var(--grotesk);
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  padding-top:80px;
}
body.admin-bar .il-profile{padding-top:112px;}
@media (max-width:980px){.il-profile{--pad-x:28px;}}
.il-profile .pwrap{max-width:var(--p-wrap);margin:0 auto;padding:0 var(--pad-x);}
.il-profile .kicker{display:flex;align-items:center;gap:16px;font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--p-muted);margin:0;}
.il-profile .kicker::before{content:"";width:34px;height:1px;background:var(--ink);opacity:.55;flex:none;}
.il-profile .kicker.red{color:var(--red);}
.il-profile .kicker.red::before{background:var(--red);opacity:1;}
.il-profile .em{font-family:var(--p-serif);font-weight:400;color:var(--red);}
.il-profile .dot{color:var(--red);}
.il-profile .pf-hero{background:var(--cream);overflow:hidden;}
.il-profile .pf-hero .pwrap{display:grid;grid-template-columns:1.08fr .8fr;gap:48px;align-items:center;min-height:520px;padding-top:64px;padding-bottom:64px;}
.il-profile .hero-name{font-family:var(--grotesk);font-weight:900;font-size:clamp(48px,6.4vw,92px);line-height:.94;letter-spacing:-.025em;margin:24px 0 0;color:var(--ink);}
.il-profile .hero-role{font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:28px 0 0;}
.il-profile .hero-role .sep{color:var(--red);margin:0 12px;}
.il-profile .pf-lead{font-size:19px;line-height:1.6;color:var(--ink-soft);max-width:48ch;margin:24px 0 0; text-align: justify;}
.il-profile .pf-lead b{font-weight:700;color:var(--ink);}
.il-profile .hero-contact{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;padding-top:28px;border-top:1px solid var(--cream-line);}
.il-profile .hc-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--steel);border-radius:999px;color:var(--red);background:transparent;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.il-profile .hc-icon svg{width:19px;height:19px;}
.il-profile .hc-icon:hover{background:var(--red);border-color:var(--red);color:#fff;}
.il-profile .hero-photo-frame{justify-self:end;width:100%;max-width:380px;aspect-ratio:4/5;position:relative;}
.il-profile .hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(6%) drop-shadow(0 16px 26px rgba(40,30,10,.22));}
.il-profile .hero-photo-frame::after{content:"";position:absolute;left:-14px;top:-14px;width:62px;height:62px;border-top:2px solid var(--red);border-left:2px solid var(--red);}
.il-profile .hero-photo-frame.initials{display:flex;align-items:center;justify-content:center;background:var(--paper);box-shadow:0 24px 44px rgba(40,30,10,.14);}
.il-profile .hero-photo-frame.initials span{font-family:var(--grotesk);font-weight:800;font-size:72px;letter-spacing:.04em;color:var(--muted-2);}
.il-profile .facts{background:var(--cream);border-top:1px solid var(--cream-line);}
.il-profile .facts .pwrap{display:grid;}
.il-profile .fact{padding:34px 30px 36px;border-left:1px solid var(--cream-line);}
.il-profile .fact:first-child{border-left:0;padding-left:0;}
.il-profile .fact-num{font-family:var(--grotesk);font-weight:800;font-size:34px;letter-spacing:-.02em;color:var(--ink);line-height:1;}
.il-profile .fact-label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--p-muted);margin-top:12px;}
.il-profile .facts-practices .fact{padding:20px 20px 22px;}
.il-profile .facts-practices .fact:first-child{padding-left:0;}
.il-profile .fact-practice{font-family:var(--grotesk);font-weight:500;font-size:12.5px;line-height:1.45;letter-spacing:.01em;color:var(--p-muted);text-transform: uppercase;}
.il-profile .psection{padding:88px 0;}
.il-profile .psection.grey{background:var(--paper);}
.il-profile .col-head{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;align-items:start;margin-top:22px;}
.il-profile .col-head .sec-title{margin-top:0;}
.il-profile .col-head .pprose{max-width:50ch;}
.il-profile .sec-title{font-family:var(--grotesk);font-weight:800;font-size:42px;line-height:1.05;letter-spacing:-.02em;color:var(--ink);margin:18px 0 0;}
.il-profile .pprose p{font-size:17.5px;line-height:1.72;color:var(--ink-soft);margin:0 0 22px;}
.il-profile .pprose p:last-child{margin-bottom:0;}
.il-profile .pprose b{color:var(--ink);font-weight:700;}
.il-profile .pprose .fineprint{font-size:14px;color:var(--p-muted);margin-top:-10px;}
.il-profile .career-track{margin-top:30px;max-width:62ch;border-left:2px solid var(--red);padding-left:34px;}
.il-profile .career-track p{font-size:17.5px;line-height:1.74;color:var(--ink-soft);margin:0 0 20px;}
.il-profile .career-track p:first-child{font-size:20px;line-height:1.6;color:var(--ink);font-weight:500;}
.il-profile .career-track p:last-child{margin-bottom:0;}
.il-profile .career-track .fineprint{font-size:14px;color:var(--p-muted);}
@media (max-width:560px){.il-profile .career-track{padding-left:22px;}}
.il-profile .practice-list{margin:46px 0 0;border-top:1px solid var(--paper-line);}
.il-profile .prow{display:grid;grid-template-columns:64px 1fr;gap:28px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--paper-line);}
.il-profile .prow-num{font-family:var(--grotesk);font-weight:700;font-size:15px;color:var(--red);letter-spacing:.04em;}
.il-profile .prow-title{font-family:var(--grotesk);font-weight:700;font-size:23px;letter-spacing:-.01em;color:var(--ink);}
.il-profile .deal-list{counter-reset:d;list-style:none;margin:46px 0 0;padding:0;border-top:1px solid var(--cream-line);}
.il-profile .psection.grey .deal-list{border-top-color:var(--paper-line);}
.il-profile .deal-list li{display:grid;grid-template-columns:48px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--cream-line);font-size:16.5px;line-height:1.62;
   /* color:var(--ink-soft); */
   color:#4A4A4A;font-weight: 500;
}
.il-profile .psection.grey .deal-list li{border-bottom-color:var(--paper-line);}
.il-profile .deal-list li::before{counter-increment:d;content:counter(d,decimal-leading-zero);color:var(--red);font-weight:700;font-size:14px;font-family:var(--grotesk);padding-top:3px;}
.il-profile .twoup{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:46px;border-top:1px solid var(--cream-line);}
.il-profile .psection.grey .twoup{border-top-color:var(--paper-line);}
.il-profile .twoup > div{padding:38px 44px 10px 0;}
.il-profile .twoup > div + div{padding-left:44px;border-left:1px solid var(--cream-line);}
.il-profile .psection.grey .twoup > div + div{border-left-color:var(--paper-line);}
.il-profile .twoup.single{grid-template-columns:1fr;}
.il-profile .block-title{font-family:var(--grotesk);font-weight:700;font-size:21px;color:var(--ink);margin:0 0 24px;}
.il-profile .award{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--cream-line);}
.il-profile .psection.grey .award{border-bottom-color:var(--paper-line);}
.il-profile .award:last-child{border-bottom:0;margin-bottom:0;}
.il-profile .award b{display:block;font-size:16.5px;font-weight:700;color:var(--ink);margin-bottom:4px;line-height:1.4;}
.il-profile .award span{font-size:14.5px;color:var(--p-muted);}
.il-profile .qual{display:flex;gap:14px;padding:0 0 18px;}
.il-profile .qual:last-child{padding-bottom:0;}
.il-profile .qual::before{content:"";width:7px;height:7px;background:var(--red);margin-top:9px;flex:none;}
.il-profile .qual p{margin:0;font-size:16px;line-height:1.5;
   /* color:var(--ink-soft); */
   color:#4A4A4A;font-weight: 500;
}
.il-profile .langs{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.il-profile .langs span{font-size:14px;font-weight:600;color:var(--ink);padding:7px 16px;border:1px solid var(--cream-line);border-radius:999px;}
.il-profile .psection.grey .langs span{border-color:var(--paper-line);}
.il-profile .contact-band{background:var(--cream);border-top:1px solid var(--cream-line);}
.il-profile .contact-band .pwrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;padding:74px var(--pad-x);align-items:center;}
.il-profile .contact-band .pwrap.solo{grid-template-columns:1fr;}
.il-profile .cb-title{font-family:var(--grotesk);font-weight:800;font-size:40px;line-height:1.05;letter-spacing:-.02em;margin:18px 0 0;}
.il-profile .cb-list{display:flex;flex-wrap:wrap;gap:34px 60px;}
.il-profile .cb-item .lbl{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:10px;}
.il-profile .cb-item a,.il-profile .cb-item span{font-size:18px;font-weight:600;color:var(--ink);}
.il-profile .cb-item a:hover{color:var(--red);}
.il-profile .back-team{margin-top:36px;}
.il-profile .back-team a{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}
.il-profile .back-team a::before{content:"";width:34px;height:1px;background:var(--ink-soft);}
.il-profile .back-team a:hover{color:var(--red);}
@media (max-width:980px){
  .il-profile .pf-hero .pwrap{grid-template-columns:1fr;align-items:start;min-height:0;}
  .il-profile .hero-photo-frame{justify-self:start;max-width:300px;margin-top:8px;order:-1;}
  .il-profile .facts .pwrap{grid-template-columns:1fr 1fr!important;}
  .il-profile .fact{border-left:1px solid var(--cream-line);padding-left:24px;}
  .il-profile .fact:nth-child(odd){border-left:0;padding-left:0;}
  .il-profile .fact:nth-child(n+3){border-top:1px solid var(--cream-line);}
  .il-profile .col-head{grid-template-columns:1fr;gap:22px;}
  .il-profile .twoup{grid-template-columns:1fr;}
  .il-profile .twoup > div + div{padding-left:0;border-left:0;border-top:1px solid var(--cream-line);}
  .il-profile .contact-band .pwrap{grid-template-columns:1fr;gap:30px;}
}
@media (max-width:560px){
  .il-profile .prow{grid-template-columns:40px 1fr;gap:14px;}
  .il-profile .facts .pwrap{grid-template-columns:1fr!important;}
  .il-profile .fact{border-left:0!important;padding-left:0!important;border-top:1px solid var(--cream-line);}
  .il-profile .fact:first-child{border-top:0;}
}

/* ---------- Elementor structural helpers ---------- */
.il-team-list{padding-bottom:96px;}
.people-col{position:relative;z-index:10;max-width:var(--maxw);margin:0 auto;width:100%;padding:32px 24px 0;border-top:1px solid hsl(var(--border));}
@media(min-width:640px){.people-col{padding:32px 40px 0;}}
.wrap-col{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 24px;position:relative;z-index:10;}
@media(min-width:640px){.wrap-col{padding:0 40px;}}

/* =========================================================================
   NATIVE ELEMENTOR SKIN — widgets inherit the design system via wrapper
   classes; typography cascades into headings/text editors.
   ========================================================================= */

/* Headings inherit everything from the classed wrapper (beats kit globals) */
.il .elementor-widget-heading .elementor-heading-title,
.il.elementor-widget-heading .elementor-heading-title{line-height:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;font-family:inherit;text-transform:inherit;font-style:inherit;}
/* Text editor inherits too */
.il .elementor-widget-text-editor{font-family:inherit;}

/* Type scale helpers (clamp sizes from the prototypes) */
.il-h-hero{font-size:clamp(2.5rem,7vw,5rem);}
.il-h-herohome{font-size:clamp(2.6rem,7vw,7rem);}
.il-h-firm{font-size:clamp(1.5rem,2.6vw,2.25rem);font-weight:800;letter-spacing:-0.02em;}
.il-h-sec{font-size:clamp(2rem,3.6vw,3rem);}
.il-h-sec-md{font-size:clamp(1.8rem,4vw,2.8rem);}
.il-h-sec-sm{font-size:clamp(1.8rem,4vw,2.5rem);}
.il-h-sec-26{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.12;}
.il-h-story{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;}
.il-h-ph{font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.1;}
.il-h-svc{font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;line-height:1.15;}
.il-h-map{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;letter-spacing:-0.02em;line-height:1.15;}
.il-h3-19{font-size:19px;font-weight:600;}
.il-h3-20{font-size:20px;font-weight:600;letter-spacing:-0.01em;}
.il-h3-21{font-size:21px;font-weight:600;letter-spacing:-0.01em;}
.il-h3-18{font-size:18px;font-weight:600;}
.il-h4-18{font-size:18px;font-weight:600;}

/* Body/lead text helpers (max-widths constrain the inner container so
   widget flex items keep their full row) */
.il-lead{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));}
.il-lead > *{max-width:56rem;}
.il-lead-19{font-size:19px;}
.il-lead-19 > *{max-width:54rem;}
.il-lead-18{font-size:18px;}
.il-lead-18 > *{max-width:60rem;}
.il-lead-32 > *{max-width:52rem;}
.il-lead-38 > *{max-width:58rem;}
.il-lead-40 > *{max-width:62rem;}
.il-body-16{font-size:16px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));}
.il-body-17{font-size:17px;font-weight:300;line-height:1.8;color:hsl(var(--muted-foreground));}
.il-prose p{font-size:17px;font-weight:300;line-height:1.75;color:hsl(var(--muted-foreground));margin:0;}
.il-prose p + p{margin-top:24px;}
.il-prose-20 p + p{margin-top:20px;}
.il-prose strong{color:hsl(var(--foreground));font-weight:500;}
.il-quote{border-left:2px solid hsl(var(--primary));padding-left:24px;}
.il-quote p{font-size:18px;font-weight:300;line-height:1.6;font-style:normal;color:hsl(var(--muted-foreground));margin:0;}
.il-quote-17 p{font-size:17px;line-height:1.7;}
.il-lede p{font-family:'Playfair Display',serif;font-style:normal;font-size:22px;line-height:1.5;color:hsl(var(--foreground));margin:0;}
.il-cream{color:hsl(var(--background));}
.il-cream-72 p{color:hsl(var(--background)/0.72);}
.il-cream-75 p{color:hsl(var(--background)/0.75);}
.il-label-dim{color:hsl(var(--background)/0.5);}

/* Margin helpers (widget wrappers) */
.il-mb-4{margin-bottom:4px!important;}.il-mb-6{margin-bottom:6px!important;}.il-mb-8{margin-bottom:8px!important;}
.il-mb-12{margin-bottom:12px!important;}.il-mb-14{margin-bottom:14px!important;}.il-mb-16{margin-bottom:16px!important;}
.il-mb-18{margin-bottom:18px!important;}.il-mb-20{margin-bottom:20px!important;}.il-mb-24{margin-bottom:24px!important;}
.il-mb-28{margin-bottom:28px!important;}.il-mb-32{margin-bottom:32px!important;}.il-mb-34{margin-bottom:34px!important;}
.il-mb-36{margin-bottom:36px!important;}.il-mb-40{margin-bottom:40px!important;}.il-mb-48{margin-bottom:48px!important;}
.il-mb-56{margin-bottom:56px!important;}.il-mb-64{margin-bottom:64px!important;}
.il-mt-8{margin-top:8px!important;}.il-mt-16{margin-top:16px!important;}.il-mt-24{margin-top:24px!important;}
.il-mt-28{margin-top:28px!important;}.il-mt-32{margin-top:32px!important;}.il-mt-40{margin-top:40px!important;}
.il-mt-48{margin-top:48px!important;}.il-mt-auto{margin-top:auto!important;}

/* Side gutters for boxed sections — padding lives INSIDE the 1600px container
   (same box as the header and the prototype .wrap), so all sections share the
   header's exact content edges. */
.il-px > .elementor-container{padding-left:24px;padding-right:24px;}
@media(min-width:640px){.il-px > .elementor-container{padding-left:40px;padding-right:40px;}}
.il-hero-pad{padding-top:128px;padding-bottom:80px;}
.il-hero-pad-64{padding-top:128px;padding-bottom:64px;}
.il-hero-pad-56{padding-top:128px;padding-bottom:56px;}

/* Arrow link as native Button widget */
.il .il-arrow .elementor-button,
.il .il-arrow .elementor-button:focus{background:none;border:none;border-radius:0;padding:0;color:hsl(var(--foreground));font-family:'Inter',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;transition:color .3s;box-shadow:none;}
.il .il-arrow .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:16px;}
.il .il-arrow .elementor-button-content-wrapper::before{content:"";width:40px;height:1px;background:currentColor;display:inline-block;flex:none;}
.il .il-arrow .elementor-button:hover{color:hsl(var(--primary));background:none;}
.il .il-arrow-red .elementor-button{color:hsl(var(--primary));}
.il .il-arrow-red .elementor-button:hover{color:hsl(var(--primary));opacity:0.8;}
.il .il-arrow-blue .elementor-button{color:hsl(var(--brand-blue));}
.il .il-arrow-blue .elementor-button:hover{color:hsl(var(--brand-navy));}
.il .il-arrow-center .elementor-button-wrapper{text-align:center;}

/* Geo grid overlay for dark/navy sections */
.il-geo{position:relative;}
.il-geo::before{content:"";position:absolute;inset:0;opacity:0.1;pointer-events:none;z-index:0;
  background-image:linear-gradient(hsla(215,55%,50%,0.5) 1px, transparent 1px),linear-gradient(90deg, hsla(215,55%,50%,0.5) 1px, transparent 1px);
  background-size:40px 40px;}
.il-geo > .elementor-container{position:relative;z-index:1;}
.il-geo-15::before{opacity:0.15;}

/* Stat strip — native 4-column inner section */
.il-stats{border-top:1px solid hsl(var(--border));}
.il-stats > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:24px 16px;}
@media(min-width:640px){.il-stats > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:28px 24px;}}
.il-stats-lg > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:32px 16px;}
@media(min-width:640px){.il-stats-lg > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:32px 24px;}}
.il-stats > .elementor-container > .elementor-column:not(:first-child){border-left:1px solid hsl(var(--border));}
@media(max-width:767px){.il-stats > .elementor-container{flex-wrap:wrap;}
  .il-stats > .elementor-container > .elementor-column{width:50%;}
  .il-stats > .elementor-container > .elementor-column:nth-child(3){border-left:0;}
  .il-stats > .elementor-container > .elementor-column:nth-child(n+3){border-top:1px solid hsl(var(--border));}}
.il-stat-v{font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-0.02em;}
.il-stat-l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));}

/* Numbered list rows — native 3-column inner sections */
.il-row{border-bottom:1px solid hsl(var(--border));padding:22px 0;}
.il-row-first{border-top:1px solid hsl(var(--border));}
.il-row > .elementor-container{align-items:baseline;}
.il-row-lg{padding:32px 0;}
.il-num{color:hsl(var(--primary));font-size:14px;font-weight:700;}
.il-num-16{font-size:16px;}
.il-row-t{font-size:20px;font-weight:600;letter-spacing:-0.01em;}
@media(min-width:768px){.il-row-t{font-size:22px;}}
.il-row-t-lg{font-size:21px;}
@media(min-width:768px){.il-row-t-lg{font-size:24px;}}
.il-row:hover .il-row-t-lg{color:hsl(var(--primary));}
.il-row-tag{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;color:hsl(var(--muted-foreground));}
.il-row-tag .elementor-heading-title{text-align:right;}
@media(max-width:767px){.il-row-tag .elementor-heading-title{text-align:left;}}

/* Expertise service rows */
.il-svc-row{padding:64px 0;}
@media(min-width:640px){.il-svc-row{padding:80px 0;}}
.il-svc-row + .il-svc-row{border-top:1px solid hsl(var(--border));}

/* Hairline cell grids — native columns with 1px gaps. Columns flex-fill the
   row so no leftover container background shows at the right edge. */
.il-hairline > .elementor-container{gap:1px;background:hsl(var(--border));}
.il-hairline > .elementor-container > .elementor-column{background:hsl(var(--background));flex:1 1 0%;}
.il-hairline > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:40px;align-content:flex-start;}
.il-hairline-44 > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:44px 40px;}
.il-hairline-56 > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:40px;}
@media(min-width:640px){.il-hairline-56 > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:56px;}}
.il-hairline-roles > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:32px 36px;}
@media(max-width:767px){.il-hairline > .elementor-container{flex-wrap:wrap;}.il-hairline > .elementor-container > .elementor-column{width:100%;flex:0 0 100%;}}
.il-cell-num{font-size:11px;font-weight:700;letter-spacing:0.18em;color:hsl(var(--primary));}
.il-rec-note{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;line-height:1.8;color:hsl(var(--muted-foreground));}
.il-rec-note > *{max-width:34ch;}
.il-rec-note-wide > *{max-width:60ch;}
.il-rec-logo{min-height:40px;display:flex;align-items:center;color:hsl(var(--foreground)/0.82);margin-bottom:42px;}
.il-rec-logo .elementor-heading-title{display:flex;align-items:center;min-height:40px;line-height:1.15;}
.il-rec-cell > .elementor-widget-wrap{min-height:228px;}

/* Two-column splits */
.il-2col > .elementor-container{justify-content:space-between;}
.il-2col-center > .elementor-container{align-items:center;}

/* People section foot */
.il-people-foot{border-top:1px solid hsl(var(--border));padding-top:32px;}

/* Contact / CTA detail blocks */
.il-cl{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--brand-blue));}
.il-cl-dim{color:hsl(var(--background)/0.5);}
.il-ct-a p,.il-ct-a a{font-size:23px;font-weight:400;color:hsl(var(--foreground));line-height:1.6;margin:0;}
.il-ct-a a:hover{color:hsl(var(--primary));}
.il-ct-a p.muted,.il-ct-a .muted{color:hsl(var(--muted-foreground));font-weight:300;font-size:20px;line-height:1.7;}
.il-ct-dark a,.il-ct-dark p{font-size:19px;color:hsl(var(--background)/0.85);font-weight:300;line-height:1.65;margin:0;}
.il-ct-dark a:hover{color:hsl(var(--primary));}
.il-ct-dark p.firm{font-weight:500;color:hsl(var(--background));}
.il-ct-dark p.addr{color:hsl(var(--background)/0.7);line-height:1.75;}
.il-linkedin-red a{display:inline-block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary));text-decoration:none;margin-top:4px;}
.il-linkedin-red a:hover{opacity:0.7;}

/* Header (HFE template) — fixed to the top; beats HFE's own
   `.ehf-header #masthead{position:relative}` rule on specificity. */
body.ehf-header header#masthead,
header#masthead{position:fixed;top:0;left:0;right:0;width:100%;z-index:99;transition:all .3s;}
body.admin-bar.ehf-header header#masthead,
body.admin-bar header#masthead{top:32px;}
/* On mobile the WP admin bar isn't fixed (it scrolls away), so the 32px offset
   leaves a gap above the fixed header once scrolled — pin it to the very top. */
@media screen and (max-width:782px){
  body.admin-bar.ehf-header header#masthead,
  body.admin-bar header#masthead{top:0;}
}
body.ehf-header header#masthead.scrolled,
body.ehf-header header#masthead.solid,
header#masthead.scrolled,header#masthead.solid{background:hsla(35,30%,95%,0.95);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid hsl(var(--border));}
.il-nh > .elementor-container{max-width:1600px;align-items:center;min-height:112px;padding:0 24px;}
@media(min-width:640px){.il-nh > .elementor-container{padding:0 40px;}}
.il-nh .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}
.il-nh-logo > .elementor-widget-wrap{justify-content:flex-start;}
.il .il-nh-logo .elementor-widget-image{text-align:left;}
.il-nh-logo img{height:100px;width:auto;}
.il-nh-cta > .elementor-widget-wrap{justify-content:flex-end;}
.il .il-nav-cta .elementor-button,
.il .il-nav-cta .elementor-button:focus{width:40px;height:40px;border-radius:9999px;background:hsl(var(--brand-navy));padding:0;display:inline-flex;align-items:center;justify-content:center;color:hsl(var(--background));transition:background-color .3s;border:none;font-size:14px;}
.il .il-nav-cta .elementor-button:hover{background:hsl(var(--primary));color:hsl(var(--background));}
.il .il-nav-cta .elementor-button-icon i{font-size:14px;color:hsl(0 0% 100%);}
.il .il-nav-cta .elementor-button-icon svg{width:14px;height:14px;fill:#fff;}
.il .il-nav-cta .elementor-button-wrapper{text-align:right;}
.il .il-nav-cta .elementor-button .elementor-button-content-wrapper{gap:0;}
/* HFE navigation menu skin */
@media(min-width:1025px){
  .il-nh .hfe-nav-menu__layout-horizontal .hfe-nav-menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;}
  .il-nh .hfe-nav-menu > li.menu-item{margin:0 0 0 22px;}
}
@media(min-width:1180px){.il-nh .hfe-nav-menu > li.menu-item{margin-left:30px;}}
@media(min-width:1400px){.il-nh .hfe-nav-menu > li.menu-item{margin-left:38px;}}
.il-nh .hfe-nav-menu li.menu-item a.hfe-menu-item{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;white-space:nowrap;color:hsl(var(--foreground)/0.7);transition:color .3s;padding:0;background:none;}
.il-nh .hfe-nav-menu li.menu-item a.hfe-menu-item:hover,
.il-nh .hfe-nav-menu li.menu-item.current-menu-item a.hfe-menu-item{color:hsl(var(--primary));}
.il-nh .hfe-nav-menu__toggle{color:hsl(var(--foreground));margin-left:auto;}
.il-nh .hfe-nav-menu__toggle i{font-size:22px;}
/* keep logo + burger on one 80px row below the desktop breakpoint */
.il-nh > .elementor-container{flex-wrap:nowrap;justify-content:space-between;}
@media(max-width:1024px){
  .il-nh .elementor-column.il-nh-logo{width:auto!important;}
  .il-nh .elementor-column.il-nh-menu{width:auto!important;flex:1;}
}
/* dropdown panel (burger open) */
.il-nh nav.hfe-dropdown{background:hsl(var(--background));border-top:1px solid hsl(var(--border));}
.il-nh nav.hfe-dropdown .hfe-nav-menu{display:block;background:hsl(var(--background));}
.il-nh nav.hfe-dropdown .hfe-nav-menu li.menu-item{margin:0;display:block;}
.il-nh nav.hfe-dropdown .hfe-nav-menu li.menu-item a.hfe-menu-item{padding:14px 24px;justify-content:flex-start;display:block;}

/* Footer (HFE template) */
.il-nf{background:hsl(var(--brand-dark));}
.il-nf > .elementor-container{max-width:1600px;padding:64px 24px;gap:48px;}
@media(min-width:640px){.il-nf > .elementor-container{padding:64px 40px;}}
@media(max-width:1023px){.il-nf > .elementor-container{flex-wrap:wrap;}.il-nf > .elementor-container > .elementor-column{width:50%;}}
@media(max-width:639px){.il-nf > .elementor-container > .elementor-column{width:100%;}}
.il-f-tag p{font-size:15px;font-weight:300;line-height:1.6;color:hsl(var(--background)/0.6);margin:0;}
.il-f-h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--background)/0.5);}
.il-f-links .elementor-icon-list-items{display:block;}
.il-f-links .elementor-icon-list-item{margin:0 0 12px;}
.il-f-links .elementor-icon-list-item a{display:block;}
.il .il-f-links .elementor-icon-list-icon,
.il .il-f-links .elementor-icon-list-icon svg,
.il .il-f-links .e-font-icon-svg{display:none!important;}
.il-f-links .elementor-icon-list-text{font-size:15px;font-weight:300;color:hsl(var(--background)/0.7);transition:color .3s;}
.il-f-links a:hover .elementor-icon-list-text{color:hsl(var(--primary));}
.il-f-contact a{display:block;font-size:15px;font-weight:300;color:hsl(var(--background)/0.7);margin-bottom:12px;text-decoration:none;}
.il-f-contact a:hover{color:hsl(var(--primary));}
.il-f-contact p.footer-addr{font-size:15px;font-weight:300;color:hsl(var(--background)/0.55);line-height:1.7;margin:0 0 12px;}
.il-f-contact a.footer-linkedin{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--primary));}
.il-f-bottom{border-top:1px solid hsl(var(--background)/0.1);margin-top:64px;padding:32px 24px;max-width:1600px;margin-left:auto;margin-right:auto;}
@media(min-width:640px){.il-f-bottom{padding:32px 40px;}}
.il-f-bottom p{font-size:12px;font-weight:300;color:hsl(var(--background)/0.4);margin:0;}
.il-f-bottom .il-f-right p{text-align:right;}
@media(max-width:639px){.il-f-bottom .il-f-right p{text-align:left;}}

/* Founder photo (native image widget) */
.il-founder-photo{position:relative;max-width:340px;}
.il-founder-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;filter:grayscale(15%);}
.il-founder-photo::after{content:"";position:absolute;left:-14px;top:-14px;width:64px;height:64px;border-top:2px solid hsl(var(--primary));border-left:2px solid hsl(var(--primary));}
.il-founder-role{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:hsl(var(--primary));}

/* CorpServ service icons (native Icon widget) */
.il .il-cs-ic .elementor-icon{font-size:32px;color:hsl(var(--brand-blue));fill:hsl(var(--brand-blue));}
.il .il-cs-ic .elementor-icon:hover{color:hsl(var(--brand-blue));}
.il .il-cs-ic .elementor-icon-wrapper{text-align:left;}

/* Careers list (text-editor ul) */
.il-look ul{list-style:none;margin:0;padding:0;border-top:1px solid hsl(var(--border));}
.il-look li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid hsl(var(--border));font-size:17px;font-weight:300;line-height:1.6;color:hsl(var(--foreground));}
.il-look li::before{content:"";width:7px;height:7px;background:hsl(var(--primary));margin-top:9px;flex:none;}

/* Role/why cell text */
.il-cell-p p{font-size:16px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));margin:0;}
.il-cell-p-sm p{font-size:14px;font-weight:300;line-height:1.6;color:hsl(var(--muted-foreground));margin:0;}
.il-cell-p-17 p{font-size:17px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));margin:0;}

/* Updates CTA banner (native) */
.il-cta-banner{background:hsl(var(--brand-dark));border-top:1px solid hsl(var(--border));padding:64px 0;text-align:center;}
.il-cta-banner p{font-size:16px;font-weight:300;color:hsl(var(--background)/0.75);margin:0;}

/* Google Maps native widget */
.il-map iframe{height:460px!important;width:100%;display:block;}
.il-map{line-height:0;}

/* Form labels above CF7 */
.il-fl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));}

/* ---------- Native layout helpers ---------- */
.il-hero-col > .elementor-widget-wrap{display:flex;flex-direction:column;flex-wrap:nowrap;min-height:100vh;}
body.admin-bar .il-hero-col > .elementor-widget-wrap{min-height:calc(100vh - 32px);}
.il-grow{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;}
.il-grow > .elementor-container{width:100%;}
.il-pt-120{padding-top:120px;}
.elementor-widget.il-inline{width:auto;margin-right:24px;display:inline-block;}
.il-maxw-28 > *{max-width:46rem;}
.il-maxw-32 > *{max-width:52rem;}
.il-maxw-34 > *{max-width:56rem;}
.il-maxw-36 > *{max-width:60rem;}
.il-maxw-38 > *{max-width:62rem;}
.il-maxw-40 > *{max-width:66rem;}
.il-maxw-42 > *{max-width:70rem;}
.il-center > *{margin-left:auto!important;margin-right:auto!important;}
.il-py-64{padding-top:64px;padding-bottom:64px;}
.il-py-80{padding-top:80px;padding-bottom:80px;}
.il-pt-56{padding-top:56px;}.il-pb-40{padding-bottom:40px;}
.il-mt-20{margin-top:20px!important;}
.il-bt-pad{border-top:1px solid hsl(var(--border));padding-top:40px;}
.il-tags{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;color:hsl(var(--muted-foreground));}
.il-svc-desc p{font-size:17px;font-weight:300;line-height:1.8;color:hsl(var(--muted-foreground));margin:0;}
.il-h-founder{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;letter-spacing:-0.02em;line-height:1.1;}
.il-prose-bio p{font-size:16px;font-weight:300;line-height:1.7;color:hsl(var(--muted-foreground));margin:0 0 14px;}
.il-prose-bio p:last-child{margin-bottom:0;}
.il-back a{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;color:hsl(var(--muted-foreground));display:inline-block;transition:color .3s;text-decoration:none;}
.il-back a:hover{color:hsl(var(--primary));}
.il-back-dim a{color:hsl(var(--background)/0.5);font-size:11px;}
.il-apply-n{background:hsl(var(--brand-dark));padding:96px 0;text-align:center;}
.il-ct-main-n{border-top:1px solid hsl(var(--border));padding:72px 0 112px;}
.il-mapband{background:hsl(var(--brand-dark));border-top:1px solid hsl(var(--border));}
.il-mapband > .elementor-container{align-items:end;}
.il-map-sub p{font-size:16px;font-weight:300;color:hsl(var(--background)/0.7);margin:12px 0 0;}
/* Footer logo: the colored primary logo, dark-mode-inverted so the letters
   read white while the red C / blue O keep their hues. */
.il-f-logo img{height:132px;width:auto;}
.il-f-logo{margin-top:0;text-align:left;}
.il-f-logo .elementor-widget-container{text-align:left;}
.il-nf2{background:hsl(var(--brand-dark));}
.il-nf2 > .elementor-container{max-width:1600px;padding:32px 24px;border-top:1px solid hsl(var(--background)/0.1);align-items:center;}
@media(min-width:640px){.il-nf2 > .elementor-container{padding:32px 40px;}}
.il-nf2 p{font-size:12px;font-weight:300;color:hsl(var(--background)/0.4);margin:0;}
.il-nf2 a{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:color .3s;}
.il-nf2 a:hover{color:hsl(var(--primary));}
.il-f-right p{text-align:right;}
@media(max-width:639px){.il-f-right p{text-align:left;}}
.il-hairline-roles + .il-hairline-roles{border-top:1px solid hsl(var(--border));}
/* hairline grid without the grey lines (keeps the cell layout) */
.il-no-lines > .elementor-container{background:transparent;}
/* explicit horizontal divider between stacked hairline rows */
.il-divider-top{border-top:1px solid hsl(var(--border));}

/* =========================================================================
   Elementor / theme compatibility
   ========================================================================= */
.elementor-widget:not(:last-child){margin-bottom:0;}
.il-nh > .elementor-container,.il-nf > .elementor-container,
.elementor-section.elementor-section-boxed.il-boxed > .elementor-container{max-width:1600px;}
.elementor-widget-html .wrap > .text-label{display:block;}
.site-header.dynamic-header{display:none;}
h1.entry-title
/* ===== Icon Law custom tweaks (appended 2026-06) ===== */
/* Hero eyebrow "Icon Law LLC" larger */
.elementor-element-6a16af9d,.elementor-element-6a16af9d *{font-size:clamp(2rem,3.2vw,3rem) !important;line-height:1.08 !important;}
/* Hero subtext on a single line (desktop) */
@media(min-width:1024px){
  .elementor-element-2ba8e272 > *{max-width:none !important;white-space:nowrap;}
  .elementor-element-2ba8e272 p{margin:0;}
}

/* =========================================================================
   LEGAL PAGES (Privacy Policy — /privacy-policy/)
   ========================================================================= */
.il-legal .legal-wrap{max-width:860px;}
.il-legal .legal-meta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:hsl(var(--muted-foreground));margin:0 0 40px;}
.il-legal h2{font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-0.01em;line-height:1.2;margin:48px 0 16px;}
.il-legal h2:first-of-type{margin-top:0;}
.il-legal h3{font-size:1.15rem;font-weight:600;margin:28px 0 10px;}
.il-legal p{font-size:17px;font-weight:300;line-height:1.8;color:hsl(var(--foreground)/0.82);margin:0 0 18px;}
.il-legal ul{list-style:none;margin:0 0 18px;padding:0;}
.il-legal ul li{position:relative;padding-left:22px;font-size:17px;font-weight:300;line-height:1.75;color:hsl(var(--foreground)/0.82);margin-bottom:10px;}
.il-legal ul li::before{content:"";position:absolute;left:0;top:12px;width:7px;height:7px;background:hsl(var(--primary));}
.il-legal strong{font-weight:600;color:hsl(var(--foreground));}
.il-legal a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px;}
.il-legal a:hover{opacity:0.8;}
.il-legal .legal-contact{background:hsl(var(--surface));border:1px solid hsl(var(--border));padding:24px 28px;margin:4px 0 8px;}
.il-legal .legal-foot{margin-top:56px;padding-top:24px;border-top:1px solid hsl(var(--border));font-size:14px;font-style:normal;color:hsl(var(--muted-foreground));}

/* Careers "Who we look for" (section 8ca2acd4): stack instead of 2-col so the
   criteria list + roles grid sit full-width BELOW the heading — removes the
   empty space under the left heading and lets the heading run wide. */
.elementor-element-8ca2acd4 > .elementor-container{flex-direction:column !important;}
.elementor-element-8ca2acd4 > .elementor-container > .elementor-column{width:100% !important;}
.elementor-element-8ca2acd4 .elementor-element-2d3f0366{margin-top:44px;}

/* Header: give the round CTA arrow consistent breathing room after "Contact"
   instead of sitting cramped against it. */
@media(min-width:1024px){
  .il-nh .elementor-column.il-nh-menu{flex:1 1 auto;}
  .il-nh .elementor-column.il-nh-cta{width:auto !important;flex:0 0 auto;margin-left:36px;}
}

/* Separate stacked paragraphs inside lead blocks (single-paragraph leads are
   unaffected). Fixes the CAP-Icon intro where two paragraphs ran together. */
.il-lead p + p{margin-top:22px;}
/* CAP-Icon intro (widget dda789e5): run wider so the right side isn't empty. */
.elementor-element-dda789e5 > .elementor-widget-container{max-width:80rem;}

/* Contact page: pair the info + form as a centred, balanced composition —
   narrow the info column to hug its content, close the dead gap, and
   vertically centre the details against the taller form box. */
.elementor-element-ef1d61ec > .elementor-container{align-items:center;justify-content:center;gap:7%;}
.elementor-element-ef1d61ec > .elementor-container > .elementor-element-a35c16f9{width:34% !important;}
.elementor-element-ef1d61ec > .elementor-container > .elementor-element-8290a448{width:53% !important;}
@media(max-width:1023px){
  .elementor-element-ef1d61ec > .elementor-container{gap:40px;}
  .elementor-element-ef1d61ec > .elementor-container > .elementor-element-a35c16f9,
  .elementor-element-ef1d61ec > .elementor-container > .elementor-element-8290a448{width:100% !important;}
}

/* Footer: size columns to their content so the gaps between blocks are even
   (default is 4x 25%, which makes short "Explore" sit far from "Expertise"). */
@media(min-width:1024px){
  .il-nf .elementor-element.elementor-element-f2c6ec22{width:26% !important;} /* brand   */
  .il-nf .elementor-element.elementor-element-b6bf6d8d{width:18% !important;} /* explore */
  .il-nf .elementor-element.elementor-element-7cf833a1{width:32% !important;} /* expertise */
  .il-nf .elementor-element.elementor-element-714aec0e{width:24% !important;} /* contact */
  /* top-align every footer column so the logo starts on the same line as
     Explore / Expertise / Contact instead of the brand column centring. */
  .il-nf > .elementor-container{align-items:flex-start;}
  .il-nf > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;justify-content:flex-start;}
}
/* keep the footer logo aligned to the same left edge as the tagline */
.il-f-logo,.il-f-logo .elementor-widget-container{text-align:left !important;}

/* Mobile: align borderless stacked grid cells (e.g. About "How we work" /
   Careers "Why Icon Law") with the section heading, and tighten the big gap
   above the first cell ("01") so it sits closer to the heading. */
@media(max-width:767px){
  .il-no-lines > .elementor-container > .elementor-column > .elementor-widget-wrap{padding-left:0;padding-right:0;padding-top:6px;}
  .il-hairline > .elementor-container > .elementor-column > .elementor-widget-wrap{padding-top:22px;}
  .il-mb-64{margin-bottom:30px !important;}
  .il-mb-56{margin-bottom:28px !important;}
  .il-mb-48{margin-bottom:26px !important;}
}
/* Footer on mobile/tablet: centre the WHOLE footer + tighten spacing
   (desktop keeps the left-aligned 4-column layout). */
@media(max-width:1023px){
  .il-nf > .elementor-container > .elementor-column,
  .il-nf .elementor-widget-container{text-align:center !important;}
  /* logo: it's a display:block img, so centre it with auto margins (mobile only) */
  .il-f-logo,.il-f-logo .elementor-widget-container{text-align:center !important;}
  .il-f-logo img{margin-left:auto !important;margin-right:auto !important;}
  /* Explore/Expertise link lists are flex — switch to centered inline blocks */
  .il-f-links .elementor-icon-list-items{text-align:center;}
  .il-f-links .elementor-icon-list-item{display:block !important;}
  .il-f-links .elementor-icon-list-item a{display:inline-block !important;}
  .il-nf > .elementor-container{gap:22px;padding-top:32px;padding-bottom:44px;}
  /* tighten space above/below the logo (il-mb-32 utility uses !important) */
  .il-f-logo{margin-top:0 !important;margin-bottom:2px !important;}
}

/* Single article: "Back to Updates" sits at the end of the article body on
   mobile (before the Key-Contact/enquiry sidebar); desktop keeps it below. */
.art-back-inline{display:none;}
@media(max-width:959px){
  .art-back-inline{display:block;margin-top:36px;}
  main.il-article > .art-back{display:none;}
}

/* Site-wide: no italic type anywhere (client request) */
em, i, cite, blockquote, .elementor em, .elementor i { font-style: normal !important; }

/* ===== Elementor Loop Grid versions of the people/team grids ===== */
.people-grid-loop .elementor-loop-container{display:grid !important;grid-template-columns:1fr !important;gap:1px !important;background:hsl(var(--border));}
@media(min-width:640px){.people-grid-loop .elementor-loop-container{grid-template-columns:repeat(2,1fr) !important;}}
@media(min-width:1024px){.people-grid-loop .elementor-loop-container{grid-template-columns:repeat(5,1fr) !important;}}
.people-grid-loop .e-loop-item,.team-grid-loop .e-loop-item{background:hsl(var(--background));transition:background-color .3s;}
.people-grid-loop .e-loop-item:hover,.team-grid-loop .e-loop-item:hover{background:hsl(var(--surface));}
.people-grid-loop .e-loop-item:hover h3 .elementor-heading-title,.people-grid-loop .e-loop-item:hover h3{color:hsl(var(--primary));}
.person h3.elementor-heading-title,.person .elementor-widget-heading h3{font-size:19px;font-weight:600;transition:color .3s;}
.person .role .elementor-heading-title,.tm .role .elementor-heading-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:hsl(var(--muted-foreground));}
.e-loop-item.is-founder .role .elementor-heading-title,.e-loop-item.is-founder .role{color:hsl(var(--primary));}
.person.e-con{padding:28px;display:block;}
@media(min-width:640px){.person.e-con{padding:32px;}}

/* Team page loop grid (4-up) */
.team-grid-loop .elementor-loop-container{display:grid !important;grid-template-columns:1fr !important;gap:1px !important;background:hsl(var(--border));}
@media(min-width:640px){.team-grid-loop .elementor-loop-container{grid-template-columns:repeat(2,1fr) !important;}}
@media(min-width:1024px){.team-grid-loop .elementor-loop-container{grid-template-columns:repeat(3,1fr) !important;}}
@media(min-width:1280px){.team-grid-loop .elementor-loop-container{grid-template-columns:repeat(4,1fr) !important;}}
.tm.e-con{padding:32px;display:block;}
.tm-main.e-con{display:block;padding:0;}
.tm .elementor-widget-heading h3.elementor-heading-title{font-size:19px;font-weight:600;transition:color .3s;}
.team-grid-loop .e-loop-item:hover h3.elementor-heading-title{color:hsl(var(--brand-blue));}
.tm .bio .elementor-heading-title{font-size:15px;font-weight:300;line-height:1.6;color:hsl(var(--muted-foreground));}
.tm .bio{margin-bottom:16px;}
.tm .role{margin-bottom:12px;}
.person .role{margin-bottom:20px;}
.person-photo{margin-bottom:20px;}
.tm-photo{margin-bottom:20px;}

/* Taxonomy filter chips + injected name search, in the design system */
.team-tax-filter{margin-bottom:16px;}
.team-tax-filter .e-filter{display:flex;flex-wrap:wrap;gap:8px;}
.team-tax-filter .e-filter-item{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:0.02em;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));padding:10px 14px;cursor:pointer;transition:all .25s;border-radius:0;}
.team-tax-filter .e-filter-item:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));}
.team-tax-filter .e-filter-item.e-active,.team-tax-filter .e-filter-item[aria-pressed="true"]{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(35 30% 95%);}
.team-name-search{width:100%;max-width:420px;font-family:inherit;font-size:15px;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:0;padding:14px 16px;outline:none;transition:border-color .25s;-webkit-appearance:none;appearance:none;margin-bottom:24px;display:block;}
.team-name-search:focus{border-color:hsl(var(--primary));}

/* Updates page loop grid — article rows */
.updates-loop .elementor-loop-container{display:block !important;}
.updates-loop .e-loop-item{display:block;}
.item.e-con{display:grid !important;grid-template-columns:1fr;gap:24px;border-top:1px solid hsl(var(--border));padding:40px 16px;transition:background-color .3s;}
@media(min-width:640px){.item.e-con{padding:56px 16px;}}
@media(min-width:1024px){.item.e-con{grid-template-columns:repeat(12,1fr);}}
.item-meta.e-con,.item-body.e-con,.item-area.e-con{display:block;padding:0;}
@media(min-width:1024px){.item-meta.e-con{grid-column:span 2;}.item-body.e-con{grid-column:span 7;}.item-area.e-con{grid-column:span 3;}}
.item .item-type .elementor-heading-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:hsl(var(--muted-foreground));}
.e-loop-item.category-deal-announcement .item-type .elementor-heading-title{color:hsl(var(--primary));}
.item .item-date .elementor-heading-title{font-size:13px;color:hsl(var(--muted-foreground));margin-top:4px;}
.item .item-body h3.elementor-heading-title{font-size:19px;font-weight:600;line-height:1.35;margin-bottom:12px;transition:color .3s;}
@media(min-width:640px){.item .item-body h3.elementor-heading-title{font-size:21px;}}
.updates-loop .e-loop-item:hover .item-body h3.elementor-heading-title{color:hsl(var(--primary));}
.item .item-body p.elementor-heading-title{font-size:16px;font-weight:300;line-height:1.6;color:hsl(var(--muted-foreground));}
.item .item-thumb-w{max-width:240px;margin-bottom:14px;}
.item .item-thumb-w img{width:100%;aspect-ratio:16/10;object-fit:cover;background:hsl(var(--surface));}
@media(min-width:1024px){.item-area.e-con{display:flex !important;flex-direction:column;align-items:flex-end;}.item .item-thumb-w{max-width:100%;width:100%;}}
.item .item-tag .elementor-heading-title{display:inline-block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;color:hsl(var(--muted-foreground));background:hsl(var(--muted));padding:6px 12px;}
.updates-tax-filter{border-top:1px solid hsl(var(--border));padding-top:24px;padding-bottom:24px;}
.updates-tax-filter .e-filter{display:flex;gap:16px;flex-wrap:wrap;}
.updates-tax-filter .e-filter-item{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;padding:10px 20px;border:0;cursor:pointer;font-family:inherit;background:hsl(var(--surface));color:hsl(var(--muted-foreground));transition:color .2s,background-color .2s;border-radius:0;}
.updates-tax-filter .e-filter-item:hover{color:hsl(var(--foreground));}
.updates-tax-filter .e-filter-item.e-active,.updates-tax-filter .e-filter-item[aria-pressed="true"]{background:hsl(var(--primary));color:hsl(var(--primary-foreground));}

/* ===== Elementor Theme Builder singles: container/widget resets ===== */
.il-profile :where(.e-con,.e-con-inner),.il-article :where(.e-con,.e-con-inner){padding:0;gap:0;max-width:none;display:block;}
.il-profile .elementor-widget,.il-article .elementor-widget{margin-bottom:0 !important;}
.il-profile .elementor-widget-heading .elementor-heading-title,.il-article .elementor-widget-heading .elementor-heading-title{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;text-transform:inherit;}
.il-profile .hero-name .elementor-heading-title::after{content:".";color:var(--red);}
.il-profile .hero-role{margin:28px 0 0;}
.il-profile .hero-role .hero-role-inner{font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0;}
.il-profile .pf-hero .pwrap{display:grid;}
.il-profile .deal-title{max-width:18ch;}
.il-profile .facts.dyn-section{border-top:1px solid var(--cream-line);}
.il-profile .elementor-widget-image.hero-photo-frame{justify-self:end;}
@media(max-width:960px){.il-profile .elementor-widget-image.hero-photo-frame{justify-self:start;order:-1;}}
.il-article .art-meta{display:flex;}
.il-article .art-title-w{font-family:'Playfair Display',serif;font-weight:700;color:hsl(var(--foreground));font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.18;letter-spacing:-0.01em;max-width:24ch;}
.il-article .art-practice .elementor-heading-title::before{content:"\00B7";margin-right:14px;}
.il-article .art-figure-w{margin:0 0 60px;border:1px solid hsl(var(--border));background:hsl(var(--surface));}
.il-article .art-figure-w img{display:block;width:100%;height:auto;}
.il-article .art-wrap{display:grid;}
.il-article .art-body .elementor-widget-theme-post-content p:first-of-type{font-size:20px;font-weight:400;line-height:1.7;color:hsl(var(--foreground));margin:0 0 28px;}
.il-article .side-cta .in .side-cta-h{font-size:19px;font-weight:600;margin-bottom:8px;}
.il-article .art-spacer{height:80px;}

/* Privacy/legal page as a native Elementor page */
.il-legal :where(.e-con,.e-con-inner){padding:0;gap:0;max-width:none;display:block;}
.il-legal .elementor-widget{margin-bottom:0 !important;}
.il-legal .elementor-widget-heading .elementor-heading-title{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;text-transform:inherit;}
.il-legal .legal-body{padding:8px 0 96px;}

/* Updates loop: restore the .wrap max-width the shortcode markup used to carry */
.updates-loop .elementor-loop-container{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 24px;}
@media(min-width:640px){.updates-loop .elementor-loop-container{padding:0 40px;}}
.updates-loop .item.e-con{margin:0 -16px;}
.updates-tax-filter .e-filter{max-width:var(--maxw);margin:0 auto;width:100%;padding:24px 24px;}
@media(min-width:640px){.updates-tax-filter .e-filter{padding:24px 40px;}}

/* Typography guard: every converted Elementor component uses the site font stack */
.people-grid-loop,.team-grid-loop,.updates-loop,.team-filters,
.people-grid-loop .elementor-heading-title,.team-grid-loop .elementor-heading-title,
.updates-loop .elementor-heading-title,.updates-tax-filter .e-filter-item{font-family:'Inter',sans-serif;}
