:root{--ink:#2a1f33;--ink2:#4b4057;--acc:#1b8a6b;--accd:#0f6b51;--bg:#f6f4f1;--card:#fff;--line:#e2dce6;--soft:#ece7f0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;-webkit-text-size-adjust:100%}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;line-height:1.22;color:var(--ink);margin:0 0 .6em;font-weight:700}
h1{font-size:2.15rem}h2{font-size:1.55rem;margin-top:1.6em}h3{font-size:1.15rem}
a{color:var(--accd)}a:hover{color:var(--ink)}
img{max-width:100%;height:auto;display:block}
.ba-w{max-width:1080px;margin:0 auto;padding:0 16px}
.ba-bar{background:var(--accd);color:#fff;font-size:.9rem}
.ba-bar .ba-w{display:flex;gap:12px;justify-content:space-between;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.ba-bar a{color:#fff}
.ba-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.ba-nav .ba-w{display:flex;align-items:center;gap:10px;min-height:64px}
.ba-logo{white-space:nowrap;font-family:'Fraunces',Georgia,serif;font-weight:800;color:var(--ink);text-decoration:none;font-size:1.02rem;margin-right:auto}
.ba-logo b{color:var(--accd)}
.ba-links{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center}
.ba-links a{white-space:nowrap;color:var(--ink);text-decoration:none;padding:8px 7px;border-radius:6px;font-weight:600;font-size:.88rem;display:block}
.ba-links a:hover{background:var(--soft)}
.ba-dd{position:relative}
.ba-dd ul{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:285px;list-style:none;margin:0;padding:6px;box-shadow:0 8px 24px rgba(42,31,51,.14)}
.ba-dd:hover ul,.ba-dd:focus-within ul{display:block}
.ba-btn{white-space:nowrap;display:inline-block;background:var(--accd);color:#fff;text-decoration:none;font-weight:700;padding:11px 20px;border-radius:999px;border:0;cursor:pointer;font-size:1rem;font-family:inherit}
.ba-btn:hover{background:var(--ink);color:#fff}
.ba-btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.ba-btn.ghost:hover{background:var(--ink);color:#fff}
.ba-burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;font-size:1.3rem;padding:6px 12px;cursor:pointer;color:var(--ink)}
.ba-mob{display:none;background:#fff;border-bottom:1px solid var(--line)}
.ba-mob a{display:block;padding:12px 16px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600}
.ba-mob a.sub{padding-left:32px;font-weight:400}
.ba-hero{background:radial-gradient(circle at 80% 20%,#4a3358 0%,#2a1f33 70%);color:#fff;padding:56px 0}
.ba-hero .ba-w{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.ba-hero h1{color:#fff;font-size:2.4rem}
.ba-hero p{color:#e9e2ee;font-size:1.1rem}
.ba-hero .ba-btn{background:#fff;color:var(--ink)}.ba-hero .ba-btn:hover{background:var(--acc);color:#fff}
.ba-hero .ba-btn.ghost{background:transparent;color:#fff;border-color:#fff}.ba-hero .ba-btn.ghost:hover{background:#fff;color:var(--ink)}
.ba-fig{margin:0}.ba-fig img{border-radius:16px;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 35%}
.ba-fig figcaption{font-size:.8rem;color:#8a7f96;margin-top:5px}
.ba-hero .ba-fig figcaption{color:#cfc4d8}
.ba-top{background:var(--ink);color:#fff;padding:36px 0}.ba-top h1{color:#fff;margin:0 0 .3em}.ba-top p{color:#e9e2ee;margin:0}
.ba-crumb{font-size:.88rem;margin-bottom:10px;color:#cfc4d8}.ba-crumb a{color:#fff}
.ba-sec{padding:44px 0}.ba-sec.alt{background:var(--soft)}
.ba-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.ba-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.ba-card h3{margin-top:0}.ba-card .ic{font-size:1.7rem}
.ba-card a.more{font-weight:700}
.ba-note{background:#fff;border-left:5px solid var(--acc);padding:14px 18px;border-radius:8px;margin:20px 0}
.ba-two{display:grid;grid-template-columns:1.6fr 1fr;gap:34px}
.ba-side .ba-card{position:sticky;top:84px}
.ba-chk{padding-left:1.2em}.ba-chk li{margin:.35em 0}
.ba-steps{padding-left:1.3em}.ba-steps li{margin:.5em 0}
.ba-faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:10px 0}
.ba-faq summary{cursor:pointer;font-weight:700}
.ba-form label.l{display:block;font-weight:600;font-size:.92rem;margin:12px 0 4px}
.ba-form input[type=text],.ba-form input[type=tel],.ba-form input[type=email],.ba-form select,.ba-form textarea{width:100%;padding:11px 12px;border:1px solid #cbbfd2;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.ba-form .cons{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;line-height:1.45;margin:16px 0}
.ba-form .cons input{margin-top:3px;width:17px;height:17px;flex:0 0 auto}
.ba-msg{display:none;margin-top:12px;padding:12px;border-radius:8px;background:#fff;border:1px solid var(--line);font-weight:600}
.ba-cta{background:var(--soft);padding:40px 0;text-align:center}
.ba-foot{background:#1d1425;color:#d6cde0;padding:38px 0 20px;font-size:.93rem}
.ba-foot a{color:#fff}.ba-foot h4{color:#fff;font-size:1rem}
.ba-foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:24px}
.ba-foot ul{list-style:none;margin:0;padding:0}.ba-foot li{margin:5px 0}
.ba-disc{border-top:1px solid #45365a;margin-top:24px;padding-top:16px;font-size:.84rem;color:#b6abc3}
.ba-tag{display:inline-block;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:.82rem;font-weight:600;margin-bottom:8px}
.ba-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.ba-gal img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}
.ba-gal figcaption{font-size:.85rem;color:var(--ink2)}
@media(max-width:1060px){
 .ba-links,.ba-nav .ba-btn.nav{display:none}.ba-burger{display:block}
 .ba-mob.open{display:block}
}
@media(max-width:860px){
 .ba-hero .ba-w,.ba-two,.ba-foot .cols{grid-template-columns:1fr}
 .ba-hero h1{font-size:1.9rem}h1{font-size:1.7rem}.ba-hero{padding:34px 0}
 .ba-side .ba-card{position:static}
 .ba-mob.open{display:block}
}
