:root{
    --ink:#0b1c44;
    --navy:#13306e;
    --navy-2:#1c428f;
    --navy-deep:#0a1738;
    --accent:#2f6fe0;
    --sky:#7fb3ef;
    --bg:#ffffff;
    --mist:#eef2fa;
    --mist-2:#e1eaf8;
    --line:#d6deee;
    --muted:#5a6685;
    --maxw:1140px;
    --r:14px;
  }
body{
    font-family:"Zen Kaku Gothic New",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.9;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
.eyebrow{
    font-family:"Figtree",sans-serif;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-size:.74rem;
    color:var(--accent);
    display:inline-flex;align-items:center;gap:.7em;
  }
.btn{
    display:inline-flex;align-items:center;gap:.6em;
    font-weight:700;font-size:.95rem;
    padding:15px 28px;border-radius:999px;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    line-height:1.2;
  }
/* Header */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
/* Hero */
  .hero{position:relative;padding:78px 0 92px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(1100px 520px at 78% -8%, var(--mist) 0%, transparent 60%),
    radial-gradient(700px 420px at -5% 110%, var(--mist-2) 0%, transparent 55%);
    z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(2.1rem,5.2vw,3.7rem);line-height:1.35;letter-spacing:.01em;margin:22px 0 24px}
.hero h1 em{font-style:normal;color:var(--navy);position:relative}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.32em;background:rgba(47,111,224,.22);z-index:-1;border-radius:3px}
.hero p.lead{font-size:1.06rem;color:#2a3556;max-width:32em;margin-bottom:34px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.seal-card{position:relative;background:linear-gradient(160deg,var(--navy-deep),var(--navy-2));border-radius:22px;padding:42px 36px;color:#fff;box-shadow:0 30px 60px -30px rgba(11,28,68,.7);overflow:hidden}
.seal-card::after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-120px;bottom:-130px}
.seal-card .tag{font-family:"Figtree",sans-serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);font-weight:700}
.seal-card h3{font-family:"Shippori Mincho",serif;font-size:1.5rem;line-height:1.5;margin:14px 0 16px;font-weight:600}
.seal-card p{font-size:.9rem;color:rgba(255,255,255,.82);line-height:1.85}
.ring{width:74px;height:74px;margin-bottom:22px}
section.block{padding:92px 0}
.sec-head{max-width:680px;margin-bottom:52px}
.sec-head h2{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.5;margin:18px 0 16px}
.sec-head p{color:var(--muted)}
.statement{text-align:center;max-width:780px;margin:0 auto}
.statement .big{font-family:"Shippori Mincho",serif;font-weight:600;font-size:clamp(1.4rem,3.2vw,2.1rem);line-height:1.9}
.statement .big b{color:var(--navy);font-weight:700}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;transition:transform .3s ease, box-shadow .3s ease, border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -28px rgba(11,28,68,.4);border-color:transparent}
.card .ico{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;background:var(--mist);margin-bottom:20px}
.card .ico svg{width:26px;height:26px}
.card h3{font-family:"Shippori Mincho",serif;font-size:1.22rem;font-weight:700;margin-bottom:12px;line-height:1.5}
.card p{font-size:.92rem;color:var(--muted)}
.card .more{display:inline-flex;align-items:center;gap:.5em;margin-top:18px;font-size:.85rem;font-weight:700;color:var(--accent)}
.card .more .arw{font-family:"Figtree",sans-serif;transition:transform .25s}
.card:hover .more .arw{transform:translateX(4px)}
.auth{background:var(--ink);color:#fff;border-radius:24px;padding:60px 56px;position:relative;overflow:hidden}
.auth::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(47,111,224,.45),transparent 70%);right:-150px;top:-150px}
.auth .inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.auth h2{font-family:"Shippori Mincho",serif;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.6;font-weight:600;margin:16px 0 18px}
.auth p{color:rgba(255,255,255,.8);font-size:.96rem}
.flow{display:flex;flex-direction:column;gap:14px}
.step{display:flex;align-items:flex-start;gap:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 20px}
.step .no{font-family:"Figtree",sans-serif;font-weight:700;color:var(--sky);font-size:1.05rem;min-width:1.6em}
.step .t{font-weight:700;color:#fff}
.step .d{font-size:.84rem;color:rgba(255,255,255,.72);margin-top:2px}
.def{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
.def .badge{aspect-ratio:1;max-width:300px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 50% 35%, #fff, var(--mist) 70%);border:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:30px}
.def .badge .mincho{font-size:1.3rem;line-height:1.7;color:var(--navy)}
.def h2{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.5;margin:16px 0 18px}
.def p{color:var(--muted);margin-bottom:14px}
.access{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.access .info{padding:46px 44px}
.access .info h3{font-family:"Shippori Mincho",serif;font-size:1.3rem;margin-bottom:18px}
.access dl{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;font-size:.93rem}
.access dt{color:var(--accent);font-weight:700;white-space:nowrap}
.access dd{color:var(--ink)}
.access .map{min-height:340px}
.access .map iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:900px){
    .hero-grid{grid-template-columns:1fr;gap:40px}
    .seal-card{max-width:440px}
    .svc{grid-template-columns:1fr 1fr}
    .auth{padding:46px 30px}
    .auth .inner{grid-template-columns:1fr;gap:30px}
    .def{grid-template-columns:1fr;gap:34px}
    .access{grid-template-columns:1fr}
    .access .map{min-height:280px;order:2}
  }
@media(max-width:680px){
    section.block{padding:64px 0}
    .menu{position:fixed;inset:74px 0 auto 0;flex-direction:column;background:#fff;gap:0;padding:10px 22px 26px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s ease;align-items:stretch}
    .menu.open{transform:translateY(0)}
    .menu a.lk{padding:14px 0;border-bottom:1px solid var(--line)}
    .menu .btn{margin-top:14px;justify-content:center}
    .burger{display:flex}
    .svc{grid-template-columns:1fr}
    .hero{padding:54px 0 70px}
  }
@media(prefers-reduced-motion:reduce){
    *{scroll-behavior:auto}
    .rv{transition:none;opacity:1;transform:none}
    .btn,.card{transition:none}
  }
.logo-img{height:30px;width:auto;display:block}
.foot-grid .logo-img{height:30px}
