: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;--req:#d23b3b;--maxw:1140px;--r:14px;
  }
.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;border:none;cursor:pointer}
.page-hero{position:relative;padding:72px 0 56px;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(1000px 460px at 80% -20%, var(--mist) 0%, transparent 60%),radial-gradient(640px 380px at -8% 120%, var(--mist-2) 0%, transparent 55%);z-index:-1}
.crumb{font-size:.8rem;color:var(--muted);margin-bottom:22px}
.page-hero h1{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.4;margin:16px 0 18px}
.page-hero p{color:#2a3556;max-width:40em}
section.block{padding:72px 0 90px}
.contact-grid{display:grid;grid-template-columns:1.5fr .9fr;gap:46px;align-items:start}
form{display:flex;flex-direction:column;gap:22px}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:9px;color:var(--ink)}
.req-mark{color:var(--req);font-size:.72rem;margin-left:.5em;font-weight:700}
.opt-mark{color:var(--muted);font-size:.72rem;margin-left:.5em;font-weight:500}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-family:inherit;font-size:.95rem;color:var(--ink);background:#fff;transition:border-color .2s, box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,111,224,.15)}
textarea{min-height:160px;resize:vertical;line-height:1.8}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2313306e' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.checkbox{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:#2a3556}
.checkbox input{width:auto;margin-top:.35em;accent-color:var(--navy)}
.checkbox a{color:var(--accent);text-decoration:underline}
.submit-row{margin-top:6px}
.notice{display:none;background:var(--mist);border:1px solid var(--accent);border-radius:12px;padding:20px 22px;color:var(--ink)}
.notice.show{display:block}
.notice strong{color:var(--navy)}
.dev-note{font-size:.8rem;color:var(--muted);margin-top:4px}
.side{display:flex;flex-direction:column;gap:16px}
.cinfo{border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;background:#fff}
.cinfo .ct{font-family:"Figtree",sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700}
.cinfo .cv{font-family:"Shippori Mincho",serif;font-size:1.2rem;color:var(--navy);margin-top:8px;font-weight:700;word-break:break-all}
.cinfo .cs{font-size:.84rem;color:var(--muted);margin-top:6px}
.cinfo.navy{background:linear-gradient(160deg,var(--navy-deep),var(--navy-2));border-color:transparent;color:#fff}
.cinfo.navy .ct{color:var(--sky)}
.cinfo.navy .cv{color:#fff}
.cinfo.navy .cs{color:rgba(255,255,255,.78)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:680px){
    section.block{padding:56px 0 72px}
    .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}
  }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.rv{transition:none;opacity:1;transform:none}.btn{transition:none}}
