:root{--y:#ffce00;--k:#1d1d1b;--g:#f4f1e8;--mut:#5b5a52}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--k);font:17px/1.6 'Fira Sans',system-ui,sans-serif}
img{display:block;max-width:100%}a{color:inherit}
h1,h2,h3{font-weight:700;line-height:1.1;letter-spacing:-.01em}
.bar{background:var(--k);color:#fff;font-size:15px;text-align:center;padding:8px 14px}
.bar a{color:var(--y);font-weight:700;text-decoration:none}
.top{background:var(--y);position:sticky;top:0;z-index:10}
.top .in{max-width:1100px;margin:auto;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.top img{height:52px;width:auto}
.top nav{display:flex;gap:22px;font-weight:600}.top nav a{text-decoration:none}
.btn{display:inline-block;background:var(--k);color:#fff;font-weight:700;text-decoration:none;padding:13px 24px;border-radius:999px}
.btn.y{background:var(--y);color:var(--k)}.btn.o{background:none;border:2px solid var(--k);color:var(--k)}
.hero{background:var(--y)}
.hero .in{max-width:1100px;margin:auto;padding:56px 20px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end}
.hero h1{font-size:clamp(38px,6.4vw,72px);margin-bottom:18px}
.hero p{max-width:500px;font-size:19px;margin-bottom:26px}
.hero .row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:56px}
.hero img{width:100%;max-height:480px;object-fit:cover;object-position:center 20%;border-radius:20px 20px 0 0}
.wrap{max-width:1100px;margin:auto;padding:0 20px}
section{padding:80px 0}
h2{font-size:clamp(30px,4.6vw,46px);margin-bottom:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.card{border-radius:20px;padding:34px;background:var(--g)}
.card.k{background:var(--k);color:#fff}
.card h3{font-size:26px;margin-bottom:12px}
.card ul{list-style:none;padding:0;margin:14px 0 24px;columns:2}
.card li{padding:3px 0 3px 22px;position:relative;break-inside:avoid}
.card li:before{content:"";position:absolute;left:0;top:.7em;width:10px;height:10px;border-radius:50%;background:var(--y)}
.alarm{background:var(--y);border-radius:20px;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.alarm h2{margin:0 0 8px}
.alarm .tel{font-size:clamp(34px,6vw,54px);font-weight:700;text-decoration:none;display:block;line-height:1.1}
.faq details{border-bottom:1px solid #1d1d1b33;padding:16px 0}
.faq summary{font-weight:700;font-size:19px;cursor:pointer}
.faq p{margin-top:8px;color:var(--mut)}
.proj{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.proj img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px}
.proj figcaption{padding-top:8px;font-weight:600}
.proj small{display:block;color:var(--mut);font-weight:400}
.about{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.about img{border-radius:20px;aspect-ratio:1;object-fit:cover;width:100%}
.stat{display:flex;gap:30px;margin-top:20px;flex-wrap:wrap}.stat b{display:block;font-size:44px;line-height:1}
.contact{background:var(--k);color:#fff}
.contact .g{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.contact a{color:var(--y)}
footer{background:#000;color:#aaa;text-align:center;font-size:13px;padding:20px}footer a{color:#aaa}
@media(max-width:820px){.hero .in,.two,.alarm,.about,.contact .g{grid-template-columns:1fr}.hero img{max-height:260px}.proj{grid-template-columns:1fr 1fr}.top nav{display:none}section{padding:54px 0}.card ul{columns:1}.hero .row{margin-bottom:32px}}
