:root{--b:#7A0000;--bd:#4B0000;--bl:#A31616;--ink:#241012;--mute:#6E5558;--paper:#fff;--blush:#FBF4F3;--line:#EBD9D7;--r:22px;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#fff;--ink:#241012}}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Readex Pro',Tahoma,Arial,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--bl);outline-offset:3px;border-radius:8px}
.wrap{width:min(1160px,92%);margin-inline:auto}
h1,h2,h3{font-weight:600;line-height:1.3;margin:0}
/* nav */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.25rem;color:var(--b);letter-spacing:.3px}
.brand img{height:42px;width:auto;display:block}
nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:.95rem;color:var(--mute)}
nav a{padding:6px 0;position:relative;transition:color .25s}
nav a::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--b);transform:scaleX(0);transition:transform .3s;transform-origin:right}
nav a:hover{color:var(--b)}nav a:hover::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;border-radius:999px;font-weight:500;font-size:.98rem;border:1.5px solid var(--b);transition:transform .25s,background .25s,color .25s,box-shadow .25s;cursor:pointer;font-family:inherit}
.btn.fill{background:var(--b);color:#fff}
.btn.fill:hover{background:var(--bd);transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(122,0,0,.6)}
.btn.line{background:transparent;color:var(--b)}
.btn.line:hover{background:var(--b);color:#fff}
.btn.sm{padding:9px 22px;font-size:.9rem}
