*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:oklch(98% 0.004 240);
  --surface:oklch(100% 0 0);
  --fg:oklch(20% 0.02 240);
  --muted:oklch(50% 0.018 240);
  --border:oklch(90% 0.006 240);
  --accent:oklch(56% 0.12 170);
  --accent-soft:oklch(56% 0.12 170 / 0.08);
  --accent-hover:oklch(48% 0.14 170);
  --warm:oklch(55% 0.08 70);
  --warm-soft:oklch(55% 0.08 70 / 0.08);
  --red:oklch(50% 0.18 30);
  --radius:16px;
  --radius-sm:8px;
  --font-display:'Avenir Next',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'SF Pro Text',system-ui,sans-serif;
  --max-w:1200px;
  --nav-h:72px
}
html.dark{
  --bg:oklch(14% 0.005 250);
  --surface:oklch(19% 0.008 250);
  --fg:oklch(88% 0.008 250);
  --muted:oklch(58% 0.01 240);
  --border:oklch(27% 0.008 240);
  --accent:oklch(62% 0.14 170);
  --accent-soft:oklch(62% 0.14 170 / 0.15);
  --accent-hover:oklch(68% 0.14 170);
  --warm:oklch(60% 0.1 70);
  --warm-soft:oklch(60% 0.1 70 / 0.15);
  --red:oklch(58% 0.18 25)
}
html.dark .hero,html.dark .page-header,html.dark .cta-section{background:oklch(11% 0.005 250)}
html.dark .hero img{opacity:0.2}
html.dark .hero-overlay{background:linear-gradient(135deg,oklch(11% 0.01 250 / 0.92),oklch(11% 0.01 250 / 0.5))}
html.dark footer{background:oklch(11% 0.005 250);border-top-color:oklch(25% 0.005 240)}
html.dark footer p,html.dark footer a{color:oklch(60% 0.01 240)}
html.dark footer h4,html.dark .footer-bottom a,html.dark .footer-logo{color:oklch(90% 0.005 240)}
html.dark .footer-bottom{border-top-color:oklch(25% 0.005 240)!important}
html.dark .page-header p,html.dark .cta-section p{color:oklch(65% 0.01 240)}
html.dark .nav-cta,html.dark .btn-primary{color:oklch(100% 0 0)}

html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--fg);background:var(--bg);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;font-family:inherit}
input,select,button,textarea{font-family:inherit;font-size:inherit}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}

/* Nav */
nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center}
nav .container{display:flex;align-items:center;justify-content:space-between;width:100%}
.logo{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-0.01em}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{font-size:14px;font-weight:510;color:var(--muted);transition:color .2s;letter-spacing:0.02em}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.nav-cta{background:var(--accent);color:var(--surface);padding:10px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:590;letter-spacing:0.02em;transition:background .2s}
.nav-cta:hover{background:var(--accent-hover)}
.menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--fg);margin:5px 0;border-radius:2px;transition:.3s}
.theme-toggle{background:none;border:none;cursor:pointer;padding:6px;color:var(--muted);display:flex;align-items:center;transition:color .2s;line-height:1}
.theme-toggle:hover{color:var(--accent)}
html.dark .theme-toggle .sun-icon{display:block}
html.dark .theme-toggle .moon-icon{display:none}
.theme-toggle .sun-icon{display:none}
.theme-toggle .moon-icon{display:block}

/* Page header */
.page-header{background:var(--fg);margin-top:var(--nav-h);padding:80px 0;color:var(--surface);text-align:center}
.page-header h1{font-family:var(--font-display);font-size:clamp(32px,4vw,48px);font-weight:700;letter-spacing:-0.02em;line-height:1.15;margin-bottom:16px}
.page-header p{font-size:16px;color:oklch(70% 0.01 240);max-width:600px;margin:0 auto;line-height:1.6}

/* Buttons */
.btn-primary{background:var(--accent);color:var(--surface);padding:16px 32px;border-radius:var(--radius-sm);font-size:15px;font-weight:590;letter-spacing:0.02em;transition:background .2s,transform .1s;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-primary:disabled{opacity:0.4;cursor:default}
.btn-secondary{background:transparent;color:var(--fg);padding:16px 32px;border-radius:var(--radius-sm);font-size:15px;font-weight:510;letter-spacing:0.02em;transition:border-color .2s;border:1px solid var(--border);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.btn-secondary:hover{border-color:var(--muted)}

/* Sections */
section{padding:80px 0}
.section-label{font-size:13px;font-weight:510;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.section-title{font-family:var(--font-display);font-size:clamp(28px,3.5vw,40px);font-weight:700;letter-spacing:-0.02em;line-height:1.15;margin-bottom:16px}
.section-desc{font-size:16px;line-height:1.6;color:var(--muted);max-width:640px;margin-bottom:48px}

/* Forms */
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:14px;font-weight:510;margin-bottom:6px;color:var(--fg)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);transition:border-color .2s;font-size:15px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}
.form-group textarea{min-height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--red)}
.error-text{display:block;font-size:12px;color:var(--red);margin-top:4px}
.alert-box{background:var(--red);color:var(--surface);border-radius:var(--radius-sm);padding:16px 20px;margin-bottom:32px;font-size:14px}
.alert-box strong{display:block;margin-bottom:6px}
.alert-box ul{margin:0;padding-left:18px}
.alert-box li{margin:2px 0}

/* Footer */
footer{background:var(--fg);border-top:1px solid oklch(30% 0.01 240);padding:64px 0 32px;color:oklch(70% 0.01 240)}
footer .container{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
footer h4{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--surface);margin-bottom:16px;letter-spacing:-0.01em}
footer p{font-size:14px;line-height:1.7;margin-bottom:16px}
footer a{font-size:14px;display:block;margin-bottom:8px;transition:color .2s}
footer a:hover{color:var(--surface)}
.footer-bottom{border-top:1px solid oklch(30% 0.01 240);margin-top:48px;padding-top:24px;text-align:center;font-size:13px}
.footer-logo{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--surface);margin-bottom:12px;letter-spacing:-0.01em}

@media(max-width:820px){
  .nav-links{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:16px 24px;flex-direction:column;gap:16px;align-items:stretch}
  .nav-links.open{display:flex}
  .nav-links a{font-size:16px;padding:8px 0}
  .menu-toggle{display:block}
  footer .container{grid-template-columns:1fr 1fr;gap:32px}
}

@media(max-width:480px){
  section{padding:48px 0}
  .container{padding:0 16px}
  footer .container{grid-template-columns:1fr}
}
