html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

:root { --ink:#17211b; --paper:#f5f3ec; --sage:#dbe7dc; --accent:#d35f35; }
body { color:var(--ink); background:var(--paper); font-family:Inter,system-ui,sans-serif; }
h1,h2,h3,h4,.navbar-brand { font-family:Georgia,"Times New Roman",serif; }
.navbar { background:rgba(245,243,236,.92)!important; backdrop-filter:blur(12px); }
.hero { background:linear-gradient(135deg,#e4eee4,#f8e9da); min-height:520px; display:flex; align-items:center; }
.eyebrow { font-size:.75rem; letter-spacing:.18em; font-weight:800; color:#5b6d61; }
.edition-card,.panel,.pricing-card { background:#fff; border:1px solid rgba(23,33,27,.12); border-radius:1.25rem; padding:2rem; box-shadow:0 18px 50px rgba(32,44,36,.08); }
.edition-card { transform:rotate(2deg); padding:3rem 2.5rem; }
.pricing-card { max-width:520px; text-align:left; }
.pricing-card li { margin:.8rem 0; }
.btn-primary { background:var(--accent); border-color:var(--accent); }
.newsletter-body { max-width:760px; font-family:Georgia,"Times New Roman",serif; font-size:1.12rem; line-height:1.8; }
.newsletter-body img,.newsletter-body table { max-width:100%; }
.editor { font-family:ui-monospace,monospace; }
.rich-editor{overflow:hidden;border:1px solid #ced4da;border-radius:.6rem;background:#fff}.rich-editor:focus-within{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.15)}.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid #e6e8e6;background:#f7f8f6}.rich-editor-toolbar button{min-width:34px;padding:5px 8px;border:1px solid #d9ded9;border-radius:6px;background:#fff;color:var(--ink);font-size:.82rem}.rich-editor-toolbar button:hover{border-color:#9eaaa1;background:var(--sage)}.rich-editor-content{min-height:320px;padding:16px;overflow:auto;outline:0;line-height:1.65}.rich-editor-content:empty:before{content:"Start writing or import a Word document…";color:#98a09a}.rich-editor-content table{width:100%;border-collapse:collapse}.rich-editor-content td,.rich-editor-content th{padding:7px;border:1px solid #cfd5d0}
.app-loader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(20,30,24,.48);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.app-loader.is-visible{opacity:1;visibility:visible}.app-loader-card{width:min(330px,100%);display:grid;justify-items:center;gap:12px;padding:32px;border:1px solid rgba(23,33,27,.12);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(15,25,18,.22);text-align:center}.loader-brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--ink);color:#fff;font:700 24px Georgia,serif}.app-loader-ring{display:flex;gap:6px;margin:5px 0}.app-loader-ring i{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:loaderPulse 1s infinite ease-in-out}.app-loader-ring i:nth-child(2){animation-delay:.14s}.app-loader-ring i:nth-child(3){animation-delay:.28s}.app-loader-card strong{font-size:1.15rem}.app-loader-card span{color:#657068;font-size:.9rem}@keyframes loaderPulse{0%,80%,100%{transform:scale(.65);opacity:.35}40%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.app-loader-ring i{animation:none}}
.system-page{max-width:720px;margin:5vh auto;padding:48px 28px;text-align:center}.system-page h1{font-size:clamp(2rem,6vw,3.5rem);margin:14px 0}.system-copy{max-width:560px;margin:0 auto 25px;color:#647069;font-size:1.05rem;line-height:1.7}.system-visual{position:relative;width:112px;height:112px;display:grid;place-items:center;margin:0 auto 24px;border-radius:34px;background:#f8e9da;color:var(--accent);font-size:34px;font-weight:800}.system-visual i{position:absolute;border:2px solid rgba(211,95,53,.22);border-radius:50%;inset:-10px}.system-visual i:last-child{inset:-22px;opacity:.5}.notfound-visual{background:var(--sage);color:var(--ink)}.system-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.request-reference,.technical-details{max-width:600px;margin:28px auto 0;padding:18px;border:1px solid rgba(23,33,27,.12);border-radius:14px;background:#fff;text-align:left}.request-reference span,.request-reference small{display:block;color:#68756d;font-size:.8rem}.request-reference code{display:block;margin:5px 0;overflow-wrap:anywhere}.technical-details dl{display:grid;grid-template-columns:90px 1fr;gap:8px}.technical-details dd{margin:0;overflow-wrap:anywhere}
.cookie-consent{position:fixed;z-index:1900;left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;max-width:1120px;margin:auto;padding:20px 22px;border:1px solid rgba(23,33,27,.16);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 24px 75px rgba(20,35,25,.2);backdrop-filter:blur(12px);transition:opacity .18s ease,transform .18s ease}.cookie-consent.is-closing{opacity:0;transform:translateY(12px)}.cookie-consent-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--sage);color:var(--accent);font-size:18px}.cookie-consent-copy strong{display:block;font:700 1.05rem Georgia,serif}.cookie-consent-copy p{margin:5px 0 0;color:#5f6c64;font-size:.88rem;line-height:1.5}.cookie-consent-copy a{color:var(--accent);font-weight:700}.cookie-consent-actions{display:flex;gap:9px;white-space:nowrap}@media(max-width:800px){.cookie-consent{grid-template-columns:auto 1fr;left:12px;right:12px;bottom:12px;padding:17px}.cookie-consent-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}}@media(max-width:430px){.cookie-consent-mark{display:none}.cookie-consent{grid-template-columns:1fr}.cookie-consent-actions{grid-template-columns:1fr}.cookie-consent-copy p{font-size:.82rem}}
.rich-editor-source{width:100%;min-height:320px;padding:16px;border:0;outline:0;background:#101712;color:#d9f2df;font:13px/1.6 ui-monospace,monospace}.rich-html-upload{padding:5px 8px;border:1px solid #d9ded9;border-radius:6px;background:#fff;font-size:.82rem;cursor:pointer}.pricing-values{display:flex;gap:12px;margin:18px 0}.pricing-values span{flex:1;padding:14px;border-radius:12px;background:var(--sage);text-align:center}.pricing-values strong,.pricing-values small{display:block}.legal-page{max-width:820px;margin:30px auto 80px}.legal-page h1{font-size:clamp(2.5rem,6vw,4rem);margin:12px 0}.legal-page h2{margin-top:32px;font-size:1.5rem}.legal-page p{color:#55645b;line-height:1.8}.legal-updated{padding-bottom:18px;border-bottom:1px solid #d9ded9}
.identity-shell{min-height:calc(100vh - 190px);display:grid;place-items:center;padding:35px 15px}.identity-card{width:min(480px,100%);padding:clamp(24px,5vw,42px);border:1px solid rgba(23,33,27,.12);border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(25,40,30,.1)}.identity-card h1{font-size:2.5rem;margin:10px 0}.identity-card-wide{width:min(620px,100%)}.identity-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:22px;font-size:.9rem}.identity-links a{color:var(--accent)}
