.header-inner { gap: 22px; }
.main-nav { gap: 22px; }
.brand strong { font-size: 17px; }
.brand-logo { display:block; width:60px; height:60px; flex:0 0 60px; object-fit:contain; background:#fff; border-radius:10px; }
.brand > span:last-child { min-width:0; }
.hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 64px; }
.home-hero .hero-grid { min-height: 580px; }
.hero h1 { font-size: clamp(38px, 4.3vw, 62px); line-height: 1.2; }
.portal-aside { padding: 32px; border: 1px solid #d3e1d4; border-radius: 24px; background: rgba(255,255,255,.65); }
.portal-aside h2 { margin: 18px 0; font-size: 26px; line-height: 1.5; }
.portal-aside p { color: var(--muted); }
.aside-rule { display: block; width: 48px; height: 5px; border-radius: 3px; background: var(--green); }
.feature-card h3 { margin-top: 0; }
.feature-card ul { padding-left: 20px; margin-bottom: 0; color: #506157; font-size: 14px; }
.feature-card .text-link { display: inline-block; margin-top: 20px; color: var(--green); font-weight: 750; }
.case-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 36px; }
.case-card .kicker { font-size: 11px; letter-spacing: .04em; min-height: 36px; }
.case-card { scroll-margin-top: 100px; }
.case-note { padding-top: 18px; font-size: 12px !important; }
.section > .text-link { display: inline-block; margin-top: 28px; }
.section[id] { scroll-margin-top: 90px; }
.contact-grid { margin-top: 36px; }
.contact-grid a { color: var(--green-deep); font-weight: 700; }
.contact-grid address { margin: 8px 0; font-style: normal; }
.prose { max-width: 850px; }
.legal-page-title { padding-top:60px; }
.legal-page-title h1 { font-size:clamp(34px,4vw,52px); line-height:1.3; margin-bottom:0; }
.prose h2 { margin-top: 40px; font-size: 24px; }
.prose p { color: var(--muted); }
.faq-list details { border-bottom: 1px solid var(--line); padding: 24px 0; }
.faq-list summary { cursor: pointer; font-size: 21px; font-weight: 750; }
.faq-list details p { max-width: 850px; color: var(--muted); }
.footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1.35fr; gap: 30px; }
.footer-brand { white-space: normal; }
.footer-brand strong { font-size: 16px; }
.footer-brand small { max-width: 220px; line-height: 1.6; }
.footer-bottom { gap: 16px; flex-wrap: wrap; }
@media (max-width: 1040px) { .main-nav { gap: 16px; } .header-contact { display:none; } .hero-grid { gap: 32px; } .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 820px) { .header-inner { flex-wrap:wrap; padding-block:16px; } .main-nav { margin-left:0; width:100%; justify-content:space-between; } .main-nav a { font-size:13px; } .hero-grid { grid-template-columns:1fr; padding-block:52px; gap:28px; } .portal-aside { padding:24px; } .portal-aside h2 { font-size:23px; } .home-hero .hero-grid { min-height:0; } .footer-grid { grid-template-columns:1fr 1fr; } .footer-grid > div:last-child { grid-column:auto; } }
@media (max-width:620px) { .brand-logo { width:54px; height:54px; flex-basis:54px; } .brand { gap:10px; } .case-grid { grid-template-columns:1fr; } .hero h1 { font-size:38px; } .feature-grid.three { grid-template-columns:1fr; } .hero-actions .button { width:100%; } .footer-grid > div:last-child { grid-column:1 / 3; } }
