:root{--bg:#f3eee3;--surf:#fbf8f1;--line:#d9d1c0;--txt:#161616;--mut:#4f4a42;--acc:#161616;--seal:#a8261d;--max:1120px}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font-family:'Satoshi',system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.65;font-size:17px;
background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:5px 5px}
h1,h2,h3{font-family:'Shippori Mincho',serif;font-weight:700}
a{color:var(--seal)}.wrap{max-width:var(--max);margin:auto;padding:0 24px}
header{position:sticky;top:0;background:#161616;color:#f3eee3;z-index:9}
nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;gap:12px;align-items:center;color:#f3eee3;text-decoration:none;font-family:'Shippori Mincho',serif;font-weight:700;font-size:19px}
nav ul{display:flex;gap:28px;list-style:none;padding:0}nav ul a{color:#cfc7b6;text-decoration:none;font-size:15px}nav ul a:hover{color:#fff}
.hero{position:relative;padding-top:120px;padding-bottom:110px;overflow:hidden}
.enso{position:absolute;right:-40px;top:40px;width:460px;opacity:.9;pointer-events:none}
.tag{font-family:'Shippori Mincho',serif;color:var(--seal);font-size:15px;letter-spacing:.08em}
h1{font-size:clamp(38px,6vw,66px);line-height:1.12;margin:18px 0 22px;max-width:15ch;position:relative}
.lead{color:var(--mut);max-width:58ch;font-size:19px;position:relative}
.btn{display:inline-block;margin-top:34px;background:var(--txt);color:#f3eee3;padding:14px 28px;border-radius:2px;font-weight:700;text-decoration:none;position:relative;box-shadow:4px 4px 0 var(--seal)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--seal)}
section{padding:88px 0;position:relative}
section::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(var(--max),90%);height:14px;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 14' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C120 2 260 12 400 6 S560 4 598 9' stroke='%23161616' stroke-width='3' fill='none' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E") center/100% 100% no-repeat}
h2{font-size:36px;margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:40px}
.card{background:var(--surf);border:1px solid var(--line);border-top:4px solid var(--txt);border-radius:2px;padding:30px}
.card h3{margin:12px 0 10px;font-size:22px}.card p,.card li{color:var(--mut);font-size:16px}.card ul{padding-left:18px;margin-top:12px}
.num{font-family:'Shippori Mincho',serif;color:var(--seal);font-size:14px;letter-spacing:.06em}
.kanji{display:inline-grid;place-items:center;width:52px;height:52px;background:var(--seal);color:#fbf8f1;font-family:'Shippori Mincho',serif;font-size:30px;border-radius:4px;margin-bottom:12px;transform:rotate(-3deg)}
.kanji+.num{display:block}
#doctrine{background:#161616;color:#f3eee3}#doctrine::before{display:none}#doctrine .lead{color:#cfc7b6}
#doctrine .card{background:#211f1c;border-color:#3a3630;border-top-color:var(--seal)}#doctrine .card h3{color:#f3eee3}#doctrine .card p{color:#cfc7b6}#doctrine .num{color:#e0a59f}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:40px}
.steps div{border-left:3px solid var(--txt);padding-left:18px}.steps h3{font-size:21px}.steps p{color:var(--mut);font-size:15px}
.contact{background:var(--surf);border:1px solid var(--line);border-radius:2px;padding:52px;text-align:center}
footer{padding:36px 0;background:#161616;color:#cfc7b6;font-size:14px}footer a{color:#f3eee3}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.legal h2{font-size:23px;margin:36px 0 8px}.legal p{color:var(--mut)}
.badge{background:#fff;border-radius:50%;padding:3px}.badge.big{padding:10px;flex-shrink:0;width:110px;height:110px}
.doc-head{display:flex;gap:32px;align-items:center}
@media(max-width:700px){nav ul{display:none}.hero{padding-top:72px;padding-bottom:72px}.enso{width:280px;right:-90px;top:10px;opacity:.35}.contact{padding:30px 20px}.doc-head{flex-direction:column;align-items:flex-start}}
.emb{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}.tab{width:100%;height:auto;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.18);position:sticky;top:96px}
.mean{display:grid;grid-template-columns:max-content 1fr;gap:14px 22px;margin-top:30px}.mean dt{font-family:'Shippori Mincho',serif;font-weight:700;display:flex;align-items:center;gap:10px}.mean dd{color:var(--mut);margin:0}
.sw{width:26px;height:10px;display:inline-block;border-radius:1px}
@media(max-width:800px){.emb{grid-template-columns:1fr}.tab{position:static;max-width:240px}.mean{grid-template-columns:1fr;gap:4px}.mean dd{margin-bottom:12px}}
.tab-hero{position:absolute;right:24px;top:70px;width:260px;height:auto;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.2);transform:rotate(3deg)}
.hero h1,.hero .lead{max-width:min(58ch,calc(100% - 320px))}
@media(max-width:900px){.tab-hero{position:static;display:block;width:180px;margin:0 0 28px;transform:none}.hero h1,.hero .lead{max-width:none}}
