/* Navigation and homepage choices: shared, accessible native disclosure controls. */
:root{--nav-height:96px}
.site-header{z-index:25}
.header-inner{height:var(--nav-height);position:relative;gap:24px}
#main-nav{gap:25px;font-size:.86rem}
#main-nav>a{flex-shrink:0}
.nav-group{position:static}
.nav-group>summary{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 0;cursor:pointer;list-style:none;white-space:nowrap;font-weight:500;transition:color .18s}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary>svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .2s}
.nav-group[open]>summary,.nav-group-current>summary,.nav-group>summary:hover{color:var(--blue)}
.nav-group[open]>summary>svg{transform:rotate(180deg)}
.nav-group>summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:3px}
.nav-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:min(1060px,calc(100vw - 80px));padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:10px;background:#fff;border:1px solid #e1e5e4;border-radius:20px;box-shadow:0 22px 55px -12px #172c3c30,0 3px 8px #172c3c08;max-height:calc(100dvh - var(--nav-height) - 30px);overflow:auto;overscroll-behavior:contain}
.nav-group:not([open])>.nav-panel{display:none}
.nav-panel-main{padding:20px 18px 16px;min-width:0}
.nav-panel-heading{padding:0 10px 23px;border-bottom:1px solid #e6e9e7;margin-bottom:12px}
.nav-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:650;line-height:1.5;margin:0 0 12px;color:var(--muted)}
.nav-panel-title{font-family:var(--display);font-size:1.6rem;line-height:1.2;letter-spacing:-.04em;max-width:440px;margin:0;color:var(--ink)}
.nav-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.nav-choice{display:flex;align-items:flex-start;gap:12px;position:relative;text-decoration:none;padding:17px 10px;border-radius:11px;color:var(--ink);min-width:0;transition:background .18s}
.nav-choice>span:nth-child(2){min-width:0;padding-right:8px}
.nav-choice-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:10px;background:#f0f3fb;color:var(--blue);transition:background .18s}
.nav-choice-icon svg{width:22px;height:22px}
.nav-choice strong{display:block;font-size:.91rem;font-weight:650;line-height:1.4;margin-bottom:5px}
.nav-choice small{display:block;font-size:.76rem;line-height:1.6;color:var(--muted)}
.nav-choice .nav-choice-arrow{position:absolute;right:9px;top:17px;font-size:1rem;color:var(--blue);opacity:0;transform:translate(-3px,3px);transition:opacity .18s,transform .18s}
.nav-choice:hover,.nav-choice[aria-current]{background:#f5f6f2}
.nav-choice:hover .nav-choice-icon,.nav-choice[aria-current] .nav-choice-icon{background:var(--lime)}
.nav-choice:hover .nav-choice-arrow,.nav-choice:focus-visible .nav-choice-arrow{opacity:1;transform:translate(0)}
.nav-choice[aria-current] strong{color:var(--blue)}
.nav-feature{display:flex;flex-direction:column;position:relative;border-radius:12px;padding:26px;text-decoration:none;overflow:hidden;transition:filter .2s;min-width:0}
.nav-feature:hover{filter:brightness(.97)}
.nav-feature-blue{background:var(--blue);color:white}
.nav-feature-lime{background:var(--lime);color:var(--ink)}
.nav-feature-paper{background:#eef1f7;color:var(--ink)}
.nav-feature .nav-eyebrow{color:inherit;opacity:.9;font-size:.62rem;margin-bottom:15px}
.nav-feature .nav-figure{display:block;font-family:var(--display);font-size:3.4rem;font-weight:700;letter-spacing:-.07em;line-height:1}
.nav-feature .nav-figure-unit{display:block;font-size:.72rem;line-height:1.5;margin:6px 0 21px}
.nav-feature>strong{display:block;font-family:var(--display);font-size:1.48rem;line-height:1.12;letter-spacing:-.035em;margin-bottom:11px;font-weight:650}
.nav-feature-description{font-size:.76rem;line-height:1.65;margin-bottom:25px}
.nav-feature-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.77rem;font-weight:650;line-height:1.4;margin-top:auto;padding-top:16px;border-top:1px solid #172c3c30}
.nav-feature-blue .nav-feature-link{border-color:#ffffff50}
.nav-feature-link>span{font-size:1.3rem;font-weight:400}
.nav-feature-blue:focus-visible{outline-color:var(--ink)}
.home-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-service-card{display:flex;flex-direction:column;position:relative;padding:28px 24px;border:1px solid var(--line);border-radius:15px;background:#fff}
.home-service-icon{display:grid;place-items:center;width:48px;height:48px;background:#eff2fa;color:var(--blue);border-radius:12px;margin-bottom:25px}
.home-service-icon svg{width:26px;height:26px}
.home-service-card h3{font-size:1.75rem;line-height:1.12;margin-bottom:16px}
.home-service-card>div{display:flex;flex:1;flex-direction:column}
.home-service-card p{font-size:.87rem;line-height:1.7;color:var(--muted)}
.home-service-card p:last-child{margin-top:auto;padding-top:12px;margin-bottom:0}
.home-service-card a{color:var(--blue);font-weight:600;font-size:.81rem;line-height:1.7;text-decoration-thickness:1px}
.home-service-monthly{background:#edf2ff;border-color:#cbd7fc}
.home-service-monthly .home-service-icon{background:var(--blue);color:white}
.home-check{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:65px;background:var(--ink);color:#fff;border-radius:24px;padding:58px 60px;margin-block:0 40px;overflow:hidden}
.home-check-copy{min-width:0}
.home-check h2{font-size:clamp(2.5rem,3.7vw,3.6rem);max-width:650px;margin-bottom:25px}
.home-check .eyebrow{margin-bottom:22px}
.home-check .eyebrow::before{background:var(--lime)}
.home-check .prose{max-width:630px;color:#d5dfe5}
.home-check .prose p{font-size:.95rem}
.home-check .prose a{color:var(--lime)}
.home-check .prose>.button{margin:12px 18px 0 0;background:var(--lime);color:var(--ink)}
.home-check .prose>.button:hover{background:#eaf6a7;color:var(--ink)}
.home-check a:focus-visible{outline-color:#fff}
.home-check .prose>.text-link{font-size:.82rem;margin-top:18px}
.home-check-art{height:240px;position:relative;display:grid;place-items:center}
.home-check-art>img{width:120px;height:auto;transform:rotate(-7deg)}
.home-check-art>span{position:absolute;display:grid;place-items:center;width:75px;height:75px;border-radius:17px;background:#f7f5f0;box-shadow:0 9px 18px #172c3c0d;color:var(--blue)}
.home-check-art>span:nth-child(1){left:0;top:8px;transform:rotate(-10deg)}
.home-check-art>span:nth-child(2){right:0;top:50px;transform:rotate(10deg)}
.home-check-art>span:nth-child(3){left:40px;bottom:0;transform:rotate(-3deg)}
.home-check-art svg{width:37px;height:37px}
.case-related{display:inline-flex;align-items:center;gap:16px;color:var(--blue);font-weight:600;font-size:.86rem;margin-top:24px;max-width:100%;text-underline-offset:5px;line-height:1.6}
.case-related span{font-size:1.25rem;flex-shrink:0}
@media(min-width:1051px) and (max-width:1220px){#main-nav{gap:18px;font-size:.81rem}.header-inner{gap:18px}.header-inner .brand{width:174px}.nav-panel{grid-template-columns:minmax(0,1fr) 270px}.nav-panel-main{padding-inline:8px}.nav-choice{gap:9px}.nav-choice strong{font-size:.87rem}}
@media(max-width:1150px){.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-service-card{padding:27px}.home-service-card h3{font-size:1.9rem}.home-check{gap:30px;padding:44px;grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:1050px){
 :root{--nav-height:88px}
 .header-inner{height:var(--nav-height);position:static}
 .menu-toggle{display:flex}
 #main-nav{display:none;position:absolute;left:0;right:0;top:100%;width:auto;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 36px 24px;flex-direction:column;align-items:stretch;gap:0;font-size:1rem;max-height:calc(100dvh - var(--nav-height));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 22px 30px -22px #172c3c50}
 #main-nav.is-open{display:flex}
 #main-nav>a{padding:15px 4px;min-height:52px;border-bottom:1px solid var(--line)}
 #main-nav>a:not(.nav-contact)::after{display:none}
 #main-nav .nav-contact{margin-top:15px;padding:14px 17px;justify-content:space-between;border:0}
 .nav-group>summary{min-height:54px;padding:12px 4px;justify-content:space-between;border-bottom:1px solid var(--line);font-weight:600}
 .nav-group[open]>summary{border-color:transparent}
 .nav-panel{position:static;transform:none;width:100%;grid-template-columns:minmax(0,1fr) 230px;max-height:none;overflow:visible;margin:0 0 10px;border-radius:13px;box-shadow:none;gap:6px;padding:8px}
 .nav-panel-main{padding:15px 8px 5px}
 .nav-panel-heading{padding:0 8px 15px}
 .nav-panel-title{font-size:1.3rem}
 .nav-link-grid{grid-template-columns:1fr}
 .nav-choice{padding:13px 8px}
 .nav-feature{padding:22px}
 .nav-feature .nav-figure{font-size:3rem}
 .nav-feature>strong{font-size:1.5rem}
}
@media(max-width:700px){
 :root{--nav-height:78px}
 .header-inner{gap:12px}
 #main-nav{padding:8px 20px 20px}
 .nav-panel{grid-template-columns:1fr;padding:8px;margin-bottom:10px}
 .nav-panel-heading{padding-bottom:14px;margin-bottom:2px}
 .nav-panel-title{display:none}
 .nav-panel-main{padding:11px 0 4px}
 .nav-eyebrow{font-size:.59rem;margin-bottom:7px}
 .nav-choice{padding:12px 7px;gap:12px}
 .nav-choice strong{font-size:.86rem}
 .nav-choice small{font-size:.74rem}
 .nav-choice-icon{width:34px;height:34px;border-radius:9px}
 .nav-choice-icon svg{width:20px;height:20px}
 .nav-feature{display:grid;grid-template-columns:100px minmax(0,1fr);gap:0 10px;padding:18px}
 .nav-feature .nav-eyebrow,.nav-feature>strong{display:none}
 .nav-feature .nav-figure{font-size:2.3rem;align-self:center}
 .nav-feature .nav-figure-unit{margin:0;align-self:center;font-size:.68rem}
 .nav-feature-description{grid-column:1/-1;margin:12px 0;font-size:.73rem}
 .nav-feature-link{grid-column:1/-1;padding-top:12px;font-size:.74rem}
 .home-service-grid{grid-template-columns:1fr;gap:12px}
 .home-service-card{padding:23px}
 .home-service-icon{width:42px;height:42px;margin-bottom:20px}
 .home-service-card h3{font-size:1.9rem}
 .home-service-card p{font-size:.9rem}
 .home-service-card p:last-child{padding-top:4px}
 .home-service-card a{font-size:.84rem}
 .home-check{grid-template-columns:minmax(0,1fr);gap:0;padding:29px 24px;border-radius:18px;margin-bottom:0}
 .home-check h2{font-size:clamp(2rem,8vw,2.5rem)}
 .home-check .prose p{font-size:.9rem}
 .home-check .prose>.button{font-size:.83rem;margin-right:0;padding-inline:14px;gap:8px}
 .home-check .prose>.text-link{font-size:.77rem}
 .home-check-art{display:none}
}
@media(prefers-reduced-motion:no-preference){.nav-group[open]>.nav-panel{animation:nav-reveal .18s ease-out}@keyframes nav-reveal{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}}
@media(prefers-reduced-motion:reduce){.nav-group>summary,.nav-group>summary>svg,.nav-choice,.nav-choice-icon,.nav-choice-arrow,.nav-feature{transition:none}}
@media(max-width:360px){.hero h1{font-size:45px}.hero-copy{min-width:0}}
