@font-face {
  font-family:Arimo;
  src:url('/assets/solaw-fonts/ttf/Arimo-Regular.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
:root {
  --bg:#FAF9F7; --ink:#14212B; --body:#4F565C; --muted:#777876;
  --accent:#826552; --border:#D9D6D2;
  font-family:Arimo,Arial,sans-serif; color:var(--ink); background:var(--bg);
  font-synthesis:none; font-weight:400;
}
* { box-sizing:border-box; }
html { min-width:320px; }
body { margin:0; min-height:100svh; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
.background { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.background svg { display:block; width:100%; height:100%; }
.shell { position:relative; z-index:1; min-height:max(941px,100svh); width:100%; max-width:1176px; margin:0 auto; padding:39px 48px 44px; display:flex; flex-direction:column; }
.header { display:flex; align-items:center; min-height:36px; gap:28px; width:100%; }
.brand { display:flex; align-items:center; text-decoration:none; color:var(--ink); }
.wordmark { font-size:36px; line-height:36px; letter-spacing:-.9px; white-space:nowrap; }
.wordmark span { color:var(--accent); }
.brand-separator { width:1px; height:34px; background:var(--accent); opacity:.65; margin-left:34px; margin-right:26px; }
.brand-tagline { font-size:13px; line-height:18px; letter-spacing:2.5px; color:var(--muted); white-space:nowrap; }
.nav { margin-left:auto; display:flex; gap:42px; align-items:center; }
.nav a,.nav button { text-decoration:none; color:var(--muted); font-size:16px; line-height:22px; border:0; padding:0; background:transparent; white-space:nowrap; }
.nav a:hover,.nav button:hover { color:var(--accent); }
.hero { width:100%; padding:138px 0 0; }
.eyebrow { margin:0; display:flex; align-items:center; gap:26px; color:var(--muted); font-size:13px; line-height:18px; letter-spacing:3.25px; }
.eyebrow::after { content:''; width:36px; height:1.25px; background:var(--accent); flex-shrink:0; }
h1 { margin:38px 0 0 -1px; font-size:68px; line-height:74px; font-weight:400; letter-spacing:-1.8px; }
h1 span { display:block; white-space:nowrap; }
h1 .accent { color:var(--accent); letter-spacing:-1.4px; }
.description { margin:23px 0 0; font-size:22px; line-height:30px; color:var(--body); }
.description span { display:block; }
.signup { margin-top:43px; max-width:821px; }
.form-row { position:relative; display:flex; align-items:stretch; gap:17px; }
.email { flex:1 1 490px; width:490px; min-width:0; height:64px; padding:0 24px; background:white; color:var(--ink); border:1.25px solid var(--border); border-radius:10px; font-size:18px; line-height:24px; }
.email::placeholder { color:#92928F; opacity:1; }
.submit { flex:0 0 313px; width:313px; height:64px; border:0; border-radius:10px; padding:0 25px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:linear-gradient(#8C6E5A,#826552); color:white; font-size:18px; line-height:24px; font-weight:400; transition:background-color .16s ease; }
.submit:hover { background:#745A48; }
.submit:active { background:#6C5343; }
.submit:disabled { cursor:wait; opacity:.75; }
.contacts-placeholder { cursor:default; }
.submit span { white-space:nowrap; }
.submit svg { width:20px; height:27px; flex-shrink:0; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.email:focus-visible { outline-offset:3px; }
.email[aria-invalid=true] { border-color:#A33732; }
.helper { margin:13px 0 0; font-size:16px; line-height:22px; color:var(--muted); min-height:22px; }
.captcha-notice { position:absolute; top:100%; right:0; width:313px; white-space:nowrap; }
.helper.error { color:#A33732; }
.form-status:empty { margin:0; min-height:0; }
.success-dialog { width:calc(100% - 32px); max-width:512px; max-height:calc(100dvh - 32px); margin:auto; padding:24px; overflow-y:auto; border:1px solid var(--border); border-radius:10px; background:var(--bg); color:var(--ink); box-shadow:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1); }
.success-dialog::backdrop { background:oklch(0.208 0.042 265.755 / 50%); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.success-dialog h2 { margin:0; font-size:24px; line-height:32px; font-weight:400; }
.success-dialog form { display:flex; justify-content:flex-end; margin-top:16px; }
.success-dismiss { min-height:44px; padding:10px 20px; border:1px solid var(--accent); border-radius:10px; background:transparent; color:var(--accent); font:inherit; cursor:pointer; }
.success-dismiss:hover { background:#F0ECE7; }
body:has(.success-dialog[open]) { overflow:hidden; }
.benefits { display:grid; grid-template-columns:282px 356px 1fr; gap:0; width:970px; max-width:100%; margin:45px 0 0; padding:0; list-style:none; }
.benefit { min-height:80px; display:flex; align-items:center; gap:31px; }
.benefit+.benefit { border-left:1px solid var(--border); padding-left:55px; }
.benefit:last-child { padding-left:57px; }
.benefit svg { flex:0 0 40px; width:40px; height:40px; color:var(--accent); overflow:visible; }
.benefit span { font-size:18px; line-height:25px; white-space:nowrap; }
.footer { width:100%; margin-top:auto; padding-top:80px; display:flex; justify-content:space-between; align-items:center; gap:24px; color:var(--muted); font-size:16px; line-height:22px; }
.footer p { margin:0; }
.footer-tagline { display:flex; align-items:center; gap:32px; }
.footer-tagline::before { content:''; flex:0 0 36px; height:1.25px; background:var(--accent); }
.about { width:100%; padding:86px 0 48px; }
.about h1 { margin:0; font-size:48px; line-height:1.1; letter-spacing:-1.4px; }
.about-copy { margin-top:28px; font-size:20px; line-height:28px; color:var(--body); }
.about-copy p { margin:0; }
.about-copy p+p { margin-top:20px; }
.about-shell { min-height:100svh; }
.about-shell .footer { padding-top:0; }
@media(min-width:1200px) and (max-width:1550px) {
  h1 { font-size:clamp(48px,4.05vw,63px); line-height:1.09; }
  .description { font-size:20px; line-height:28px; }
  .benefits { grid-template-columns:27% 35% 1fr; width:930px; }
  .benefit+.benefit { padding-left:35px; }
  .benefit { gap:24px; }
  .benefit:last-child { padding-left:40px; }
}
@media(min-width:1200px) and (max-height:900px) {
  .shell { min-height:max(780px,100svh); padding-bottom:32px; }
  .hero { padding-top:85px; }
  h1 { margin-top:30px; }
  .signup { margin-top:32px; }
  .benefits { margin-top:43px; }
  .about-shell { min-height:100svh; }
}
@media(min-width:720px) and (max-width:1199px) {
  .shell { min-height:100svh; display:flex; flex-direction:column; padding:32px 48px; }
  .header { position:static; min-height:36px; }
  .wordmark { font-size:32px; line-height:36px; }
  .brand-tagline,.brand-separator { display:none; }
  .nav { gap:30px; }
  .hero { position:static; padding:86px 0 64px; margin:0 auto; width:100%; }
  .eyebrow { font-size:11px; letter-spacing:2.7px; }
  h1 { font-size:clamp(42px,5.15vw,60px); line-height:1.1; margin-top:32px; letter-spacing:-1.4px; }
  h1 .accent { letter-spacing:-1px; white-space:normal; }
  .description { font-size:20px; line-height:28px; }
  .description span { display:inline; }
  .signup { margin-top:32px; }
  .submit { flex-basis:292px; width:292px; padding:0 20px; }
  .captcha-notice { width:292px; }
  .benefits { width:100%; margin-top:45px; grid-template-columns:27% 34% 1fr; }
  .benefit { gap:18px; min-height:76px; }
  .benefit+.benefit,.benefit:last-child { padding-left:24px; }
  .benefit svg { width:32px; height:32px; flex-basis:32px; }
  .benefit span { font-size:15px; line-height:21px; white-space:normal; }
  .footer { position:static; margin-top:auto; padding-top:0; font-size:13px; line-height:20px; }
  .footer-tagline { gap:16px; }
  .footer-tagline::before { flex-basis:24px; }
  .about h1 { font-size:clamp(42px,5.15vw,48px); }
}
@media(min-width:720px) and (max-width:758px) {
  .captcha-notice { top:calc(100% + 22px); }
}
@media(max-width:719px) {
  .shell { min-height:100svh; padding:24px; display:flex; flex-direction:column; }
  .header { position:static; gap:10px; }
  .wordmark { font-size:29px; line-height:34px; }
  .brand-tagline,.brand-separator { display:none; }
  .nav { gap:18px; }
  .nav a,.nav button { font-size:13px; line-height:20px; }
  .hero { position:static; padding:61px 0 48px; }
  .eyebrow { font-size:9px; line-height:16px; letter-spacing:1.55px; gap:14px; }
  .eyebrow::after { width:24px; }
  h1 { margin:28px 0 0; font-size:clamp(33px,8.7vw,44px); line-height:1.07; letter-spacing:-1px; }
  h1 span { white-space:normal; }
  h1 .accent { letter-spacing:-.8px; }
  .description { margin-top:24px; font-size:17px; line-height:25px; }
  .description span { display:inline; }
  .signup { margin-top:28px; }
  .form-row { flex-direction:column; gap:12px; }
  .email { flex:auto; width:100%; height:56px; font-size:17px; padding:0 18px; }
  .submit { flex:auto; width:100%; height:56px; padding:0 20px; font-size:17px; justify-content:center; gap:18px; }
  .helper { font-size:13px; line-height:19px; margin-top:12px; }
  .captcha-notice { position:static; width:100%; margin:0; }
  .benefits { width:100%; display:flex; flex-direction:column; gap:0; margin-top:32px; }
  .benefit { min-height:73px; gap:22px; }
  .benefit+.benefit,.benefit:last-child { padding-left:0; border-left:0; border-top:1px solid var(--border); }
  .benefit svg { width:32px; height:32px; flex-basis:32px; }
  .benefit span { font-size:16px; line-height:22px; white-space:normal; }
  .footer { position:static; margin-top:auto; padding-top:0; flex-direction:column; align-items:flex-start; gap:12px; font-size:12px; line-height:18px; }
  .footer-tagline { gap:14px; }
  .footer-tagline::before { flex-basis:24px; }
  .about { padding:61px 0 48px; }
  .about h1 { font-size:clamp(33px,8.7vw,44px); line-height:1.07; letter-spacing:-1px; }
  .about-copy { margin-top:24px; font-size:17px; line-height:25px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; }
}
