@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');

.asl-landing {
  --asl-purple: #4B2E9E;
  --asl-purple-deep: #35206f;
  --asl-orange: #FF8C42;
  --asl-ink: #28223c;
  --asl-muted: #706b7d;
  --asl-line: #e8e2ef;
  --asl-paper: #fbf9f5;
  --asl-white: #fffefa;
  --asl-lilac: #f1edfb;
  --asl-body: 'DM Sans', sans-serif;
  --asl-display: 'Manrope', sans-serif;
  color: var(--asl-ink);
  background: var(--asl-paper);
  font: 16px/1.6 var(--asl-body);
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
}
.asl-landing, .asl-landing * { box-sizing: border-box; }
.asl-landing a { color: inherit; text-decoration: none; }
.asl-landing button, .asl-landing input, .asl-landing textarea { font: inherit; }
.asl-landing button { cursor: pointer; }
.asl-landing svg { display: block; }
.asl-landing :focus-visible { outline: 3px solid var(--asl-orange); outline-offset: 4px; }
.asl-landing .asl-container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.asl-landing .asl-skip { position: absolute; top: 8px; left: 8px; z-index: 200; padding: 10px 14px; color: white; background: var(--asl-purple); border-radius: 6px; transform: translateY(-150%); }
.asl-landing .asl-skip:focus { transform: translateY(0); }
.asl-landing .asl-header { position: relative; z-index: 30; background: rgba(251,249,245,.94); border-bottom: 1px solid rgba(75,46,158,.09); }
.asl-landing .asl-nav { position:relative; min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.asl-landing .asl-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--asl-purple); font: 800 21px/1 var(--asl-display); letter-spacing: -.8px; }
.asl-landing .asl-brand-mark { display:block; flex:none; width:54px; height:54px; object-fit:contain; background:#fff; border:1px solid rgba(75,46,158,.14); border-radius:50%; }
.asl-landing .asl-nav-links { display: flex; align-items: center; gap: 30px; margin-left: auto; font-size: 14px; font-weight: 600; color: #625c71; }
.asl-landing .asl-nav-links a:hover { color: var(--asl-purple); }
.asl-landing .asl-nav-actions { display: flex; align-items: center; gap: 11px; }
.asl-landing .asl-menu-toggle { display: none; border: 1px solid var(--asl-line); background: var(--asl-white); width: 44px; height: 44px; border-radius: 12px; color: var(--asl-purple); }
.asl-landing .asl-menu-toggle svg { width: 21px; height: 21px; margin: auto; }
.asl-landing .asl-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; padding: 11px 20px; border: 1px solid transparent; border-radius: 9px; font: 700 14px/1.2 var(--asl-display); transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.asl-landing .asl-button:hover { transform: translateY(-2px); }
.asl-landing .asl-button svg { width: 17px; height: 17px; }
.asl-landing .asl-button-primary { color: white; background: var(--asl-purple); box-shadow: 0 7px 18px rgba(75,46,158,.18); }
.asl-landing .asl-button-primary:hover { background: var(--asl-purple-deep); }
.asl-landing .asl-button-accent { color:#34213e; background:var(--asl-orange); box-shadow:0 7px 18px rgba(196,99,35,.18); }
.asl-landing .asl-button-accent:hover { background:#ff9c5e; }
.asl-landing .asl-button-soft { background: #fffefa; color: var(--asl-purple); border-color: #ded7eb; }
.asl-landing .asl-button-soft:hover { border-color: var(--asl-purple); background: var(--asl-lilac); }
.asl-landing .asl-button-light { color: var(--asl-purple); background: #fffefa; }
.asl-landing .asl-button-light:hover { background: #f7f1e9; }
.asl-landing .asl-hero { position: relative; padding: 82px 0 93px; background: #f4f0e9; }
.asl-landing .asl-hero:before { content:""; position:absolute; inset:0 0 auto; height:8px; background:linear-gradient(90deg,var(--asl-purple) 0 72%,var(--asl-orange) 72%); }
.asl-landing .asl-hero:after { content:""; position:absolute; right:-135px; top:40px; width:440px; height:440px; border:1px solid rgba(75,46,158,.1); border-radius:50%; box-shadow:0 0 0 38px rgba(75,46,158,.025),0 0 0 78px rgba(75,46,158,.02); pointer-events:none; }
.asl-landing .asl-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:64px; }
.asl-landing .asl-hero-content,.asl-landing .asl-preview-wrap { min-width:0; }
.asl-landing .asl-kicker { display:inline-flex; align-items:center; gap:9px; margin:0 0 20px; color:var(--asl-purple); font-size:12px; font-weight:800; letter-spacing:1.25px; text-transform:uppercase; }
.asl-landing .asl-kicker:before { content:""; display:block; width:24px; height:2px; background:var(--asl-orange); }
.asl-landing .asl-hero h1 { width:100%; min-width:0; max-width:680px; margin:0; font:800 clamp(40px,4.7vw,62px)/1.07 var(--asl-display); letter-spacing:-3.2px; }
.asl-landing .asl-hero h1 em { color:var(--asl-purple); font-style:normal; }
.asl-landing .asl-hero-copy { max-width:540px; margin:22px 0 28px; color:#625d6c; font-size:18px; line-height:1.65; }
.asl-landing .asl-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.asl-landing .asl-proofline { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:28px; color:#655f70; font-size:12px; font-weight:700; }
.asl-landing .asl-proofline span { display:flex; align-items:center; gap:7px; }
.asl-landing .asl-proofline svg { width:16px; height:16px; color:#328368; }
.asl-landing .asl-preview-wrap { position:relative; padding:14px 0 18px 17px; }
.asl-landing .asl-preview-wrap:before { content:""; position:absolute; z-index:-1; inset:0 21px 0 0; border:1px solid rgba(75,46,158,.2); border-radius:16px; transform:rotate(-3deg); background:#e9e2f5; }
.asl-landing .asl-report-preview { position:relative; width:min(100%,445px); min-width:0; margin-left:auto; padding:25px 28px 23px; background:#fffefa; border:1px solid #ddd8e4; box-shadow:0 28px 70px rgba(45,33,79,.16); transform:rotate(1.2deg); }
.asl-landing .asl-report-preview:after { content:""; position:absolute; top:0; right:0; width:54px; height:54px; background:linear-gradient(225deg,#e9e3ef 0 49%,#fffefa 51%); }
.asl-landing .asl-report-top { display:flex; align-items:center; gap:13px; padding-bottom:17px; border-bottom:2px solid var(--asl-purple); }
.asl-landing .asl-seal { display:grid; place-items:center; flex:none; width:47px; height:47px; border:1px solid #d9d0ea; border-radius:50%; color:var(--asl-purple); background:#f5f1fb; }
.asl-landing .asl-seal svg { width:24px; height:24px; }
.asl-landing .asl-report-school { min-width:0; }
.asl-landing .asl-report-school strong { display:block; color:var(--asl-purple); font:800 13px/1.3 var(--asl-display); letter-spacing:.25px; }
.asl-landing .asl-report-school span { display:block; color:#8a8493; font-size:8px; letter-spacing:1px; }
.asl-landing .asl-report-heading { padding:15px 0 10px; text-align:center; }
.asl-landing .asl-report-heading b { font:800 12px var(--asl-display); letter-spacing:.85px; }
.asl-landing .asl-report-heading span { display:block; margin-top:3px; color:#777181; font-size:9px; }
.asl-landing .asl-student-line { display:grid; grid-template-columns:1.3fr 1fr; gap:5px 15px; padding:10px; background:#f7f5fa; color:#615b6c; font-size:8px; }
.asl-landing .asl-student-line b { color:#332c43; }
.asl-landing .asl-mini-table { width:100%; margin:12px 0 9px; border-collapse:collapse; table-layout:fixed; font-size:8px; }
.asl-landing .asl-mini-table th { padding:7px 5px; color:white; background:var(--asl-purple); text-align:left; font-size:7px; letter-spacing:.4px; }
.asl-landing .asl-mini-table td { padding:7px 5px; border-bottom:1px solid #eeeaf1; color:#554f60; overflow-wrap:anywhere; }
.asl-landing .asl-mini-table td:last-child,.asl-landing .asl-mini-table th:last-child { text-align:right; }
.asl-landing .asl-preview-summary { display:flex; justify-content:space-between; padding:8px 10px; background:#f5f1fb; color:var(--asl-purple); font-size:8px; font-weight:700; }
.asl-landing .asl-preview-stamp { position:absolute; bottom:29px; right:24px; width:50px; height:50px; display:grid; place-items:center; border:2px solid rgba(255,140,66,.8); border-radius:50%; color:#c96622; transform:rotate(-12deg); font-size:6px; font-weight:800; text-align:center; letter-spacing:.4px; }
.asl-landing .asl-preview-note { position:absolute; bottom:0; left:0; display:flex; align-items:center; gap:8px; padding:10px 13px; background:var(--asl-orange); color:#30233c; border-radius:7px; box-shadow:0 7px 19px rgba(119,67,36,.12); font-size:11px; font-weight:800; }
.asl-landing .asl-preview-note svg { width:17px; height:17px; }
.asl-landing .asl-trust-strip { position:relative; z-index:2; padding:22px 0; color:#645d70; background:#fffefa; border-bottom:1px solid #eee8e0; }
.asl-landing .asl-trust-inner { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:28px 52px; }
.asl-landing .asl-trust-label { color:#90899a; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1.1px; }
.asl-landing .asl-trust-item { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:700; }
.asl-landing .asl-trust-item svg { width:19px; height:19px; color:var(--asl-purple); }
.asl-landing .asl-section { padding:100px 0; }
.asl-landing .asl-section-head { max-width:670px; margin:0 auto 48px; text-align:center; }
.asl-landing .asl-section-head .asl-kicker { justify-content:center; }
.asl-landing .asl-section-head h2 { margin:0; font:800 clamp(31px,4vw,47px)/1.15 var(--asl-display); letter-spacing:-2px; }
.asl-landing .asl-section-head p { margin:14px 0 0; color:var(--asl-muted); font-size:16px; }
.asl-landing .asl-features { background:#fffefa; }
.asl-landing .asl-feature-layout { display:grid; grid-template-columns:.88fr 1.12fr; gap:70px; align-items:center; }
.asl-landing .asl-feature-intro { position:relative; padding:34px 33px 33px 0; }
.asl-landing .asl-feature-intro:before { content:""; position:absolute; left:-100vw; right:20px; top:0; bottom:0; z-index:0; background:#f1edfb; border-radius:0 20px 20px 0; }
.asl-landing .asl-feature-intro > * { position:relative; z-index:1; }
.asl-landing .asl-feature-intro .asl-kicker { margin-bottom:15px; }
.asl-landing .asl-feature-intro h2 { margin:0; font:800 clamp(31px,3.6vw,44px)/1.13 var(--asl-display); letter-spacing:-2px; }
.asl-landing .asl-feature-intro p { color:var(--asl-muted); margin:16px 0 25px; }
.asl-landing .asl-feature-count { display:flex; align-items:baseline; gap:10px; padding-top:17px; border-top:1px solid #dcd4ed; color:#71698a; font-size:12px; }
.asl-landing .asl-feature-count strong { color:var(--asl-purple); font:800 30px var(--asl-display); }
.asl-landing .asl-feature-list { display:grid; grid-template-columns:1fr 1fr; column-gap:30px; }
.asl-landing .asl-feature { display:grid; grid-template-columns:43px 1fr; gap:13px; padding:20px 0; border-bottom:1px solid #eeeaf2; }
.asl-landing .asl-feature-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#f5f1fb; color:var(--asl-purple); }
.asl-landing .asl-feature-icon svg { width:21px; height:21px; }
.asl-landing .asl-feature h3 { margin:1px 0 4px; font:800 15px/1.35 var(--asl-display); }
.asl-landing .asl-feature p { margin:0; color:var(--asl-muted); font-size:13px; line-height:1.55; }
.asl-landing .asl-workflow { position:relative; background:#f4f0e9; }
.asl-landing .asl-workflow-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.asl-landing .asl-step { position:relative; padding:16px 33px 8px 0; }
.asl-landing .asl-step:not(:last-child):after { content:""; position:absolute; top:43px; left:71px; right:18px; border-top:1px dashed #c9bddb; }
.asl-landing .asl-step-num { display:grid; place-items:center; width:54px; height:54px; position:relative; z-index:1; border-radius:16px 16px 16px 4px; background:var(--asl-purple); color:white; font:800 18px var(--asl-display); box-shadow:0 7px 15px rgba(75,46,158,.18); }
.asl-landing .asl-step h3 { margin:20px 0 7px; font:800 19px var(--asl-display); }
.asl-landing .asl-step p { max-width:290px; margin:0; color:#706a78; font-size:14px; }
.asl-landing .asl-benefits { background:#fffefa; }
.asl-landing .asl-benefit-band { display:grid; grid-template-columns:repeat(3,1fr); align-items:stretch; border:1px solid var(--asl-line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 15px 36px rgba(51,39,73,.05); }
.asl-landing .asl-benefit-lead { padding:31px 28px; color:white; background:var(--asl-purple); }
.asl-landing .asl-benefit-lead span { display:block; color:#d6c9f5; font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.asl-landing .asl-benefit-lead h2 { margin:8px 0 0; font:800 25px/1.2 var(--asl-display); letter-spacing:-.8px; }
.asl-landing .asl-benefit { padding:27px 23px; display:flex; flex-direction:column; justify-content:center; }
.asl-landing .asl-benefit + .asl-benefit { border-left:1px solid var(--asl-line); }
.asl-landing .asl-benefit svg { width:24px; height:24px; color:var(--asl-orange); margin-bottom:12px; }
.asl-landing .asl-benefit strong { font:800 15px var(--asl-display); }
.asl-landing .asl-benefit p { margin:5px 0 0; color:var(--asl-muted); font-size:12px; line-height:1.5; }
.asl-landing .asl-pricing { padding:66px 0; background:#f1edfb; border-block:1px solid #e5def1; }
.asl-landing .asl-pricing-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.asl-landing .asl-pricing .asl-kicker { margin-bottom:10px; }
.asl-landing .asl-pricing h2 { margin:0; color:var(--asl-ink); font:800 clamp(27px,3vw,36px)/1.2 var(--asl-display); letter-spacing:-1.3px; }
.asl-landing .asl-pricing p:not(.asl-kicker) { margin:8px 0 0; color:var(--asl-muted); }
.asl-landing .asl-services { position:relative; padding:95px 0 100px; color:white; background:var(--asl-purple-deep); overflow:hidden; }
.asl-landing .asl-services:before { content:""; position:absolute; width:520px; height:520px; right:-120px; top:-205px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.03),0 0 0 88px rgba(255,255,255,.025); }
.asl-landing .asl-services .asl-section-head { position:relative; z-index:1; }
.asl-landing .asl-services .asl-kicker { color:#ffb47f; }
.asl-landing .asl-services .asl-section-head p { color:#d0c6e4; }
.asl-landing .asl-service-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.asl-landing .asl-service { min-height:186px; display:grid; grid-template-columns:30px 1fr; grid-template-rows:auto auto 1fr auto; align-content:start; column-gap:10px; padding:19px 20px 16px; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:rgba(255,255,255,.055); transition:background .2s ease,transform .2s ease,border-color .2s ease; }
.asl-landing .asl-service:hover { transform:translateY(-3px); border-color:rgba(255,255,255,.46); background:rgba(255,255,255,.11); }
.asl-landing .asl-service-icon { grid-column:1; grid-row:1/3; color:#ffad70; }
.asl-landing .asl-service-icon svg { width:21px; height:21px; }
.asl-landing .asl-service strong { grid-column:2; align-self:center; font:700 15px/1.35 var(--asl-display); }
.asl-landing .asl-service p { grid-column:1/-1; margin:12px 0; color:#d0c6e4; font-size:13px; line-height:1.5; }
.asl-landing .asl-service-more { grid-column:1/-1; display:flex; align-items:center; gap:8px; font:800 12px var(--asl-display); color:#ffbb87; }
.asl-landing .asl-service-more svg { width:18px; height:18px; }
.asl-landing .asl-services-cta { position:relative; z-index:1; display:flex; justify-content:center; align-items:center; gap:20px; margin-top:29px; color:#d0c6e4; font-size:14px; }
.asl-landing .asl-services-cta p { margin:0; }
.asl-landing .asl-contact { padding:103px 0; background:#f4f0e9; }
.asl-landing .asl-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; align-items:start; }
.asl-landing .asl-contact-copy .asl-kicker { margin-bottom:16px; }
.asl-landing .asl-contact-copy h2 { margin:0; font:800 clamp(34px,4vw,48px)/1.12 var(--asl-display); letter-spacing:-2.2px; }
.asl-landing .asl-contact-copy > p { margin:16px 0 29px; color:var(--asl-muted); }
.asl-landing .asl-contact-links { display:grid; gap:17px; }
.asl-landing .asl-contact-link { display:flex; align-items:center; gap:13px; color:#554e62; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.asl-landing .asl-contact-link:hover { color:var(--asl-purple); }
.asl-landing .asl-contact-icon { display:grid; place-items:center; flex:none; width:39px; height:39px; color:var(--asl-purple); border:1px solid #ddd5e9; border-radius:12px; background:#fffefa; }
.asl-landing .asl-contact-icon svg { width:18px; height:18px; }
.asl-landing .asl-form-card { padding:32px; border:1px solid #e5dfe9; border-radius:15px; background:#fffefa; box-shadow:0 20px 45px rgba(52,39,78,.07); }
.asl-landing .asl-form-card h3 { margin:0; font:800 22px var(--asl-display); letter-spacing:-.6px; }
.asl-landing .asl-form-card > p { margin:5px 0 23px; color:var(--asl-muted); font-size:13px; }
.asl-landing .asl-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.asl-landing .asl-field { display:grid; gap:7px; }
.asl-landing .asl-field-full { grid-column:1/-1; }
.asl-landing .asl-field label { color:#514a5d; font-size:12px; font-weight:800; }
.asl-landing .asl-field label span { color:#a29ba8; font-weight:500; }
.asl-landing .asl-field input,.asl-landing .asl-field textarea { width:100%; min-height:47px; border:1px solid #ddd7e3; border-radius:8px; padding:11px 13px; color:var(--asl-ink); background:#fff; outline:none; transition:border-color .18s,box-shadow .18s; }
.asl-landing .asl-field textarea { min-height:103px; resize:vertical; }
.asl-landing .asl-field input:focus,.asl-landing .asl-field textarea:focus { border-color:var(--asl-purple); box-shadow:0 0 0 3px rgba(75,46,158,.1); }
.asl-landing .asl-field input::placeholder,.asl-landing .asl-field textarea::placeholder { color:#aaa4b0; }
.asl-landing .asl-honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.asl-landing .asl-form-submit { width:100%; margin-top:18px; }
.asl-landing .asl-form-status { min-height:23px; margin:12px 0 0; font-size:13px; }
.asl-landing .asl-form-status:empty { display:none; }
.asl-landing .asl-form-status[data-state="success"] { color:#257354; }
.asl-landing .asl-form-status[data-state="error"] { color:#a1393c; }
.asl-landing .asl-form-status[data-state="loading"] { color:var(--asl-purple); }
.asl-landing .asl-footer { color:#eee9f6; background:#29213a; }
.asl-landing .asl-footer-main { display:grid; grid-template-columns:1.3fr .8fr 1fr; gap:55px; padding:60px 0 47px; }
.asl-landing .asl-footer .asl-brand { color:white; }
.asl-landing .asl-footer-about p { max-width:290px; color:#bcb4c8; font-size:13px; }
.asl-landing .asl-footer-about .asl-brand-mark { width:58px; height:58px; }
.asl-landing .asl-footer-contact { display:grid; gap:5px; margin:14px 0; color:#c6bfd0; font-size:12px; }
.asl-landing .asl-footer-contact a:hover { color:#ffb47f; }
.asl-landing .asl-motto { color:#ffb47f!important; font:600 19px/1.4 'Playfair Display',serif!important; }
.asl-landing .asl-footer-col h3 { margin:2px 0 15px; color:#fff; font:800 13px var(--asl-display); letter-spacing:.2px; }
.asl-landing .asl-footer-links { display:grid; gap:10px; color:#c6bfd0; font-size:13px; }
.asl-landing .asl-footer-links a:hover { color:#ffb47f; }
.asl-landing .asl-socials { display:flex; flex-wrap:wrap; gap:9px; margin-top:19px; }
.asl-landing .asl-socials span { display:grid; place-items:center; width:35px; height:35px; color:#eee9f6; border:1px solid rgba(255,255,255,.2); border-radius:9px; }
.asl-landing .asl-socials svg { width:16px; height:16px; }
.asl-landing .asl-mobile-auth { display:none; }
.asl-landing .asl-footer-bottom { display:flex; justify-content:space-between; gap:15px; padding:17px 0 21px; color:#a49caf; border-top:1px solid rgba(255,255,255,.12); font-size:11px; }
.asl-landing .asl-footer-bottom a:hover { color:white; }
.asl-landing .asl-reveal { opacity:0; transform:translateY(16px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1); }
.asl-landing .asl-reveal.is-visible { opacity:1; transform:translateY(0); }
.asl-landing .asl-feature:nth-child(2),.asl-landing .asl-step:nth-child(2) { transition-delay:.08s; }
.asl-landing .asl-feature:nth-child(3),.asl-landing .asl-step:nth-child(3) { transition-delay:.16s; }
.asl-landing .asl-feature:nth-child(4) { transition-delay:.05s; }
.asl-landing .asl-feature:nth-child(5) { transition-delay:.12s; }
.asl-landing .asl-feature:nth-child(6) { transition-delay:.19s; }
@media (max-width: 980px) {
  .asl-landing .asl-nav { min-height:68px; gap:12px; }
  .asl-landing .asl-nav-actions { margin-left:auto; }
  .asl-landing .asl-nav-actions .asl-button { display:none; }
  .asl-landing .asl-menu-toggle { display:block; }
  .asl-landing .asl-nav-links { display:none; position:absolute; top:68px; left:0; right:0; padding:10px 20px 20px; background:#fbf9f5; border-bottom:1px solid var(--asl-line); box-shadow:0 15px 24px rgba(44,31,68,.08); }
  .asl-landing .asl-nav-links.is-open { display:grid; gap:0; }
  .asl-landing .asl-nav-links a { padding:12px 4px; border-bottom:1px solid #ece7f0; }
  .asl-landing .asl-nav-links a:last-child { border-bottom:0; }
  .asl-landing .asl-nav-links .asl-mobile-auth { display:block; }
  .asl-landing .asl-nav-links .asl-mobile-start { color:var(--asl-purple); font-weight:800; }
  .asl-landing .asl-hero-grid { gap:35px; }
  .asl-landing .asl-hero { padding:68px 0 77px; }
  .asl-landing .asl-hero h1 { font-size:clamp(38px,5.2vw,52px); letter-spacing:-2.8px; }
  .asl-landing .asl-feature-layout { gap:44px; }
  .asl-landing .asl-feature-list { column-gap:20px; }
  .asl-landing .asl-benefit-band { grid-template-columns:repeat(3,1fr); }
  .asl-landing .asl-contact-grid { gap:40px; }
}
@media (max-width: 760px) {
  .asl-landing .asl-container { width:min(100% - 36px,560px); }
  .asl-landing .asl-hero { padding:54px 0 61px; }
  .asl-landing .asl-hero-grid { grid-template-columns:1fr; gap:39px; }
  .asl-landing .asl-hero-copy { font-size:16px; }
  .asl-landing .asl-hero h1 { max-width:600px; font-size:clamp(42px,10vw,60px); letter-spacing:-2.8px; }
  .asl-landing .asl-preview-wrap { width:min(100%,440px); margin:0 auto; }
  .asl-landing .asl-report-preview { margin:0 auto; }
  .asl-landing .asl-trust-inner { gap:15px 22px; }
  .asl-landing .asl-trust-label { width:100%; text-align:center; }
  .asl-landing .asl-trust-item { font-size:12px; }
  .asl-landing .asl-section { padding:74px 0; }
  .asl-landing .asl-section-head { margin-bottom:34px; }
  .asl-landing .asl-section-head h2 { letter-spacing:-1.3px; }
  .asl-landing .asl-feature-layout { grid-template-columns:1fr; gap:24px; }
  .asl-landing .asl-feature-intro { padding:29px 22px 27px; }
  .asl-landing .asl-feature-intro:before { right:0; border-radius:12px; }
  .asl-landing .asl-feature-intro h2 { max-width:500px; }
  .asl-landing .asl-feature-list { grid-template-columns:1fr 1fr; gap:0 18px; }
  .asl-landing .asl-feature { grid-template-columns:37px 1fr; gap:10px; }
  .asl-landing .asl-feature-icon { width:36px; height:36px; border-radius:11px; }
  .asl-landing .asl-feature-icon svg { width:18px; height:18px; }
  .asl-landing .asl-feature h3 { font-size:14px; }
  .asl-landing .asl-feature p { font-size:12px; }
  .asl-landing .asl-workflow-grid { grid-template-columns:1fr; gap:23px; }
  .asl-landing .asl-step { display:grid; grid-template-columns:54px 1fr; gap:0 18px; padding:0; }
  .asl-landing .asl-step:not(:last-child):after { top:62px; left:26px; right:auto; bottom:-22px; border-top:0; border-left:1px dashed #c9bddb; }
  .asl-landing .asl-step-num { grid-row:span 2; }
  .asl-landing .asl-step h3 { margin:3px 0 4px; }
  .asl-landing .asl-step p { max-width:none; }
  .asl-landing .asl-service-grid { grid-template-columns:1fr 1fr; }
  .asl-landing .asl-services-cta { flex-direction:column; gap:12px; text-align:center; }
  .asl-landing .asl-contact { padding:75px 0; }
  .asl-landing .asl-pricing-inner { align-items:flex-start; flex-direction:column; }
  .asl-landing .asl-contact-grid { grid-template-columns:1fr; gap:33px; }
  .asl-landing .asl-contact-copy h2 { max-width:520px; }
  .asl-landing .asl-contact-links { grid-template-columns:1fr 1fr; }
  .asl-landing .asl-footer-main { grid-template-columns:1fr 1fr; gap:35px 26px; padding:46px 0 35px; }
  .asl-landing .asl-footer-about { grid-column:1/-1; }
  .asl-landing .asl-footer-bottom { flex-wrap:wrap; }
}
@media (max-width: 480px) {
  .asl-landing .asl-container { width:calc(100% - 32px); }
  .asl-landing .asl-brand { font-size:19px; }
  .asl-landing .asl-hero h1 { font-size:clamp(36px,9vw,40px); letter-spacing:-2.3px; }
  .asl-landing .asl-hero-actions { display:grid; }
  .asl-landing .asl-hero-actions .asl-button { width:100%; }
  .asl-landing .asl-proofline { gap:10px 15px; }
  .asl-landing .asl-report-preview { padding:19px 17px; }
  .asl-landing .asl-preview-note { left:-4px; }
  .asl-landing .asl-feature-list { grid-template-columns:1fr; }
  .asl-landing .asl-feature { padding:15px 0; }
  .asl-landing .asl-benefit-band { grid-template-columns:1fr; }
  .asl-landing .asl-benefit + .asl-benefit { border-left:0; border-top:1px solid var(--asl-line); }
  .asl-landing .asl-benefit { border-left:0; padding:20px 23px; }
  .asl-landing .asl-benefit svg { margin-bottom:7px; }
  .asl-landing .asl-service-grid { gap:9px; }
  .asl-landing .asl-service { min-height:110px; padding:15px; }
  .asl-landing .asl-service span,.asl-landing .asl-service-more { font-size:13px; }
  .asl-landing .asl-contact-links { grid-template-columns:1fr; }
  .asl-landing .asl-form-card { padding:23px 18px; }
  .asl-landing .asl-form-grid { grid-template-columns:1fr; }
  .asl-landing .asl-field-full { grid-column:auto; }
  .asl-landing .asl-footer-main { grid-template-columns:1fr 1fr; gap:29px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .asl-landing *, .asl-landing *:before, .asl-landing *:after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .asl-landing .asl-reveal { opacity:1; transform:none; }
}
