.lp { --lp-navy:#102d50; --lp-blue:#1768c4; --lp-ink:#162b40; --lp-muted:#526679; color:var(--lp-ink); font-size:16px; }
.lp .container { max-width:1080px; padding-inline:28px; }
.lp a { color:var(--lp-blue); }
.lp a:hover { color:#104e99; }
.lp a:focus-visible,.lp button:focus-visible,.lp summary:focus-visible { outline:3px solid #66bbff; outline-offset:4px; }
.lp [id] { scroll-margin-top:20px; }
.lp h1,.lp h2,.lp h3 { color:var(--lp-ink); }
.lp .btn { border-radius:9px; min-height:50px; padding:12px 20px; font-size:15px; gap:12px; }
.lp .btn--primary { background:var(--lp-blue); color:#fff; }
.lp .btn--primary:hover { background:#104e99; color:#fff; }
.lp .btn--outline { border:1px solid #a2b6c8; color:var(--lp-ink); }
.lp .skip-link { position:fixed; top:-100px; left:16px; padding:12px 18px; background:#fff; z-index:2000; }
.lp .skip-link:focus { top:10px; }
.lp-header { background:var(--lp-navy); border-bottom:1px solid #ffffff1a; }
.lp-header .container { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.lp-header .brand__name { font-size:22px; }
.lp-header .brand__claim { font-size:9px; margin-top:4px; }
.lp-header-note { color:#c5d9ee; font-size:12px; }
.lp-hero { background:radial-gradient(ellipse at 13% 25%,#155e9b88,transparent 57%),var(--lp-navy); padding:44px 0 32px; color:#fff; }
.lp-hero-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; row-gap:25px; align-items:center; }
.lp-intro { grid-column:1; grid-row:1; }
.lp-kicker { color:#a9d8ff; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; margin-bottom:16px; }
.lp h1 { font-family:var(--font-body); font-size:clamp(35px,4vw,46px); line-height:1.15; letter-spacing:-.035em; font-weight:700; }
.lp-hero h1 { color:#fff; }
.lp-hero h1 span { color:#8bd0ff; }
.lp-lead { color:#d4e4f3; font-size:16px; line-height:1.6; margin-top:18px; max-width:440px; }
.lp-form { grid-column:2; grid-row:1/3; padding:26px; background:#fff; color:var(--lp-ink); border-radius:15px; box-shadow:0 12px 30px #03182b30; }
.lp-form h2 { font:700 22px/1.2 var(--font-body); letter-spacing:-.02em; }
.lp-form-sub { font-size:13px; line-height:1.5; color:var(--lp-muted); margin:7px 0 18px; }
.lp-fields { display:grid; gap:12px; }
.lp-field label { display:block; font-size:13px; font-weight:600; margin-bottom:5px; }
.lp-field label span { font-weight:400; color:var(--lp-muted); font-size:11px; }
.lp-field input { display:block; width:100%; min-height:48px; border:1px solid #c4d3df; border-radius:7px; background:#fcfdff; font:400 16px var(--font-body); padding:10px 12px; color:var(--lp-ink); }
.lp-field input::placeholder { color:#687c8e; opacity:1; }
.lp-field input:focus { outline:2px solid var(--lp-blue); outline-offset:1px; background:#fff; }
.lp-consent { display:flex; gap:9px; align-items:flex-start; cursor:pointer; margin:16px 0; }
.lp-consent input { width:20px; height:20px; margin-top:2px; flex:none; accent-color:var(--lp-blue); }
.lp-consent span { font-size:11px; line-height:1.55; color:var(--lp-muted); }
.lp-consent a { text-decoration:underline; }
.lp-form .btn { width:100%; }
.lp-form .btn:disabled { opacity:.7; cursor:wait; transform:none; }
.lp-form-note { font-size:10px; color:var(--lp-muted); margin-top:9px; text-align:center; line-height:1.5; }
.lp-status { padding:12px; font-size:12px; line-height:1.5; margin-bottom:12px; border-radius:7px; background:#fff1ee; color:#8a2d20; border:1px solid #f0beb6; }
.lp-status:empty { display:none; }
.lp-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.lp-person { grid-column:1; grid-row:2; display:flex; gap:12px; align-items:center; }
.lp-person img { height:50px; width:50px; flex:none; border-radius:50%; object-fit:cover; border:2px solid #a9d8ff; }
.lp-person strong { display:block; font-size:13px; }
.lp-person span { display:block; color:#c5d9ee; font-size:11px; }
.lp-person a { margin-left:auto; font-size:11px; color:#a9d8ff; text-decoration:underline; }
.lp-desktop-visual { display:none; }
.lp-info { padding:35px 0 30px; }
.lp-info .container { max-width:810px; }
.lp-info h2,.lp-examples h2 { font:600 24px/1.25 var(--font-body); letter-spacing:-.025em; }
.lp-faq { margin-top:18px; border-top:1px solid #dbe5ee; }
.lp-faq details { border-bottom:1px solid #dbe5ee; padding:0; }
.lp-faq summary { font-size:14px; font-weight:600; padding:15px 28px 15px 0; cursor:pointer; list-style:none; position:relative; }
.lp-faq summary::-webkit-details-marker { display:none; }
.lp-faq summary::after { content:'+'; position:absolute; right:3px; top:12px; font-weight:400; font-size:22px; color:var(--lp-blue); }
.lp-faq details[open] summary::after { content:'−'; }
.lp-faq p { font-size:13px; line-height:1.7; color:var(--lp-muted); padding:0 22px 16px 0; }
.lp-examples { background:#f4f8fc; padding:32px 0; }
.lp-examples .container { max-width:810px; }
.lp-section-heading { display:flex; gap:15px; justify-content:space-between; align-items:center; margin-bottom:18px; }
.lp-section-heading>a { font-size:12px; white-space:nowrap; }
.lp-projects { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lp-project { background:#fff; border:1px solid #dce7f0; border-radius:10px; overflow:hidden; }
.lp-project img { width:100%; aspect-ratio:1.9; object-fit:contain; background:#e9eff5; }
.lp-project>span { display:flex; justify-content:space-between; gap:6px; padding:12px; font-size:13px; font-weight:600; }
.lp-last-cta { text-align:center; margin-top:27px; }
.lp-last-cta p { font-size:15px; font-weight:600; margin-bottom:12px; }
.lp-footer { padding:23px 0; background:#fff; }
.lp-footer .container { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.lp-footer small { font-size:11px; color:var(--lp-muted); }
.lp-footer strong { font-size:17px; display:block; }
.lp-footer nav { display:flex; flex-wrap:wrap; gap:18px; }
.lp-footer nav a { font-size:11px; color:var(--lp-muted); }
.lp-thanks { min-height:calc(100vh - 175px); display:grid; place-items:center; background:#edf5fb; padding:65px 0; }
.lp-thanks .container { max-width:780px; }
.lp-thanks h1 em { color:var(--lp-blue); }
.lp-thanks .lp-lead { color:var(--lp-muted); max-width:620px; }
.lp-thanks .eyebrow { color:var(--lp-blue); }
.lp-thanks .lp-hero-note { font-size:13px; color:var(--lp-muted); margin-top:22px; }
.lp-thanks-mark { height:56px; width:56px; display:grid; place-items:center; border-radius:50%; background:#d5eafa; color:var(--lp-blue); font-size:26px; margin-bottom:25px; }
.lp-thanks-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:25px; }
@media (min-width:980px) {
  .lp-compact .lp-header .container,.lp-compact .lp-hero>.container { max-width:1320px; }
  .lp-compact .lp-hero { position:relative; overflow:hidden; padding:48px 0; background:radial-gradient(ellipse at 23% 60%,#227ab94d,transparent 52%),radial-gradient(ellipse at 87% 15%,#2473c840,transparent 48%),var(--lp-navy); }
  .lp-compact .lp-hero::before { content:''; position:absolute; width:680px; height:680px; border:1px solid #85cfff2e; border-radius:50%; left:-330px; top:15px; pointer-events:none; background:radial-gradient(circle,#208cdd26,transparent 69%); box-shadow:0 0 0 85px #75c9ff06,0 0 0 170px #75c9ff04; }
  .lp-compact .lp-hero::after { content:''; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle,#83c9ff42 1px,transparent 1.6px),linear-gradient(135deg,transparent 44%,#4ca3e318 44%,#4ca3e303 62%,transparent 62%); background-size:24px 24px,100% 100%; mask-image:linear-gradient(90deg,transparent 48%,#000 100%); }
  .lp-compact .lp-hero-grid { position:relative; z-index:1; grid-template-columns:minmax(0,1fr) 420px; gap:26px 64px; align-items:start; }
  .lp-compact .lp-intro h1 { font-size:clamp(38px,3.25vw,48px); }
  .lp-compact .lp-lead { max-width:550px; }
  .lp-compact .lp-form { align-self:center; box-shadow:0 22px 60px #03182b40; }
  .lp-compact .lp-person { display:none; }
  .lp-desktop-visual { display:flex; grid-column:1; grid-row:2; gap:18px; max-width:640px; }
  .lp-portrait-card { position:relative; flex:0 0 174px; height:226px; overflow:hidden; border-radius:14px; border:1px solid #9acbef55; background:#385674; }
  .lp-portrait-card>img { width:100%; height:100%; object-fit:cover; object-position:center 26%; }
  .lp-portrait-card>div { position:absolute; inset:auto 0 0; padding:36px 13px 13px; background:linear-gradient(transparent,#09233feb 48%); }
  .lp-portrait-card strong { display:block; font-size:13px; }
  .lp-portrait-card a { color:#b8e1ff; font-size:10px; }
  .lp-work-card { display:block; flex:1; min-width:0; border-radius:14px; overflow:hidden; border:1px solid #9acbef55; background:#163c60; box-shadow:0 15px 35px #03182b30; }
  .lp-work-card>img { width:100%; height:164px; object-fit:cover; object-position:center; }
  .lp-work-card>div { padding:12px 15px; }
  .lp-work-card>div>span { display:block; color:#b6d4ec; font-size:10px; margin-bottom:3px; }
  .lp-work-card strong { display:block; font-size:12px; line-height:1.4; color:#fff; }
  .lp-work-card:hover { border-color:#b9e2ff; }
}
@media (max-width:780px) {
  .lp .container { padding-inline:20px; }
  .lp-header .container { min-height:48px; }
  .lp-header .brand__name { font-size:18px; }
  .lp-header-note { font-size:10px; }
  .lp-hero { padding:22px 0; }
  .lp-hero-grid { grid-template-columns:1fr; gap:18px; }
  .lp-intro,.lp-form,.lp-person { grid-column:auto; grid-row:auto; }
  .lp-kicker { font-size:10px; margin-bottom:9px; }
  .lp h1 { font-size:30px; line-height:1.12; }
  .lp-desktop-break { display:none; }
  .lp-lead { font-size:14px; line-height:1.5; margin-top:11px; max-width:none; }
  .lp-form { padding:20px; }
  .lp-form h2 { font-size:20px; }
  .lp-form-sub { font-size:12px; margin-bottom:15px; }
  .lp-person img { height:42px; width:42px; }
  .lp-info { padding:27px 0; }
  .lp-info h2,.lp-examples h2 { font-size:21px; }
  .lp-section-heading { display:block; }
  .lp-section-heading>a { display:inline-block; margin-top:8px; }
  .lp-projects { gap:10px; }
  .lp-project>span { font-size:11px; padding:10px 8px; }
  .lp-last-cta .btn { width:100%; }
  .lp-footer .container { flex-direction:column; align-items:start; gap:10px; }
}
@media (max-width:360px) {
  .lp .container { padding-inline:16px; }
  .lp-header-note { display:none; }
  .lp h1 { font-size:27px; }
  .lp-form { padding:17px; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(.lp) { scroll-behavior:auto; }
  .lp *, .lp *::before,.lp *::after { transition:none!important; animation:none!important; }
}
