:root{--paper:#FBF7F0;--paper-2:#F3ECDF;--ink:#16213A;--ink-2:#4A5468;--line:#E3D9C8;--red:#B8322A;--red-2:#9E2620;--gold:#D9A23A;--green:#2F6B57;--white:#fff;--radius:14px;--wrap:1160px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
a{color:inherit}img{max-width:100%;display:block}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(34px,5.2vw,62px)}h2{font-size:clamp(26px,3.4vw,40px)}h3{font-size:21px}
p{margin:0 0 1em}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.eyebrow{display:inline-block;font:600 12px/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.muted{color:var(--ink-2)}.small{font-size:14px}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(251,247,240,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:22px;height:68px}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.05}
.brand b{font:700 21px/1 'Fraunces',serif;letter-spacing:-.01em}.brand b i{font-style:normal;color:var(--red)}
.brand small{font-size:11px;color:var(--ink-2);letter-spacing:.06em;margin-top:3px}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-weight:500;font-size:15px;padding:8px 12px;border-radius:9px}
.nav a:hover,.nav a.on{background:var(--paper-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 'Inter',sans-serif;text-decoration:none;border:0;cursor:pointer;border-radius:999px;padding:14px 22px;transition:transform .15s,background .15s}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-2);transform:translateY(-1px)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-line:hover{background:var(--ink);color:#fff}
.nav .btn{padding:11px 18px;margin-left:8px;color:#fff}.nav .btn:hover{background:var(--red-2)}
.menu{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:18px;cursor:pointer}
@media(max-width:900px){.menu{display:block}.nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);flex-direction:column;align-items:stretch;padding:12px 20px 20px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav .btn{margin:8px 0 0}}
/* hero */
.hero{padding:76px 0 64px;position:relative;overflow:hidden}
.hero .hgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero p.lead{font-size:19px;color:var(--ink-2);max-width:560px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-card{background:var(--ink);color:#F3ECDF;border-radius:22px;padding:28px;position:relative;box-shadow:0 30px 60px -30px rgba(22,33,58,.5)}
.hero-card h3{color:#fff;font-size:19px;margin-bottom:14px}
.hero-card .row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.12);font-size:14.5px}
.hero-card .row span:last-child{color:var(--gold);font-weight:600;text-align:right}
.hero-card .tag{position:absolute;top:-14px;right:22px;background:var(--gold);color:var(--ink);font-weight:700;font-size:12px;padding:6px 12px;border-radius:999px;letter-spacing:.04em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:56px}
.stats div{padding:22px 18px;border-right:1px solid var(--line)}.stats div:last-child{border-right:0}
.stats b{display:block;font:600 34px/1 'Fraunces',serif;color:var(--red)}.stats span{font-size:14px;color:var(--ink-2)}
@media(max-width:900px){.hero .hgrid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
/* sections */
section.sec{padding:76px 0}.sec-alt{background:var(--paper-2)}.sec-dark{background:var(--ink);color:#EDE6D8}.sec-dark h2{color:#fff}.sec-dark .muted{color:#B9C0CE}
.head{max-width:720px;margin-bottom:36px}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;display:block;transition:transform .15s,box-shadow .15s}
a.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(22,33,58,.35)}
.card h3{margin-bottom:8px}.card p{color:var(--ink-2);font-size:15px;margin:0}
.card .num{font:600 13px/1 'Inter';color:var(--red);letter-spacing:.08em;margin-bottom:14px;display:block}
.card .more{display:inline-block;margin-top:14px;font-weight:600;font-size:14px;color:var(--red)}
.steps{counter-reset:s}.step{position:relative;padding-left:58px}
.step:before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;font:600 26px/1 'Fraunces',serif;color:var(--gold)}
.sec-dark .card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}.sec-dark .card p{color:#B9C0CE}.sec-dark .card h3{color:#fff}
.pill{display:inline-block;font-size:12.5px;padding:4px 10px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);margin:0 6px 6px 0;color:var(--ink-2)}
.cta-band{background:var(--red);color:#fff;border-radius:24px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band h2{color:#fff;margin:0}.cta-band .btn{background:#fff;color:var(--red)}.cta-band .btn:hover{background:var(--paper)}
/* page head */
.phead{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.crumb{font-size:13.5px;color:var(--ink-2);margin-bottom:14px}.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}
/* directory */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.toolbar input,.toolbar select{font:inherit;font-size:15px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:200px}
.sup{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:center}
.sup h3{font:600 17px/1.3 'Inter',sans-serif;margin:0}.sup .meta{font-size:13.5px;color:var(--ink-2)}
.sup .code{font:600 12px/1 'Inter';letter-spacing:.06em;color:var(--red)}
.sup .btn{padding:10px 16px;font-size:14px}
@media(max-width:600px){.sup{grid-template-columns:1fr}}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin:28px 0}.pager a,.pager span{min-width:40px;text-align:center;padding:9px 12px;border-radius:9px;border:1px solid var(--line);text-decoration:none;background:#fff;font-size:14px}.pager span{background:var(--ink);color:#fff;border-color:var(--ink)}
/* article */
.article{max-width:760px}.article h2{font-size:28px;margin-top:1.6em}.article h3{margin-top:1.4em}.article li{margin-bottom:.4em}
.article .note{background:var(--paper-2);border-left:4px solid var(--gold);padding:16px 20px;border-radius:0 10px 10px 0;margin:1.5em 0;font-size:15px}
.article table{width:100%;border-collapse:collapse;margin:1em 0;font-size:15px;background:#fff}.article th,.article td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.article th{background:var(--paper-2)}
.toc{position:sticky;top:90px}
/* form */
.form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.form label{display:block;font-weight:600;font-size:14px;margin:16px 0 6px}.form label em{font-style:normal;font-weight:400;color:var(--ink-2)}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.form textarea{min-height:130px;resize:vertical}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:600px){.form .two{grid-template-columns:1fr}}
.form .checks{display:flex;flex-wrap:wrap;gap:8px}.form .checks label{display:inline-flex;align-items:center;gap:6px;font-weight:500;margin:0;border:1px solid var(--line);border-radius:999px;padding:7px 12px;cursor:pointer;background:var(--paper)}
.form .checks input{width:auto}
.msg{margin-top:14px;font-weight:600}.msg.ok{color:var(--green)}.msg.err{color:var(--red)}
.hp{position:absolute;left:-9999px}
/* footer */
footer{background:var(--ink);color:#B9C0CE;padding:56px 0 30px;margin-top:0;font-size:14px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
footer h4{color:#fff;font:600 14px/1 'Inter';letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px}
footer a{display:block;text-decoration:none;color:#B9C0CE;margin-bottom:8px}footer a:hover{color:#fff}
footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
@media(max-width:800px){footer .cols{grid-template-columns:1fr 1fr}}

.with-side{grid-template-columns:minmax(0,1fr) 310px;gap:44px}@media(max-width:900px){.with-side{grid-template-columns:1fr}.toc{position:static}}
.supnote{background:var(--paper-2);border-left:4px solid var(--gold);padding:12px 16px;border-radius:0 10px 10px 0;margin-bottom:18px;font-size:15px}
.form .ck{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px;margin-top:14px}.form .ck input{width:auto;margin-top:4px;flex:none}
