@font-face { font-family: "Alegreya"; src: url("https://fonts.gstatic.com/s/alegreya/v41/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNG9hUI_A.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url("https://fonts.gstatic.com/s/alegreya/v41/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNGERII_A.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url("https://fonts.gstatic.com/s/alegreya/v41/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlbgv6qm.ttf") format("truetype"); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url("https://fonts.gstatic.com/s/alegreya/v41/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlYHuKqm.ttf") format("truetype"); font-style: italic; font-weight: 700; font-display: swap; }

:root {
    color-scheme: light;
    --ink: #172033;
    --ink-2: #273248;
    --muted: #687083;
    --paper: #fbf7ef;
    --paper-2: #f3ede3;
    --white: #fffefd;
    --line: #e5ded3;
    --line-dark: rgba(255, 255, 255, .14);
    --coral: #ee5f5f;
    --coral-dark: #b93640;
    --blue: #5368f2;
    --mint: #78cda3;
    --yellow: #f5cc5b;
    --violet: #9d80dc;
    --green: #1e8353;
    --shadow: 0 24px 70px rgba(33, 37, 48, .11);
    --shadow-soft: 0 14px 40px rgba(33, 37, 48, .07);
    --radius: 24px;
    --container: 1200px;
    font-family: Inter, "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
    font-synthesis: none;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 120px; }
body { min-width: 320px; margin: 0; overflow-x: clip; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button { border: 0; }
img, svg { display: block; max-width: 100%; }
p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.72; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { margin: 0; letter-spacing: -.045em; }
h1 { font-size: clamp(52px, 7vw, 96px); line-height: .94; }
h2 { font-size: clamp(38px, 5vw, 67px); line-height: 1; }
h3 { font-size: 22px; line-height: 1.15; }
::selection { color: var(--ink); background: #ffd2cd; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.section { padding: clamp(88px, 10vw, 150px) 0; }
.section--soft { background: var(--paper-2); }
.section-shell { overflow: hidden; }
.sr-only, .skip-link:not(:focus) { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link:focus { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 12px 16px; border-radius: 10px; color: white; background: var(--ink); }
.icon { flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 22px; color: var(--coral-dark); font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow > span { display: inline-grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: var(--coral-dark); background: #ffded8; }
.eyebrow--light { color: #ffd3cb; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; border: 1px solid transparent; border-radius: 12px; cursor: pointer; font-size: 14px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 42px; padding-inline: 17px; border-radius: 10px; font-size: 13px; }
.button--dark { color: white; background: var(--ink); box-shadow: 0 8px 22px rgba(23,32,51,.15); }
.button--dark:hover { background: #263149; }
.button--coral { color: white; background: #c74348; box-shadow: 0 8px 22px rgba(199,67,72,.2); }
.button--coral:hover { background: var(--coral-dark); }
.button--paper { color: var(--ink); background: var(--paper); }
.button--ghost { border-color: var(--line); background: var(--white); }
.button--wide { width: 100%; }
.button--disabled { color: #969ba6; background: #ece9e3; pointer-events: none; }
.text-link { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 850; }
.text-link svg { transition: transform .2s ease; }
.text-link:hover svg { transform: translateX(4px); }

/* Header */
.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid transparent; background: rgba(251,247,239,.9); backdrop-filter: blur(18px); transition: border-color .2s ease, box-shadow .2s ease; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 8px 30px rgba(23,32,51,.05); }
.header-inner { display: flex; height: 78px; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 900; letter-spacing: -.045em; }
.brand-mark { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px 10px 10px 3px; color: white; background: var(--coral); font-size: 20px; transform: rotate(-2deg); }
.brand-name { display: flex; align-items: center; font-size: 23px; }
.brand-cursor { display: inline-block; width: 2px; height: 24px; margin: 0 1px 0 2px; background: var(--coral); animation: blink 1.1s steps(1) infinite; }
@keyframes blink { 50% { opacity: .18; } }
.desktop-nav { display: flex; align-items: center; gap: 7px; }
.desktop-nav > a, .nav-dropdown > button { display: flex; min-height: 42px; align-items: center; gap: 4px; padding: 0 13px; border-radius: 9px; color: #3c4557; background: transparent; cursor: pointer; font-size: 13px; font-weight: 750; }
.desktop-nav > a:hover, .desktop-nav > a.is-active, .nav-dropdown > button:hover { color: var(--ink); background: #efe9df; }
.nav-dropdown { position: relative; }
.nav-dropdown-panel { position: absolute; top: calc(100% + 10px); left: 50%; width: 360px; padding: 12px; border: 1px solid var(--line); border-radius: 18px; opacity: 0; background: var(--white); box-shadow: var(--shadow); transform: translate(-50%, -8px); pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
.nav-dropdown:hover .nav-dropdown-panel, .nav-dropdown:focus-within .nav-dropdown-panel { opacity: 1; transform: translate(-50%,0); pointer-events: auto; }
.nav-dropdown-panel > a { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; }
.nav-dropdown-panel > a:hover { background: var(--paper); }
.nav-dropdown-panel .mini-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 10px; }
.nav-dropdown-panel strong, .nav-dropdown-panel small { display: block; }
.nav-dropdown-panel strong { margin-bottom: 2px; font-size: 13px; }
.nav-dropdown-panel small { color: var(--muted); font-size: 11px; }
.nav-dropdown-panel .nav-dropdown-all { justify-content: space-between; margin-top: 7px; border-top: 1px solid var(--line); border-radius: 0 0 10px 10px; font-size: 13px; font-weight: 850; }
.accent-coral { --accent: var(--coral); --accent-soft: #ffe0dc; }
.accent-blue { --accent: var(--blue); --accent-soft: #e2e5ff; }
.accent-mint { --accent: var(--green); --accent-soft: #dcf4e7; }
.accent-yellow { --accent: #9b6a00; --accent-soft: #fff0bd; }
.accent-violet { --accent: #7251b5; --accent-soft: #ece3ff; }
.mini-icon.accent-coral, .mini-icon.accent-blue, .mini-icon.accent-mint, .mini-icon.accent-yellow, .mini-icon.accent-violet { color: var(--accent); background: var(--accent-soft); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-login-link, .header-account-link, .header-logout button { color: #4b5465; font-size: 14px; font-weight: 800; }
.header-login-link:hover, .header-logout button:hover { color: var(--coral-dark); }
.header-account-link { display: flex; align-items: center; gap: 7px; }
.header-account-link > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; color: white; background: var(--blue); font-size: 11px; }
.header-logout { display: flex; }
.header-logout button { padding: 7px 4px; cursor: pointer; background: transparent; }
.menu-toggle { display: none; width: 43px; height: 43px; padding: 0; border: 1px solid var(--line); border-radius: 10px; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 18px; height: 2px; margin: 5px auto; border-radius: 2px; background: var(--ink); transition: transform .2s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-nav { display: none; }

/* Account */
.account-page main { min-height: 62vh; }
.account-auth-shell { display: grid; width: min(980px,calc(100% - 48px)); grid-template-columns: minmax(0,1.08fr) minmax(320px,.92fr); gap: 0; overflow: hidden; margin: clamp(55px,7vw,100px) auto; border: 1px solid var(--line); border-radius: 28px; background: var(--white); box-shadow: var(--shadow); }
.account-auth-card { padding: clamp(34px,5vw,62px); }
.account-auth-mark { display: grid; width: 48px; height: 48px; margin-bottom: 30px; place-items: center; border-radius: 14px 14px 14px 4px; color: white; background: var(--coral); font-size: 25px; font-weight: 900; transform: rotate(-2deg); }
.account-auth-card .eyebrow { margin-bottom: 12px; }
.account-auth-card h1 { font-size: clamp(40px,5vw,62px); }
.account-auth-card > p { max-width: 520px; margin: 17px 0 24px; font-size: 16px; }
.account-social-login { display: grid; gap: 10px; margin: 24px 0 18px; }
.account-social-button { position: relative; display: flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 46px; border-radius: 11px; font-size: 14px; font-weight: 750; line-height: 20px; transition: border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease; }
.account-social-button svg { position: absolute; left: 14px; }
.account-social-button--google { border: 1px solid #747775; color: #1f1f1f; background: #fff; font-family: "Google Sans",Roboto,Arial,sans-serif; font-weight: 500; }
.account-social-button--google:hover { border-color: #56585a; color: #1f1f1f; background: #f8faff; box-shadow: 0 3px 10px rgba(31,31,31,.1); }
.account-social-button--facebook { border: 1px solid #176bdb; color: #fff; background: #1877f2; }
.account-social-button--facebook:hover { border-color: #125ebf; color: #fff; background: #116de3; box-shadow: 0 4px 12px rgba(24,119,242,.24); }
.account-social-button:hover { transform: translateY(-1px); }
.account-social-button:focus-visible { outline: 3px solid rgba(83,104,242,.2); outline-offset: 3px; }
.account-social-divider { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; color: #838894; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.account-social-divider::before,.account-social-divider::after { height: 1px; flex: 1; background: #e3dfd9; content: ""; }
.account-social-divider span { white-space: nowrap; }
.account-form { display: grid; gap: 15px; }
.account-form > label:not(.account-remember) { display: grid; gap: 7px; color: #444d5e; font-size: 14px; font-weight: 850; }
.account-form > label small { color: #858a94; font-size: 12px; font-weight: 650; }
.account-form input[type="email"], .account-form input[type="password"] { width: 100%; height: 49px; padding: 0 14px; border: 1px solid #dcd6ce; border-radius: 11px; outline: 0; background: #fff; font-size: 14px; font-weight: 500; }
.account-form input:focus { border-color: #929eeb; box-shadow: 0 0 0 4px rgba(83,104,242,.1); }
.account-remember { display: flex; align-items: center; gap: 8px; color: #697181; cursor: pointer; font-size: 13px; }
.account-remember input { width: 16px; height: 16px; accent-color: var(--blue); }
.account-form-error { margin-bottom: 17px; padding: 11px 13px; border: 1px solid #efc9c6; border-radius: 10px; color: #a83d3d; background: #fff5f3; font-size: 13px; line-height: 1.5; }
.account-form-error ul { margin: 0; padding-left: 18px; }
.account-form-success { margin-top: 17px; padding: 11px 13px; border: 1px solid #b9ddc9; border-radius: 10px; color: #25633f; background: #f0fbf4; font-size: 13px; line-height: 1.5; }
.account-forgot-link { justify-self: end; margin-top: -8px; color: #4053cf; font-size: 13px; font-weight: 800; text-decoration: none; }
.account-forgot-link:hover { text-decoration: underline; text-underline-offset: 2px; }
.account-auth-switch { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); color: #6b7280; font-size: 14px; text-align: center; }
.account-auth-switch a, .account-legal a { color: #4053cf; font-weight: 850; text-decoration: underline; text-underline-offset: 2px; }
.account-legal { margin: 14px 0 0 !important; font-size: 12px !important; text-align: center; }
.account-social-button:is(button){width:100%;cursor:pointer}
.account-social-registration{margin-top:22px}
.account-social-registration .account-social-login{margin-top:13px}
.account-social-terms,.account-form>label.account-terms-check{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;color:#5e6675;font-size:13px;font-weight:650;line-height:1.5;cursor:pointer}
.account-social-terms input,.account-form>label.account-terms-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--blue)}
.account-social-terms span,.account-form>label.account-terms-check span{min-width:0}
.account-social-terms a,.account-terms-check a{color:#4053cf;font-weight:850;text-decoration:underline;text-underline-offset:2px}
.account-auth-benefits { display: flex; justify-content: center; flex-direction: column; padding: clamp(35px,5vw,62px); color: white; background-color: #1c263c; background-image: radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px); background-size: 17px 17px; }
.account-auth-benefits > small { margin-bottom: 13px; color: #ffaaa0; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.account-auth-benefits h2 { font-size: clamp(29px,3.5vw,44px); line-height: 1.03; }
.account-auth-benefits ul { display: grid; gap: 13px; margin: 30px 0 0; padding: 0; list-style: none; color: #e5e9f2; font-size: 15px; font-weight: 750; }
.account-auth-benefits li { display: flex; align-items: center; gap: 9px; }
.account-auth-benefits li span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #b8f0d0; background: rgba(120,205,163,.16); font-size: 10px; }
.account-dashboard { width: min(1180px,calc(100% - 48px)); margin: clamp(60px,8vw,105px) auto 120px; }
.account-dashboard-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 38px; }
.account-dashboard-head .eyebrow { margin-bottom: 12px; }
.account-dashboard-head h1 { font-size: clamp(48px,6vw,74px); }
.account-dashboard-head p { max-width: 650px; margin-top: 17px; font-size: 15px; }
.account-document-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.account-document-card { position: relative; display: grid; min-width: 0; grid-template-columns: 76px minmax(0,1fr); gap: 16px; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); box-shadow: var(--shadow-soft); }
.account-document-preview { display: flex; width: 76px; height: 104px; align-items: center; flex-direction: column; padding: 15px 10px; border: 1px solid #ded8d0; border-radius: 4px 11px 4px 4px; color: #d74f4f; background: white; box-shadow: 0 5px 12px rgba(28,33,44,.1); }
.account-document-preview span { margin-bottom: 15px; font-size: 9px; font-weight: 950; }
.account-document-preview i { width: 100%; height: 2px; margin-bottom: 8px; background: #ddd9d3; }
.account-document-copy { min-width: 0; padding: 5px 38px 0 0; }
.account-document-copy small { color: #5368f2; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.account-document-copy h2 { overflow: hidden; margin: 7px 0 5px; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.account-document-copy p { font-size: 13px; }
.account-document-actions { display: flex; grid-column: 2; flex-wrap: wrap; gap: 6px; }
.account-document-actions a { display: inline-flex; min-height: 38px; align-items: center; padding: 0 12px; border: 1px solid #ded9d2; border-radius: 8px; color: #596171; background: #f7f4ef; font-size: 12px; font-weight: 850; }
.account-document-actions a:hover { border-color: #aab3ed; color: #4053cf; background: #f2f4ff; }
.account-document-actions a.is-primary { border-color: #5368f2; color: white; background: #5368f2; }
.account-document-card > form { position: absolute; top: 13px; right: 13px; }
.account-document-card > form button { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 8px; cursor: pointer; color: #9b6e6e; background: #f8efed; }
.account-document-card > form button:hover { color: white; background: #d65050; }
.account-document-card.is-unavailable { opacity: .66; }
.account-document-warning { grid-column: 2; color: #a74444; font-size: 12px; }
.account-empty-state { display: grid; min-height: 390px; place-content: center; justify-items: center; padding: 40px; border: 1px dashed #cec7bd; border-radius: 24px; background: rgba(255,255,255,.5); text-align: center; }
.account-empty-state > span { display: grid; width: 65px; height: 78px; margin-bottom: 20px; place-items: center; border-radius: 7px 16px 7px 7px; color: white; background: var(--coral); font-size: 12px; font-weight: 900; transform: rotate(-3deg); }
.account-empty-state h2 { font-size: 31px; }
.account-empty-state p { max-width: 500px; margin: 12px 0 20px; font-size: 13px; }
.account-danger-zone { display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:55px;padding:24px;border:1px solid #edcfcc;border-radius:16px;background:#fff8f6; }
.account-danger-zone strong { color:#8f3434;font-size:15px; }
.account-danger-zone p { max-width:760px;margin-top:6px;color:#795c5c;font-size:12px; }
.account-danger-zone button { min-height:40px;padding:0 14px;border:1px solid #d65a5a;border-radius:9px;color:#a03b3b;background:white;cursor:pointer;font-size:12px;font-weight:850;white-space:nowrap; }
.account-danger-zone button:hover { color:white;background:#c94848; }

/* Upload */
.upload-panel { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; padding: 9px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,254,253,.9); box-shadow: var(--shadow-soft); }
.upload-drop { position: relative; display: flex; width: 100%; min-width: 0; max-width: 100%; min-height: 106px; align-items: center; gap: 15px; padding: 18px; border: 1.5px dashed #d1c8bc; border-radius: 14px; background: linear-gradient(135deg, #fff, #fcfaf5); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.upload-drop:hover, .upload-drop.is-dragging { border-color: var(--coral); background: #fff7f4; }
.upload-main { display: flex; min-width: 0; max-width: 100%; flex: 1 1 0; align-items: center; gap: 15px; cursor: pointer; }
.upload-icon { display: grid; width: 55px; height: 55px; flex: 0 0 auto; place-items: center; border-radius: 15px; color: white; background: var(--coral); box-shadow: 0 10px 20px rgba(238,95,95,.2); }
.upload-icon--ready { display: none; color: #176c45; background: #dff5e8; box-shadow: 0 10px 20px rgba(30,131,83,.12); }
.upload-panel.has-file .upload-icon--choose { display: none; }
.upload-panel.has-file .upload-icon--ready { display: grid; }
.upload-copy { width: 0; min-width: 0; max-width: 100%; flex: 1 1 0; }
.upload-copy > span, .upload-copy strong { display: block; width: 100%; min-width: 0; max-width: 100%; }
.upload-copy strong { margin-bottom: 5px; color: var(--ink); font-size: 16px; }
.upload-empty > span, .upload-selected-copy > span, [data-tool-task-empty] > span { display: block; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.upload-selected-copy { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
.upload-selected-copy strong { width: 100%; max-width: 100%; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.upload-meta { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 10px 10px 3px; color: #7a7f89; font-size: 12px; font-weight: 700; }
.upload-meta span { display: inline-flex; align-items: center; gap: 5px; }
.upload-drop .button:disabled { color: #898d96; background: #e7e5e1; box-shadow: none; cursor: not-allowed; opacity: .78; transform: none; }
.upload-staging-note { padding: 10px 14px; border-radius: 10px; color: #75551b; background: #fff2c9; font-size: 12px; line-height: 1.5; }
.upload-panel--compact .upload-drop { min-height: 90px; }
.upload-panel--compact .upload-meta { display: none; }
.tool-task-panel { display: grid; min-width: 0; max-width: 100%; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.tool-task-panel .upload-meta { padding-bottom: 7px; }
.tool-task-panel.has-file .upload-button { display: none; }
.tool-task-panel:not(.has-file) .tool-task-options, .tool-task-panel:not(.has-file) > .tool-task-field, .tool-task-panel:not(.has-file) .tool-task-current-password, .tool-task-panel:not(.has-file) .tool-task-submit { display: none; }
.tool-task-panel.has-result .tool-task-submit { display: none; }
.tool-task-files { display: grid; width: 100%; min-width: 0; max-width: 100%; max-height: 148px; grid-template-columns: minmax(0, 1fr); gap: 6px; overflow: auto; }
.tool-task-files > span { display: block; min-width: 0; }
.tool-task-files > span + span { padding-top: 6px; border-top: 1px solid #e7e1d8; }
.tool-task-files span span { display: block; width: 100%; min-width: 0; max-width: 100%; }
.tool-task-files strong, .tool-task-files small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tool-task-files strong { color: var(--ink); font-size: 13px; }
.tool-task-files small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.tool-task-options { width: 100%; min-width: 0; max-width: 100%; min-inline-size: 0; padding: 13px; border: 1px solid #e2ddd4; border-radius: 13px; background: #fbfaf7; }
.tool-task-options legend { padding: 0 6px; color: var(--ink); font-size: 13px; font-weight: 850; }
.tool-task-option-grid { display: grid; width: 100%; min-width: 0; max-width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.tool-task-option-grid label { position: relative; min-width: 0; max-width: 100%; cursor: pointer; }
.tool-task-option-grid input { position: absolute; opacity: 0; pointer-events: none; }
.tool-task-option-grid label > span { display: block; min-width: 0; max-width: 100%; min-height: 68px; padding: 11px 12px; overflow-wrap: anywhere; border: 1px solid #ded8cf; border-radius: 10px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.tool-task-option-grid strong, .tool-task-option-grid small { display: block; }
.tool-task-option-grid strong { color: var(--ink); font-size: 13px; }
.tool-task-option-grid small { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.tool-task-option-grid input:checked + span { border-color: var(--coral); background: #fff7f4; box-shadow: inset 0 0 0 1px var(--coral); }
.tool-task-option-grid input:focus-visible + span { outline: 3px solid rgba(238,95,95,.22); outline-offset: 2px; }
.tool-task-field { display: grid; width: 100%; min-width: 0; max-width: 100%; gap: 7px; padding: 2px 4px; color: var(--ink); font-size: 13px; font-weight: 800; }
.tool-task-field > input, .tool-task-password { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #d9d3ca; border-radius: 10px; background: #fff; }
.tool-task-field > input { padding: 0 13px; color: var(--ink); font: 600 15px/1 var(--font-sans); }
.tool-task-field > input:focus, .tool-task-password:focus-within { border-color: var(--coral); outline: 3px solid rgba(238,95,95,.13); }
.tool-task-field > small { color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.45; }
.tool-task-password { display: flex; align-items: center; overflow: hidden; }
.tool-task-password input { min-width: 0; height: 44px; flex: 1; padding: 0 12px; border: 0; outline: 0; color: var(--ink); background: transparent; font: 600 15px/1 var(--font-sans); }
.tool-task-password button { height: 34px; margin-right: 5px; padding: 0 10px; border: 0; border-radius: 7px; color: #4e5664; background: #f0eee9; cursor: pointer; font: 800 12px/1 var(--font-sans); }
.tool-task-current-password { width: calc(100% - 8px); min-width: 0; max-width: 100%; margin: 0 4px; padding: 10px 11px; border: 1px solid #e4dfd7; border-radius: 10px; background: #fbfaf7; }
.tool-task-current-password summary { color: #4e5664; cursor: pointer; font-size: 13px; font-weight: 750; }
.tool-task-current-password[open] summary { margin-bottom: 10px; }
.tool-task-submit { width: 100%; min-height: 50px; justify-content: center; }
.tool-task-submit:disabled { color: #82858d; background: #e5e3de; box-shadow: none; cursor: not-allowed; opacity: .8; transform: none; }
.tool-task-status { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border-radius: 10px; color: #5b4a25; background: #fff2c9; font-size: 13px; font-weight: 700; line-height: 1.4; }
.tool-task-status i { width: 16px; height: 16px; flex: 0 0 auto; border: 2px solid rgba(91,74,37,.24); border-top-color: currentColor; border-radius: 50%; animation: tool-task-spin .7s linear infinite; }
.tool-task-panel.has-error .tool-task-status { color: #8c3434; background: #fff0ef; }
.tool-task-panel.has-error .tool-task-status i { display: none; }
.tool-task-result { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px solid #b9ddcd; border-radius: 13px; background: #f1fbf6; }
.tool-task-result-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; color: #fff; background: var(--green); }
.tool-task-result strong, .tool-task-result small { display: block; }
.tool-task-result strong { color: var(--ink); font-size: 14px; }
.tool-task-result small { margin-top: 2px; color: #58675f; font-size: 12px; line-height: 1.35; }
.tool-task-result small[data-tool-task-result-notice] { margin-top: 5px; color: #725315; }
.tool-task-result-actions { display: grid; justify-items: stretch; gap: 5px; }
.tool-task-result-actions .button { justify-content: center; }
.tool-task-result-actions button:not([data-tool-task-download]) { padding: 4px 8px; border: 0; color: #526058; background: transparent; cursor: pointer; font: 750 12px/1.25 var(--font-sans); text-decoration: underline; text-underline-offset: 2px; }
.tool-task-result-actions button:not([data-tool-task-download]):hover { color: #982f2f; }
.tool-task-result-actions button:disabled { cursor: wait; opacity: .55; }
.tool-task-panel.is-deleted .tool-task-status { color: #2f6852; background: #eef9f3; }
.tool-task-panel.is-deleted .tool-task-status i { display: none; }
.tool-task-panel.is-working .upload-drop, .tool-task-panel.is-working .tool-task-options, .tool-task-panel.is-working .tool-task-field, .tool-task-panel.is-working .tool-task-current-password { opacity: .55; pointer-events: none; }
@keyframes tool-task-spin { to { transform: rotate(360deg); } }

/* Home hero */
.hero { position: relative; padding: clamp(70px, 8vw, 120px) 0 100px; }
.hero::before { position: absolute; z-index: -1; top: -100px; left: -180px; width: 580px; height: 580px; border-radius: 50%; background: radial-gradient(circle, rgba(238,95,95,.12), rgba(238,95,95,0) 68%); content: ""; }
.hero::after { position: absolute; z-index: -1; right: -80px; bottom: 0; width: 340px; height: 340px; opacity: .28; background-image: radial-gradient(#c8c0b4 1.2px, transparent 1.2px); background-size: 15px 15px; content: ""; mask-image: linear-gradient(135deg,transparent,#000); }
.hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); align-items: center; column-gap: clamp(50px,6vw,90px); row-gap: 0; }
.hero-copy { grid-column: 1; grid-row: 1; align-self: end; }
.hero-copy h1 em { color: var(--coral); font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.06em; }
.hero-copy h1 em::after { position: relative; display: inline-block; width: 4px; height: .82em; margin-left: 10px; border-radius: 2px; background: var(--coral); content: ""; vertical-align: -.06em; animation: blink 1.1s steps(1) infinite; }
.hero-lead { max-width: 610px; margin: 30px 0 22px; font-size: 18px; }
.hero-conversion { display: grid; grid-column: 1; grid-row: 2; align-self: start; gap: 19px; }
.hero-promises { display: flex; flex-wrap: wrap; gap: 8px 17px; margin-bottom: 0; color: #3e4757; font-size: 12px; font-weight: 750; }
.hero-promises span { display: inline-flex; align-items: center; gap: 6px; }
.hero-promises svg { color: var(--green); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.hero-legal { margin: 10px 8px 0; font-size: 10px; }
.hero-legal a { text-decoration: underline; }
.hero-visual { position: relative; grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
.hero-demo { position: relative; min-width: 0; }
.hero-visual-upload { position: relative; z-index: 6; margin-top: 22px; }
.editor-window { overflow: hidden; border: 1px solid #d7d1c8; border-radius: 20px 20px 20px 7px; background: #e9e6e1; box-shadow: 0 35px 90px rgba(34,38,50,.2); transform: rotate(1deg); }
.window-bar { display: flex; height: 45px; align-items: center; gap: 12px; padding: 0 14px; border-bottom: 1px solid #e6e1da; background: white; color: #555e6e; font-size: 10px; font-weight: 750; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #d2cdc6; }
.window-dots i:first-child { background: #f38778; }
.saved-pill { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; padding: 5px 8px; border-radius: 999px; color: var(--green); background: #e3f6eb; }
.editor-toolbar { display: flex; height: 45px; align-items: center; gap: 5px; padding: 0 11px; border-bottom: 1px solid #dcd8d2; background: #f8f7f5; }
.editor-toolbar button { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 6px; background: transparent; font-size: 11px; }
.editor-toolbar button.active { color: white; background: var(--ink); }
.toolbar-select { padding: 7px 8px; border: 1px solid #ddd8d1; border-radius: 6px; background: white; font-size: 9px; }
.toolbar-select small { margin-left: 7px; color: #8e939b; }
.color-dot { width: 19px; height: 19px; margin-left: 3px; border: 5px solid white; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 1px #ddd8d1; }
.toolbar-spacer { flex: 1; }
.zoom { font-size: 9px; font-weight: 750; }
.editor-stage { display: grid; height: 430px; grid-template-columns: 58px 1fr 118px; }
.page-rail { padding: 12px 8px; border-right: 1px solid #d5d1ca; background: #f2f0ed; }
.page-rail > span { display: block; margin-bottom: 4px; color: #8d929a; font-size: 7px; text-align: center; }
.page-thumb { height: 70px; margin-bottom: 12px; padding: 9px 6px; border: 1px solid #d9d4ce; border-radius: 3px; background: white; }
.page-thumb.active { border: 2px solid var(--blue); box-shadow: 0 2px 8px rgba(83,104,242,.18); }
.page-thumb i { display: block; height: 2px; margin-bottom: 5px; background: #c9c5bf; }
.paper-wrap { display: grid; padding: 21px; place-items: center; overflow: hidden; }
.pdf-paper { position: relative; width: 290px; height: 390px; padding: 31px 30px; background: white; box-shadow: 0 10px 30px rgba(25,31,42,.13); }
.paper-brand { display: flex; align-items: center; justify-content: space-between; color: #999; font-size: 7px; font-weight: 850; letter-spacing: .18em; }
.paper-brand i { width: 22px; height: 22px; border: 5px solid var(--coral); border-radius: 50% 50% 3px 50%; }
.paper-kicker { margin: 28px 0 8px; color: var(--coral); font-size: 6px; font-weight: 900; letter-spacing: .12em; }
.pdf-paper h2 { font-size: 20px; line-height: 1.05; }
.paper-text { margin-top: 18px; color: #676d78; font-size: 7px; line-height: 1.7; }
.selection-tag { color: var(--ink); background: #dfe5ff; }
.editable-line { position: relative; margin-top: 15px; padding: 5px 4px; outline: 1.5px solid var(--blue); color: var(--ink); background: rgba(83,104,242,.04); font-size: 7.5px; line-height: 1.4; cursor: text; }
.editable-line::after { position: absolute; right: 22px; bottom: 5px; width: 1px; height: 9px; background: var(--blue); content: ""; animation: blink 1s steps(1) infinite; }
.match-tooltip { position: absolute; z-index: 4; top: 202px; left: 43px; display: grid; width: 135px; grid-template-columns: 11px 1fr; padding: 8px; border-radius: 7px; color: white; background: var(--ink); box-shadow: 0 8px 20px rgba(23,32,51,.22); transform: translateY(14px); }
.match-tooltip span { width: 7px; height: 7px; margin-top: 2px; border-radius: 50%; background: var(--mint); }
.match-tooltip strong, .match-tooltip small { grid-column: 2; }
.match-tooltip strong { font-size: 7px; }
.match-tooltip small { margin-top: 2px; color: #b8bfcc; font-size: 5.5px; }
.paper-lines { margin-top: 48px; }
.paper-lines i { display: block; height: 3px; margin-bottom: 7px; background: #e4e3e0; }
.paper-lines i:nth-child(2), .paper-lines i:nth-child(5) { width: 78%; }
.paper-sign { display: flex; justify-content: space-between; margin-top: 36px; color: #a4a4a1; font-size: 5px; }
.paper-sign span { width: 80px; padding-top: 7px; border-top: 1px solid #dad8d4; text-align: center; }
.properties-panel { padding: 15px 11px; border-left: 1px solid #d5d1ca; background: #f8f7f5; }
.properties-panel > strong { display: block; margin-bottom: 16px; font-size: 9px; }
.properties-panel label { display: block; margin-bottom: 11px; color: #8c929b; font-size: 6px; font-weight: 800; text-transform: uppercase; }
.properties-panel label > span { display: flex; min-height: 26px; align-items: center; justify-content: space-between; margin-top: 4px; padding: 5px 7px; border: 1px solid #dedad4; border-radius: 5px; color: var(--ink); background: white; font-size: 7px; font-weight: 700; text-transform: none; }
.property-color { width: 8px; height: 8px; margin-right: 3px; border-radius: 50%; background: var(--ink); }
.properties-success { margin-top: 20px; padding: 7px; border-radius: 6px; color: var(--green); background: #e2f4e9; font-size: 6.5px; font-weight: 800; }
.floating-note { position: absolute; z-index: 5; display: grid; grid-template-columns: 38px 1fr; min-width: 148px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow-soft); }
.floating-note > span { display: grid; grid-row: 1 / 3; width: 32px; height: 32px; place-items: center; border-radius: 8px; color: var(--blue); background: #e7e9ff; font-size: 11px; font-weight: 900; }
.floating-note strong { font-size: 9px; }
.floating-note small { color: var(--muted); font-size: 7px; }
.floating-note--font { bottom: -26px; left: -30px; transform: rotate(-3deg); }
.floating-note--price { top: 46px; right: -35px; transform: rotate(4deg); }
.floating-note--price > span { color: #8a6000; background: #ffedac; }

.hero-tool-dock { grid-column: 1 / -1; grid-row: 3; min-width: 0; margin-top: 30px; padding: 14px; scroll-margin-top: 100px; border: 1px solid rgba(218,211,202,.95); border-radius: 21px 21px 21px 8px; background: rgba(255,254,253,.88); box-shadow: 0 20px 60px rgba(33,37,48,.08); backdrop-filter: blur(15px); }
.hero-tool-dock-head { display: flex; min-height: 31px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 4px 11px; }
.hero-tool-dock-head strong { color: var(--coral-dark); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.hero-tool-dock-head a { display: inline-flex; align-items: center; gap: 7px; color: #4d5667; font-size: 11px; font-weight: 850; }
.hero-tool-dock-head a:hover { color: var(--coral-dark); }
.hero-quick-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.hero-quick-tool { display: grid; min-width: 0; min-height: 68px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid #e5ded3; border-radius: 14px 14px 14px 5px; background: rgba(255,255,255,.78); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.hero-quick-tool:hover { border-color: color-mix(in srgb,var(--accent) 42%,var(--line)); background: white; box-shadow: 0 12px 28px rgba(33,37,48,.08); transform: translateY(-3px); }
.hero-quick-tool .tool-card-icon { width: 39px; height: 39px; border-radius: 11px 11px 11px 4px; }
.hero-quick-tool b { min-width: 0; font-size: 11px; line-height: 1.25; }
.hero-quick-tool > svg { color: #99979a; transition: color .18s ease,transform .18s ease; }
.hero-quick-tool:hover > svg { color: var(--ink); transform: translateX(3px); }

.format-strip { border-block: 1px solid var(--line); background: rgba(255,255,255,.54); }
.format-strip .container { display: flex; min-height: 72px; align-items: center; justify-content: center; gap: clamp(18px,4vw,48px); overflow: hidden; color: #5f626c; font-size: 11.5px; font-weight: 900; letter-spacing: .14em; }
.format-strip i { width: 3px; height: 3px; flex: 0 0 auto; border-radius: 50%; background: #c9c3bc; }

/* Home sections */
.trust-strip { padding-block: 12px; border-block: 1px solid var(--line); background: rgba(255,255,255,.54); }
.trust-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.trust-grid > div { position: relative; display: grid; min-height: 132px; grid-template-columns: 48px 1fr; align-content: center; padding: 25px 30px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,254,253,.86); box-shadow: 0 10px 30px rgba(33,37,48,.045); }
.trust-grid > div:first-child { border-left: 1px solid var(--line); }
.trust-number { display: grid; width: 36px; height: 36px; grid-row: 1 / 3; place-items: center; border-radius: 11px 11px 11px 3px; color: var(--coral-dark); background: #ffded8; font-family: Georgia,serif; font-size: 20px; font-style: italic; font-weight: 700; }
.trust-grid strong { font-size: 16px; line-height: 1.25; }
.trust-grid small { margin-top: 6px; color: #535d70; font-size: 13px; line-height: 1.45; }
.section-heading { margin-bottom: 55px; }
.section-heading h2 { max-width: 750px; }
.section-heading > p, .split-heading > div:last-child p { max-width: 520px; }
.section-heading.centered { max-width: 840px; margin-inline: auto; text-align: center; }
.section-heading.centered h2, .section-heading.centered p { margin-inline: auto; }
.section-heading.centered p { margin-top: 20px; }
.split-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 60px; }
.split-heading > div:last-child p { margin-bottom: 24px; }
.tools-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.tool-card { position: relative; display: flex; min-height: 170px; flex-direction: column; padding: 21px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.tool-card::after { position: absolute; right: -25px; bottom: -25px; width: 95px; height: 95px; border-radius: 50%; opacity: .55; background: var(--accent-soft); content: ""; transition: transform .25s ease; }
.tool-card:hover { z-index: 2; border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); box-shadow: var(--shadow-soft); transform: translateY(-5px); }
.tool-card:hover::after { transform: scale(1.18); }
.tool-card-icon { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 12px; color: var(--accent); background: var(--accent-soft); }
.tool-card-copy { position: relative; z-index: 1; margin-top: 25px; }
.tool-card-copy strong, .tool-card-copy small { display: block; }
.tool-card-copy strong { margin-bottom: 7px; font-size: 15px; }
.tool-card-copy small { max-width: 92%; color: var(--muted); font-size: 11px; line-height: 1.5; }
.tool-card-arrow { position: absolute; z-index: 1; right: 17px; top: 19px; color: #a8a9ae; }
.home-tool-library { overflow: hidden; border: 1px solid #ded7cc; border-radius: 24px 24px 24px 8px; background: rgba(255,255,255,.72); box-shadow: 0 28px 70px rgba(34,38,48,.08); }
.home-tool-library--flat { padding: clamp(18px,2.7vw,32px); }
.home-tool-library-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.home-tool-library-grid .tool-card { min-height: 154px; padding: 18px; border-radius: 16px 16px 16px 5px; }
.home-tool-library-grid .tool-card-icon { width: 41px; height: 41px; }
.home-tool-library-grid .tool-card-copy { margin-top: 18px; }
.home-tool-library-grid .tool-card-copy strong { font-size: 15px; line-height: 1.25; }
.home-tool-library-grid .tool-card-copy small { display: -webkit-box; max-width: 96%; overflow: hidden; font-size: 12px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.section--ai-home { overflow: hidden; border-block: 1px solid #ded8e9; background: radial-gradient(circle at 78% 20%,rgba(157,128,220,.2),transparent 34%),linear-gradient(145deg,#f4efe8,#eeeaf8); }
.ai-home-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(55px,8vw,110px); }
.ai-home-copy h2 { max-width: 560px; }
.ai-home-copy > p { max-width: 570px; margin-top: 25px; }
.ai-home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 30px; }
.ai-home-privacy { display: block; margin-top: 23px; color: #777183; font-size: 11px; line-height: 1.5; }
.ai-home-ui { position: relative; min-width: 0; overflow: hidden; border: 1px solid #d9d5e3; border-radius: 25px 25px 25px 9px; background: #fff; box-shadow: 0 30px 80px rgba(45,38,77,.15); transform: rotate(.55deg); }
.ai-ui-top { display: grid; height: 49px; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 16px; border-bottom: 1px solid #e7e4eb; color: #737080; background: #fbfafc; font-size: 10px; }
.ai-ui-top > span { display: flex; gap: 5px; }
.ai-ui-top i { width: 7px; height: 7px; border-radius: 50%; background: #d4d1d9; }
.ai-ui-top i:first-child { background: #fb8175; }.ai-ui-top i:nth-child(2) { background: #f4c95a; }.ai-ui-top i:last-child { background: #75cfa7; }
.ai-ui-top b { font-weight: 700; }
.ai-ui-top em { display: inline-flex; justify-self: end; align-items: center; gap: 5px; color: #5649bf; font-style: normal; font-weight: 800; }
.ai-ui-body { display: grid; grid-template-columns: 1.05fr .95fr; gap: 15px; min-height: 340px; padding: 22px; background: #ebe9ef; }
.ai-ui-document { position: relative; align-self: center; min-height: 245px; padding: 53px 27px 25px; background: #fff; box-shadow: 0 10px 27px rgba(35,32,56,.1); }
.ai-ui-document::before { position: absolute; top: 27px; right: 27px; left: 27px; height: 7px; background: linear-gradient(90deg,#19243a 0 36%,#ee5f5f 36% 48%,#e8e6ea 48%); content: ""; }
.ai-ui-document-label { display: block; margin-bottom: 46px; color: #9a95a0; font-size: 8px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.ai-ui-document p { position: relative; margin: 0 -7px; padding: 10px 8px; border: 1.5px solid #7566d6; color: #23293a; background: #f9f8ff; font-family: Georgia,serif; font-size: 12px; line-height: 1.7; }
.ai-ui-document p::after { position: absolute; right: 0; bottom: -30px; left: 0; height: 5px; border-radius: 5px; background: #ece9ef; box-shadow: 0 14px #ece9ef,0 28px #ece9ef; content: ""; }
.ai-ui-document u { text-decoration-color: #e44d57; text-decoration-style: wavy; text-underline-offset: 3px; }
.ai-ui-handle { position: absolute; z-index: 2; top: 132px; width: 8px; height: 8px; border: 2px solid white; border-radius: 50%; background: #7566d6; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
.ai-ui-handle--left { left: 16px; }.ai-ui-handle--right { right: 16px; }
.ai-ui-assistant { align-self: center; overflow: hidden; border: 1px solid #ded9e8; border-radius: 17px 17px 17px 6px; background: #fff; box-shadow: 0 15px 38px rgba(40,32,78,.12); }
.ai-ui-assistant header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 16px; border-bottom: 1px solid #ebe8ef; }
.ai-ui-assistant header > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px 10px 10px 4px; color: #584bc1; background: #eeeaff; }
.ai-ui-assistant header small,.ai-ui-assistant header strong { display: block; }
.ai-ui-assistant header small { margin-bottom: 3px; color: #898392; font-size: 8px; }.ai-ui-assistant header strong { font-size: 10px; }
.ai-ui-assistant header > b { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: white; background: var(--coral); font-size: 9px; }
.ai-ui-suggestion { min-height: 99px; padding: 17px; color: #2b3041; font-family: Georgia,serif; font-size: 12px; line-height: 1.7; }
.ai-ui-suggestion mark { padding: 1px 2px; border-radius: 3px; color: inherit; background: #dff4e9; }
.ai-ui-preserved { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 15px 13px; }
.ai-ui-preserved span,.ai-ui-preserved strong { padding: 4px 6px; border-radius: 5px; color: #716d7a; background: #f3f1f5; font-size: 7px; }
.ai-ui-preserved strong { margin-left: auto; color: #27764f; background: #e7f5ed; }
.ai-ui-assistant footer { display: grid; grid-template-columns: 1fr 1.2fr; gap: 7px; padding: 11px; border-top: 1px solid #ebe8ef; }
.ai-ui-assistant footer button,.ai-ui-assistant footer a { display: grid; min-height: 35px; place-items: center; border-radius: 8px; cursor: pointer; font-size: 9px; font-weight: 850; }
.ai-ui-assistant footer button { color: #666272; background: #f1eff3; }.ai-ui-assistant footer a { color: white; background: #5548bc; }
.ai-ui-brief { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; margin: 0 22px 22px; padding: 13px 15px; border: 1px solid #e0dbe9; border-radius: 13px 13px 13px 5px; background: #faf8fd; }
.ai-ui-brief > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #5a4fc1; background: #eeeaff; }
.ai-ui-brief small,.ai-ui-brief strong { display: block; }.ai-ui-brief small { margin-bottom: 3px; color: #898491; font-size: 8px; }.ai-ui-brief strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }.ai-ui-brief > svg { color: #777182; }
.section--recognition { color: white; background: var(--ink); }
.recognition-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(70px,9vw,140px); }
.recognition-art { position: relative; min-height: 570px; }
.recognition-page { position: absolute; border-radius: 4px; background: white; box-shadow: 0 25px 70px rgba(0,0,0,.3); }
.page-back { top: 45px; left: 4%; width: 78%; height: 480px; opacity: .2; transform: rotate(-8deg); }
.page-main { top: 0; right: 5%; width: 78%; height: 520px; padding: 48px 42px; color: var(--ink); transform: rotate(2deg); }
.scan-line { position: absolute; z-index: 3; top: 36%; right: -4%; left: -4%; height: 2px; background: var(--coral); box-shadow: 0 0 15px var(--coral); animation: scan 3.8s ease-in-out infinite; }
@keyframes scan { 0%,100% { transform: translateY(-80px); opacity:.2; } 50% { transform: translateY(160px); opacity:1; } }
.recognition-title { display: flex; justify-content: space-between; padding-bottom: 18px; border-bottom: 2px solid var(--ink); font-size: 13px; font-weight: 800; }
.recognition-row { display: grid; grid-template-columns: 1fr .35fr; gap: 30px; margin-top: 42px; }
.recognition-row i { height: 7px; background: #e7e5e2; }
.recognition-row.short { margin-top: 13px; }
.recognition-row.short i:first-child { width: 70%; }
.recognition-amount { margin-top: 80px; font-family: Georgia,serif; font-size: 28px; font-weight: 800; }
.recognition-box { position: absolute; display: grid; width: 150px; padding: 13px 15px; border-radius: 10px; color: white; background: #2a354b; box-shadow: 0 13px 30px rgba(0,0,0,.24); transform: rotate(-2deg); }
.recognition-box small { color: #9da6b8; font-size: 7px; text-transform: uppercase; }
.recognition-box strong { margin: 4px 0; font-size: 11px; }
.recognition-box em { color: #98deb9; font-size: 7px; font-style: normal; }
.font-box { top: 120px; right: -100px; }
.color-box { bottom: 100px; left: -70px; }
.color-box span { position: absolute; right: 14px; bottom: 14px; width: 13px; height: 13px; border: 3px solid white; border-radius: 50%; background: var(--ink); }
.size-box { right: -45px; bottom: 25px; width: 105px; background: var(--coral); }
.recognition-copy h2 { margin-bottom: 30px; }
.recognition-copy > p { color: #bfc6d3; }
.check-list { display: grid; gap: 13px; margin: 28px 0 34px; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 9px; color: #424a5a; font-size: 13px; font-weight: 700; line-height: 1.45; }
.check-list svg { margin-top: 1px; color: var(--green); }
.check-list--dark li { color: #e2e6ed; }
.check-list--dark svg { color: var(--mint); }
.steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; counter-reset: step; }
.step-card { position: relative; min-height: 390px; padding: 32px; border: 1px solid var(--line); border-radius: 22px; background: var(--white); }
.step-card:nth-child(2) { transform: translateY(28px); }
.step-index { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: white; background: var(--ink); font-size: 12px; font-weight: 900; }
.step-visual { display: grid; height: 170px; margin: 24px 0 27px; place-items: center; border-radius: 16px; background: var(--paper-2); }
.step-card h3 { margin-bottom: 10px; }
.step-card p { font-size: 14px; }
.upload-mini { align-content: center; color: var(--coral); border: 1.5px dashed #d8cdc1; }
.upload-mini span { margin-top: 12px; color: var(--ink); font-size: 11px; font-weight: 800; }
.cursor-mini { position: relative; color: var(--ink); font-family: Georgia,serif; font-size: 18px; }
.cursor-mini > span span { color: var(--blue); animation: blink 1s steps(1) infinite; }
.cursor-mini i { position: absolute; right: 22px; bottom: 20px; padding: 7px 9px; border-radius: 999px; color: var(--green); background: #dff4e8; font-family: inherit; font-size: 8px; font-style: normal; font-weight: 800; }
.pay-mini { grid-template-columns: 1fr auto; align-content: center; padding: 30px; }
.pay-mini strong { font-size: 22px; letter-spacing: .03em; }
.pay-mini span { color: var(--muted); font-size: 12px; }
.pay-mini i { display: grid; grid-column: 2; grid-row: 1 / 3; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: white; background: var(--green); }
.section--templates { overflow: hidden; background: #f1ebe1; }
.template-showcase { display: grid; grid-template-columns: repeat(4,1fr); gap: 19px; }
.template-card { display: flex; min-width: 0; flex-direction: column; transition: transform .22s ease; }
.template-card:nth-child(even) { transform: translateY(25px); }
.template-card:hover { transform: translateY(-6px) rotate(-1deg); }
.template-card:nth-child(even):hover { transform: translateY(18px) rotate(1deg); }
.template-preview { position: relative; height: 330px; padding: 27px 25px; border-radius: 7px; overflow: hidden; background: var(--white); box-shadow: 0 12px 32px rgba(30,36,47,.1); }
.template-preview::after { position: absolute; right: -35px; bottom: -35px; width: 130px; height: 130px; border-radius: 50%; background: var(--accent-soft); content: ""; }
.template-label { color: var(--accent); font-size: 7px; font-weight: 900; letter-spacing: .13em; }
.template-preview i { display: block; width: 100%; height: 4px; margin-top: 16px; background: #e8e5e0; }
.template-preview .preview-title { width: 64%; height: 12px; margin: 45px 0 34px; background: var(--ink); }
.template-preview i.short { width: 70%; }
.preview-sign { position: absolute; bottom: 45px; width: 80px; height: 35px; border-bottom: 1px solid #cbc6bf; }
.template-card-meta { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 17px 3px 10px; }
.template-card-meta .mini-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: var(--accent); background: var(--accent-soft); }
.template-card-meta strong, .template-card-meta small { display: block; }
.template-card-meta strong { font-size: 13px; }
.template-card-meta small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.section--comparison { padding-top: 130px; }
.comparison-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; padding: clamp(45px,7vw,85px); border-radius: 30px; color: white; background: var(--ink); }
.comparison-intro h2 { margin-bottom: 25px; }
.comparison-intro p { margin-bottom: 30px; color: #bfc6d3; }
.comparison-table { align-self: center; border: 1px solid var(--line-dark); border-radius: 17px; overflow: hidden; }
.comparison-table > div { display: grid; min-height: 64px; grid-template-columns: 1.2fr .7fr .9fr; align-items: center; padding: 0 22px; border-bottom: 1px solid var(--line-dark); }
.comparison-table > div:last-child { border: 0; }
.comparison-table span { color: #d7dce5; font-size: 11px; }
.comparison-table b { color: #a8e2c4; font-size: 11px; font-style: normal; }
.comparison-table i { color: #9098a8; font-size: 10px; font-style: normal; }
.comparison-table .comparison-head { min-height: 48px; background: rgba(255,255,255,.06); }
.comparison-head strong { color: #ffaaa0; font-size: 10px; text-transform: uppercase; }
.section--security-home { border-bottom: 1px solid var(--line); }
.security-home-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; }
.large-icon { display: grid; width: 66px; height: 66px; margin-bottom: 29px; place-items: center; border-radius: 18px; color: var(--green); background: #ddf3e6; }
.security-copy h2 { margin-bottom: 28px; }
.security-copy p { margin-bottom: 28px; }
.security-facts { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; background: var(--white); }
.security-facts > div { min-height: 190px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.security-facts > div:nth-child(even) { border-right: 0; }
.security-facts > div:nth-child(n+3) { border-bottom: 0; }
.security-facts span, .security-facts strong, .security-facts small { display: block; }
.security-facts span { margin-bottom: 30px; color: var(--coral); font-family: Georgia,serif; font-style: italic; }
.security-facts strong { margin-bottom: 8px; font-size: 14px; }
.security-facts small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.section--guides { background: var(--paper-2); }
.guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.guide-card { display: flex; min-height: 300px; flex-direction: column; padding: 29px; border: 1px solid var(--line); border-radius: 19px; background: var(--white); transition: transform .2s ease, box-shadow .2s ease; }
.guide-card:hover { box-shadow: var(--shadow-soft); transform: translateY(-5px); }
.guide-category { display: inline-flex; align-self: flex-start; padding: 6px 9px; border-radius: 999px; color: var(--coral-dark); background: #ffe2dd; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.guide-card h3 { margin: 25px 0 13px; font-size: 24px; }
.guide-card p { font-size: 13px; }
.guide-card footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 25px; color: var(--muted); font-size: 10px; font-weight: 750; }
.guide-card footer span { display: inline-flex; align-items: center; gap: 6px; }
.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.faq-heading { position: sticky; top: 130px; align-self: start; }
.faq-heading h2 { margin-bottom: 22px; }
.faq-heading p { margin-bottom: 25px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 800; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-toggle { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: transform .2s ease; }
.faq-item[open] .faq-toggle { color: white; background: var(--ink); transform: rotate(180deg); }
.faq-answer { overflow: hidden; }
.faq-answer p { max-width: 680px; padding: 0 50px 26px 0; font-size: 14px; }
.final-cta { padding: 90px 0; color: white; background: var(--coral); }
.final-cta-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.final-cta h2 { font-size: clamp(44px,5vw,68px); }
.final-cta p { margin-top: 16px; color: #ffe7e2; }
.cta-cursor { display: block; margin-bottom: 20px; font-family: Georgia,serif; font-size: 35px; animation: blink 1s steps(1) infinite; }
.final-cta--small .final-cta-inner { grid-template-columns: 1fr auto; }
.final-cta--small h2 { font-size: clamp(34px,4vw,52px); }

/* Generic pages and catalogs */
.page-hero { padding: 100px 0 85px; }
.page-hero-inner { max-width: 900px; text-align: center; }
.page-hero-inner p { max-width: 680px; margin: 25px auto 0; font-size: 18px; }
.page-hero--catalog { border-bottom: 1px solid var(--line); background: radial-gradient(circle at 50% 0, rgba(238,95,95,.1), transparent 48%); }
.catalog-switch { display: inline-flex; gap: 5px; margin-top: 35px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.catalog-switch a { padding: 10px 16px; border-radius: 8px; color: var(--muted); font-size: 12px; font-weight: 800; }
.catalog-switch a.active { color: white; background: var(--ink); }
.catalog-section { padding-top: 70px; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.catalog-toolbar strong, .catalog-toolbar span { display: block; }
.catalog-toolbar strong { margin-bottom: 5px; font-size: 19px; }
.catalog-toolbar span { color: var(--muted); font-size: 12px; }
.search-field { display: flex; width: 310px; min-height: 48px; align-items: center; gap: 10px; padding: 0 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.search-field svg { color: #9196a0; }
.search-field input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; font-size: 13px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.catalog-grid .tool-card { min-height: 190px; }
.empty-search { padding: 40px; border: 1px dashed var(--line); border-radius: 18px; color: var(--muted); text-align: center; }
.catalog-promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.catalog-promise-main h2 { margin-bottom: 22px; }
.catalog-promise-main p { margin-bottom: 28px; }
.catalog-promise-list { border-block: 1px solid var(--line); }
.catalog-promise-list > div { display: grid; grid-template-columns: 50px 1fr; gap: 10px; padding: 25px 5px; border-bottom: 1px solid var(--line); }
.catalog-promise-list > div:last-child { border: 0; }
.catalog-promise-list > div > strong { grid-row: 1 / 3; color: var(--coral); font-family: Georgia,serif; font-style: italic; }
.catalog-promise-list b, .catalog-promise-list small { display: block; }
.catalog-promise-list b { margin-bottom: 5px; font-size: 15px; }
.catalog-promise-list small { color: var(--muted); font-size: 11px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 55px; color: var(--muted); font-size: 10px; font-weight: 700; }
.breadcrumbs a:hover { color: var(--coral); }
.breadcrumbs strong { color: var(--ink); }
.tool-hero { position: relative; padding: 32px 0 100px; overflow: hidden; background: linear-gradient(135deg,var(--accent-soft),var(--paper) 55%); }
.tool-hero::after { position: absolute; right: -8%; bottom: -140px; width: 420px; height: 420px; border: 1px solid color-mix(in srgb,var(--accent) 30%,transparent); border-radius: 50%; content: ""; }
.tool-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.86fr); align-items: center; gap: 95px; }
.tool-hero-grid > *, .tool-hero-copy, .tool-upload-wrap { min-width: 0; max-width: 100%; }
.hero-tool-icon { display: grid; width: 63px; height: 63px; margin-bottom: 24px; place-items: center; border-radius: 18px; color: var(--accent); background: var(--white); box-shadow: var(--shadow-soft); }
.tool-hero-copy h1 { font-size: clamp(52px,6vw,83px); }
.tool-hero-copy > p { max-width: 590px; margin-top: 26px; font-size: 18px; }
.tool-hero-points { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 26px; color: #4f5868; font-size: 11px; font-weight: 750; }
.tool-hero-points span { display: inline-flex; align-items: center; gap: 6px; }
.tool-hero-points svg { color: var(--green); }
.tool-upload-wrap { position: relative; z-index: 2; width: 100%; }
.ai-start-card { padding: 18px; border: 1px solid rgba(72,63,123,.16); border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: var(--shadow-soft); }
.ai-start-card > label { display: grid; gap: 9px; color: #4b465d; font-size: 12px; font-weight: 850; }
.ai-start-card textarea { min-height: 170px; padding: 15px 16px; resize: vertical; border: 1px solid #ddd9e6; border-radius: 14px; outline: 0; color: var(--ink); background: #fbfafc; font: inherit; font-size: 15px; font-weight: 500; line-height: 1.55; }
.ai-start-card textarea:focus { border-color: #7369d9; background: white; box-shadow: 0 0 0 4px rgba(83,73,198,.12); }
.ai-start-examples { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.ai-start-examples button { min-height: 34px; padding: 0 11px; border: 1px solid #e0dce9; border-radius: 999px; cursor: pointer; color: #5f5873; background: #f8f6fb; font-size: 10px; font-weight: 800; }
.ai-start-examples button:hover { border-color: #b7afe4; color: #463cb0; background: #f0edff; }
.ai-start-card > p { min-height: 18px; margin: 12px 2px 0; color: #625d70; font-size: 11px; }
.ai-start-card > p.is-error { color: #ad3f3f; }
.ai-start-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 8px; padding-top: 13px; border-top: 1px solid #ece9ef; }
.ai-start-card > footer > span { max-width: 180px; color: #777280; font-size: 9px; line-height: 1.4; }
.ai-start-card.is-working textarea,.ai-start-card.is-working .ai-start-examples { opacity: .58; pointer-events: none; }
.ai-start-card.is-working [data-ai-starter-submit] { cursor: wait; }
.price-line { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; color: var(--muted); font-size: 10px; }
.price-line strong { color: var(--ink); font-size: 14px; }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.feature-card { position: relative; min-height: 290px; padding: 30px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.feature-card > span { position: absolute; top: 25px; right: 25px; color: #c0b9af; font-family: Georgia,serif; font-size: 13px; font-style: italic; }
.feature-icon { display: grid; width: 48px; height: 48px; margin-bottom: 55px; place-items: center; border-radius: 13px; color: var(--coral); background: #ffe2dd; }
.feature-card h3 { margin-bottom: 13px; }
.feature-card p { font-size: 13px; }
.section--how-tool { background: var(--paper-2); }
.how-tool-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; }
.how-tool-copy { position: sticky; top: 130px; align-self: start; }
.how-tool-copy p { margin-top: 22px; }
.how-tool-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.how-tool-list li { display: grid; min-height: 130px; grid-template-columns: 56px 1fr; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); }
.how-tool-list li > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: white; background: var(--ink); font-size: 12px; font-weight: 900; }
.how-tool-list strong, .how-tool-list small { display: block; }
.how-tool-list strong { margin-bottom: 7px; font-size: 17px; }
.how-tool-list small { color: var(--muted); font-size: 11px; }
.tool-preview-section { padding-top: clamp(58px,6vw,86px); border-bottom: 1px solid var(--line); background: rgba(255,254,253,.38); }
.tool-preview-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 90px; }
.tool-preview-window { overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: #e9e5df; box-shadow: var(--shadow); }
.preview-window-bar { display: flex; height: 42px; align-items: center; gap: 5px; padding: 0 13px; background: white; }
.preview-window-bar span { width: 7px; height: 7px; border-radius: 50%; background: #d6d0c9; }
.preview-window-bar span:first-child { background: #f07e72; }
.preview-window-bar strong { margin-left: 8px; font-size: 9px; }
.preview-workspace { display: grid; height: 360px; grid-template-columns: 60px 1fr 125px; }
.preview-workspace > aside { padding: 15px 10px; border-right: 1px solid #d6d1ca; }
.preview-workspace > aside i { display: block; height: 60px; margin-bottom: 10px; border: 1px solid #d2cdc5; border-radius: 3px; background: white; }
.preview-workspace > aside i:first-child { border: 2px solid var(--blue); }
.preview-document { position: relative; width: 250px; height: 315px; align-self: center; justify-self: center; padding: 38px 30px; background: white; box-shadow: 0 9px 25px rgba(23,32,51,.13); }
.preview-document > i, .preview-doc-title { display: block; height: 5px; margin-bottom: 12px; background: #e7e3de; }
.preview-doc-title { width: 62%; height: 12px; margin-bottom: 42px; background: var(--ink); }
.preview-document > i.short { width: 70%; }
.preview-active-box { margin: 28px -4px 18px; padding: 12px; border: 1.5px solid var(--blue); color: var(--blue); background: #f4f5ff; font-size: 8px; font-weight: 800; }
.preview-side { padding: 17px 12px; border-left: 1px solid #d6d1ca; background: #f7f5f2; }
.preview-side strong { display: block; margin-bottom: 18px; font-size: 9px; }
.preview-side i { display: block; height: 28px; margin-bottom: 10px; border: 1px solid #ddd8d1; border-radius: 5px; background: white; }
.preview-side button { width: 100%; height: 29px; margin-top: 15px; border-radius: 6px; color: white; background: var(--ink); font-size: 7px; }
.tool-preview-copy h2 { margin-bottom: 25px; }
.tool-preview-copy p { font-size: 15px; }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }

/* Editor landing */
.editor-landing-hero { padding: 95px 0 110px; background: radial-gradient(circle at 70% 0,rgba(83,104,242,.12),transparent 35%); }
.editor-landing-grid { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: 90px; }
.editor-landing-copy h1 em { color: var(--coral); font-family: Georgia,serif; font-weight: 500; }
.editor-landing-copy > p { max-width: 620px; margin: 28px 0; font-size: 18px; }
.editor-feature-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.editor-feature-pills span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 10px; font-weight: 800; }
.editor-main-upload .upload-panel { padding: 12px; }
.editor-main-upload .upload-drop { min-height: 180px; flex-direction: column; justify-content: center; text-align: center; }
.editor-main-upload .upload-button { display: none; }
.editor-upload-footer { display: flex; justify-content: center; gap: 18px; margin-top: 13px; color: var(--muted); font-size: 9px; font-weight: 700; }
.editor-upload-footer span { display: inline-flex; align-items: center; gap: 5px; }
.editor-anatomy { background: var(--paper-2); }
.anatomy-window { overflow: hidden; border: 1px solid #d6d0c7; border-radius: 20px; background: #dedad4; box-shadow: 0 30px 80px rgba(23,32,51,.18); }
.anatomy-top { display: flex; height: 60px; align-items: center; gap: 8px; padding: 0 13px; border-bottom: 1px solid var(--line); background: white; }
.anatomy-top .brand-mark { width: 32px; height: 32px; margin-right: 5px; font-size: 17px; }
.anatomy-top button { width: 29px; height: 29px; border-radius: 6px; background: #f2eee8; }
.anatomy-tools { display: flex; height: 100%; flex: 1; align-items: center; justify-content: center; gap: 5px; }
.anatomy-tools b { padding: 9px 12px; border-radius: 7px; color: #656e7e; font-size: 10px; }
.anatomy-tools b.active { color: white; background: var(--ink); }
.anatomy-top > span { color: var(--muted); font-size: 10px; }
.anatomy-top > strong { padding: 10px 13px; border-radius: 7px; color: white; background: var(--coral); font-size: 10px; }
.anatomy-body { display: grid; height: 620px; grid-template-columns: 135px 1fr 235px; }
.anatomy-pages { padding: 20px 15px; border-right: 1px solid #ccc6be; background: #eeeae5; }
.anatomy-pages > b { display: block; margin-bottom: 18px; font-size: 10px; }
.anatomy-pages > div { position: relative; width: 88px; height: 118px; margin: 0 auto 18px; padding: 14px; border: 1px solid #cdc7bf; border-radius: 3px; background: white; }
.anatomy-pages > div.active { border: 2px solid var(--blue); }
.anatomy-pages > div span { position: absolute; left: -13px; color: #89909b; font-size: 7px; }
.anatomy-pages > div i { display: block; height: 3px; margin-bottom: 8px; background: #d7d3cc; }
.anatomy-canvas { display: grid; padding: 35px; place-items: center; overflow: hidden; }
.anatomy-canvas article { width: 420px; height: 535px; padding: 60px 55px; background: white; box-shadow: 0 15px 35px rgba(23,32,51,.16); }
.anatomy-canvas article > span { color: var(--coral); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.anatomy-canvas h3 { margin-top: 30px; font-size: 35px; }
.anatomy-canvas p { margin-top: 25px; font-size: 10px; }
.anatomy-selection { position: relative; margin-top: 38px; padding: 10px; outline: 2px solid var(--blue); font-size: 11px; }
.anatomy-selection i { position: absolute; width: 6px; height: 6px; border: 1px solid white; background: var(--blue); }
.anatomy-selection i:nth-child(1) { top:-4px;left:-4px}.anatomy-selection i:nth-child(2){top:-4px;right:-4px}.anatomy-selection i:nth-child(3){bottom:-4px;left:-4px}.anatomy-selection i:nth-child(4){bottom:-4px;right:-4px}
.anatomy-lines { margin-top: 48px; }
.anatomy-lines i { display:block;height:5px;margin-bottom:12px;background:#e6e3de}.anatomy-lines i:nth-child(3){width:70%}
.anatomy-properties { padding: 24px 18px; border-left: 1px solid #ccc6be; background: #f7f5f2; }
.anatomy-properties > b { display:block;margin-bottom:25px;font-size:12px}.anatomy-properties label{display:block;margin-bottom:14px;color:#8c929c;font-size:7px;font-weight:800;text-transform:uppercase}.anatomy-properties label span{display:flex;height:34px;align-items:center;margin-top:5px;padding:0 10px;border:1px solid #ddd8d0;border-radius:6px;color:var(--ink);background:white;font-size:9px;text-transform:none}.property-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.anatomy-properties button{width:100%;height:36px;margin-top:13px;border-radius:7px;color:white;background:var(--ink);font-size:8px}.anatomy-properties > small{display:flex;align-items:center;gap:5px;margin-top:12px;padding:9px;border-radius:7px;color:var(--green);background:#e2f4e9;font-size:8px;font-weight:800}
.tools-grid--six { grid-template-columns: repeat(3,1fr); }
.editor-limits-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.editor-limits-grid > div:last-child > p{margin-bottom:30px}.limit-types{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden}.limit-types span{padding:20px;border-right:1px solid var(--line);background:white}.limit-types span:last-child{border:0}.limit-types i{display:block;width:9px;height:9px;margin-bottom:28px;border-radius:50%}.status-good{background:var(--mint)}.status-mid{background:var(--yellow)}.status-scan{background:var(--violet)}.limit-types b,.limit-types small{display:block}.limit-types b{font-size:12px}.limit-types small{margin-top:5px;color:var(--muted);font-size:9px}

/* Templates */
.template-library-hero { overflow: clip; background: radial-gradient(circle at 80% 30%,rgba(157,128,220,.15),transparent 35%); }
.template-hero-grid { display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:100px}.template-hero-grid p{max-width:600px;margin:28px 0}.template-hero-stack{position:relative;height:500px}.stack-sheet{position:absolute;top:20px;left:50%;width:300px;height:410px;padding:38px;background:white;box-shadow:var(--shadow);transform-origin:center bottom}.stack-sheet--3{transform:translateX(-50%) rotate(10deg);background:#dadfff}.stack-sheet--2{transform:translateX(-50%) rotate(-7deg)}.stack-sheet--1{transform:translateX(-50%) rotate(1deg)}.stack-sheet>span{font-size:8px;font-weight:900;letter-spacing:.13em}.stack-sheet--1>strong{display:block;margin:65px 0 35px;font-size:28px}.stack-sheet i{display:block;height:5px;margin:15px 0;background:#e7e3dd}.stack-sheet i:nth-of-type(2){width:75%}.stack-sheet div{position:absolute;right:35px;bottom:35px;width:80px;height:80px;border-radius:50%;background:#ffe0dc}.stack-sheet--2 i{display:block;height:6px;margin:27px 0;background:#e7e3dd}.stack-sticker{position:absolute;right:5%;bottom:35px;padding:14px 18px;border-radius:6px;color:var(--ink);background:var(--yellow);box-shadow:var(--shadow-soft);font-size:11px;font-weight:850;transform:rotate(-5deg)}.stack-sticker b{margin-left:18px}
.template-library-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.library-card{display:grid;min-height:330px;grid-template-columns:210px 1fr;padding:20px;border:1px solid var(--line);border-radius:20px;background:white;transition:transform .2s ease,box-shadow .2s ease}.library-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}.library-preview{position:relative;display:grid;place-items:center;border-radius:13px;background:var(--accent-soft)}.library-preview>span{position:absolute;top:14px;left:14px;color:var(--accent);font-family:Georgia,serif;font-size:14px;font-style:italic}.library-paper{position:relative;width:125px;height:180px;padding:22px 17px;background:white;box-shadow:0 10px 22px rgba(23,32,51,.12);transform:rotate(-2deg)}.library-paper small{color:var(--accent);font-size:5px;font-weight:900}.library-paper i{display:block;height:3px;margin-top:13px;background:#e5e2dc}.library-paper i.wide{height:8px;margin:25px 0}.library-paper i.short{width:65%}.library-paper b{position:absolute;right:15px;bottom:15px;color:var(--accent)}.library-card-copy{display:grid;grid-template-columns:42px 1fr auto;align-items:start;gap:12px;padding:28px 10px 20px 23px}.library-card-copy .mini-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.library-card-copy h2{font-size:25px}.library-card-copy p{margin:11px 0;font-size:14px}.library-card-copy small{color:var(--muted);font-size:11px}.library-card-copy>svg{color:#a4a7ae}
.template-builder .recognition-grid{min-height:500px}.builder-demo{padding:28px;border:1px solid var(--line-dark);border-radius:20px;background:rgba(255,255,255,.06)}.builder-field{margin-bottom:15px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(255,255,255,.06)}.builder-field span,.builder-field strong{display:block}.builder-field span{color:#9da6b7;font-size:8px;text-transform:uppercase}.builder-field strong{margin-top:7px;color:white;font-size:15px}.builder-field.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.builder-field.two span+span{border-left:1px solid var(--line-dark);padding-left:15px}.builder-field.two strong{font-size:11px}.builder-success{padding:12px;border-radius:8px;color:#9be0bc;background:rgba(120,205,163,.1);font-size:10px;font-weight:800}
.template-category-hero{padding:32px 0 110px;background:linear-gradient(135deg,var(--accent-soft),var(--paper) 62%)}.template-category-grid{display:grid;grid-template-columns:1fr .72fr;align-items:center;gap:120px}.template-category-grid h1{font-size:clamp(58px,7vw,96px)}.template-category-grid p{max-width:570px;margin:25px 0}.template-types{display:flex;flex-wrap:wrap;gap:8px}.template-types span{padding:8px 11px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:999px;background:white;font-size:10px;font-weight:800}.category-paper{position:relative;width:340px;height:455px;justify-self:center;padding:45px 40px;background:white;box-shadow:var(--shadow);transform:rotate(2deg)}.category-paper>small{color:var(--accent);font-size:6px;font-weight:900;letter-spacing:.15em}.category-paper h2{margin:50px 0 13px;font-size:35px}.paper-date{font-family:Georgia,serif;font-size:12px}.category-paper>i{display:block;height:5px;margin-top:21px;background:#e8e5df}.category-paper>i.short{width:70%}.paper-field{margin-top:35px;padding:11px;border:1.5px solid var(--blue);color:#777f8f;font-size:9px}.paper-field span{color:var(--blue);animation:blink 1s steps(1) infinite}.paper-signature{position:absolute;right:40px;bottom:55px;width:100px;height:45px;border-bottom:1px solid #ccc6be}.template-variants{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.variant-card{display:grid;grid-template-columns:1fr auto;gap:15px;padding:15px;border:1px solid var(--line);border-radius:18px;background:white}.variant-preview{grid-column:1/-1;height:260px;padding:30px;border-radius:12px;background:var(--paper-2)}.variant-preview small{font-size:6px;font-weight:900}.variant-preview i{display:block;width:80%;height:5px;margin:20px 0;background:#d8d4ce}.variant-preview i:nth-child(2){height:13px;margin:45px 0 30px;background:var(--ink)}.variant-preview div{width:65px;height:65px;margin-left:auto;border-radius:50%;background:#ffe0dc}.variant-preview--2,.variant-preview--5{background:#e4e7ff}.variant-preview--3,.variant-preview--6{background:#e0f2e8}.variant-card>div:nth-child(2) strong,.variant-card>div:nth-child(2) span{display:block}.variant-card>div:nth-child(2) strong{font-size:12px}.variant-card>div:nth-child(2) span{margin-top:4px;color:var(--muted);font-size:9px}.three-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.three-benefits article{padding-right:40px;border-right:1px solid var(--line)}.three-benefits article:last-child{border:0}.three-benefits span{color:var(--coral);font-family:Georgia,serif;font-style:italic}.three-benefits h3{margin:32px 0 12px}.three-benefits p{font-size:13px}
.template-start-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.template-start-actions .button { min-width: 0; min-height: 39px; padding-inline: 10px; border-width: 1px; cursor: pointer; font-size: 11px; white-space: nowrap; }
.template-preview-zoom { position: absolute; z-index: 6; right: 12px; bottom: 12px; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; cursor: zoom-in; color: white; background: rgba(20,29,47,.88); box-shadow: 0 8px 22px rgba(19,27,45,.25),inset 0 1px 0 rgba(255,255,255,.18); backdrop-filter: blur(8px); transition: transform .18s ease,background .18s ease,box-shadow .18s ease; }
.template-preview-zoom:hover { color: white; background: #5368f2; box-shadow: 0 10px 24px rgba(63,78,190,.34); transform: scale(1.08); }
.template-preview-zoom:focus-visible { outline: 3px solid rgba(83,104,242,.3); outline-offset: 3px; }
.template-start-actions .button:disabled { cursor: wait; opacity: .62; }
.template-start-message { grid-column: 1/-1; margin-top: 7px; color: #667080; font-size: 11px; line-height: 1.4; }
.template-card > .template-start-actions { margin-top: auto; }
.template-card > .template-start-message { min-height: 16px; }
.variant-card > .template-start-actions { min-width: 205px; }
.variant-card > .template-start-message { margin: -7px 0 0; }
.public-template-copy h2 a,.public-template-copy h3 a,.variant-card strong a{color:inherit;text-decoration:none}.public-template-copy h2 a:hover,.public-template-copy h3 a:hover,.variant-card strong a:hover{color:var(--accent)}
.template-item-hero{padding:32px 0 104px;background:linear-gradient(135deg,var(--accent-soft),var(--paper) 64%)}.template-item-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.68fr);align-items:center;gap:100px;padding-top:58px}.template-item-copy h1{max-width:760px;margin:18px 0 22px;font-size:clamp(52px,6vw,88px);line-height:.94}.template-item-copy>p{max-width:680px;margin-bottom:28px;font-size:18px;line-height:1.65}.template-item-copy>.template-start-actions{justify-content:flex-start;max-width:470px}.template-item-copy>.template-start-message{max-width:470px}.template-item-copy .tool-hero-points{margin-top:22px}.template-item-paper{width:min(100%,420px);justify-self:center;margin:0}.template-item-preview{position:relative;aspect-ratio:210/297;padding:24px;background:#fff;box-shadow:0 26px 70px rgba(34,37,51,.16);transform:rotate(1.4deg)}.template-item-preview canvas{width:100%;height:100%;display:block}.template-item-paper figcaption{display:flex;justify-content:space-between;gap:18px;padding:18px 4px 0;font-size:11px}.template-item-paper figcaption span{color:var(--muted)}.template-item-content-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:90px;align-items:start}.template-item-section>p{max-width:760px;margin:18px 0 28px;font-size:16px;line-height:1.7}.template-field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;list-style:none}.template-field-list li{display:flex;align-items:center;gap:13px;min-height:68px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#fff}.template-field-list span{color:var(--coral);font-family:Georgia,serif;font-style:italic;font-size:13px}.template-field-list strong{font-size:12px;line-height:1.45}.template-check-card{padding:34px;border-radius:24px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}.template-check-card>span{display:grid;width:52px;height:52px;place-items:center;border-radius:15px;background:var(--coral);color:var(--ink)}.template-check-card h2{margin:24px 0 18px;font-size:27px}.template-check-card ol{display:grid;gap:15px;margin:0 0 25px;padding-left:20px}.template-check-card li{padding-left:5px;color:rgba(255,255,255,.76);font-size:13px;line-height:1.6}.template-check-card .text-link{color:#fff}.template-workflow-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.template-workflow-grid>div h2{max-width:430px}.public-template-grid--related{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.template-item-hero{padding-bottom:72px}.template-item-hero-grid{grid-template-columns:1fr;gap:48px;padding-top:34px}.template-item-copy h1{font-size:clamp(44px,12vw,70px)}.template-item-paper{width:min(86vw,400px)}.template-item-content-grid,.template-workflow-grid{grid-template-columns:1fr;gap:44px}.public-template-grid--related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.template-item-hero{padding-top:18px}.template-item-hero-grid{padding-top:28px}.template-item-copy h1{font-size:42px}.template-item-copy>p{font-size:15px}.template-item-copy>.template-start-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.template-item-copy>.template-start-actions .button{width:100%}.template-item-copy .tool-hero-points{display:grid;grid-template-columns:1fr;gap:8px}.template-item-paper{width:100%}.template-item-preview{padding:16px}.template-item-content-grid{gap:32px}.template-field-list{grid-template-columns:1fr}.template-check-card{padding:26px}.template-workflow-grid{gap:28px}.public-template-grid--related{grid-template-columns:1fr}}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.editorial-grid article{padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff}.editorial-grid article>span{color:var(--coral);font-family:Georgia,serif;font-style:italic}.editorial-grid h2{margin:30px 0 13px;font-size:23px}.editorial-grid p{color:var(--muted);font-size:13px;line-height:1.7}.editorial-grid .text-link{margin-top:18px}.editorial-links{display:grid;gap:10px}.editorial-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none}.article-meta a{color:inherit;text-decoration-color:currentColor;text-underline-offset:3px}
@media(max-width:900px){.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.editorial-grid{grid-template-columns:1fr}.editorial-grid article{padding:25px}}
.public-template-categories { display: flex; gap: 8px; margin: -10px 0 27px; overflow-x: auto; padding: 4px 0 8px; scrollbar-width: thin; }
.public-template-categories a { display: inline-flex; min-height: 39px; flex: 0 0 auto; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 11px; font-weight: 800; }
.public-template-categories a:hover { border-color: var(--blue); color: var(--blue); }
.public-template-categories b { display: grid; min-width: 22px; height: 22px; place-items: center; border-radius: 999px; color: var(--blue); background: #edf0ff; font-size: 10px; }
.public-template-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.public-template-card { display: grid; min-width: 0; min-height: 344px; grid-template-columns: 205px minmax(0,1fr); grid-template-rows: 1fr auto auto; gap: 15px 20px; padding: 18px; border: 1px solid var(--line); border-radius: 21px; background: white; box-shadow: 0 7px 20px rgba(30,36,47,.05); transition: transform .2s,box-shadow .2s,border-color .2s; }
.public-template-card:hover { border-color: color-mix(in srgb,var(--accent) 45%,var(--line)); box-shadow: var(--shadow-soft); transform: translateY(-4px); }
.public-template-preview { position: relative; display: grid; grid-row: 1/4; min-height: 306px; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb,var(--accent) 15%,transparent); border-radius: 14px; background-color: var(--accent-soft); background-image: radial-gradient(color-mix(in srgb,var(--accent) 17%,transparent) .8px,transparent .8px); background-size: 15px 15px; }
.public-template-preview::before,.public-template-preview::after { position: absolute; width: 152px; height: 218px; border: 1px solid rgba(86,91,106,.11); border-radius: 4px; background: rgba(255,255,255,.63); box-shadow: 0 9px 20px rgba(31,37,50,.08); content: ""; }
.public-template-preview::before { transform: rotate(-5deg) translate(-8px,2px); }
.public-template-preview::after { transform: rotate(4deg) translate(8px,1px); }
.public-template-preview > span { position: absolute; z-index: 3; top: 11px; left: 11px; color: var(--accent); font-family: Georgia,serif; font-size: 12px; font-style: italic; }
.public-template-preview .library-paper { width: 92px; height: 132px; padding: 17px 13px; }
.public-template-copy { min-width: 0; align-self: start; padding-top: 3px; }
.public-template-copy > small { color: var(--accent); font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.public-template-copy h2 { margin: 7px 0 8px; overflow-wrap: anywhere; font-size: 20px; line-height: 1.17; }
.public-template-copy p { font-size: 14px; line-height: 1.48; }
.public-template-card > .template-start-message { margin: -6px 0 0; }
.category-paper.category-paper--document { display: grid; width: min(390px,100%); height: auto; min-height: 455px; align-content: center; gap: 13px; padding: 22px; border: 1px solid rgba(23,27,26,.08); border-radius: 20px; background: color-mix(in srgb,var(--accent-soft) 58%,white); box-shadow: var(--shadow); }
.category-paper--document canvas { display: block; width: auto; max-width: 100%; height: auto; max-height: 390px; justify-self: center; border: 1px solid #d8d4cd; border-radius: 3px; background: white; box-shadow: 0 13px 28px rgba(30,36,47,.14); }
.category-paper--document.is-landscape canvas { width: 100%; max-height: none; }
.category-paper--document figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--ink); }
.category-paper--document figcaption strong { min-width: 0; font-size: 13px; }
.category-paper--document figcaption span { flex: 0 0 auto; color: var(--muted); font-size: 9px; }
.variant-preview { position: relative; display: grid; height: 280px; place-items: center; padding: 16px; overflow: hidden; }
.variant-preview canvas { display: block; width: auto; max-width: 100%; height: 100%; border: 1px solid #d6d2cb; border-radius: 3px; background: white; box-shadow: 0 9px 23px rgba(30,36,47,.13); }
.variant-preview.is-landscape canvas { width: 100%; height: auto; }
.public-template-preview canvas { position: relative; z-index: 2; display: block; width: auto; max-width: 166px; height: 242px; border: 1px solid #cbc7c0; border-radius: 4px; background: white; box-shadow: 0 13px 29px rgba(30,36,47,.18); }
.public-template-preview.is-landscape::before,.public-template-preview.is-landscape::after { width: 176px; height: 124px; }
.public-template-preview.is-landscape canvas { width: 180px; max-width: calc(100% - 18px); height: auto; }
.template-preview { display: grid; place-items: center; padding: 21px; background: color-mix(in srgb,var(--accent-soft) 54%,white); }
.template-preview::after { content: none; }
.template-preview canvas { display: block; width: auto; max-width: 100%; height: 100%; border: 1px solid #d6d2cb; border-radius: 3px; background: white; box-shadow: 0 12px 25px rgba(30,36,47,.13); }
.template-preview.is-landscape canvas { width: 100%; height: auto; }
.public-template-modal { position: fixed; z-index: 300; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(17,22,32,.68); backdrop-filter: blur(10px); }
.public-template-modal[hidden] { display: none; }
.has-public-template-modal { overflow: hidden; }
.public-template-dialog { width: min(1080px,100%); max-height: calc(100vh - 56px); overflow: hidden; border: 1px solid rgba(255,255,255,.45); border-radius: 23px; background: #f8f7f3; box-shadow: 0 34px 100px rgba(9,14,25,.42); }
.public-template-dialog > header { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 20px 15px 24px; border-bottom: 1px solid #e0ddd7; background: white; }
.public-template-dialog > header small,.public-template-dialog > header h2 { display: block; }
.public-template-dialog > header small { margin-bottom: 4px; color: #5368f2; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.public-template-dialog > header h2 { font-size: 24px; }
.public-template-dialog > header button { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid #ddd9d2; border-radius: 11px; cursor: pointer; color: #606875; background: #f7f5f1; font-size: 24px; }
.public-template-dialog > header button:hover { color: #c74343; background: white; }
.public-template-dialog-body { display: grid; min-height: 0; grid-template-columns: minmax(0,1.38fr) minmax(300px,.72fr); }
.public-template-dialog-canvas { position: relative; display: grid; min-height: 650px; max-height: calc(100vh - 132px); place-items: center; overflow: auto; padding: 30px; background-color: #e9e8e4; background-image: radial-gradient(rgba(73,78,90,.15) .8px,transparent .8px); background-size: 16px 16px; }
.public-template-dialog-canvas canvas { display: block; width: auto; max-width: min(100%,500px); height: auto; max-height: calc(100vh - 190px); border: 1px solid #c9c5be; background: white; box-shadow: 0 18px 48px rgba(25,31,43,.24); }
.public-template-dialog-canvas.is-landscape canvas { width: min(100%,700px); max-height: none; }
.public-template-dialog-canvas > span { position: absolute; right: 18px; bottom: 16px; padding: 6px 9px; border-radius: 999px; color: #697180; background: rgba(255,255,255,.9); font-size: 10px; font-weight: 800; box-shadow: 0 3px 10px rgba(24,29,40,.08); }
.public-template-dialog-body > aside { display: flex; min-width: 0; justify-content: center; flex-direction: column; padding: 34px 30px; border-left: 1px solid #dedbd5; background: white; }
.public-template-dialog-number { color: #d44e4e; font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.public-template-dialog-body aside h3 { margin: 13px 0 11px; font-size: 27px; line-height: 1.08; }
.public-template-dialog-body aside > p { color: #68707d; font-size: 14px; line-height: 1.6; }
.public-template-dialog-body aside ul { display: grid; gap: 10px; margin: 23px 0; }
.public-template-dialog-body aside li { display: flex; align-items: center; gap: 8px; color: #4f5866; font-size: 12px; font-weight: 750; }
.public-template-dialog-body aside li i { display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #27815b; background: #e6f5ed; font-size: 10px; font-style: normal; }
.template-start-actions--modal { margin-top: 4px; }
.template-start-actions--modal .button { min-height: 45px; }

/* Guides */
.guides-hero{background:var(--ink);color:white}.guides-hero-grid{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:100px}.guides-hero-grid>div:first-child p{max-width:600px;margin-top:28px;color:#bdc5d2}.guide-featured-card{position:relative;min-height:360px;padding:40px;border:1px solid var(--line-dark);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.06)}.guide-featured-card h2{margin:28px 0 16px;font-size:38px}.guide-featured-card p{color:#bdc5d2;font-size:14px}.guide-featured-card a{position:absolute;bottom:35px;display:flex;align-items:center;gap:8px;color:#ffd0c9;font-size:12px;font-weight:850}.featured-doodle{position:absolute;right:-20px;bottom:-15px;color:rgba(255,255,255,.08);font-family:Georgia,serif;font-size:100px;font-weight:900;transform:rotate(-8deg)}.featured-doodle span{color:var(--coral)}
.guides-library{border-top:1px solid var(--line)}.guide-list-card{display:grid;min-height:190px;grid-template-columns:80px 1fr 50px;align-items:center;padding:28px 10px;border-bottom:1px solid var(--line);transition:padding .2s ease,background .2s ease}.guide-list-card:hover{padding-inline:25px;background:rgba(255,255,255,.5)}.guide-number{align-self:start;padding-top:9px;color:var(--coral);font-family:Georgia,serif;font-size:15px;font-style:italic}.guide-list-card h2{margin:13px 0 8px;font-size:31px}.guide-list-card p{max-width:720px;font-size:13px}.guide-list-card small{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--muted);font-size:9px}.circle-arrow{display:grid;width:43px;height:43px;place-items:center;border:1px solid var(--line);border-radius:50%}.newsletter-band{padding:80px 0;color:white;background:var(--coral)}.newsletter-band>.container{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.newsletter-band h2{font-size:45px}.newsletter-form{display:grid;grid-template-columns:1fr auto;gap:9px}.newsletter-form input{width:100%;height:52px;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:11px;outline:0;color:white;background:rgba(255,255,255,.1)}.newsletter-form input::placeholder{color:#ffd9d4}.newsletter-form small{grid-column:1/-1;color:#ffe1dc;font-size:9px}
.article-hero{padding:55px 0 90px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 0,rgba(238,95,95,.1),transparent 60%)}.article-hero-inner{max-width:900px;text-align:center}.article-hero .breadcrumbs{justify-content:center;margin-bottom:45px}.article-hero h1{margin:24px auto;max-width:900px;font-size:clamp(50px,7vw,86px)}.article-hero p{max-width:650px;margin:auto}.article-meta{display:flex;justify-content:center;gap:20px;margin-top:28px;color:var(--muted);font-size:10px;font-weight:700}.article-meta span{display:inline-flex;align-items:center;gap:6px}.article-layout{display:grid;grid-template-columns:240px minmax(0,720px);justify-content:center;gap:80px;padding-block:90px}.article-toc{position:sticky;top:130px;align-self:start;padding:20px 0;border-block:1px solid var(--line)}.article-toc strong{display:block;margin-bottom:14px;font-size:11px;text-transform:uppercase}.article-toc a{display:block;padding:8px 0;color:var(--muted);font-size:10px;line-height:1.4}.article-toc a:hover{color:var(--coral)}.article-content>.article-lead{color:var(--ink);font-family:Georgia,serif;font-size:23px;line-height:1.55}.article-callout{display:grid;grid-template-columns:40px 1fr;gap:10px;margin:38px 0;padding:22px;border-radius:14px;background:#fff0cd}.article-callout span{display:grid;width:35px;height:35px;place-items:center;border-radius:50%;color:#8a620b;background:var(--yellow)}.article-callout p{color:#5c4a29;font-size:13px}.article-content section{position:relative;padding:42px 0 16px;border-top:1px solid var(--line)}.article-section-number{position:absolute;top:47px;left:-48px;color:var(--coral);font-family:Georgia,serif;font-size:12px;font-style:italic}.article-content section h2{margin-bottom:25px;font-size:38px}.article-content section p{margin-bottom:20px;font-size:15px}.article-content section ul{margin:20px 0 25px;padding-left:22px;color:var(--muted);font-size:14px;line-height:1.8}.article-content blockquote{margin:30px 0;padding:25px;border-left:4px solid var(--coral);color:var(--ink);background:var(--paper-2);font-family:Georgia,serif;font-size:19px;line-height:1.5}.article-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:45px;padding:30px;border-radius:18px;color:white;background:var(--ink)}.article-cta strong{font-size:18px}.article-cta p{margin-top:6px;color:#bcc4d2;font-size:11px}
.article-callout--checklist{align-items:start}.article-callout--checklist strong{display:block;margin:2px 0 7px;color:#5c4a29;font-size:13px}.article-callout--checklist ul{margin:0;padding-left:18px;color:#5c4a29;font-size:13px;line-height:1.65}.article-notice{margin:38px 0;padding:21px 23px;border:1px solid #dfc16f;border-radius:14px;background:#fff8df}.article-notice strong{color:#694e10;font-size:12px;text-transform:uppercase}.article-notice p{margin-top:7px;color:#6b5930;font-size:13px}.article-sources a{color:var(--blue);font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.guides-action-band p{max-width:620px;margin-top:12px;color:#ffe2de}.guides-action-buttons{display:flex;justify-content:flex-end;gap:12px}.button--outline-light{border:1px solid rgba(255,255,255,.65);color:white;background:transparent}.button--outline-light:hover{border-color:white;background:rgba(255,255,255,.1)}
.guide-number,.article-section-number{color:var(--coral-dark)}.newsletter-band{background:#c74348}.article-toc a:hover{color:var(--coral-dark)}.article-content blockquote{border-left-color:var(--coral-dark)}.article-sources a{color:#4053cf}

/* Pricing, security, help, about, contact, legal */
.pricing-hero{background:radial-gradient(circle at 50% 10%,rgba(245,204,91,.24),transparent 50%)}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:940px;margin:auto}.price-card{position:relative;padding:42px;border:1px solid var(--line);border-radius:24px;background:white}.price-card--main{border:2px solid var(--ink);box-shadow:var(--shadow)}.price-label{display:inline-block;padding:7px 10px;border-radius:999px;color:var(--coral-dark);background:#ffe2dd;font-size:9px;font-weight:850;text-transform:uppercase}.price-card h2{margin:25px 0 10px;font-size:32px}.price-card-head p,.price-card>p{font-size:13px}.price{display:flex;align-items:center;gap:10px;margin:45px 0 35px}.price strong{font-size:70px;line-height:.8;letter-spacing:-.07em}.price>span{font-size:15px;font-weight:850;line-height:1.1}.price small{color:var(--muted);font-size:9px;font-weight:600}.price--small strong{font-size:56px}.price-note{display:block;margin-top:13px;color:var(--muted);font-size:8px;text-align:center}.free-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.free-grid article{padding:28px;border:1px solid var(--line);border-radius:18px;background:white}.free-grid article>span{display:grid;width:46px;height:46px;margin-bottom:45px;place-items:center;border-radius:12px;color:var(--green);background:#def2e7}.free-grid h3{font-size:17px}.free-grid p{margin-top:10px;font-size:12px}
.security-hero{padding:100px 0;color:white;background:var(--ink)}.security-hero-grid{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:100px}.security-shield{display:grid;width:78px;height:78px;margin-bottom:30px;place-items:center;border-radius:22px;color:#8fe1b6;background:rgba(120,205,163,.12)}.security-hero p{max-width:600px;margin-top:28px;color:#bdc5d2}.security-orbit{position:relative;height:460px}.orbit-center{position:absolute;z-index:3;top:50%;left:50%;display:grid;width:115px;height:115px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#29354c;font-size:22px;font-weight:900;transform:translate(-50%,-50%)}.orbit-center span{position:absolute;right:-8px;bottom:0;display:grid;width:40px;height:40px;place-items:center;border-radius:50%;color:var(--ink);background:var(--mint)}.orbit{position:absolute;top:50%;left:50%;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:translate(-50%,-50%)}.orbit--1{width:260px;height:260px}.orbit--2{width:410px;height:410px}.orbit-label{position:absolute;padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#cfd5df;background:#222d42;font-size:9px;font-weight:800}.orbit-label--1{top:60px;left:50px}.orbit-label--2{top:170px;right:0}.orbit-label--3{bottom:55px;left:100px}.security-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.security-principles article{position:relative;min-height:330px;padding:28px;border:1px solid var(--line);border-radius:19px;background:white}.security-principles article>span{position:absolute;top:26px;right:26px;color:#b3ada5;font-family:Georgia,serif;font-style:italic}.security-principles article>div{display:grid;width:49px;height:49px;margin-bottom:70px;place-items:center;border-radius:13px;color:var(--green);background:#dff3e7}.security-principles h2{font-size:26px}.security-principles p{margin-top:14px;font-size:12px}.data-flow{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:90px}.data-flow>div p{margin-top:25px;color:#bcc4d2}.data-flow ol{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;border:1px solid var(--line-dark);border-radius:18px;overflow:hidden;list-style:none}.data-flow li{min-height:160px;padding:24px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.data-flow li:nth-child(even){border-right:0}.data-flow li:nth-child(n+3){border-bottom:0}.data-flow li>span,.data-flow li strong,.data-flow li small{display:block}.data-flow li>span{margin-bottom:35px;color:#ffaaa0;font-family:Georgia,serif;font-style:italic}.data-flow li strong{font-size:13px}.data-flow li small{margin-top:5px;color:#9fa8b8;font-size:9px}.security-status{display:grid;grid-template-columns:1fr .9fr;gap:100px}.security-status>div:first-child p{margin-top:25px}.status-list{border-block:1px solid var(--line)}.status-list span{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.status-list span:last-child{border:0}.status-list i{width:9px;height:9px;border-radius:50%}.status-list i.done{background:var(--mint)}.status-list i.progress{background:var(--yellow)}.status-list strong{font-size:12px}.status-list small{color:var(--muted);font-size:9px}
.help-hero{padding-bottom:65px}.help-search{display:flex;max-width:650px;height:62px;align-items:center;gap:12px;margin:35px auto 0;padding:0 19px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--shadow-soft)}.help-search input{flex:1;border:0;outline:0;font-size:15px}.help-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.help-categories a{min-height:180px;padding:25px;border:1px solid var(--line);border-radius:18px;background:white;transition:transform .2s ease,box-shadow .2s ease}.help-categories a:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.help-categories a>span{display:grid;width:45px;height:45px;margin-bottom:35px;place-items:center;border-radius:12px;color:var(--coral);background:#ffe2dd}.help-categories strong,.help-categories small{display:block}.help-categories strong{font-size:14px}.help-categories small{margin-top:6px;color:var(--muted);font-size:10px}.faq-wide{max-width:920px}.faq-wide .section-heading h2{font-size:50px}
.about-hero{padding:110px 0 60px;overflow:hidden}.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.about-lead{margin-bottom:22px;color:var(--ink);font-family:Georgia,serif;font-size:23px;line-height:1.55}.about-wordmark{display:flex;align-items:center;justify-content:center;margin-top:100px;font-size:clamp(100px,20vw,245px);font-weight:900;letter-spacing:-.09em;line-height:.7}.about-wordmark i{color:var(--coral);font-family:Georgia,serif;font-style:normal;font-weight:400;animation:blink 1s steps(1) infinite}.about-wordmark small{position:absolute;margin-top:190px;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.manifesto{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}.manifesto-title{position:sticky;top:130px;align-self:start}.manifesto ol{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.manifesto li{display:grid;grid-template-columns:55px 1fr 1fr;gap:15px;padding:30px 0;border-bottom:1px solid var(--line)}.manifesto li>span{color:var(--coral);font-family:Georgia,serif;font-style:italic}.manifesto li h3{font-size:20px}.manifesto li p{font-size:12px}.about-roadmap{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-roadmap>div:first-child p{margin-top:25px;color:#bcc4d2}.roadmap-list{border-block:1px solid var(--line-dark)}.roadmap-list>span{display:grid;grid-template-columns:38px 1fr auto;align-items:center;padding:19px 0;border-bottom:1px solid var(--line-dark)}.roadmap-list>span:last-child{border:0}.roadmap-list i{display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line-dark);border-radius:50%;font-size:9px;font-style:normal}.roadmap-list .done i{color:var(--ink);background:var(--mint)}.roadmap-list .active i{color:white;background:var(--coral)}.roadmap-list strong{font-size:12px}.roadmap-list small{color:#99a3b3;font-size:9px}
.contact-page{padding:100px 0 130px;background:radial-gradient(circle at 0 0,rgba(238,95,95,.1),transparent 35%)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-copy,.contact-form{min-width:0}.contact-copy>p{max-width:520px;margin:27px 0 40px}.contact-options{border-block:1px solid var(--line)}.contact-options>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-options>div:last-child{border:0}.contact-options>div>span{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--coral);background:#ffe2dd}.contact-options strong,.contact-options small{display:block}.contact-options strong{font-size:12px}.contact-options small{margin-top:4px;color:var(--muted);font-size:9px}.contact-form{padding:36px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:var(--shadow-soft)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:block;margin-bottom:17px;color:#535b6b;font-size:10px;font-weight:800}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:0 13px;border:1px solid var(--line);border-radius:9px;outline:0;background:#fdfbf8;font-size:12px}.contact-form input:not([type=checkbox]),.contact-form select{height:47px}.contact-form textarea{padding-block:13px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(83,104,242,.08)}.contact-form .form-check{display:flex;align-items:flex-start;gap:9px;font-weight:600;line-height:1.5}.form-check input{margin-top:2px}.form-message{margin-top:12px;font-size:9px;text-align:center}.form-message.is-success{padding:10px;border-radius:8px;color:var(--green);background:#e1f4e8}
.legal-hero{padding:100px 0 65px;border-bottom:1px solid var(--line)}.legal-hero p{margin-top:18px}.legal-layout{display:grid;grid-template-columns:280px minmax(0,720px);justify-content:center;gap:90px}.legal-layout aside{position:sticky;top:130px;align-self:start;padding:20px;border-radius:13px;color:#654b20;background:#fff0c2}.legal-layout aside strong{font-size:12px}.legal-layout aside p{margin-top:9px;color:#705931;font-size:10px}.legal-content h2{margin:35px 0 13px;font-size:27px}.legal-content h2:first-child{margin-top:0}.legal-content p{font-size:14px}.legal-content a{color:var(--coral-dark);text-decoration:underline}

/* Legal documents */
.legal-hero{background:radial-gradient(circle at 12% 0,rgba(238,95,95,.1),transparent 35%),#fbfaf7}
.legal-hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.legal-hero h1{max-width:850px;font-size:clamp(46px,6vw,76px)}
.legal-hero p{color:var(--muted);font-size:11px;font-weight:700}
.legal-print{flex:none;padding:11px 15px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:white;font-size:10px;font-weight:850;cursor:pointer}
.legal-print:hover{border-color:var(--ink)}
.legal-section{padding-top:75px}
.legal-layout{grid-template-columns:270px minmax(0,780px);align-items:start;gap:70px}
.legal-layout aside{padding:0;color:var(--ink);background:transparent}
.legal-summary,.legal-contact-card{padding:20px;border:1px solid #e7cf8b;border-radius:14px;background:#fff3cd}
.legal-summary strong,.legal-contact-card strong,.legal-nav>strong{display:block;color:#624b1d;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.legal-summary p,.legal-contact-card p{margin-top:9px;color:#685938;font-size:11px;line-height:1.55}
.legal-nav{margin:14px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:white}
.legal-nav a{display:block;margin-top:3px;padding:9px 10px;border-radius:8px;color:var(--muted);font-size:10px;font-weight:750;line-height:1.35}
.legal-nav a:hover,.legal-nav a.is-active{color:var(--ink);background:var(--paper-2)}
.legal-contact-card{border-color:var(--line);background:white}
.protected-email-control{display:inline}
.protected-email{display:inline;margin:0;padding:0;border:0;color:var(--coral-dark);background:transparent;cursor:pointer;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.protected-email:hover{color:var(--coral)}
.protected-email:focus-visible{border-radius:2px;outline:3px solid rgba(83,104,242,.2);outline-offset:3px}
.protected-email-status{margin-left:5px;color:var(--muted);font-size:.85em;font-weight:700}
.protected-email-fallback{font-weight:750}
.legal-content{min-width:0}
.legal-content>.legal-lead{margin:0 0 35px;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.55}
.legal-content section{padding:36px 0 9px;border-top:1px solid var(--line)}
.legal-content h2{margin:0 0 18px;font-size:29px;line-height:1.2}
.legal-content h3{margin:25px 0 10px;font-size:18px}
.legal-content p,.legal-content li,.legal-content dd,.legal-content td,.legal-content th{font-size:13px;line-height:1.72}
.legal-content p{margin:0 0 16px}
.legal-content ol,.legal-content ul{margin:10px 0 18px;padding-left:22px;color:var(--muted)}
.legal-content li{margin:0 0 9px;padding-left:4px}
.legal-content li::marker{color:var(--coral-dark);font-weight:850}
.legal-content strong{color:var(--ink)}
.legal-content a{text-decoration-thickness:1px;text-underline-offset:3px}
.legal-definitions{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(0,1fr);margin:0}
.legal-definitions dt,.legal-definitions dd{padding:13px 0;border-top:1px solid var(--line)}
.legal-definitions dt{padding-right:20px;color:var(--ink);font-size:11px;font-weight:900}
.legal-definitions dd{margin:0;color:var(--muted)}
.legal-notice{margin:25px 0;padding:20px 22px;border:1px solid #dcc36f;border-radius:14px;background:#fff7da}
.legal-notice>strong{display:block;margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.legal-notice p:last-child,.legal-notice ul:last-child{margin-bottom:0}
.legal-notice ul{color:#66552e}
.legal-table-wrap{max-width:100%;margin:20px 0 25px;overflow-x:auto;border:1px solid var(--line);border-radius:13px;background:white}
.legal-table{width:100%;min-width:640px;border-collapse:collapse}
.legal-table th,.legal-table td{padding:15px;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}
.legal-table th:last-child,.legal-table td:last-child{border-right:0}
.legal-table tr:last-child>th,.legal-table tr:last-child>td{border-bottom:0}
.legal-table thead th{color:var(--ink);background:var(--paper-2);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.legal-table tbody th{width:190px;color:var(--ink);background:#fdfbf8}
.legal-table td{color:var(--muted)}
.legal-content code{padding:2px 5px;border-radius:4px;color:#303d5a;background:#eceff7;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}

/* Security details */
.security-hero-links{display:flex;gap:18px;margin-top:28px}
.security-hero-links a{padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.45);color:#e5eaf1;font-size:10px;font-weight:850}
.security-details-grid,.security-local-grid,.security-boundaries,.security-payment-grid,.security-report{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:90px;align-items:start}
.security-details-grid>div:first-child{position:sticky;top:130px}
.security-details-grid>div:first-child p,.security-boundaries>div:first-child+div p{margin-top:22px}
.security-control-list{border-top:1px solid var(--line)}
.security-control-list article{padding:23px 0;border-bottom:1px solid var(--line)}
.security-control-list strong{display:block;margin-bottom:7px;font-size:13px}
.security-control-list p{font-size:12px}
.security-local-section{color:white;background:#253049}
.security-local-section h2{margin:13px 0 22px}
.security-local-section p{color:#bec7d7}
.security-external-card{padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.06)}
.security-external-card>strong{font-size:14px}
.security-external-card ul{margin:18px 0;padding-left:20px;color:#cbd3df;font-size:12px;line-height:1.7}
.security-external-card li{margin-bottom:9px}
.security-external-card a{color:#ffd0c9;font-size:11px;font-weight:850;text-decoration:underline;text-underline-offset:3px}
.security-boundary-copy{padding-left:28px;border-left:4px solid var(--coral)}
.security-boundary-copy p{font-size:13px}
.security-payment-grid{align-items:center}
.security-payment-grid>div:first-child p{margin-top:22px;color:#bcc4d2}
.security-payment-points{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-dark);border-radius:16px;overflow:hidden}
.security-payment-points span{display:flex;min-height:100px;align-items:center;gap:10px;padding:22px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);font-size:11px;font-weight:800}
.security-payment-points span:nth-child(even){border-right:0}
.security-payment-points span:nth-last-child(-n+2){border-bottom:0}
.security-payment-points svg{flex:none;color:var(--mint)}
.security-report{align-items:center}
.security-report>div:first-child p{margin-top:22px}
.security-report-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:var(--shadow-soft)}
.security-report-card>strong{display:block;margin-bottom:16px;font-size:13px}
.security-report-card p{margin-top:10px;font-size:12px}
.security-report-card a{color:var(--coral-dark);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.security-status-section{border-top:1px solid var(--line);background:#fbfaf7}

.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}

/* Recovery and error pages */
.document-recovery-page main,.site-error-page main{min-height:70vh}
.document-recovery{position:relative;overflow:hidden;padding:clamp(72px,8vw,118px) 0 clamp(88px,10vw,145px);background:radial-gradient(circle at 12% 8%,rgba(238,95,95,.13),transparent 32%),radial-gradient(circle at 86% 0,rgba(83,104,242,.12),transparent 30%)}
.document-recovery::after{position:absolute;z-index:0;right:-40px;bottom:-90px;width:390px;height:390px;opacity:.38;background-image:radial-gradient(#bcb6ad 1px,transparent 1px);background-size:15px 15px;content:"";mask-image:linear-gradient(135deg,transparent,#000)}
.document-recovery-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);align-items:center;gap:clamp(55px,7vw,105px)}
.document-recovery-copy{min-width:0}
.recovery-status{display:inline-flex;align-items:center;gap:9px;margin-bottom:25px;padding:7px 11px 7px 8px;border:1px solid #ecd19d;border-radius:999px;color:#72520e;background:#fff2c8;font-size:11px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.recovery-status>span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#684c0d;background:#f5cc5b}
.document-recovery-copy h1{max-width:680px;font-size:clamp(51px,6.4vw,82px);line-height:.94}
.document-recovery-copy>p{max-width:620px;margin:25px 0 27px;font-size:17px}
.document-recovery-actions{display:flex;flex-wrap:wrap;gap:10px}
.recovery-account-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding-bottom:4px;border-bottom:1px solid #a8a197;color:#545d6d;font-size:12px;font-weight:850}
.recovery-account-link:hover{color:#4053cf;border-color:#4053cf}
.document-recovery-card{position:relative;min-width:0;padding:clamp(25px,3.5vw,42px);border:1px solid #ddd8cf;border-radius:28px;background:rgba(255,254,253,.94);box-shadow:0 28px 80px rgba(28,34,48,.14);backdrop-filter:blur(16px)}
.document-recovery-card::before{position:absolute;top:19px;right:22px;width:52px;height:8px;border-radius:99px;background:linear-gradient(90deg,#ee5f5f 0 25%,transparent 25% 34%,#f5cc5b 34% 59%,transparent 59% 68%,#78cda3 68%);content:""}
.recovery-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:25px}
.recovery-card-heading>span:last-child{min-width:0}
.recovery-card-heading small,.recovery-card-heading h2{display:block}
.recovery-card-heading small{margin-bottom:5px;color:#737a87;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.recovery-card-heading h2{font-size:clamp(25px,3vw,36px)}
.recovery-document-mark{position:relative;display:grid;width:62px;height:76px;flex:0 0 auto;place-items:center;border-radius:7px 19px 7px 7px;color:white;background:#ee5f5f;box-shadow:0 10px 22px rgba(199,67,72,.2);font-size:11px;font-weight:950;transform:rotate(-2deg)}
.recovery-document-mark i{position:absolute;right:0;top:0;width:18px;height:18px;border-radius:0 17px 0 5px;background:#ffaaa0}
.document-recovery-card .upload-panel{border-color:#ded9d1;background:#fff;box-shadow:none}
.document-recovery-card .upload-drop{background:#fbfaf7}
.site-error{position:relative;display:grid;min-height:72vh;place-items:center;overflow:hidden;padding:80px 0 115px;background:radial-gradient(circle at 50% 15%,rgba(238,95,95,.11),transparent 38%)}
.site-error::before,.site-error::after{position:absolute;width:260px;height:260px;border:1px solid rgba(83,104,242,.1);border-radius:50%;content:""}
.site-error::before{top:12%;left:-130px}
.site-error::after{right:-150px;bottom:5%;width:340px;height:340px}
.site-error-inner{position:relative;z-index:1;display:grid;justify-items:center;text-align:center}
.site-error-code{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:27px;color:#253049;font-family:Georgia,"Times New Roman",serif;font-size:86px;font-weight:700;letter-spacing:-.08em;line-height:1}
.site-error-code>i{position:relative;display:grid;width:72px;height:91px;place-items:center;border-radius:8px 22px 8px 8px;color:white;background:#ee5f5f;box-shadow:0 15px 34px rgba(199,67,72,.23);font-family:Inter,Arial,sans-serif;font-size:11px;font-style:normal;letter-spacing:.05em;transform:rotate(5deg)}
.site-error-code>i::after{position:absolute;top:0;right:0;width:21px;height:21px;border-radius:0 21px 0 6px;background:#ffaaa0;content:""}
.site-error-code--interrupted>i{transform:rotate(-6deg)}
.site-error .eyebrow{margin-bottom:15px}
.site-error h1{max-width:850px;font-size:clamp(50px,7vw,82px)}
.site-error p{max-width:610px;margin:22px auto 27px}
.site-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

/* Footer */
.site-footer { padding: 80px 0 25px; color: #dfe3ea; background: #111928; }
.footer-top { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 60px; padding-bottom: 70px; }
.brand--footer { color: white; }
.footer-brand > p { margin: 25px 0; color: #9ca5b4; font-family: Georgia,serif; font-size: 21px; line-height: 1.35; }
.footer-badge { display: inline-flex; padding: 10px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #d6dbe3; font-size: 13px; font-weight: 750; line-height: 1.35; }
.footer-column h2 { margin-bottom: 23px; color: white; font-size: 15px; letter-spacing: .02em; }
.footer-column a { display: block; margin: 14px 0; color: #b4bcc8; font-size: 14px; line-height: 1.4; }
.footer-column a:hover { color: white; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.1); color: #aeb6c3; font-size: 13px; line-height: 1.45; }
.footer-bottom nav { display: flex; flex-wrap:wrap; gap: 22px; }
.footer-bottom a:hover { color: white; }
.flash { position: fixed; z-index: 300; top: 120px; right: 24px; display: flex; max-width: 380px; align-items: center; gap: 8px; padding: 14px 17px; border-radius: 12px; box-shadow: var(--shadow); font-size: 12px; font-weight: 750; }
.flash--success { color: var(--green); background: #e1f4e8; }
.flash--error { color: #9e343b; background: #ffe1df; }

/* Motion */
.reveal { opacity: 1; transform: none; transition: opacity .65s ease, transform .65s ease; }
.reveal-enabled .reveal:not(.is-visible) { opacity: 0; transform: translateY(20px); }
.reveal--delay { transition-delay: .12s; }
.reveal--delay-2 { transition-delay: .23s; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1080px) {
    .desktop-nav { display: none; }
    .menu-toggle { display: block; }
    .mobile-nav { position: fixed; z-index: 90; top: 108px; right: 0; left: 0; display: grid; padding: 18px 24px 30px; border-bottom: 1px solid var(--line); opacity: 0; background: var(--paper); box-shadow: var(--shadow); transform: translateY(-15px); pointer-events: none; transition: .2s ease; }
    .mobile-nav.is-open { opacity: 1; transform: none; pointer-events: auto; }
    .mobile-nav a { padding: 14px 5px; border-bottom: 1px solid var(--line); font-size: 15px; font-weight: 800; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { grid-column: 1; grid-row: 1; width: min(760px,100%); margin-inline: auto; text-align: center; }
    .hero-copy .eyebrow, .hero-promises, .hero-actions { justify-content: center; }
    .hero-lead { margin-inline: auto; }
    .hero-visual { grid-column: 1; grid-row: 2; width: min(700px,100%); margin: 15px auto 0; }
    .hero-conversion { grid-column: 1; grid-row: 3; width: min(700px,100%); margin-inline: auto; }
    .hero-tool-dock { grid-column: 1; grid-row: 4; width: 100%; margin-top: 0; }
    .hero-quick-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .tools-grid { grid-template-columns: repeat(2,1fr); }
    .home-tool-library-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .recognition-grid, .comparison-card, .security-home-grid, .tool-preview-grid, .editor-landing-grid, .template-hero-grid, .template-category-grid, .guides-hero-grid, .security-hero-grid, .ai-home-grid { gap: 55px; }
    .recognition-art { transform: scale(.88); transform-origin: center; }
    .template-showcase { grid-template-columns: repeat(2,1fr); }
    .template-card:nth-child(even) { transform: none; }
    .anatomy-body { grid-template-columns: 100px 1fr 190px; }
    .anatomy-canvas article { width: 360px; }
    .catalog-grid { grid-template-columns: repeat(2,1fr); }
    .template-library-grid { grid-template-columns: 1fr; }
    .public-template-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .security-principles { grid-template-columns: 1fr 1fr; }
    .contact-grid { gap: 50px; }
    .header-account-link { font-size: 0; }
    .header-logout { display: none; }
}

@media (max-width: 780px) {
    .container { width: min(100% - 30px,var(--container)); }
    .section { padding: 80px 0; }
    h1 { font-size: clamp(48px,15vw,70px); }
    h2 { font-size: clamp(36px,10vw,50px); }
    p { font-size: 15px; }
    .header-inner { height: 68px; }
    .brand-name { font-size: 21px; }
    .header-actions > .button { display: none; }
    .header-login-link { display: none; }
    .mobile-nav { top: 98px; }
    .home-page .hero { padding: 64px 0 72px; }
    .home-page .hero::before { top: -150px; left: -260px; width: 520px; height: 520px; opacity: .9; }
    .home-page .hero::after { right: -130px; bottom: 19%; width: 260px; height: 260px; opacity: .24; }
    .home-page .hero-grid { row-gap: 38px; }
    .home-page .hero-copy { position: relative; }
    .home-page .hero-copy .eyebrow { justify-content: center; margin-bottom: 22px; }
    .home-page .hero-copy h1 { max-width: 660px; margin-inline: auto; font-size: clamp(50px, 15vw, 64px); line-height: .96; letter-spacing: -.055em; }
    .home-page .hero-copy h1 em { display: inline; font-size: .91em; line-height: .98; }
    .home-page .hero-copy h1 em::after { width: 3px; height: .82em; margin-left: 7px; }
    .home-page .hero-lead { max-width: 590px; margin: 27px auto 0; color: #505a6d; font-size: 16px; line-height: 1.62; }
    .home-page .hero-conversion { display: grid; gap: 20px; }
    .home-page .hero-actions { align-items: stretch; flex-direction: column; }
    .home-page .hero-actions .button { width: 100%; }
    .home-page .hero-promises { justify-content: center; gap: 8px; margin-bottom: 0; }
    .home-page .hero-promises span { min-height: 34px; padding: 7px 10px; border: 1px solid #ded7cc; border-radius: 999px; background: rgba(255,254,253,.78); font-size: 11px; }
    .home-page .hero-actions .button { min-height: 48px; }
    .home-page .hero-visual { width: min(700px,calc(100% - 6px)); margin-top: 0; }
    .home-page .hero-demo { margin-inline: 3px; }
    .home-page .editor-window { transform: rotate(.7deg); }
    .home-page .editor-stage { height: 430px; grid-template-columns: 44px 1fr; }
    .home-page .paper-wrap { padding: 12px; }
    .home-page .pdf-paper { width: min(320px,calc(100% - 16px)); height: auto; aspect-ratio: 29 / 39; padding: 28px; }
    .home-page .hero-visual-upload { margin-top: 17px; }
    .home-page .hero-visual-upload .upload-drop { min-height: 84px; flex-wrap: nowrap; padding: 12px; }
    .home-page .hero-visual-upload .upload-main { width: auto; gap: 11px; }
    .home-page .hero-visual-upload .upload-icon { width: 46px; height: 46px; }
    .home-page .hero-visual-upload .upload-button { width: auto; flex: 0 0 auto; }
    .hero-tool-dock { padding: 12px; scroll-margin-top: 82px; }
    .hero-tool-dock-head { padding-bottom: 10px; }
    .hero-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hero-quick-tool { min-height: 66px; }
    .format-strip .container { min-height: 62px; justify-content: space-between; gap: 10px; font-size: 10.5px; letter-spacing: .1em; }
    .format-strip i { display: none; }
    .upload-drop { flex-wrap: wrap; }
    .upload-main { width: 100%; }
    .upload-button { width: 100%; }
    .upload-meta { flex-wrap: wrap; gap: 6px 13px; }
    .editor-window { transform: none; }
    .account-auth-shell { width: min(100% - 28px,620px); grid-template-columns: 1fr; }
    .account-auth-benefits { display: none; }
    .account-dashboard { width: min(100% - 30px,620px); margin-top: 55px; }
    .account-dashboard-head { align-items: flex-start; flex-direction: column; }
    .account-document-grid { grid-template-columns: 1fr; }
    .account-danger-zone { align-items:flex-start;flex-direction:column; }
    .editor-stage { height: 370px; grid-template-columns: 48px 1fr; }
    .properties-panel { display: none; }
    .pdf-paper { width: 250px; height: 340px; padding: 25px; }
    .match-tooltip { top: 180px; }
    .floating-note--font { left: -5px; }
    .floating-note--price { right: -5px; }
    .trust-grid, .steps-grid, .guide-grid, .feature-grid, .free-grid, .help-categories, .security-principles, .three-benefits { grid-template-columns: 1fr; }
    .trust-grid > div, .trust-grid > div:first-child { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .trust-grid > div:last-child { border-bottom: 0; }
    .split-heading, .recognition-grid, .comparison-card, .security-home-grid, .faq-grid, .final-cta-inner, .catalog-promise-grid, .tool-hero-grid, .how-tool-grid, .tool-preview-grid, .editor-landing-grid, .editor-limits-grid, .template-hero-grid, .template-category-grid, .guides-hero-grid, .newsletter-band>.container, .pricing-grid, .security-hero-grid, .data-flow, .security-status, .about-hero-grid, .manifesto, .about-roadmap, .contact-grid, .legal-layout, .ai-home-grid { grid-template-columns: 1fr; gap: 45px; }
    .ai-home-copy { text-align: center; }.ai-home-copy h2,.ai-home-copy > p { margin-inline: auto; }.ai-home-copy .eyebrow,.ai-home-actions { justify-content: center; }.ai-home-ui { width: min(700px,100%); margin-inline: auto; transform: none; }
    .section-heading { margin-bottom: 38px; }
    .recognition-art { min-height: 510px; transform: scale(.78); }
    .recognition-copy { padding-bottom: 20px; }
    .step-card:nth-child(2) { transform: none; }
    .comparison-card { padding: 34px 23px; }
    .comparison-table > div { grid-template-columns: 1fr .65fr .8fr; padding-inline: 12px; }
    .comparison-table span,.comparison-table b,.comparison-table i { font-size: 8px; }
    .security-facts { grid-template-columns: 1fr; }
    .security-facts > div { border-right: 0; border-bottom: 1px solid var(--line) !important; }
    .security-facts > div:last-child { border-bottom: 0 !important; }
    .faq-heading, .how-tool-copy, .manifesto-title, .article-toc, .legal-layout aside { position: static; }
    .final-cta--small .final-cta-inner { grid-template-columns: 1fr; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 15px; }
    .legal-hero-inner{align-items:flex-start;flex-direction:column}
    .legal-nav{display:grid;grid-template-columns:1fr 1fr}
    .legal-nav>strong{grid-column:1/-1;padding:5px 10px}
    .security-details-grid,.security-local-grid,.security-boundaries,.security-payment-grid,.security-report{grid-template-columns:1fr;gap:42px}
    .security-details-grid>div:first-child{position:static}
    .catalog-toolbar { align-items: stretch; flex-direction: column; }
    .search-field { width: 100%; }
    .catalog-grid, .related-grid, .tools-grid, .tools-grid--six { grid-template-columns: 1fr; }
    .home-tool-library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-tool-library-grid .tool-card { min-height: 158px; }
    .tool-card { min-height: 150px; }
    .tool-hero { padding-bottom: 70px; }
    .tool-hero .breadcrumbs { margin-bottom: 35px; }
    .tool-hero-copy h1 { font-size: 54px; }
    .tool-preview-section { padding-top: 48px; }
    .preview-workspace { grid-template-columns: 50px 1fr; }
    .preview-side { display: none; }
    .preview-document { width: 230px; }
    .editor-anatomy { overflow: hidden; }
    .anatomy-window { min-width: 760px; transform: scale(.7); transform-origin: top left; }
    .anatomy-window::after { content:"Przesuń widok, aby zobaczyć cały interfejs"; }
    .editor-anatomy .container { overflow: hidden; }
    .anatomy-window { margin-bottom: -175px; }
    .limit-types { grid-template-columns: 1fr; }
    .limit-types span { border-right: 0; border-bottom: 1px solid var(--line); }
    .limit-types span:last-child { border-bottom: 0; }
    .template-showcase { grid-template-columns: 1fr; }
    .template-preview { height: 370px; }
    .template-hero-stack { width: 100%; max-width: 420px; height: 450px; justify-self: center; margin-inline: auto; }
    .template-hero-stack .stack-sheet { width: 270px; height: 370px; padding: 32px; }
    .template-hero-stack .stack-sheet--1 > strong { margin: 52px 0 30px; font-size: 25px; }
    .template-hero-stack .stack-sticker { right: 0; bottom: 18px; }
    .library-card { grid-template-columns: 1fr; }
    .library-preview { min-height: 280px; }
    .library-card-copy { padding: 22px 5px 8px; }
    .builder-field.two { grid-template-columns: 1fr; }
    .builder-field.two span+span { padding: 12px 0 0; border-top: 1px solid var(--line-dark); border-left: 0; }
    .category-paper { width: 300px; height: 410px; }
    .template-variants { grid-template-columns: 1fr; }
    .public-template-grid { grid-template-columns: 1fr; }
    .public-template-modal { padding: 0; }
    .public-template-dialog { width: 100%; height: 100%; max-height: none; overflow: auto; border: 0; border-radius: 0; }
    .public-template-dialog-body { grid-template-columns: 1fr; }
    .public-template-dialog-canvas { min-height: 430px; max-height: none; padding: 22px; }
    .public-template-dialog-canvas canvas { max-height: 390px; }
    .public-template-dialog-body > aside { padding: 26px 22px 34px; border-top: 1px solid #dedbd5; border-left: 0; }
    .guides-hero { padding-top: 80px; }
    .guide-list-card { grid-template-columns: 45px 1fr; }
    .guide-list-card .circle-arrow { display: none; }
    .guide-list-card h2 { font-size: 24px; }
    .newsletter-form { grid-template-columns: 1fr; }
    .newsletter-form small { grid-column: 1; }
    .article-layout { display: block; padding-block: 60px; }
    .article-toc { margin-bottom: 50px; }
    .article-section-number { position: static; display: block; margin-bottom: 8px; }
    .article-cta { align-items: flex-start; flex-direction: column; }
    .guides-action-buttons { justify-content:stretch;flex-direction:column; }
    .guides-action-buttons .button { width:100%; }
    .free-grid article, .help-categories a { min-height: auto; }
    .security-orbit { height: 400px; transform: scale(.8); }
    .data-flow ol { grid-template-columns: 1fr; }
    .data-flow li { border-right: 0; border-bottom: 1px solid var(--line-dark) !important; }
    .data-flow li:last-child { border: 0 !important; }
    .about-wordmark { margin-top: 70px; font-size: 26vw; }
    .about-wordmark small { margin-top: 110px; }
    .manifesto li { grid-template-columns: 40px 1fr; }
    .manifesto li p { grid-column: 2; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .document-recovery{padding:60px 0 88px}
    .document-recovery-grid{grid-template-columns:1fr;gap:42px}
    .document-recovery-copy h1{font-size:clamp(47px,13vw,66px)}
    .document-recovery-copy>p{font-size:15px}
    .document-recovery-card{padding:24px;border-radius:23px}
    .site-error{min-height:68vh;padding:65px 0 90px}
    .site-error-code{font-size:72px}
    .site-error h1{font-size:clamp(46px,13vw,64px)}
}

@media (max-width: 480px) {
    .home-page .hero { padding-top: 56px; }
    .home-page .hero-grid { row-gap: 32px; }
    .home-page .hero-copy h1 { font-size: clamp(48px, 15vw, 58px); }
    .home-page .hero-lead { margin-top: 24px; font-size: 15px; line-height: 1.65; }
    .home-page .hero-promises { display: flex; }
    .home-page .hero-promises span { font-size: 10.5px; }
    .home-page .hero-actions, .home-page .hero-actions .button { width: 100%; }
    .home-page .editor-stage { height: 390px; grid-template-columns: 40px 1fr; }
    .home-page .paper-wrap { padding: 10px; }
    .home-page .pdf-paper { width: min(285px,calc(100% - 8px)); height: auto; aspect-ratio: 29 / 39; padding: 25px; }
    .home-page .hero-visual-upload .upload-panel { padding: 7px; border-radius: 17px; }
    .home-page .hero-visual-upload .upload-drop { min-height: 78px; gap: 9px; padding: 10px; text-align: left; }
    .home-page .hero-visual-upload .upload-icon { width: 40px; height: 40px; border-radius: 12px; }
    .home-page .hero-visual-upload .upload-main { min-width: 0; gap: 8px; }
    .home-page .hero-visual-upload .upload-copy { width: 0; min-width: 0; flex: 1 1 0; text-align: left; }
    .home-page .hero-visual-upload .upload-empty > span { display: none; }
    .home-page .hero-visual-upload .upload-copy strong { font-size: 11px; }
    .home-page .hero-visual-upload .upload-button { min-height: 40px; padding-inline: 12px; font-size: 11px; }
    .hero-tool-dock-head strong { font-size: 10px; }
    .hero-tool-dock-head a { font-size: 10px; }
    .hero-quick-tool { grid-template-columns: auto minmax(0,1fr); gap: 8px; }
    .hero-quick-tool > svg { display: none; }
    .hero-quick-tool .tool-card-icon { width: 36px; height: 36px; }
    .hero-quick-tool b { font-size: 10.5px; }
    .upload-drop { justify-content: center; text-align: center; }
    .upload-copy { width: 0; min-width: 0; flex: 1 1 0; text-align: left; }
    .tool-task-option-grid { grid-template-columns: 1fr; }
    .tool-task-option-grid label > span { min-height: 58px; }
    .tool-task-field > input, .tool-task-password input { font-size: 16px; }
    .tool-task-result { grid-template-columns: 40px minmax(0,1fr); }
    .tool-task-result-actions { grid-column: 1 / -1; width: 100%; }
    .editor-stage { height: 330px; grid-template-columns: 40px 1fr; }
    .paper-wrap { padding: 12px; }
    .pdf-paper { width: 225px; height: 310px; padding: 22px; }
    .paper-lines, .match-tooltip { display: none; }
    .floating-note { display: none; }
    .trust-grid > div { padding-inline: 20px; }
    .tools-grid { gap: 10px; }
    .home-tool-library { margin-inline: -2px; border-radius: 19px 19px 19px 7px; }
    .home-tool-library--flat { padding: 14px; }
    .home-tool-library-grid { grid-template-columns: 1fr; gap: 9px; }
    .home-tool-library-grid .tool-card { min-height: 132px; }
    .ai-ui-body { grid-template-columns: 1fr; }.ai-ui-document { min-height: 205px; }.ai-ui-assistant { margin-top: -52px; margin-left: 12%; }.ai-ui-top { grid-template-columns: 1fr auto; }.ai-ui-top b { display: none; }.ai-ui-brief { margin: 0 12px 12px; }.ai-home-actions { align-items: stretch; flex-direction: column; }.ai-home-actions .button,.ai-home-actions .text-link { width: 100%; justify-content: center; }
    .recognition-art { margin-inline: -25px; transform: scale(.69); }
    .recognition-art .font-box { right: -45px; }
    .comparison-table > div { min-height: 60px; grid-template-columns: .9fr .55fr .65fr; }
    .comparison-table span { line-height: 1.3; }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .footer-column:last-child { grid-column: 1 / -1; }
    .tool-hero-points { display: grid; }
    .feature-card { min-height: 250px; }
    .preview-document { width: 200px; padding-inline: 22px; }
    .template-hero-stack { max-width: 360px; height: 410px; }
    .template-hero-stack .stack-sheet { width: 250px; height: 345px; padding: 29px; }
    .template-hero-stack .stack-sticker { right: 2px; bottom: 10px; }
    .public-template-card { min-height: 0; grid-template-columns: 142px minmax(0,1fr); gap: 12px; padding: 12px; }
    .public-template-preview { min-height: 245px; }
    .public-template-preview canvas { max-width: 116px; height: 174px; }
    .public-template-preview::before,.public-template-preview::after { width: 108px; height: 161px; }
    .public-template-copy h2 { font-size: 17px; }
    .public-template-copy p { font-size: 12px; }
    .article-meta { align-items: center; flex-direction: column; gap: 8px; }
    .price-card { padding: 28px 22px; }
    .price strong { font-size: 58px; }
    .security-orbit { margin-inline: -45px; transform: scale(.68); }
    .contact-form { padding: 24px 18px; }
    .contact-copy h1 { font-size: 42px; }
    .document-recovery-actions,.site-error-actions{display:grid;width:100%}
    .document-recovery-actions .button,.site-error-actions .button{width:100%}
    .document-recovery-card{padding:19px 14px}
    .recovery-card-heading{align-items:flex-start;margin-bottom:19px}
    .recovery-card-heading h2{font-size:25px}
    .recovery-document-mark{width:52px;height:64px}
    .document-recovery-card::before{display:none}
    .site-error-code{gap:8px;font-size:61px}
    .site-error-code>i{width:58px;height:74px}
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal-enabled .reveal { opacity: 1; transform: none; }
}

@media (max-width: 560px) {
    .legal-nav{grid-template-columns:1fr}
    .legal-nav>strong{grid-column:auto}
    .legal-content>.legal-lead{font-size:18px}
    .legal-content h2{font-size:25px}
    .legal-definitions{grid-template-columns:1fr}
    .legal-definitions dt{padding-bottom:4px;border-top:1px solid var(--line)}
    .legal-definitions dd{padding-top:0;border-top:0}
    .security-payment-points{grid-template-columns:1fr}
    .security-payment-points span,.security-payment-points span:nth-child(even),.security-payment-points span:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line-dark)}
    .security-payment-points span:last-child{border-bottom:0}
}

@media (max-width: 780px) {
    .trust-strip { padding-block: 24px; border: 0; background: var(--paper-2); }
    .trust-grid { gap: 12px; }
    .trust-grid > div,
    .trust-grid > div:first-child,
    .trust-grid > div:last-child {
        min-height: 126px;
        grid-template-columns: 52px minmax(0,1fr);
        padding: 21px 20px;
        border: 1px solid var(--line) !important;
        border-radius: 17px;
        background: var(--white);
        box-shadow: 0 12px 32px rgba(33,37,48,.06);
    }
    .trust-number { width: 39px; height: 39px; font-size: 21px; }
    .trust-grid strong { font-size: 17px; }
    .trust-grid small { margin-top: 7px; font-size: 13.5px; }
    .security-facts {
        gap: 12px;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }
    .security-facts > div,
    .security-facts > div:last-child {
        min-height: 160px;
        border: 1px solid var(--line) !important;
        border-radius: 16px;
        background: var(--white);
    }
}

@media (max-width: 480px) {
    .tools-grid { gap: 14px; }
    .ai-ui-assistant { margin-top: 14px; margin-left: 8%; }
    .ai-ui-brief { margin: 12px; }
}

@media print {
    @page{margin:16mm}
    body{color:#111;background:#fff}
    .site-header,.site-footer,.legal-aside,.legal-print,.skip-link{display:none!important}
    .legal-hero{padding:0 0 20px;background:none}
    .legal-hero h1{font-size:30px}
    .legal-section{padding:20px 0}
    .legal-layout{display:block}
    .legal-content{max-width:none}
    .legal-content>.legal-lead{font-size:15px}
    .legal-content section{padding-top:20px;break-inside:auto}
    .legal-content h2{font-size:19px;break-after:avoid}
    .legal-content p,.legal-content li,.legal-content dd,.legal-content td,.legal-content th{font-size:9.5pt;line-height:1.45}
    .legal-table-wrap{overflow:visible}
    .legal-table{min-width:0}
    .legal-content a{color:inherit;text-decoration:none}
}

/* Async upload state */
.upload-panel.is-uploading .upload-drop { opacity: .58; pointer-events: none; }

/* Editorial template presentation */
.templates-page .template-library-hero {
    padding: 72px 0 66px;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 84% 18%, rgba(157,128,220,.17), transparent 30%),
        radial-gradient(circle at 7% 82%, rgba(238,95,95,.1), transparent 27%),
        linear-gradient(180deg, #fffdf9, var(--paper));
}
.templates-page .template-hero-grid { grid-template-columns: minmax(0,1.08fr) minmax(350px,.62fr); gap: 72px; }
.templates-page .template-hero-grid h1 { max-width: 700px; font-size: clamp(62px,6.4vw,88px); }
.templates-page .template-hero-grid p { margin: 23px 0 25px; }
.templates-page .template-hero-stack { height: 410px; }
.templates-page .stack-sheet { top: 5px; width: 270px; height: 370px; padding: 34px; }
.templates-page .stack-sheet--1 > strong { margin: 54px 0 30px; font-size: 26px; }
.templates-page .stack-sticker { right: 1%; bottom: 9px; }

.public-template-controls {
    position: sticky;
    z-index: 40;
    top: 88px;
    display: grid;
    grid-template-columns: 270px minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
    padding: 12px;
    border: 1px solid rgba(222,216,208,.94);
    border-radius: 19px 19px 19px 7px;
    background: rgba(255,254,253,.91);
    box-shadow: 0 15px 42px rgba(31,34,46,.08);
    backdrop-filter: blur(16px);
}
.public-template-search {
    display: grid;
    height: 46px;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    border: 1px solid #ddd8d0;
    border-radius: 11px;
    color: #7e8490;
    background: #fbfaf8;
    transition: border-color .18s, box-shadow .18s, background .18s;
}
.public-template-search:focus-within { border-color: var(--blue); background: white; box-shadow: 0 0 0 3px rgba(83,104,242,.1); }
.public-template-search input { min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; }
.public-template-search input::placeholder { color: #858b96; }
.public-template-categories { display: flex; min-width: 0; gap: 5px; margin: 0; padding: 2px; overflow-x: auto; scrollbar-width: none; }
.public-template-categories::-webkit-scrollbar { display: none; }
.public-template-categories button {
    display: inline-flex;
    min-height: 40px;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    color: #606879;
    background: transparent;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    transition: color .18s, border-color .18s, background .18s, transform .18s;
}
.public-template-categories button:hover { color: var(--ink); background: #f3efe9; transform: translateY(-1px); }
.public-template-categories button.is-active { border-color: #d7dafa; color: #4053cf; background: #eef0ff; }
.public-template-categories button > span { display: grid; place-items: center; }
.public-template-categories button b { display: grid; min-width: 21px; height: 21px; place-items: center; border-radius: 999px; color: inherit; background: rgba(255,255,255,.72); font-size: 9px; }
.public-template-controls > p { margin: 0 5px 0 0; color: var(--muted); font-size: 11px; white-space: nowrap; }
.public-template-controls > p b { color: var(--ink); font-size: 14px; }

.public-template-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.public-template-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e1ddd7;
    border-radius: 22px 22px 22px 8px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 11px 34px rgba(34,36,49,.055);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.public-template-card:hover { border-color: color-mix(in srgb,var(--accent) 43%,#ddd8d0); box-shadow: 0 24px 60px rgba(33,35,49,.12); transform: translateY(-5px); }
.public-template-preview {
    display: grid;
    min-height: 284px;
    flex: 0 0 auto;
    grid-row: auto;
    place-items: center;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 88% 10%, color-mix(in srgb,var(--accent) 18%,transparent), transparent 30%),
        color-mix(in srgb,var(--accent-soft) 51%,#f0eee9);
    background-image:
        radial-gradient(circle at 88% 10%, color-mix(in srgb,var(--accent) 18%,transparent), transparent 30%);
}
.public-template-preview::before, .public-template-preview::after {
    width: 158px;
    height: 226px;
    border-color: rgba(72,76,89,.1);
    background: rgba(255,255,255,.58);
    box-shadow: 0 10px 24px rgba(31,34,47,.08);
}
.public-template-preview::before { transform: rotate(-5deg) translate(-9px,3px); }
.public-template-preview::after { transform: rotate(4deg) translate(9px,2px); }
.public-template-preview > span {
    top: 14px;
    left: 14px;
    display: grid;
    min-width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px 9px 9px 3px;
    color: var(--accent);
    background: rgba(255,255,255,.78);
    font-family: inherit;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    box-shadow: 0 6px 16px rgba(32,35,48,.06);
}
.public-template-preview canvas {
    width: auto;
    max-width: 178px;
    height: 248px;
    border-color: #d1cdc6;
    box-shadow: 0 15px 34px rgba(29,32,45,.17);
    transform: rotate(-1.1deg);
    transition: transform .2s ease;
}
.public-template-card:nth-child(even) .public-template-preview canvas { transform: rotate(1deg); }
.public-template-card:hover .public-template-preview canvas { transform: rotate(0) scale(1.015); }
.public-template-preview.is-landscape::before, .public-template-preview.is-landscape::after { width: 206px; height: 142px; }
.public-template-preview.is-landscape canvas { width: 232px; max-width: calc(100% - 46px); height: auto; }
.public-template-copy { flex: 1; align-self: stretch; padding: 20px 21px 19px; }
.public-template-copy > small { display: block; font-size: 10px; line-height: 1.35; }
.public-template-copy > small a { color: inherit; }
.public-template-copy > small a:hover { color: var(--ink); }
.public-template-copy h2, .public-template-copy h3 { margin: 12px 0 9px; font-size: 21px; line-height: 1.17; letter-spacing: -.04em; }
.public-template-copy p { font-size: 13px; line-height: 1.58; }
.public-template-card-footer { margin-top: auto; padding: 14px 16px 16px; border-top: 1px solid #ebe7e1; background: rgba(251,250,248,.86); }
.public-template-card-footer .template-start-actions { width: 100%; }
.public-template-card-footer .template-start-message { margin-bottom: 0; }
.public-template-card > .template-start-actions { width: auto; margin-top: auto; padding: 14px 16px 16px; border-top: 1px solid #ebe7e1; background: rgba(251,250,248,.86); }
.public-template-card > .template-start-message { min-height: 0; margin: 0; padding: 0 16px 12px; background: rgba(251,250,248,.86); }

.section--templates {
    background:
        radial-gradient(circle at 93% 8%, rgba(157,128,220,.12), transparent 27%),
        linear-gradient(180deg,#f6f0e7,#efe8dd);
}
.template-showcase { gap: 18px; }
.template-card {
    overflow: hidden;
    border: 1px solid #ded8cf;
    border-radius: 21px 21px 21px 8px;
    background: rgba(255,255,255,.76);
    box-shadow: 0 13px 35px rgba(36,37,49,.07);
    transition: transform .22s, box-shadow .22s, border-color .22s;
}
.template-card:hover { z-index: 2; border-color: color-mix(in srgb,var(--accent) 45%,#ded8cf); box-shadow: 0 24px 60px rgba(32,34,48,.13); }
.template-preview {
    min-height: 330px;
    height: 330px;
    padding: 23px 21px;
    overflow: hidden;
    border-radius: 0;
    background:
        radial-gradient(circle at 88% 12%, color-mix(in srgb,var(--accent) 17%,transparent), transparent 29%),
        color-mix(in srgb,var(--accent-soft) 47%,#efede8);
    box-shadow: none;
}
.template-preview::before { position: absolute; right: -54px; bottom: -66px; width: 160px; height: 160px; border: 1px solid color-mix(in srgb,var(--accent) 26%,transparent); border-radius: 50%; content: ""; }
.template-preview canvas { position: relative; z-index: 1; height: 284px; box-shadow: 0 13px 31px rgba(28,31,44,.15); transform: rotate(-.8deg); transition: transform .22s ease; }
.template-card:nth-child(even) .template-preview canvas { transform: rotate(.8deg); }
.template-card:hover .template-preview canvas { transform: rotate(0) scale(1.012); }
.template-card-meta { grid-template-columns: 40px minmax(0,1fr); padding: 17px 17px 14px; }
.template-card-number { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 11px 11px 11px 4px; color: var(--accent); background: var(--accent-soft); font-size: 12px; font-weight: 900; }
.template-card-meta small { margin: 0 0 4px; font-size: 11px; font-weight: 750; }
.template-card-meta strong { overflow: hidden; font-size: 14px; line-height: 1.25; text-overflow: ellipsis; }
.template-card-meta strong a:hover { color: var(--accent); }
.template-card > .template-start-actions { width: auto; margin: auto 0 0; padding: 12px 16px 16px; border-top: 1px solid #e9e4dd; background: rgba(255,255,255,.56); }
.template-card > .template-start-message { min-height: 0; margin: 0; padding: 0 16px 12px; background: rgba(255,255,255,.56); }

.variant-card { display: flex; min-width: 0; flex-direction: column; gap: 0; overflow: hidden; padding: 0; border-radius: 20px 20px 20px 7px; box-shadow: 0 10px 30px rgba(32,35,48,.055); }
.variant-card .variant-preview { height: 300px; border-radius: 0; background: color-mix(in srgb,var(--accent-soft) 48%,#f0eee9); }
.variant-card > div:nth-child(2) { flex: 1; padding: 17px 18px 16px; }
.variant-card > div:nth-child(2) strong { font-size: 16px; line-height: 1.3; }
.variant-card > div:nth-child(2) span { margin-top: 5px; font-size: 11px; }
.variant-card > .template-start-actions { width: auto; min-width: 0; margin-top: auto; padding: 13px 16px 16px; border-top: 1px solid #ebe7e1; }
.variant-card > .template-start-message { margin: 0; padding: 0 16px 12px; }

@media (max-width: 1080px) {
    .templates-page .template-hero-grid { grid-template-columns: 1fr .72fr; gap: 48px; }
    .public-template-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-template-controls { grid-template-columns: 245px minmax(0,1fr); }
    .public-template-controls > p { display: none; }
    .template-showcase { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .template-card:nth-child(even), .template-card:nth-child(even):hover { transform: none; }
}

@media (max-width: 780px) {
    .templates-page .template-library-hero { padding: 46px 0 52px; }
    .templates-page .template-hero-grid { grid-template-columns: 1fr; gap: 33px; }
    .templates-page .template-hero-grid h1 { font-size: clamp(48px,13vw,68px); }
    .templates-page .template-hero-stack { height: 365px; }
    .templates-page .stack-sheet { width: 245px; height: 335px; padding: 30px; }
    .templates-page .stack-sticker { right: max(1%,calc(50% - 185px)); bottom: 3px; }
    .public-template-controls { position: static; grid-template-columns: 1fr; gap: 9px; padding: 10px; }
    .public-template-categories { margin-inline: -2px; }
    .public-template-controls > p { display: block; padding: 2px 4px; }
    .public-template-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .public-template-preview { min-height: 268px; }
    .public-template-preview canvas { max-width: 164px; height: 232px; }
    .public-template-preview.is-landscape canvas { width: 205px; height: auto; }
    .public-template-copy { padding: 18px; }
    .public-template-copy h2, .public-template-copy h3 { font-size: 19px; }
    .template-showcase { grid-template-columns: 1fr; gap: 16px; }
    .template-card, .template-card:nth-child(even) { width: min(430px,100%); margin-inline: auto; transform: none; }
    .template-card:hover, .template-card:nth-child(even):hover { transform: translateY(-5px); }
}

@media (max-width: 640px) {
    .public-template-grid { grid-template-columns: 1fr; }
    .public-template-card { width: min(460px,100%); margin-inline: auto; }
    .public-template-preview { min-height: 286px; }
    .public-template-preview canvas { max-width: 178px; height: 248px; }
    .public-template-preview.is-landscape canvas { width: 232px; height: auto; }
}

@media (max-width: 480px) {
    .templates-page .template-hero-grid h1 { font-size: clamp(46px,13.5vw,58px); }
    .templates-page .template-hero-grid p { font-size: 15px; }
    .templates-page .template-hero-stack { height: 340px; }
    .templates-page .stack-sheet { width: 226px; height: 310px; padding: 27px; }
    .templates-page .stack-sheet--1 > strong { margin-top: 44px; font-size: 23px; }
    .public-template-categories button { padding-inline: 10px; }
    .public-template-controls > p { font-size: 11px; }
    .public-template-preview { min-height: 270px; }
    .public-template-preview canvas { height: 234px; }
    .public-template-copy h2, .public-template-copy h3 { font-size: 20px; }
    .public-template-copy p { font-size: 13px; }
    .template-preview { min-height: 342px; height: 342px; }
    .template-preview canvas { height: 296px; }
}
