:root {
  --navy: #052d52;
  --navy-2: #071d34;
  --blue: #1788d2;
  --cyan: #57b8ef;
  --sky: #eaf6fc;
  --ink: #10253b;
  --muted: #60758a;
  --line: #d9e6ef;
  --white: #ffffff;
  --shadow: 0 22px 60px rgba(4, 35, 63, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #fff; font-size: 18px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; position: relative; }

.site-header { height: 92px; padding: 0 max(24px, calc((100vw - 1240px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: rgba(255,255,255,.96); border-bottom: 1px solid #e6eef4; position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); }
.logo-link { width: 245px; height: 80px; overflow: hidden; display: flex; align-items: center; }
.logo-link img { width: 100%; }
nav { display: flex; gap: 32px; font-size: 1rem; font-weight: 700; color: #3c5267; }
nav a, .text-link { transition: color .2s ease; }
nav a:hover, .text-link:hover { color: var(--blue); }
.header-actions { display: flex; align-items: center; gap: 22px; font-size: 1rem; font-weight: 750; white-space: nowrap; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 25px; border: 0; border-radius: 9px; font: inherit; font-size: 1rem; font-weight: 800; letter-spacing: .01em; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 44px; padding: 0 18px; color: #fff; background: var(--navy); box-shadow: 0 8px 24px rgba(5,45,82,.18); }
.button-bright { color: #fff; background: linear-gradient(135deg, #209ce6, #0d72bb); box-shadow: 0 13px 30px rgba(14,131,204,.3); }
.button-bright:hover { box-shadow: 0 16px 36px rgba(14,131,204,.38); }
.button-ghost { color: #fff; border: 1px solid rgba(255,255,255,.36); background: rgba(255,255,255,.06); }
.button-full { width: 100%; }

.hero { min-height: 720px; color: #fff; background: linear-gradient(122deg, #061c31 0%, #07355c 56%, #0b4d79 100%); position: relative; overflow: hidden; }
.hero:before { content: ""; position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(0deg, rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to right, transparent, #000 50%, #000); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(5px); }
.hero-glow-one { width: 680px; height: 680px; right: -270px; top: -260px; background: radial-gradient(circle, rgba(69,186,240,.28), transparent 65%); }
.hero-glow-two { width: 500px; height: 500px; left: -250px; bottom: -350px; background: radial-gradient(circle, rgba(23,136,210,.23), transparent 65%); }
.hero-grid { min-height: 720px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 72px; align-items: center; padding: 74px 0 104px; }
.eyebrow { display: flex; align-items: center; gap: 11px; color: #8fd6ff; text-transform: uppercase; letter-spacing: .14em; font-size: .82rem; font-weight: 850; }
.eyebrow span { width: 24px; height: 2px; background: currentColor; }
.eyebrow-blue { color: var(--blue); }
.hero h1 { margin: 20px 0 22px; max-width: 650px; font-size: clamp(3.25rem, 5.4vw, 5.25rem); line-height: .99; letter-spacing: -.055em; font-weight: 780; }
.hero h1 em, .support-copy h2 em { color: var(--cyan); font-style: normal; }
.hero-lede { max-width: 625px; margin: 0 0 16px; font-size: 1.3rem; line-height: 1.5; color: #eaf6ff; }
.hero-support { max-width: 610px; margin: 0; color: #c5d9e7; font-size: 1.06rem; }
.hero-actions { display: flex; gap: 14px; margin: 34px 0 36px; }
.hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 630px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.18); }
.hero-facts div { display: flex; flex-direction: column; padding-right: 18px; }
.hero-facts div + div { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.16); }
.hero-facts strong { font-size: 1.15rem; color: #fff; }
.hero-facts span { color: #a9c5d8; font-size: .84rem; }
.hero-wave { position: absolute; height: 60px; left: -2%; right: -2%; bottom: -32px; background: #fff; border-radius: 50% 50% 0 0 / 70% 70% 0 0; }

.product-visual { min-height: 506px; color: var(--ink); background: #f9fcfe; border: 1px solid rgba(255,255,255,.45); border-radius: 18px; box-shadow: 0 38px 90px rgba(0,0,0,.32); position: relative; transform: perspective(1400px) rotateY(-3deg) rotateX(1deg); }
.visual-topbar { height: 56px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; background: #fff; border-radius: 18px 18px 0 0; border-bottom: 1px solid #e6eef4; }
.visual-brand { color: var(--navy); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.gear-mini { color: var(--blue); font-size: 1.05rem; margin-right: 5px; }
.avatar { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--navy); font-size: .7rem; font-weight: 800; }
.visual-body { display: grid; grid-template-columns: 52px 1fr; min-height: 448px; }
.visual-rail { padding-top: 30px; display: flex; align-items: center; flex-direction: column; gap: 24px; background: #092e50; border-radius: 0 0 0 18px; }
.visual-rail span { width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.3); border-radius: 5px; }
.visual-rail .rail-active { background: #29a7ed; border-color: #29a7ed; box-shadow: 0 0 0 7px rgba(41,167,237,.12); }
.visual-main { padding: 24px 25px; }
.case-heading { display: flex; justify-content: space-between; align-items: flex-start; }
.case-label { color: var(--blue); font-size: .72rem; letter-spacing: .1em; font-weight: 900; }
.case-heading h2 { margin: 3px 0 0; font-size: 1.25rem; line-height: 1.2; }
.case-heading p { margin: 4px 0 0; color: #6f8394; font-size: .76rem; }
.case-status { padding: 5px 10px; border-radius: 99px; color: #167b53; background: #def7eb; font-size: .72rem; font-weight: 800; }
.progress-card { margin-top: 18px; padding: 17px; background: #fff; border: 1px solid #e2ebf1; border-radius: 11px; }
.progress-meta { display: flex; justify-content: space-between; font-size: .78rem; }
.progress-meta span { color: var(--blue); font-weight: 900; }
.progress-track { height: 6px; margin: 9px 0 16px; border-radius: 99px; background: #e8f0f5; overflow: hidden; }
.progress-track span { width: 72%; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.steps { display: grid; grid-template-columns: repeat(4,1fr); position: relative; }
.steps:before { content:""; position: absolute; left: 9%; right: 9%; top: 10px; height: 1px; background: #dce7ee; }
.steps div { position: relative; display: flex; align-items: center; flex-direction: column; gap: 4px; color: #718695; font-size: .68rem; }
.steps i { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #eef3f6; color: #8193a2; font-size: .67rem; font-style: normal; font-weight: 900; z-index: 1; }
.steps .done i { color: #fff; background: var(--blue); }
.steps .current { color: var(--navy); font-weight: 800; }
.steps .current i { color: var(--blue); background: #dff2fd; border: 1px solid var(--blue); }
.metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.metric-card { padding: 15px; background: #fff; border: 1px solid #e2ebf1; border-radius: 10px; display: flex; flex-direction: column; }
.metric-card span, .metric-card small { color: #748a9b; font-size: .7rem; }
.metric-card strong { margin: 3px 0; font-size: 1.18rem; }
.metric-blue { color: #fff; background: linear-gradient(135deg,#0e4e7d,#0b79be); border: none; }
.metric-blue span, .metric-blue small { color: #bde5fb; }
.next-action { margin-top: 12px; padding: 13px 15px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; background: #e9f7fe; border: 1px solid #cbeafd; border-radius: 10px; }
.action-icon { width: 28px; height: 28px; border-radius: 7px; display: grid; place-items: center; color: #fff; background: var(--blue); font-size: .75rem; }
.next-action div { display: flex; flex-direction: column; }
.next-action span { color: var(--blue); font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.next-action strong { font-size: .78rem; }
.next-action b { color: var(--blue); }
.float-card { position: absolute; padding: 12px 15px; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #dce8f0; border-radius: 10px; box-shadow: 0 15px 34px rgba(0,25,46,.21); }
.float-card-one { left: -54px; bottom: 54px; }
.float-card-two { right: -30px; top: 92px; }
.float-card div { display: flex; flex-direction: column; }
.float-card b { font-size: .76rem; }
.float-card small { color: #718696; font-size: .68rem; }
.float-icon { width: 29px; height: 29px; display: grid; place-items: center; color: #fff; background: var(--blue); border-radius: 7px; font-size: .75rem; }

.section { padding: 110px 0; }
.platform { background: linear-gradient(180deg,#f5fafe 0%,#fff 100%); }
.section-heading { max-width: 740px; margin-bottom: 50px; }
.section-heading.centered { margin-left: auto; margin-right: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading h2, .support-copy h2, .firm-copy h2, .pricing-section h2, .final-cta h2 { margin: 14px 0 18px; color: var(--navy); font-size: clamp(2.35rem,4.4vw,4rem); line-height: 1.08; letter-spacing: -.04em; }
.section-heading p, .firm-copy > p { margin: 0; color: var(--muted); font-size: 1.08rem; }
.feature-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.feature-card { min-height: 300px; padding: 34px; position: relative; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 12px 35px rgba(5,45,82,.055); }
.feature-card.featured { background: linear-gradient(140deg,#fff,#eef8fd); }
.feature-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg,var(--navy),var(--blue)); box-shadow: 0 11px 25px rgba(16,115,178,.24); }
.feature-icon svg { width: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.feature-card h3 { margin: 22px 0 10px; color: var(--navy); font-size: 1.38rem; }
.feature-card p { max-width: 500px; margin: 0; color: var(--muted); font-size: 1.02rem; }
.mini-ui { display: flex; gap: 8px; margin-top: 22px; }
.mini-ui div { min-width: 100px; padding: 8px 10px; display: flex; flex-direction: column; background: #fff; border: 1px solid #dceaf3; border-radius: 7px; }
.mini-ui span { color: #6f8494; font-size: .72rem; }
.mini-ui b { color: #19825a; font-size: .72rem; }
.folder-list { margin-top: 22px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.folder-list div { min-width: 0; padding: 10px; display: grid; grid-template-columns: auto 1fr; column-gap: 7px; background: #fff; border: 1px solid #d5e6f0; border-radius: 8px; box-shadow: 0 5px 12px rgba(7,67,106,.06); }
.folder-list span { grid-row: 1 / 3; color: var(--blue); font-size: .9rem; line-height: 1.25; }
.folder-list b { overflow: hidden; color: var(--navy); font-size: .7rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.folder-list small { color: #7890a0; font-size: .67rem; }

.documents-section { background: #fff; }
.documents-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 86px; align-items: center; }
.documents-copy h2 { margin: 16px 0 20px; color: var(--navy); font-size: clamp(2.55rem,4.5vw,4.15rem); line-height: 1.06; letter-spacing: -.045em; }
.documents-copy > p { max-width: 650px; margin: 0; color: var(--muted); font-size: 1.07rem; }
.document-types { margin: 32px 0 27px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 22px; }
.document-types div { display: flex; align-items: center; gap: 10px; color: #294b64; font-size: .95rem; font-weight: 700; }
.document-types i { width: 22px; height: 22px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(135deg,var(--navy),var(--blue)); border-radius: 50%; font-size: .65rem; font-style: normal; }
.documents-copy .documents-note { padding: 17px 19px; color: #4e697d; background: #eef8fd; border-left: 3px solid var(--blue); border-radius: 0 8px 8px 0; font-size: .91rem; }
.document-visual { min-height: 525px; padding-top: 72px; position: relative; }
.doc-visual-header { position: absolute; top: 0; left: 44px; right: 14px; display: flex; justify-content: space-between; align-items: center; }
.doc-visual-header span { color: var(--blue); font-size: .75rem; font-weight: 900; letter-spacing: .13em; }
.doc-visual-header b { color: #7d91a1; font-size: .82rem; }
.doc-sheet { width: 78%; height: 395px; padding: 42px 35px; position: absolute; top: 72px; left: 11%; background: #fff; border: 1px solid #d6e2ea; border-radius: 9px; box-shadow: 0 22px 55px rgba(5,45,82,.14); }
.doc-sheet-back { transform: translate(-43px,28px) rotate(-7deg); opacity: .64; }
.doc-sheet-middle { transform: translate(43px,22px) rotate(6deg); opacity: .82; }
.doc-sheet-front { z-index: 3; }
.doc-tab { display: inline-block; margin-bottom: 17px; color: var(--blue); font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.doc-sheet strong { max-width: 290px; display: block; color: var(--navy); font-family: Georgia,serif; font-size: 1.5rem; line-height: 1.25; }
.doc-lines { margin-top: 28px; display: grid; gap: 10px; }
.doc-lines i { height: 6px; display: block; background: #dce6ed; border-radius: 99px; }
.doc-lines i:nth-child(2) { width: 92%; }
.doc-lines i:nth-child(3) { width: 76%; }
.doc-lines i:nth-child(4) { width: 86%; }
.doc-ready { position: absolute; top: -17px; right: 20px; padding: 9px 13px; color: #176b4c; background: #e2f6ec; border: 1px solid #bfe7d3; border-radius: 99px; font-size: .7rem; font-weight: 800; }
.doc-signature { width: 54%; margin-top: 46px; }
.doc-signature span { display: block; border-top: 1px solid #9fb0bb; }
.doc-signature small { color: #8294a1; font-size: .66rem; }

.support-section { color: #fff; background: linear-gradient(125deg,#061b30,#07385f 65%,#075280); position: relative; overflow: hidden; }
.support-section:before { content:""; position:absolute; width:600px; height:600px; right:-260px; top:-260px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow: 0 0 0 90px rgba(255,255,255,.025), 0 0 0 180px rgba(255,255,255,.02); }
.support-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.support-copy h2 { color: #fff; }
.support-copy > p { color: #b9d0e0; font-size: 1.07rem; }
.attorney-callout { margin-top: 32px; padding: 20px 22px; background: rgba(62,175,236,.1); border-left: 3px solid var(--cyan); border-radius: 0 10px 10px 0; }
.attorney-callout strong { color: #fff; }
.attorney-callout p { margin: 4px 0 0; color: #bcd4e4; font-size: .9rem; }
.service-map { min-height: 510px; position: relative; display: grid; grid-template-columns: 190px 1fr; align-items: center; gap: 26px; }
.service-core { height: 190px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; background: radial-gradient(circle at 40% 30%,#1a83bd,#082f51 70%); border: 1px solid rgba(124,211,255,.55); box-shadow: 0 0 0 16px rgba(49,170,231,.08), 0 0 0 32px rgba(49,170,231,.035); z-index: 1; }
.service-gear { color: #71caff; font-size: 1.6rem; }
.service-core strong { font-size: .88rem; letter-spacing: .07em; line-height: 1.15; }
.service-core small { max-width: 125px; margin-top: 7px; color: #b5dff4; font-size: .72rem; }
.service-list { display: grid; gap: 10px; }
.service-list > div { min-height: 64px; padding: 10px 14px; display: flex; align-items: center; gap: 13px; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.13); border-radius: 9px; }
.service-list i { width: 29px; height: 29px; display: grid; place-items:center; flex:0 0 auto; border-radius:50%; color:#8fd9ff; background:rgba(76,185,240,.13); font-size:.75rem; font-style:normal; font-weight:900; }
.service-list span { display:flex; flex-direction:column; }
.service-list b { font-size: .9rem; }
.service-list small { color:#b4ccdc; font-size:.76rem; }

.process-section { background: #fff; }
.split-heading { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.split-heading h2 { max-width: 670px; margin-bottom: 0; }
.split-heading > p { margin-bottom: 8px; color: var(--muted); }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.process-grid article { min-height: 280px; padding: 30px 24px; background: #f7fbfd; border-top: 4px solid #d8edf8; position: relative; }
.process-grid article:nth-child(2), .process-grid article:nth-child(4) { margin-top: 26px; }
.process-icon { width: 50px; height: 50px; margin: 2px 0 22px; display:grid; place-items:center; color:#fff; border-radius:50%; background:linear-gradient(135deg,var(--navy),var(--blue)); font-size:1.18rem; font-weight:900; }
.process-grid h3 { margin: 0 0 8px; color: var(--navy); font-size: 1.2rem; }
.process-grid p { margin:0; color:var(--muted); font-size:1rem; }

.firm-section { background: #eff7fb; overflow: hidden; }
.firm-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:90px; align-items:center; }
.firm-visual { min-height: 440px; position:relative; display:grid; place-items:center; }
.firm-ring { position:absolute; border-radius:50%; border:1px solid rgba(15,119,184,.22); }
.ring-one { width:330px; height:330px; }
.ring-two { width:440px; height:440px; border-style:dashed; }
.firm-center { width:190px; height:190px; display:flex; align-items:center; justify-content:center; flex-direction:column; border-radius:50%; color:#fff; background:linear-gradient(135deg,#06345a,#0c79b9); box-shadow:0 25px 55px rgba(4,60,97,.25); }
.firm-center b { font-size:1.3rem; letter-spacing:.05em; line-height:1.1; text-align:center; }
.firm-center span { margin-top:8px; color:#aee1fb; font-size:.7rem; }
.orbit { position:absolute; padding:10px 14px; display:flex; align-items:center; gap:8px; border-radius:9px; background:#fff; box-shadow:0 12px 30px rgba(5,54,85,.12); color:#456176; font-size:.84rem; font-weight:700; }
.orbit i { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-size:.58rem; font-style:normal; }
.orbit-one { top:22px; left:50%; transform:translateX(-50%); }
.orbit-two { left:0; bottom:90px; }
.orbit-three { right:0; bottom:92px; }
.firm-copy ul { margin:28px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; }
.firm-copy li { padding-left:28px; color:#34536a; font-weight:700; position:relative; }
.firm-copy li:before { content:"✓"; width:19px; height:19px; position:absolute; left:0; top:4px; display:grid; place-items:center; color:#fff; background:var(--blue); border-radius:50%; font-size:.6rem; }

.pricing-section { padding: 105px 0; color: #fff; background: linear-gradient(125deg,#062a49,#0d5e91); position: relative; overflow: hidden; }
.pricing-section:after { content:""; position:absolute; width:700px; height:700px; left:-400px; top:-390px; border-radius:50%; background:radial-gradient(circle,rgba(77,192,245,.2),transparent 66%); }
.pricing-grid { display:grid; grid-template-columns:1fr 440px; gap:90px; align-items:center; }
.pricing-section h2 { color:#fff; }
.pricing-section p { max-width:600px; color:#b8d1e2; font-size:1.05rem; }
.pricing-card { padding:38px; color:var(--ink); background:#fff; border-radius:18px; box-shadow:0 30px 70px rgba(0,18,34,.28); }
.pricing-card > span { color:var(--blue); font-size:.78rem; font-weight:900; letter-spacing:.12em; }
.price { margin:15px 0 20px; display:flex; align-items:center; }
.price sup { align-self:flex-start; margin-top:17px; color:var(--navy); font-size:1.5rem; font-weight:850; }
.price strong { color:var(--navy); font-size:5.2rem; line-height:1; letter-spacing:-.06em; }
.price small { margin-left:12px; color:#6f8393; font-size:.84rem; line-height:1.4; }
.pricing-card ul { margin:0 0 25px; padding:20px 0; border-top:1px solid #e1eaf0; border-bottom:1px solid #e1eaf0; list-style:none; display:grid; gap:9px; }
.pricing-card li { padding-left:25px; color:#425d71; font-size:1rem; position:relative; }
.pricing-card li:before { content:"✓"; position:absolute; left:0; color:var(--blue); font-weight:900; }
.pricing-card > small { margin-top:14px; display:block; color:#748896; text-align:center; font-size:.78rem; }

.interest-section { padding:110px 0; position:relative; overflow:hidden; background:linear-gradient(145deg,#eff8fd,#fff); }
.interest-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:78px; align-items:center; z-index:1; }
.interest-copy h2 { margin:16px 0 18px; color:var(--navy); font-size:clamp(2.6rem,4.7vw,4.35rem); line-height:1.04; letter-spacing:-.045em; }
.interest-copy > p { color:var(--muted); font-size:1.08rem; }
.invitation-note { margin:30px 0; padding:20px 22px; display:flex; flex-direction:column; gap:5px; background:#e8f5fc; border-left:3px solid var(--blue); border-radius:0 10px 10px 0; }
.invitation-note strong { color:var(--navy); font-size:1rem; }
.invitation-note span { color:#516d80; font-size:.94rem; }
.login-link { display:inline-block; color:#5b7284; font-size:.95rem; }
.login-link strong { color:var(--blue); }
.interest-form { padding:38px; background:#fff; border:1px solid #d9e8f1; border-radius:18px; box-shadow:var(--shadow); }
.form-heading { margin-bottom:24px; }
.form-heading > span { color:var(--blue); font-size:.78rem; font-weight:900; letter-spacing:.13em; }
.form-heading h3 { margin:5px 0 0; color:var(--navy); font-size:1.7rem; line-height:1.25; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:22px; }
.form-grid label { display:flex; flex-direction:column; gap:7px; }
.form-grid label > span { color:#39556a; font-size:.86rem; font-weight:750; }
.form-grid input, .form-grid textarea { width:100%; min-height:48px; padding:11px 13px; color:var(--ink); background:#f9fcfe; border:1px solid #cddde7; border-radius:8px; font:inherit; font-size:1rem; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.form-grid textarea { resize:vertical; }
.form-grid input:focus, .form-grid textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(23,136,210,.12); }
.form-wide { grid-column:1 / -1; }
.form-honeypot { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.interest-form button[disabled] { cursor:wait; opacity:.72; }
.form-status { min-height:1.6em; margin:13px 0 0; text-align:center; font-size:.9rem; font-weight:750; }
.form-status.is-success { color:#176b4c; }
.form-status.is-error { color:#a12b2b; }
.form-privacy { margin:8px 0 0; color:#788d9b; text-align:center; font-size:.78rem; }
.cta-gears { position:absolute; right:-100px; bottom:-180px; color:rgba(18,121,184,.08); font-size:330px; line-height:1; transform:rotate(8deg); }
.cta-gears span { position:absolute; right:265px; bottom:180px; font-size:150px; }

footer { padding:48px 0 28px; color:#b6cad8; background:#071b2d; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:27px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand { display:flex; flex-direction:column; }
.footer-brand strong { color:#fff; font-size:1.12rem; letter-spacing:.04em; }
.footer-brand strong span { color:#7c8f9e; }
.footer-brand small { color:#8ba4b5; font-size:.78rem; }
.footer-links { display:flex; gap:25px; color:#b1c5d2; font-size:.86rem; }
.footer-links a:hover { color:#fff; }
.disclaimer { padding-top:25px; color:#8099aa; font-size:.78rem; line-height:1.7; }

.legal-header { position:relative; }
.legal-page { min-height:calc(100vh - 250px); padding:80px 0 100px; background:linear-gradient(145deg,#eff8fd,#fff 62%); }
.legal-card { width:min(880px,calc(100% - 48px)); margin:0 auto; padding:56px 64px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.legal-card h1 { margin:12px 0 4px; color:var(--navy); font-size:clamp(2.75rem,5vw,4.6rem); line-height:1.03; letter-spacing:-.045em; }
.legal-updated { margin:0 0 40px; color:#7890a0; font-size:.9rem; }
.legal-card h2 { margin:32px 0 8px; color:var(--navy); font-size:1.35rem; }
.legal-card p { color:var(--muted); }
.legal-card a { color:var(--blue); font-weight:750; }
.portal-card { max-width:760px; }
.portal-card h1 { margin-bottom:18px; }
.portal-card .portal-lede { margin:0; color:#36536a; font-size:1.16rem; }
.portal-status { width:max-content; max-width:100%; margin:28px 0 24px; padding:9px 14px; display:flex; align-items:center; gap:9px; color:#176b4c; background:#e2f6ec; border:1px solid #bfe7d3; border-radius:99px; font-size:.82rem; font-weight:800; }
.portal-status i { width:9px; height:9px; flex:0 0 auto; background:#24a46f; border-radius:50%; box-shadow:0 0 0 4px rgba(36,164,111,.12); }
.portal-card .invitation-note { margin:26px 0 22px; }
.legal-card .button { margin-top:18px; color:#fff; }

@media (max-width: 1050px) {
  nav { display:none; }
  .hero-grid { grid-template-columns:1fr; gap:55px; padding-top:70px; }
  .hero-copy { max-width:730px; }
  .product-visual { width:min(720px,100%); margin:0 auto; transform:none; }
  .hero { min-height:auto; }
  .support-grid, .firm-grid { grid-template-columns:1fr; }
  .documents-grid { grid-template-columns:1fr; }
  .document-visual { width:min(560px,100%); margin:0 auto; }
  .pricing-grid { grid-template-columns:1fr 420px; gap:45px; }
  .interest-grid { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .container { width:min(100% - 32px, 620px); }
  .site-header { height:76px; padding:0 16px; }
  .logo-link { width:180px; height:66px; }
  .header-actions .text-link { display:none; }
  .button-small { min-height:40px; padding:0 13px; font-size:.76rem; }
  .hero-grid { padding:62px 0 100px; }
  .hero h1 { font-size:3.15rem; }
  .hero-lede { font-size:1.12rem; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-facts { grid-template-columns:1fr; gap:15px; }
  .hero-facts div + div { padding-left:0; border-left:0; }
  .product-visual { min-height:430px; }
  .visual-body { grid-template-columns:38px 1fr; min-height:374px; }
  .visual-main { padding:18px 14px; }
  .float-card { display:none; }
  .metrics { grid-template-columns:1fr; }
  .metric-card:nth-child(2) { display:none; }
  .section { padding:80px 0; }
  .feature-grid, .process-grid { grid-template-columns:1fr; }
  .feature-card { min-height:auto; }
  .mini-ui { flex-wrap:wrap; }
  .folder-list { grid-template-columns:1fr; }
  .documents-grid { gap:45px; }
  .document-types { grid-template-columns:1fr; }
  .document-visual { min-height:460px; transform:scale(.9); transform-origin:top center; margin-bottom:-50px; }
  .support-grid { gap:55px; }
  .service-map { min-height:auto; grid-template-columns:1fr; }
  .service-core { width:180px; height:180px; margin:0 auto; }
  .split-heading { grid-template-columns:1fr; gap:22px; }
  .process-grid article:nth-child(2), .process-grid article:nth-child(4) { margin-top:0; }
  .firm-grid { gap:45px; }
  .firm-visual { min-height:350px; transform:scale(.82); margin:-35px; }
  .firm-copy ul { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; }
  .pricing-card { padding:30px 24px; }
  .interest-section { padding:80px 0; }
  .interest-grid { gap:45px; }
  .interest-form { padding:28px 20px; }
  .form-grid { grid-template-columns:1fr; }
  .form-wide { grid-column:auto; }
  .footer-top { flex-direction:column; align-items:flex-start; }
  .footer-links { flex-wrap:wrap; gap:14px 22px; }
  .legal-page { padding:50px 0 70px; }
  .legal-card { width:min(100% - 32px,620px); padding:36px 24px; }
  .portal-status { width:100%; border-radius:10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  * { transition:none !important; }
}
