:root{--bg:#0a0f24;--bg2:#121a3a;--ink:#e8edff;--mut:#9aa6d1;--gold:#f0b44c;--line:#ffffff1f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Outfit,system-ui,sans-serif}
a{color:var(--gold)}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:0 0 .5em}.wrap{max-width:1080px;margin:auto;padding:0 20px}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#0a0f24ee;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;font:700 21px Fraunces,serif;color:var(--ink);text-decoration:none}
.orb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffe3a3,var(--gold) 45%,#a8661a);box-shadow:0 0 18px #f0b44c88}
nav a{color:var(--mut);text-decoration:none;margin-left:22px;padding:6px 0;border-bottom:2px solid transparent}nav a:hover,nav a.on{color:var(--ink);border-color:var(--gold)}
#mn,.burger{display:none}
.hero{position:relative;height:min(78vh,620px);min-height:420px;overflow:hidden}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity 1s;background-size:cover;background-position:center}.slide.act{opacity:1;z-index:1}
.s0{background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 20%,#fff,transparent),radial-gradient(ellipse at 75% 90%,#6c5ce766,transparent 60%),linear-gradient(160deg,#0a0f24,#1b1f54)}
.s1{background-image:radial-gradient(1.5px 1.5px at 30% 25%,#fff,transparent),radial-gradient(circle at 80% 30%,#f0b44c55,transparent 35%),linear-gradient(200deg,#0a0f24,#2a1a47)}
.s2{background-image:radial-gradient(1.5px 1.5px at 50% 20%,#fff,transparent),radial-gradient(ellipse at 20% 100%,#2aa7a766,transparent 55%),linear-gradient(180deg,#08142a,#0d2b4a)}
.s3{background-image:radial-gradient(1.5px 1.5px at 90% 15%,#fff,transparent),radial-gradient(ellipse at 85% 80%,#d6456a55,transparent 50%),linear-gradient(150deg,#0a0f24,#2b1236)}
.slide h1{font-size:clamp(34px,6vw,64px);max-width:15ch}.slide p{font-size:clamp(18px,2.4vw,24px);color:#cfd8ff;max-width:34ch}
.dots{position:absolute;bottom:18px;left:0;right:0;z-index:3;text-align:center}.dots button{width:11px;height:11px;border-radius:50%;border:0;margin:0 5px;background:#ffffff55;cursor:pointer}.dots .on{background:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:#1a1200;padding:12px 26px;border-radius:999px;font:600 16px Outfit,sans-serif;text-decoration:none;border:0;cursor:pointer}.btn.ghost{background:transparent;color:var(--ink);border:1px solid #fff6}
.intro{padding:64px 20px 20px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px}.intro h2{font-size:clamp(28px,4vw,40px)}
.txt{max-width:68ch}.txt h3{margin-top:1.6em;color:var(--gold);font-size:24px}.txt p{color:#d3dbf7}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:30px;padding-bottom:40px}
.tri a{display:flex;flex-direction:column;gap:4px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--bg2);text-decoration:none;color:var(--ink)}.tri b{font:700 24px Fraunces,serif}.tri span{color:var(--mut)}.tri a:hover{border-color:var(--gold)}
.works{background:var(--bg2);padding:56px 0}.works h2,.mapb h2{font-size:34px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.ph{aspect-ratio:4/3;border-radius:14px;background:radial-gradient(circle at 70% 30%,#f0b44c55,transparent 40%),linear-gradient(135deg,#1b2260,#3a2a7a);background-size:cover;background-position:center;margin-bottom:12px}
.works p{color:var(--mut);margin:0}.works h3{font-size:22px;margin-bottom:4px}
.phead{padding:60px 0 20px;background:radial-gradient(ellipse at 85% 0,#6c5ce744,transparent 55%)}.phead h1{font-size:clamp(34px,5vw,56px);margin:0}
.page{padding-top:30px;padding-bottom:50px}.cta{margin-top:28px}
.form{display:grid;gap:16px;max-width:620px;margin-top:20px}.form label{display:grid;gap:6px;color:var(--mut);font-size:15px}
input,select,textarea{font:inherit;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#0d1330;color:var(--ink)}input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hp{position:absolute;left:-9999px}.note{padding:14px 18px;border-radius:10px;margin:16px 0;max-width:620px}.ok{background:#12391f;border:1px solid #2f9e5b}.bad{background:#3d1620;border:1px solid #d6456a}
.mapb{padding-top:30px;padding-bottom:50px}iframe{width:100%;height:360px;border:0;border-radius:14px}
footer{border-top:1px solid var(--line);padding:36px 0 18px;color:var(--mut)}.fw{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.soc a{margin-left:18px}.copy{text-align:center;font-size:14px;margin-top:24px}
@media(max-width:800px){.burger{display:block;font-size:26px;cursor:pointer}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:10px 24px 18px;border-bottom:1px solid var(--line)}#mn:checked~nav{display:block}nav a{display:block;margin:0;padding:10px 0}.intro,.tri{grid-template-columns:1fr}.soc a{margin:0 18px 0 0}}
@media(prefers-reduced-motion:reduce){.slide{transition:none}}
