.elementor-4161 .elementor-element.elementor-element-e67e24f > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for section, class: .elementor-element-e67e24f */h1,h2,h3,h4,h5,h6,p,img,input,label,div {
	user-select: none;
}
.elementor-kit-5 h2 {
color: var(--navy);
}
.elementor-kit-5 h1,
.elementor-kit-5 h2,
.elementor-kit-5 h3,
.elementor-kit-5 h4,
.elementor-kit-5 h5,
.elementor-kit-5 h6,
.elementor-kit-5 p,
.elementor-kit-5 a {
font-family: unset;
}
.elementor-kit-5 p {
margin-block-end: unset;
}
.gform_wrapper.gravity-theme .gfield_description,
.elementor-kit-5 input:not([type="button"]):not([type="submit"]), 
.elementor-kit-5 textarea, 
.elementor-kit-5 .elementor-field-textual,
.elementor-kit-5 label {
color: #000!important;
}
.site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main {
max-width: 100%!important;
}

.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid {
display: inline-grid!important;
}
.elementor-social-icons-wrapper.elementor-grid {
grid-column-gap: var(20px,5px);
grid-row-gap: var(0px,5px);
grid-template-columns: repeat(6, auto);
justify-content: var(initial,center);
justify-items: var(initial,center);
}
header + div.elementor {
padding-top: 158px;
}

/* ============================================================
DESIGN TOKENS
============================================================ */
:root {
--navy:        #0B1F45;
--navy-mid:    #153066;
--navy-light:  #1E3A6E;
--blue:        #1D4ED8;
--blue-hover:  #2563EB;
--blue-pale:   #EEF3FF;
--blue-border: rgba(29,78,216,0.15);
--gold:        #B8892A;
--gold-pale:   #FDF5E6;
--white:       #FFFFFF;
--off-white:   #F8F9FC;
--gray-50:     #F3F4F8;
--gray-100:    #E8EAF0;
--gray-200:    #CDD1DC;
--gray-400:    #8492A6;
--gray-600:    #4A5568;
--gray-800:    #1A202C;
--green:       #15803D;
--green-pale:  #F0FDF4;

--font-d: 'Fraunces', Georgia, serif;
--font-b: 'DM Sans', system-ui, sans-serif;

--r:    8px;
--r-lg: 16px;
--sh-xs: 0 1px 4px rgba(11,31,69,0.07);
--sh-sm: 0 2px 10px rgba(11,31,69,0.08);
--sh-md: 0 6px 24px rgba(11,31,69,0.11);
--sh-lg: 0 16px 48px rgba(11,31,69,0.14);
--sh-xl: 0 32px 80px rgba(11,31,69,0.18);
--ease:  cubic-bezier(0.22,1,0.36,1);
}

/* ============================================================
RESET
============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:18px;scroll-behavior:smooth;}
body{
font-family:var(--font-b)!important;
color:var(--gray-800);
background:var(--white);
line-height:1.65;
-webkit-font-smoothing:antialiased;
overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--blue-hover);}
p{margin-bottom:1rem;}
p:last-child{margin-bottom:0;}
h1,h2,h3,h4,h5{
font-family:var(--font-d)!important;
line-height:1.08;
letter-spacing:-0.015em;
font-optical-sizing:auto;
color:var(--navy);
}
ul{list-style:none;padding:0;}

.skip-nav{
position:absolute;top:-100px;left:1rem;
background:var(--navy);color:var(--white);
padding:.75rem 1.5rem;border-radius:var(--r);
font-weight:700;font-size:.95rem;z-index:9999;
transition:top .2s;
}
.skip-nav:focus{top:1rem;}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:3px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

/* ============================================================
LAYOUT
============================================================ */
.container{max-width:1450px !important;margin:0 auto !important;padding:0 2.5rem !important;}
.section{padding:5.5rem 2.5rem !important;}
.section-off{background:var(--off-white) !important;}
.section-gray{background:var(--gray-50) !important;}
.section-navy{background:var(--navy) !important;}

.kicker{
display:inline-flex !important;align-items:center !important;gap:.55rem !important;
font-size:.72rem !important;font-weight:700 !important;
letter-spacing:.14em !important;text-transform:uppercase !important;
color:var(--blue) !important;margin-bottom:.9rem !important;
}
.kicker::before{content:'' !important;display:block !important;width:20px !important;height:2px !important;background:var(--blue) !important;}
.kicker.white{color:rgba(255,255,255,.6) !important;}
.kicker.white::before{background:rgba(255,255,255,.4) !important;}

.section-h{
font-size:clamp(1.9rem,3.5vw,3rem) !important;
font-weight:800 !important;margin-bottom:1.25rem !important;font-optical-sizing:auto !important;
}
.section-h.light{color:var(--white) !important;}
.section-p{font-size:1.02rem !important;color:var(--gray-600) !important;line-height:1.72 !important;max-width:600px !important;}
.section-p.light{color:rgba(255,255,255,.62) !important;}

/* ============================================================
BUTTONS
============================================================ */
.btn{
display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:.45rem !important;
font-family:var(--font-b) !important;font-size:1rem !important;font-weight:600 !important;
padding:.85rem 1.875rem !important;
border-radius:var(--r) !important;border:2px solid transparent !important;
cursor:pointer !important;text-decoration:none !important;
transition:all .2s var(--ease) !important;
white-space:nowrap !important;min-height:52px !important;letter-spacing:.01em !important;
}
.btn:active{transform:scale(.98) !important;}
.btn-navy{background:var(--navy) !important;color:var(--white) !important;border-color:var(--navy) !important;box-shadow:0 4px 16px rgba(11,31,69,.28) !important;}
.btn-navy:hover{background:var(--navy-mid) !important;border-color:var(--navy-mid) !important;color:var(--white) !important;box-shadow:0 8px 28px rgba(11,31,69,.36) !important;transform:translateY(-1px) !important;}
.btn-blue{background:var(--blue) !important;color:var(--white) !important;border-color:var(--blue) !important;box-shadow:0 4px 16px rgba(29,78,216,.28) !important;}
.btn-blue:hover{background:var(--blue-hover) !important;border-color:var(--blue-hover) !important;color:var(--white) !important;box-shadow:0 8px 28px rgba(29,78,216,.36) !important;transform:translateY(-1px) !important;}
.btn-outline{background:transparent !important;color:var(--navy) !important;border-color:var(--navy) !important;}
.btn-outline:hover{background:var(--navy) !important;color:var(--white) !important;}
.btn-outline-white{background:transparent !important;color:var(--white) !important;border-color:rgba(255,255,255,.45) !important;}
.btn-outline-white:hover{background:rgba(255,255,255,.1) !important;border-color:var(--white) !important;color:var(--white) !important;}
.btn-gold{background:var(--gold) !important;color:var(--white) !important;border-color:var(--gold) !important;}
.btn-gold:hover{background:#9A7220 !important;border-color:#9A7220 !important;color:var(--white) !important;transform:translateY(-1px) !important;}
.btn-sm{font-size:.75em !important;padding:.35rem .65rem !important;min-height:30px !important;}
.btn-lg{font-size:1.08rem !important;padding:1rem 2.25rem !important;min-height:58px !important;}
.btn-full{width:100% !important;}

/* ============================================================
UTILITY BAR (above header)
============================================================ */
header {
position: absolute;
width: 100%;
}
.util-bar {
background: var(--navy) !important;
border-bottom: 1px solid rgba(255,255,255,.08) !important;
width: 100% !important;
z-index: 2;
position: relative;
}
.util-bar-inner {
max-width: 1450px !important; margin: 0 auto !important;
padding: 0 2.5rem !important;
display: flex !important; align-items: center !important; justify-content: space-between !important;
gap: 1rem !important; min-height: 46px !important;
flex-wrap: wrap !important;
}
.util-left  { display: flex !important; align-items: center !important; gap: 1.25rem !important; }
.util-right { display: flex !important; align-items: center !important; gap: 1rem !important; }

.util-label {
font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .06em !important;
color: rgba(255,255,255,.5) !important; text-transform: uppercase !important;
}

.util-phone {
font-family: var(--font-d) !important;
font-size: 1.05rem !important; font-weight: 800 !important;
color: var(--white) !important; text-decoration: none !important;
letter-spacing: -.01em !important; font-optical-sizing: auto !important;
display: flex !important; align-items: center !important; gap: .35rem !important;
transition: color .15s !important;
}
.util-phone:hover { color: #93C5FD !important; }

.pay-link {
display: flex !important; align-items: center !important; gap: .45rem !important;
font-size: .75rem !important; font-weight: 600 !important;
color: rgba(255,255,255,.6) !important; text-decoration: none !important;
border: 1px solid rgba(255,255,255,.15) !important;
padding: .3rem .85rem !important; border-radius: var(--r) !important;
transition: all .15s !important;
}
.pay-link:hover { background: rgba(255,255,255,.08) !important; color: var(--white) !important; }

.util-bbb img {
height: 25px !important; width: auto !important;
display: block !important;
transition: opacity .15s !important;
}
.util-bbb:hover img { opacity: .9 !important; }

.util-divider {
width: 1px !important; height: 20px !important;
background: rgba(255,255,255,.12) !important;
flex-shrink: 0 !important;
}

/* ============================================================
HEADER / NAV
============================================================ */
.site-header {
position: sticky !important; top: 0 !important; z-index: 300 !important;
background: rgba(255,255,255,.08) !important;
backdrop-filter: blur(20px) saturate(160%) !important;
-webkit-backdrop-filter: blur(20px) saturate(160%) !important;
border-bottom: 1px solid rgba(255,255,255,.08) !important;
box-shadow: var(--sh-sm) !important;
width: 100% !important;
}
.header-inner {
max-width: 1450px !important; margin: 0 auto !important;
padding: 0 2.5rem !important;
display: flex !important; align-items: center !important;
justify-content: space-between !important; gap: 2rem !important;
min-height: 74px !important;
}

.logo-wrap {
display: flex !important; align-items: center !important;
text-decoration: none !important; flex-shrink: 0 !important;
}
.logo-wrap img { height: 70px !important; width: auto !important; }

/* Primary Nav */
.primary-nav {
display: flex !important; align-items: center !important; gap: .15rem !important;
flex: 1 !important; justify-content: center !important;
list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.nav-item { position: relative !important; }

/* Both <a> and <button> nav links get the same treatment */
.nav-link {
display: flex !important; align-items: center !important; gap: .3rem !important;
font-family: var(--font-b) !important;
font-size: .875rem !important; font-weight: 600 !important;
color: var(--white) !important; text-decoration: none !important;
padding: .55rem .9rem !important; border-radius: var(--r) !important;
transition: color .15s, background .15s !important;
white-space: nowrap !important; letter-spacing: .01em !important;
/* reset button defaults */
background: none !important; border: none !important; cursor: pointer !important;
line-height: 1.5 !important;text-transform: uppercase!important;
}
.nav-link:hover { color: var(--navy) !important; background: var(--gray-50) !important; }
.nav-link.active { color: var(--blue-hover) !important; }

.nav-arrow {
font-size: 1rem !important; color: var(--white) !important;
transition: transform .2s var(--ease) !important;
margin-left: .05rem !important;
}
.nav-item:hover .nav-arrow,
.nav-item:focus-within .nav-arrow { transform: rotate(180deg) !important; }

/* Dropdown */
.dropdown {
display: none !important;
position: absolute !important; top: calc(100% + 0px) !important; left: 0 !important;
background: var(--white) !important;
border: 1px solid var(--gray-100) !important;
border-radius: var(--r-lg) !important;
box-shadow: var(--sh-lg) !important;
padding: .25rem !important;
min-width: 375px !important;
z-index: 400 !important;
/* subtle entrance */
opacity: 0 !important; transform: translateY(-4px) !important;
transition: opacity .18s var(--ease), transform .18s var(--ease) !important;
pointer-events: none !important;
}
.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown {
display: block !important;
opacity: 1 !important; transform: translateY(0) !important;
pointer-events: auto !important;
}
.dropdown a {
display: block !important;
font-family: var(--font-b) !important;
font-size: .875rem !important; font-weight: 500 !important;
color: var(--gray-800) !important; text-decoration: none !important;
padding: .75rem !important; border-radius: var(--r) !important;
transition: background .15s, color .15s !important;
}
.dropdown a:hover { background: var(--blue-pale) !important; color: var(--blue) !important; }
.dropdown-divider {
height: 1px !important; background: var(--gray-100) !important;
margin: .35rem .5rem !important;
}
.dropdown a.warn { color: #B91C1C !important; }
.dropdown a.warn:hover { background: #FFF1F2 !important; color: #991B1B !important; }

/* Header right actions */
.header-actions {
display: flex !important; align-items: center !important; gap: .85rem !important; flex-shrink: 0 !important;
}

.live-pill {
display: flex !important; align-items: center !important; gap: .45rem !important;
font-size: .73rem !important; font-weight: 600 !important; color: var(--green) !important;
background: var(--green-pale) !important;
border: 1px solid rgba(21,128,61,.2) !important;
padding: .28rem .75rem !important; border-radius: 100px !important;
}
.live-dot {
width: 7px !important; height: 7px !important; border-radius: 50% !important;
background: var(--green) !important; flex-shrink: 0 !important;
animation: gpulse 2.2s ease-in-out infinite !important;
}
@keyframes gpulse {
0%,100% { box-shadow: 0 0 0 0 rgba(21,128,61,.45) !important; }
50%      { box-shadow: 0 0 0 5px rgba(21,128,61,0) !important; }
}

/* Mobile hamburger */
.hamburger {
display: none !important; flex-direction: column !important; gap: 5px !important;
background: none !important; border: none !important; cursor: pointer !important;
padding: .5rem !important; border-radius: var(--r) !important;
transition: background .15s !important;
}
.hamburger:hover { background: var(--gray-50) !important; }
.hamburger span {
display: block !important; width: 22px !important; height: 2px !important;
background: var(--navy) !important; border-radius: 2px !important;
transition: transform .25s var(--ease), opacity .2s !important;
}

/* Mobile nav overlay */
.mobile-nav {
display: none !important;
position: fixed !important; inset: 0 !important; z-index: 600 !important;
background: var(--white) !important; overflow-y: auto !important;
flex-direction: column !important; padding: 1.5rem !important;
}
.mobile-nav.open { display: flex !important; }
.mobile-nav-close {
align-self: flex-end !important; background: none !important; border: none !important;
font-size: 1.5rem !important; cursor: pointer !important; color: var(--navy) !important;
padding: .5rem !important; border-radius: var(--r) !important;
transition: background .15s !important;
}
.mobile-nav-close:hover { background: var(--gray-50) !important; }
.mobile-nav-links { margin-top: 1.25rem !important; }
.mobile-nav-links a {
display: block !important; font-size: 1.05rem !important; font-weight: 600 !important;
color: var(--navy) !important; text-decoration: none !important;
padding: .85rem 0 !important; border-bottom: 1px solid var(--gray-100) !important;
transition: color .15s !important;
}
.mobile-nav-links a:hover { color: var(--blue) !important; }
.mobile-nav-section {
font-size: .7rem !important; font-weight: 700 !important;
letter-spacing: .1em !important; text-transform: uppercase !important;
color: var(--gray-400) !important; margin: 1.1rem 0 .25rem !important;
}

/* ============================================================
MOBILE STICKY BAR
============================================================ */
.mobile-bar{
display:none;
position:fixed;bottom:0;left:0;right:0;z-index:500;
background:var(--navy);
padding:.85rem 1.5rem;
align-items:center;justify-content:center;gap:.5rem;
border-top:2px solid var(--blue);
}
.mobile-bar a{
font-family:var(--font-d);font-size:1.15rem;font-weight:800;
color:#93C5FD;text-decoration:none;
letter-spacing:-.01em;font-optical-sizing:auto;
}

/* ============================================================
FADE UP ANIMATIONS
============================================================ */
.fade-up{
opacity:0;transform:translateY(24px);
transition:opacity .65s var(--ease),transform .65s var(--ease);
}
.fade-up.visible{opacity:1;transform:none;}
.fade-up:nth-child(2){transition-delay:.08s;}
.fade-up:nth-child(3){transition-delay:.16s;}
.fade-up:nth-child(4){transition-delay:.24s;}
.fade-up:nth-child(5){transition-delay:.32s;}

/* ============================================================
RESPONSIVE
============================================================ */
@media(max-width:1200px){
.practice-grid{grid-template-columns:repeat(2,1fr);}
.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem;}
.stat-bar-inner{grid-template-columns:repeat(2,1fr);}
.stat-cell:nth-child(2){border-right:none;}
}
@media(max-width:1024px){
.hero-inner{flex-direction:column;padding:3.5rem 1.5rem;gap:2rem;min-height:auto;}
.hero-popup{width:100%;max-width:320px;align-self:center;}
.control-inner{grid-template-columns:1fr;}
.control-photo-wrap{min-height:360px;}
.success-inner{grid-template-columns:1fr;}
.success-photo{min-height:320px;}
.success-photo::after{display:none;}
.success-content{padding:4rem 2.5rem;}
.contact-inner{grid-template-columns:1fr;}
.contact-photo{min-height:320px;}
.contact-photo::after{display:none;}
.contact-form-side{padding:4rem 2.5rem;}
.test-grid{grid-template-columns:1fr 1fr;}
.primary-nav,.header-actions .btn{display:none;}
.hamburger{display:flex;}
}
@media(max-width:640px){
html{font-size:17px;}
.section{padding:4rem 1.25rem;}
.awards-grid{gap:1.5rem;}
.award-cell{border-right:none;min-width:140px;}
.practice-grid{grid-template-columns:1fr;}
.test-grid{grid-template-columns:1fr;}
.footer-grid{grid-template-columns:1fr;gap:2rem;}
.mobile-bar{display:flex;}
body{padding-bottom:60px;}
.util-bar-inner{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.65rem 1.25rem;}
.header-inner{padding:0 1.25rem;}
.live-pill{display:none;}
}

/* Mobile nav */
.mobile-nav{
display:none;
position:fixed;inset:0;z-index:600;
background:var(--white);overflow-y:auto;
flex-direction:column;
padding:1.5rem;
}
.mobile-nav.open{display:flex;}
.mobile-nav-close{
align-self:flex-end;background:none;border:none;
font-size:1.5rem;cursor:pointer;color:var(--navy);
padding:.5rem;
}
.mobile-nav-links{margin-top:1.5rem;}
.mobile-nav-links a{
display:block;font-size:1.1rem;font-weight:600;
color:var(--navy);text-decoration:none;
padding:.85rem 0;border-bottom:1px solid var(--gray-100);
}
.mobile-nav-links a:hover{color:var(--blue);}
.mobile-nav-section{
font-size:.72rem;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;
color:var(--gray-400);margin:1rem 0 .25rem;
}

@media(prefers-reduced-motion:reduce){
*,.fade-up{animation:none!important;transition:none!important;transform:none!important;opacity:1!important;}
}
@media(prefers-contrast:high){
:root{--blue:#0040CC;--navy:#000D2E;}
}/* End custom CSS */