:root{--bg:#F6F6F4;--ink:#15161A;--mute:#6B6D75;--line:#DEDEDA;--accent:#5A3BEB;--surface:#FFFFFF}
@media (prefers-color-scheme:dark){:root{--bg:#121317;--ink:#F1F1EE;--mute:#9A9CA5;--line:#2A2C33;--accent:#9C86FF;--surface:#1A1B21}}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo{font-family:'Bricolage Grotesque','DM Sans',sans-serif;font-weight:700;letter-spacing:-0.03em;line-height:1.05}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.wrap{width:min(1080px,100% - 48px);margin-inline:auto}

header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(14px)}
.bar{height:68px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:22px}
nav{display:flex;gap:28px;font-size:15px;color:var(--mute)}
nav a:hover,nav a[aria-current="page"]{color:var(--ink)}
nav a[aria-current="page"]{border-bottom:2px solid var(--accent);padding-bottom:2px}

.hero{padding:clamp(72px,14vw,160px) 0 clamp(72px,10vw,120px)}
.hero h1{font-size:clamp(44px,9.5vw,120px);max-width:11em}
.hero h1 em{font-style:normal;color:var(--mute)}
.hero p{max-width:34em;margin-top:32px;color:var(--mute);font-size:19px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:500;font-size:16px;border:1px solid var(--ink);transition:background .2s,color .2s,border-color .2s}
.btn.fill{background:var(--ink);color:var(--bg)}
.btn.fill:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.line:hover{border-color:var(--accent);color:var(--accent)}

.page-head{padding:clamp(64px,10vw,120px) 0 clamp(48px,6vw,72px)}
.page-head h1{font-size:clamp(40px,8vw,88px);max-width:11em}
.page-head p{max-width:34em;margin-top:24px;color:var(--mute);font-size:19px}

section{padding:clamp(64px,9vw,110px) 0;border-top:1px solid var(--line)}
.grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}
h2{font-size:clamp(30px,4vw,44px)}
.lead p{color:var(--mute);margin-bottom:18px;max-width:36em}
.lead p:first-child{color:var(--ink);font-size:21px;line-height:1.5}

.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{padding:9px 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:15px}
.chips span.learn{border-style:dashed;color:var(--mute)}
.note{margin-top:18px;color:var(--mute);font-size:14px}

.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .25s}
.row h3{font-size:clamp(24px,3vw,32px);transition:color .2s}
.row p{color:var(--mute);max-width:32em}
.row:hover h3{color:var(--accent)}
.row:hover{padding-left:12px}

.svc{display:grid;grid-template-columns:1fr 1fr;gap:44px 48px}
.svc h3{font-size:22px;margin-bottom:8px}
.svc p{color:var(--mute)}

.mail{display:inline-block;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(24px,5vw,52px);letter-spacing:-0.02em;border-bottom:3px solid var(--accent);padding-bottom:4px;word-break:break-all}
.mail:hover{color:var(--accent)}
.list{list-style:none;color:var(--mute)}
.list li{padding:14px 0;border-bottom:1px solid var(--line)}
.list li:first-child{border-top:1px solid var(--line)}
.list strong{color:var(--ink);font-weight:500}

footer{border-top:1px solid var(--line);padding:28px 0;color:var(--mute);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media (max-width:768px){
  nav{gap:18px;font-size:14px}
  .grid,.row,.svc{grid-template-columns:1fr}
  .svc{gap:32px}
  .row{gap:8px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
