/* Opt-in public-page theme. Editor controls and admin surfaces retain their own styles. */
body.mk-editorial { --ed-paper:#f7f6f2; --ed-ink:#202622; --ed-muted:#626c65; --ed-line:#d8ddd6; --ed-blue:#285be7; background:var(--ed-paper); color:var(--ed-ink); font-family:'Plus Jakarta Sans',sans-serif; }
.mk-editorial > header { background:#f7f6f2f2; border-color:var(--ed-line); backdrop-filter:blur(12px); }
.mk-editorial > header > div,.mk-editorial > footer > div:not([aria-hidden]) { max-width:1376px; padding-left:64px; padding-right:64px; }
.mk-editorial #mobile-menu { background:var(--ed-paper); border-color:var(--ed-line); }
.mk-editorial > header [name=q] { border-radius:3px; background:transparent; border-color:var(--ed-line); }
.mk-editorial > footer { background:var(--ed-paper); border-color:var(--ed-line); }
.mk-editorial > footer > .absolute { display:none; }
.mk-editorial > footer h4 { font:11px/1.5 ui-monospace,SFMono-Regular,monospace; letter-spacing:.08em; color:var(--ed-blue); }
.ed-page { overflow-wrap:break-word; }
.ed-page h1,.ed-page h2,.ed-page h3,.ed-page p { margin:0; }
.ed-page h1,.ed-page h2,.ed-page h3 { color:var(--ed-ink); font-family:'Plus Jakarta Sans',sans-serif; }
.ed-page h1 { font-size:clamp(48px,5.8vw,80px); line-height:1.06; letter-spacing:-.05em; font-weight:600; }
.ed-page h2 { font-size:clamp(34px,3.8vw,54px); line-height:1.12; letter-spacing:-.04em; font-weight:500; }
.ed-page h3 { font-size:21px; line-height:1.4; letter-spacing:-.025em; font-weight:600; }
.ed-page h1 em,.ed-page h2 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; }
.ed-page h1 em { color:var(--ed-blue); }
.ed-page p { font-size:16px; line-height:1.8; color:var(--ed-muted); }
.ed-container { width:100%; max-width:1376px; margin:0 auto; padding:0 64px; }
.ed-section { padding-top:88px; padding-bottom:88px; }
.ed-rule { border-top:1px solid var(--ed-line); }
.ed-running { display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid var(--ed-line); padding:27px 0; font:10px/1.5 ui-monospace,SFMono-Regular,monospace; letter-spacing:.08em; }
.ed-running span:first-child { display:flex; align-items:center; gap:10px; }
.ed-running i { width:7px; height:7px; background:var(--ed-blue); }
.ed-page .ed-kicker { font:11px/1.5 ui-monospace,SFMono-Regular,monospace; letter-spacing:.07em; color:var(--ed-blue); text-transform:uppercase; }
.ed-page .ed-intro { font-size:18px; line-height:1.8; max-width:500px; }
.ed-heading-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:70px; align-items:end; padding:65px 0 60px; border-bottom:1px solid var(--ed-line); }
.ed-heading h1 { margin-top:24px; }
.ed-heading-aside { padding-bottom:4px; }
.ed-heading-aside > :not(:first-child) { margin-top:20px; }
.ed-button,.ed-page .mk-btn { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:17px 22px; min-height:54px; border:1px solid transparent; border-radius:3px; background:var(--ed-blue); color:white; font-size:14px; font-weight:600; line-height:1.4; box-shadow:none; transition:background .2s; }
.ed-button:hover,.ed-page .mk-btn-primary:hover { background:#1946c4; transform:none; box-shadow:none; }
.ed-button span[aria-hidden] { font-size:24px; line-height:1; font-weight:400; }
.ed-button-secondary { background:transparent; border-color:var(--ed-line); color:var(--ed-ink); }
.ed-button-secondary:hover { background:#eeeee8; }
.ed-button-light,.ed-page .mk-btn-light { background:var(--ed-paper); color:var(--ed-blue); }
.ed-button-light:hover,.ed-page .mk-btn-light:hover { background:#e0e7fa; }
.ed-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.ed-text-link { display:inline-flex; align-items:center; gap:28px; padding:6px 0; font-size:14px; font-weight:600; border-bottom:1px solid; }
.ed-text-link:hover { color:var(--ed-blue); }
.ed-text-link span { font-size:21px; }
.ed-page a:focus-visible,.ed-page button:focus-visible,.ed-page summary:focus-visible { outline:2px solid var(--ed-blue); outline-offset:5px; }
.ed-page input:focus-visible,.ed-page textarea:focus-visible,.ed-page select:focus-visible { outline:2px solid var(--ed-blue); outline-offset:2px; }
.ed-page .ed-small { font-size:13px; }
.ed-two { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.ed-two h2 { margin:24px 0; }
.ed-two p + p { margin-top:20px; }
.ed-media img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.ed-media figcaption { border-bottom:1px solid var(--ed-line); display:flex; justify-content:space-between; padding:14px 0; font:10px/1.5 ui-monospace,monospace; letter-spacing:.04em; color:var(--ed-muted); }
.ed-section-head { display:flex; justify-content:space-between; align-items:start; gap:60px; margin-bottom:40px; }
.ed-section-head h2 { max-width:620px; }
.ed-list { list-style:none; padding:0; margin:28px 0 0; }
.ed-list li { padding:14px 0; border-top:1px solid var(--ed-line); font-size:15px; line-height:1.6; }
.ed-list li:before { content:'↗'; color:var(--ed-blue); margin-right:16px; }
.ed-thirds { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.ed-thirds article,.ed-thirds li { border-top:1px solid var(--ed-line); padding-top:20px; }
.ed-thirds h3 { margin:18px 0 12px; }
.ed-step { display:flex; justify-content:space-between; color:var(--ed-blue); font:12px/1.5 ui-monospace,monospace; }
.ed-band { background:#e8ede5; }
.ed-blue { background:var(--ed-blue); color:white; }
.ed-blue h2,.ed-blue h3 { color:white; }
.ed-blue p { color:#dfe7ff; }
.ed-blue .ed-kicker { color:#c9d5ff; }
.ed-blue .ed-button:focus-visible { outline-color:white; }
.ed-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:40px; }
.ed-metrics > div { border-top:1px solid #b8c3b5; padding-top:20px; }
.ed-metrics strong { display:block; font-size:48px; letter-spacing:-.05em; line-height:1.3; font-weight:500; }
.ed-metrics span { font:11px/1.5 ui-monospace,monospace; color:var(--ed-muted); }
.ed-home-hero { padding:64px 0; display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; }
.ed-home-hero h1 { margin:26px 0; }
.ed-home-hero .ed-small { margin-top:22px; }
.ed-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 26px; }
.ed-category-link { display:block; }
.ed-category-image { background:#e7e2d8; aspect-ratio:1; overflow:hidden; }
.ed-category-link:nth-child(3n+2) .ed-category-image { background:#dce4eb; }
.ed-category-link:nth-child(3n+3) .ed-category-image { background:#dbe0d5; }
.ed-category-image img { width:100%; height:100%; object-fit:contain; transition:transform .25s; }
.ed-category-link:hover img { transform:scale(1.025); }
.ed-category-link h3 { display:flex; justify-content:space-between; margin:16px 0 6px; }
.ed-category-link h3 span { color:var(--ed-blue); }
.ed-category-link p { font-size:14px; }
.ed-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--ed-line); }
.ed-plan { padding:34px 30px; display:flex; flex-direction:column; border-right:1px solid var(--ed-line); }
.ed-plan:last-child { border-right:0; }
.ed-plan-featured { background:#e8ede5; }
.ed-plan-top { display:flex; justify-content:space-between; margin-bottom:28px; font:11px/1.5 ui-monospace,monospace; color:var(--ed-blue); }
.ed-plan h2 { font-size:25px; letter-spacing:-.03em; }
.ed-plan .ed-plan-tagline { font-size:14px; min-height:50px; margin-top:10px; }
.ed-plan-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin-top:28px; }
.ed-plan-price strong { font-size:68px; font-weight:500; line-height:1; letter-spacing:-.06em; }
.ed-plan-price span { font-size:13px; color:var(--ed-muted); }
.ed-plan-period { min-height:48px; margin-top:14px!important; font-size:13px!important; }
.ed-discount { color:#375431; margin:0 7px; }
.ed-plan ul { flex:1; margin-bottom:32px; }
.ed-plan .ed-button { width:100%; justify-content:center; }
.ed-plan button:disabled { opacity:.6; cursor:wait; }
.ed-pricing-note { margin-top:24px!important; font-size:13px!important; }
.ed-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.ed-faq-layout h2 { margin-top:24px; }
.ed-faq details { border-top:1px solid var(--ed-line); }
.ed-faq details:last-child { border-bottom:1px solid var(--ed-line); }
.ed-faq summary { display:flex; justify-content:space-between; gap:25px; padding:23px 0; cursor:pointer; list-style:none; font-size:16px; font-weight:500; line-height:1.5; }
.ed-faq summary::-webkit-details-marker { display:none; }
.ed-faq summary:after { content:'+'; color:var(--ed-blue); font-size:23px; font-weight:400; }
.ed-faq details[open] summary:after { content:'−'; }
.ed-faq details p { padding:0 28px 25px 0; font-size:15px; }
.ed-contact-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; align-items:start; }
.ed-form h2 { font-size:30px; margin-bottom:14px; }
.ed-form > p { margin-bottom:32px; }
.ed-form form label { color:var(--ed-ink); font-size:14px; font-weight:500; }
.ed-form :is(input:not([type=hidden]),textarea,select) { border-radius:2px; background:#fffdf8; border:1px solid #c8d0c5; padding:14px; font-family:inherit; font-size:16px; box-shadow:none; }
.ed-form textarea { resize:vertical; min-height:170px; }
.ed-form #submit-btn { border-radius:3px; background:var(--ed-blue); padding:17px 22px; font-size:15px; font-weight:600; box-shadow:none; transform:none; }
.ed-form #submit-btn:hover { background:#1946c4; }
.ed-contact-aside { border-top:1px solid var(--ed-line); padding-top:28px; }
.ed-contact-aside h2 { font-size:36px; margin:18px 0 24px; }
.ed-contact-aside > p { margin:18px 0; }
.ed-contact-aside dl { margin-top:32px; }
.ed-contact-aside dl > div { border-top:1px solid var(--ed-line); padding:20px 0; }
.ed-contact-aside dt { font:11px/1.5 ui-monospace,monospace; color:var(--ed-blue); margin-bottom:8px; }
.ed-contact-aside dd { font-size:15px; line-height:1.7; color:var(--ed-muted); }
.ed-contact-aside dd a { color:var(--ed-ink); text-decoration:underline; text-underline-offset:4px; }
.ed-portrait { max-width:440px; }
.ed-story { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; }
.ed-story h2 { margin-top:24px; }
.ed-story p + p { margin-top:24px; }
.ed-story .ed-metrics { grid-template-columns:1fr 1fr; }
/* Catalog wrappers keep their server data, query links and progressive loader. */
.ed-archive .ed-archive-hero { background:var(--ed-paper); border-bottom:1px solid var(--ed-line); }
.ed-archive .ed-archive-hero > .absolute { display:none; }
.ed-archive .ed-archive-hero > .relative { padding-top:48px; padding-bottom:38px; }
.ed-archive .ed-archive-hero .text-center { text-align:left; }
.ed-archive .ed-archive-hero h1 { max-width:1050px; overflow-wrap:anywhere; }
.ed-archive .ed-archive-hero h1 > span { display:inline; margin-left:.15em; font-family:Georgia,serif; font-style:italic; font-weight:400; color:var(--ed-blue); }
.ed-archive .ed-archive-hero p { max-width:800px; margin:24px 0; color:var(--ed-muted); font-size:18px; }
.ed-archive .ed-archive-hero nav { justify-content:flex-start; flex-wrap:wrap; margin-bottom:30px; color:var(--ed-muted); }
.ed-archive .ed-archive-hero nav :is(a,span) { color:var(--ed-muted); }
.ed-archive .ed-archive-hero nav a:hover { color:var(--ed-blue); }
.ed-archive .ed-archive-hero .flex-wrap { justify-content:flex-start; }
.ed-archive .ed-archive-hero .rounded-full { border-radius:0; border:0; border-bottom:1px solid var(--ed-line); padding:12px 10px; background:none; color:var(--ed-muted); font-size:14px; }
.ed-archive .ed-archive-hero a.bg-white { border-color:var(--ed-blue); color:var(--ed-blue); }
.ed-archive .ed-archive-hero a:hover { color:var(--ed-blue); }
.ed-archive .ed-archive-hero [class~="text-white/80"] { color:var(--ed-muted); font-size:14px; }
.ed-archive .ed-archive-hero .text-green-300 { color:var(--ed-blue); }
.ed-archive .ed-archive-hero form { margin-left:0; }
.ed-archive .ed-archive-hero input { border-radius:3px; border:1px solid var(--ed-line); background:#fffdf8; box-shadow:none; font-size:16px; padding-right:110px; }
.ed-archive .ed-archive-hero button { border-radius:2px; background:var(--ed-blue); }
.ed-archive .ed-archive-hero .mr-1 { display:none; }
.ed-archive .max-w-7xl { max-width:1376px; padding-left:64px; padding-right:64px; }
.ed-archive .ed-archive-content { background:var(--ed-paper); min-height:450px; padding-top:40px; padding-bottom:80px; }
.ed-archive .ed-archive-content > div > .text-center:first-child { text-align:left; margin-bottom:28px; }
.ed-archive .ed-archive-content h2 { font-size:28px; margin-bottom:12px; }
.ed-archive .ed-archive-content > div > .text-center:first-child p { margin-left:0; font-size:15px; }
.ed-sort { border-top:1px solid var(--ed-line); border-bottom:1px solid var(--ed-line); padding:14px 0; flex-wrap:wrap; justify-content:flex-end; }
.ed-sort a { border-radius:2px; font-size:14px; }
.ed-sort a.bg-blue-100 { background:#e0e6f3; color:var(--ed-blue); }
.ed-subcategories { justify-content:flex-start; }
.ed-subcategories a { border-radius:2px; box-shadow:none; background:transparent; }
.ed-archive #mockups-grid { gap:38px 26px; }
.ed-archive #mockups-grid > :is(a, .sr-catalog-card) { display:block; border:0; border-radius:0; box-shadow:none; background:transparent; }
.ed-archive #mockups-grid > :is(a, .sr-catalog-card) > .aspect-square { background:#e7e2d8; }
.ed-archive #mockups-grid > :is(a, .sr-catalog-card) > .p-6 { padding:18px 0; border-bottom:1px solid var(--ed-line); }
.ed-archive #mockups-grid h3 { font-size:17px; line-height:1.5; letter-spacing:-.02em; font-weight:500; }
.ed-archive #mockups-grid .rounded-full { border-radius:2px; box-shadow:none; background:#f7f6f2; color:var(--ed-ink); font-size:11px; font-weight:500; }
.ed-archive #mockups-grid .top-4 span { border:1px solid #d8ddd6; }
.ed-archive #mockups-grid .top-4 svg { display:none; }
.ed-archive #mockups-grid > :is(a, .sr-catalog-card):focus-visible { outline:2px solid var(--ed-blue); outline-offset:5px; }
.ed-archive #mockups-grid > :is(a, .sr-catalog-card):focus-visible .opacity-0 { opacity:1; }
.ed-archive #mockups-grid > :is(a, .sr-catalog-card):hover { transform:none; }
.ed-archive .ed-archive-content :is(.rounded-xl,.rounded-3xl) { border-radius:3px; box-shadow:none; }
.ed-archive .ed-archive-content .bg-blue-50 { background:#e8ede5; border:0; }
.ed-archive .ed-archive-content .bg-blue-50 > .inline-flex:first-child { display:none; }
.ed-archive .ed-archive-content a.bg-blue-600 { background:var(--ed-blue); }
.ed-archive .ed-archive-content .bg-blue-50 p { margin:15px auto 24px; }
.ed-archive .ed-archive-content .bg-blue-50 h3 { font-size:30px; }
.ed-archive #mockups-load-more { border-radius:3px; background:transparent; border-color:var(--ed-line); }
@media (max-width:1050px) {
  .ed-container,.ed-archive .max-w-7xl,.mk-editorial > header > div,.mk-editorial > footer > div:not([aria-hidden]) { padding-left:32px; padding-right:32px; }
  .ed-home-hero,.ed-two,.ed-heading-grid,.ed-story,.ed-faq-layout,.ed-contact-grid { gap:40px; }
  .ed-plan { padding:27px 20px; }
}
@media (max-width:760px) {
  .ed-container,.ed-archive .max-w-7xl,.mk-editorial > header > div,.mk-editorial > footer > div:not([aria-hidden]) { padding-left:22px; padding-right:22px; }
  .ed-running { font-size:9px; padding:22px 0; } .ed-running > span:last-child { display:none; }
  .ed-heading-grid,.ed-home-hero,.ed-two,.ed-story,.ed-faq-layout,.ed-contact-grid { grid-template-columns:1fr; gap:32px; }
  .ed-heading-grid { padding:38px 0; } .ed-heading h1 { margin-top:20px; }
  .ed-page h1 { font-size:clamp(44px,10vw,68px); } .ed-page h2 { font-size:36px; }
  .ed-page .ed-intro { font-size:17px; }
  .ed-section { padding-top:55px; padding-bottom:55px; }
  .ed-home-hero { padding:40px 0; }
  .ed-section-head { display:block; margin-bottom:30px; } .ed-section-head > :last-child { margin-top:22px; }
  .ed-thirds,.ed-price-grid { grid-template-columns:1fr; gap:25px; }
  .ed-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 16px; }
  .ed-category-link h3 { font-size:16px; } .ed-category-link p { font-size:13px; }
  .ed-metrics { grid-template-columns:1fr 1fr; gap:26px; } .ed-metrics strong { font-size:38px; }
  .ed-price-grid { gap:0; } .ed-plan { border-right:0; border-bottom:1px solid var(--ed-line); padding:30px 24px; } .ed-plan:last-child { border-bottom:0; }
  .ed-plan h2 { font-size:28px; } .ed-plan-tagline { min-height:0!important; } .ed-plan-period { min-height:0; }
  .ed-contact-grid { gap:50px; } .ed-form h2 { font-size:28px; } .ed-contact-aside h2 { font-size:34px; }
  .ed-sort { justify-content:flex-start; gap:5px; } .ed-sort a { padding:8px; }
  .ed-archive .ed-archive-hero > .relative { padding-top:35px; padding-bottom:25px; }
  .ed-archive .ed-archive-hero h1 { font-size:44px; }
  .ed-archive .ed-archive-hero p { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) { .ed-page * { transition:none!important; } }
/* Authentication and account pages share the public editorial language. */
.ed-heading-line { display:block; }
.ed-auth-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; padding:64px 0 88px; align-items:start; }
.ed-auth-intro h1 { margin:24px 0 30px; font-size:clamp(48px,5.2vw,72px); }
.ed-auth-note { border-top:1px solid var(--ed-line); margin-top:48px; padding-top:24px; max-width:430px; }
.ed-auth-note p { margin-top:12px; font-size:14px; }
.ed-auth-form { border-left:1px solid var(--ed-line); padding-left:60px; }
.ed-auth-form-heading { margin-bottom:28px; }
.ed-auth-form-heading h2 { margin-top:16px; font-size:30px; }
.ed-auth-form :is(button[type=submit],a[href="/api/auth/google"]) { border-radius:3px; box-shadow:none; transform:none; min-height:54px; font-size:15px; font-weight:600; }
.ed-auth-form button[type=submit] { background:var(--ed-blue); }
.ed-auth-form button[type=submit]:hover { background:#1946c4; }
.ed-auth-form a[href="/api/auth/google"] { border:1px solid var(--ed-line); background:transparent; color:var(--ed-ink); }
.ed-auth-form a[href="/api/auth/google"]:hover { background:#eeeee8; }
.ed-auth-form .relative.my-8 { margin:26px 0; }
.ed-auth-form .relative.my-8 span { background:var(--ed-paper); font-size:12px; font-weight:500; }
.ed-auth-form .text-center p { font-size:14px; }
.ed-auth-form :is(#error-message,#success-message) { border-radius:3px; }
.ed-auth-form #password-requirements { display:grid; grid-template-columns:1fr 1fr; gap:5px 12px; margin-top:10px; font-size:12px; }
.ed-auth-form #password-requirements li { margin-top:0; }
.ed-auth-form #strength-bar { height:3px; border-radius:0; }
.ed-account-heading { display:flex; gap:50px; align-items:end; justify-content:space-between; padding:50px 0 44px; border-bottom:1px solid var(--ed-line); margin-bottom:40px; }
.ed-account-heading h1 { margin-top:18px; }
.ed-account-grid { display:grid; grid-template-columns:2fr 1fr; gap:64px; padding-bottom:80px; }
.ed-account-main { min-width:0; }
.ed-account #plan-status-card { border-radius:0; box-shadow:none; background:#e8ede5; color:var(--ed-ink); padding:32px; border-top:2px solid var(--ed-blue); }
.ed-account #plan-status-card.from-emerald-500 { border-color:#43764b; }
.ed-account #plan-status-card.from-red-500 { background:#f3e8df; border-color:#a4583b; }
.ed-account #plan-status-title { font-size:29px; margin-bottom:12px; }
.ed-account #plan-status-desc { color:var(--ed-muted); font-size:15px; }
.ed-account #plan-status-link { color:var(--ed-blue); border-bottom:1px solid; padding:6px 0; font-size:14px; }
.ed-account #plan-status-card .w-16 { display:none; }
.ed-account-section { padding:36px 0 0; margin-top:36px; border-top:1px solid var(--ed-line); }
.ed-account-section h2 { font-size:27px; margin-bottom:24px; }
.ed-account-section dl > .flex { gap:24px; border-color:var(--ed-line); }
.ed-account-section dt { font-size:14px; }
.ed-account-section dd { min-width:0; text-align:right; overflow-wrap:anywhere; font-size:15px; font-weight:500; }
.ed-account #show-delete-section { color:#75716e; text-decoration:underline; text-underline-offset:4px; }
.ed-account #show-delete-section:hover { color:#b91c1c; }
.ed-account #delete-section { border-radius:3px; }
.ed-account #delete-section p { font-size:14px; margin-bottom:16px; }
.ed-account :is(#delete-account-button,#admin-actions a) { border-radius:3px; }
.ed-account #admin-actions a { background:var(--ed-blue); }
.ed-account-actions { border-top:1px solid var(--ed-line); padding-top:24px; }
.ed-account-actions h3 { font-size:11px; font-family:ui-monospace,monospace; color:var(--ed-blue); letter-spacing:.06em; font-weight:400; text-transform:uppercase; }
.ed-account-actions .w-12 { display:none; }
.ed-account-actions :is(a,button) { border-radius:0; background:transparent; color:var(--ed-ink); border-bottom:1px solid var(--ed-line); padding:18px 0; box-shadow:none; transform:none; font-weight:500; }
.ed-account-actions :is(a,button):hover { color:var(--ed-blue); background:transparent; }
.ed-account-signed-out { padding:30px 0 80px; max-width:650px; }
.ed-account-signed-out > .w-16 { display:none; }
.ed-account-signed-out h2 { font-size:34px; margin-bottom:20px; }
.ed-account-signed-out p { margin-bottom:28px; }
.ed-account-modal > div { border-radius:3px; background:var(--ed-paper); }
.ed-account-modal button { border-radius:3px; }
.ed-account-modal h3 { font-family:'Plus Jakarta Sans',sans-serif; }
.ed-search .ed-section { padding-top:52px; }
.ed-search-heading { border-bottom:1px solid var(--ed-line); padding-bottom:40px; margin-bottom:32px; }
.ed-search-heading h1 { margin:22px 0 32px; }
.ed-search-heading form { max-width:700px; }
.ed-search-heading input { border-radius:3px; border-color:var(--ed-line); background:#fffdf8; font-size:16px; padding-right:120px; box-shadow:none; }
.ed-search-heading input:focus-visible { box-shadow:none; }
.ed-search-heading button { border-radius:2px; background:var(--ed-blue); }
.ed-search-results-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-bottom:30px; }
.ed-search-results-head > p { font-size:14px; overflow-wrap:anywhere; }
.ed-search .ed-sort { border:0; padding:0; }
.ed-search-empty { padding:48px; }
.ed-search-empty h2 { margin:24px 0; }
.ed-search-empty > p { max-width:620px; }
.ed-search-request { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:60px; padding-top:52px; margin-top:70px; }
.ed-search-request h2 { margin-top:20px; }
.ed-search-request a { margin-top:24px; }
.ed-search > .ed-container > .text-center { text-align:left; }
.ed-search > .ed-container > .text-center > .inline-flex { display:none; }
.ed-search > .ed-container > .text-center h2 { font-size:32px; margin-bottom:14px; }
@media (max-width:1050px) {
  .ed-auth-grid { gap:48px; }
  .ed-auth-form { padding-left:36px; }
  .ed-account-grid { gap:36px; }
}
@media (max-width:760px) {
  .ed-auth-grid { grid-template-columns:1fr; gap:32px; padding:38px 0 55px; }
  .ed-auth-intro h1 { font-size:44px; margin:20px 0; }
  .ed-auth-note { display:none; }
  .ed-auth-form { border-left:0; border-top:1px solid var(--ed-line); padding:30px 0 0; }
  .ed-auth-form-heading h2 { font-size:28px; }
  .ed-account-heading { display:block; padding:34px 0; margin-bottom:30px; }
  .ed-account-heading > p { margin-top:24px; }
  .ed-account-grid { grid-template-columns:1fr; gap:44px; padding-bottom:55px; }
  .ed-account #plan-status-card { padding:25px; }
  .ed-account #plan-status-title { font-size:27px; }
  .ed-account-section h2 { font-size:27px; }
  .ed-account-section dl > .flex { align-items:start; }
  .ed-account-section dt { flex-shrink:0; }
  .ed-search .ed-section { padding-top:38px; }
  .ed-search-heading h1 { font-size:44px; }
  .ed-search-heading input { padding-left:16px; padding-right:105px; }
  .ed-search-heading form svg { display:none; }
  .ed-search-heading button { padding-left:17px; padding-right:17px; }
  .ed-search-results-head { display:block; }
  .ed-search .ed-sort { margin-top:20px; }
  .ed-search-empty { padding:30px 24px; }
  .ed-search-request { grid-template-columns:1fr; gap:24px; }
}
/* A personal note in the founder's story. */
.ed-notepaper { position:relative; background:#fffdf3; border:1px solid #e7dfc9; padding:42px 32px 30px 58px; transform:rotate(-1.3deg); box-shadow:0 18px 32px -24px #433d315c,0 2px 4px #433d3112; }
.ed-notepaper::before { content:''; position:absolute; left:39px; top:0; bottom:0; width:1px; background:#e5a5a1; }
.ed-notepaper::after { content:''; position:absolute; width:110px; height:28px; top:-13px; left:calc(50% - 55px); background:#ded9c59c; border-left:1px dashed #bcb598; border-right:1px dashed #bcb598; transform:rotate(3deg); }
.ed-notepaper-holes { position:absolute; left:12px; top:0; bottom:0; display:flex; flex-direction:column; justify-content:space-evenly; }
.ed-notepaper-holes span { width:12px; height:12px; background:var(--ed-paper); border-radius:50%; box-shadow:inset 0 1px 2px #51452a40; }
.ed-page .ed-note-label { font:10px/1.5 ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; color:#7c796f; margin-bottom:22px; }
.ed-notepaper-body { background:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,#a3bed747 33px,#a3bed747 34px); background-position:0 0; }
.ed-page .ed-notepaper-body p { font-family:'Caveat',Georgia,serif; font-size:25px; line-height:34px; color:#344c68; }
.ed-page .ed-notepaper-body p + p { margin-top:34px; }
.ed-page .ed-notepaper-sign { margin-top:24px; font:600 36px/1.2 'Caveat',Georgia,serif; text-align:right; color:var(--ed-blue); }
.ed-notepaper-sign span { font:24px Georgia,serif; margin-left:12px; }
/* An empty packaging scene, drawn in code so the 404 needs no image assets. */
.ed-404-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; padding:64px 0; }
.ed-404-art { aspect-ratio:1; position:relative; display:flex; align-items:center; justify-content:center; color:var(--ed-blue); background-color:#e9ece5; background-image:linear-gradient(#596c5710 1px,transparent 1px),linear-gradient(90deg,#596c5710 1px,transparent 1px); background-size:32px 32px; border:1px solid #d9dfd3; }
.ed-404-coordinate,.ed-404-art-caption { position:absolute; left:24px; right:24px; font:9px/1.6 ui-monospace,monospace; letter-spacing:.05em; }
.ed-404-coordinate { top:24px; }
.ed-404-art-caption { bottom:24px; color:var(--ed-muted); }
.ed-404-number { display:flex; align-items:center; justify-content:center; width:100%; padding:35px; }
.ed-404-number > span { font-size:clamp(100px,12vw,175px); font-weight:500; line-height:1; letter-spacing:-.1em; }
.ed-404-number svg { width:40%; flex-shrink:0; overflow:visible; margin:0 4px 0 12px; transform:rotate(-7deg); }
.ed-404-box-fill { fill:#f7f6f280; }.ed-404-box-side { fill:#285be710; }
.ed-404-sticker { position:absolute; bottom:21%; right:8%; background:#fffdf3; color:var(--ed-ink); border:1px solid #d4d8cf; padding:14px 16px; font:10px/1.5 ui-monospace,monospace; transform:rotate(-9deg); box-shadow:0 5px 8px #35422b0c; }
.ed-404-sticker span { margin-left:12px; color:var(--ed-blue); }
.ed-404-copy h1 { font-size:clamp(46px,4.5vw,66px); margin:24px 0; }
.ed-404-search { margin-top:40px; padding-top:24px; border-top:1px solid var(--ed-line); }
.ed-404-search label { display:block; font-size:13px; color:var(--ed-muted); margin-bottom:14px; }
.ed-404-search > div { display:flex; border:1px solid var(--ed-line); background:#fffdf8; border-radius:2px; }
.ed-404-search input { flex:1; min-width:0; background:none; border:0; padding:15px; font-family:inherit; font-size:14px; line-height:1.5; }
.ed-404-search button { width:52px; flex-shrink:0; color:var(--ed-blue); font-size:24px; border-left:1px solid var(--ed-line); }
.ed-404-search button:hover { background:#e0e7fa; }
.ed-404-footnote { border-top:1px solid var(--ed-line); padding:24px 0 44px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.ed-404-footnote > span { font:italic 20px/1.5 Georgia,serif; color:var(--ed-muted); }
@media (max-width:1050px) { .ed-404-layout { gap:40px; }.ed-notepaper { padding-right:24px; }.ed-page .ed-notepaper-body p { font-size:24px; } }
@media (max-width:760px) {
  .ed-notepaper { margin:15px 2px 0; padding:34px 20px 24px 43px; transform:rotate(-.7deg); }
  .ed-notepaper::before { left:30px; }.ed-notepaper-holes { left:9px; }.ed-notepaper-holes span { width:10px; height:10px; }
  .ed-page .ed-notepaper-body p { font-size:24px; }
  .ed-404-layout { grid-template-columns:1fr; padding:35px 0 40px; gap:32px; }
  .ed-404-art { max-width:460px; width:100%; margin:auto; }
  .ed-404-number > span { font-size:clamp(100px,28vw,150px); }
  .ed-404-copy h1 { font-size:46px; }
  .ed-404-footnote { align-items:flex-start; flex-direction:column; gap:12px; }
}
/* The studio keeps its wide navigation and its own editor controls. */
body.mk-editorial-wide-header > header { background:#f7f6f2f2; border-color:var(--ed-line); }
body.mk-editorial-wide-header { --ed-single-gutter:32px; }
body.mk-editorial-wide-header > header > div,
body.mk-editorial-wide-header > footer > div:not([aria-hidden]) { max-width:1600px; padding-left:var(--ed-single-gutter); padding-right:var(--ed-single-gutter); }
body.mk-editorial .ed-template-about { width:100%; max-width:none; margin:64px auto 0; padding:40px 0 20px; background:transparent; border:0; border-top:1px solid var(--ed-line); border-radius:0; box-shadow:none; color:var(--ed-ink); }
body.mk-editorial .ed-template-about nav { margin:0 0 44px; font-size:13px; color:var(--ed-muted); }
body.mk-editorial .ed-template-about nav a { color:var(--ed-muted); }
body.mk-editorial .ed-template-about nav a:hover { color:var(--ed-blue); }
body.mk-editorial .ed-template-about nav .mr-1 { display:none; }
.ed-template-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); gap:80px; }
body.mk-editorial .ed-template-about h2 { font-size:clamp(34px,3.5vw,48px); line-height:1.15; font-weight:500; letter-spacing:-.04em; margin:20px 0 28px; }
body.mk-editorial .ed-template-about .ed-kicker { font-size:11px; line-height:1.5; }
body.mk-editorial .ed-template-copy { white-space:pre-line; font-size:16px; line-height:1.9; color:var(--ed-muted); overflow-wrap:anywhere; }
body.mk-editorial .ed-template-copy p { margin:0 0 20px; font-size:16px; line-height:1.9; }
body.mk-editorial .ed-template-copy a { color:var(--ed-blue); text-decoration:underline; text-underline-offset:3px; }
body.mk-editorial .ed-template-copy :is(ul,ol) { padding-left:22px; margin:16px 0; }
body.mk-editorial .ed-template-copy ul { list-style:disc; }
body.mk-editorial .ed-template-copy ol { list-style:decimal; }
body.mk-editorial .ed-template-copy strong { color:var(--ed-ink); font-weight:600; }
.ed-template-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; padding-top:24px; border-top:1px solid var(--ed-line); }
body.mk-editorial .ed-template-tags a { border-radius:2px; border:1px solid var(--ed-line); padding:8px 12px; background:transparent; color:var(--ed-muted); font-size:12px; font-weight:500; box-shadow:none; transform:none; }
body.mk-editorial .ed-template-tags a:hover { background:#e8ede5; border-color:#bdc8b7; color:var(--ed-ink); }
.ed-template-facts { border-left:1px solid var(--ed-line); padding-left:36px; }
.ed-template-facts > .flex { margin:0; padding:17px 0; border-bottom:1px solid var(--ed-line); }
.ed-template-facts > .flex:first-child { padding-top:0; }
.ed-template-facts > .flex > .w-8 { display:none; }
body.mk-editorial .ed-template-facts > .flex p:first-child { font:10px/1.5 ui-monospace,monospace; color:var(--ed-muted); letter-spacing:.06em; text-transform:uppercase; margin-bottom:7px; }
body.mk-editorial .ed-template-facts > .flex :is(a,p:last-child) { font-size:15px; line-height:1.6; color:var(--ed-ink); font-weight:500; }
.ed-template-feedback { padding:24px 0; border-bottom:1px solid var(--ed-line); }
body.mk-editorial .ed-template-feedback p { font-size:14px; line-height:1.7; margin-bottom:18px; }
body.mk-editorial .ed-template-feedback a { width:100%; min-height:46px; border:1px solid var(--ed-line); border-radius:3px; background:transparent; color:var(--ed-ink); padding:12px 16px; font-size:14px; font-weight:500; box-shadow:none; transform:none; }
body.mk-editorial .ed-template-feedback a:hover { background:#eeeee8; border-color:#bdc8b7; }
.ed-template-feedback a > svg { display:none; }
.ed-template-maker { padding-top:26px; }
body.mk-editorial .ed-template-maker > :is(a,div) { padding:20px; border:1px solid var(--ed-line); border-radius:3px; background:var(--ed-paper); box-shadow:none; }
body.mk-editorial .ed-template-maker > a:hover { border-color:#bdc8b7; background:#eeeee8; }
body.mk-editorial .ed-template-maker img { border-radius:2px; border:0; box-shadow:none; }
body.mk-editorial .ed-template-maker p { font-size:13px; line-height:1.8; }
body.mk-editorial .ed-template-maker .uppercase { font:10px/1.5 ui-monospace,monospace; letter-spacing:.05em; color:var(--ed-muted); margin-bottom:6px; }
body.mk-editorial .ed-template-maker .text-base { font-size:15px; font-weight:500; }
body.mk-editorial .ed-template-maker a:hover { color:var(--ed-blue); }
@media (max-width:1050px) { .ed-template-grid { gap:40px; }.ed-template-facts { padding-left:26px; } }
@media (max-width:760px) {
  body.mk-editorial .ed-template-about { margin-top:40px; padding-top:30px; }
  body.mk-editorial .ed-template-about nav { margin-bottom:30px; }
  .ed-template-grid { grid-template-columns:1fr; gap:36px; }
  .ed-template-facts { border-left:0; border-top:1px solid var(--ed-line); padding:26px 0 0; }
}
@media (max-width:1023px) { body.mk-editorial-wide-header { --ed-single-gutter:24px; } }
@media (max-width:639px) { body.mk-editorial-wide-header { --ed-single-gutter:16px; } }

/* Keep the founder card copy clear of the portrait. */
body.mk-editorial .ed-template-maker > a > p { margin-top:14px; }

/* Product updates as notes from the studio. */
.ed-changelog .ed-heading-grid h1 { margin-top:24px; }
.ed-release-list { list-style:none; padding:0; margin:0; }
.ed-release-row { display:grid; grid-template-columns:220px minmax(0,780px); justify-content:space-between; gap:64px; padding:70px 8px; }
.ed-release-row + .ed-release-row { border-top:1px solid var(--ed-line); }
.ed-release-date { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding-top:22px; }
.ed-release-date time { font-size:15px; font-weight:600; }
.ed-release-date > span { font:11px/1.6 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.06em; color:var(--ed-muted); }
.ed-release-date strong { margin-top:8px; font:italic 23px/1.4 Georgia,serif; color:var(--ed-blue); }
.ed-release-note { transform:rotate(-.65deg); }
.ed-release-row:nth-child(even) .ed-release-note { transform:rotate(.5deg); }
.ed-page .ed-release-note h2 { font-size:29px; line-height:1.25; letter-spacing:-.035em; margin:0 0 24px; }
.ed-release-note .ed-notepaper-body ul { list-style:none; padding:0; margin:34px 0 0; }
.ed-release-note .ed-notepaper-body li { position:relative; padding-left:24px; margin-top:0; font-family:'Caveat',Georgia,serif; font-size:25px; line-height:34px; color:#344c68; }
.ed-release-note .ed-notepaper-body li:before { content:'✓'; position:absolute; left:0; color:var(--ed-blue); font:18px/34px Georgia,serif; }
.ed-changelog-end { padding:35px 0 64px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; }
@media (max-width:1050px) { .ed-release-row { grid-template-columns:165px minmax(0,1fr); gap:36px; } }
@media (max-width:760px) {
  .ed-release-row { grid-template-columns:minmax(0,1fr); gap:28px; padding:40px 0; }
  .ed-release-date { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 18px; padding-top:0; }
  .ed-release-date strong { margin-top:0; font-size:19px; }
  .ed-page .ed-release-note h2 { font-size:25px; }
  .ed-release-note .ed-notepaper-body li { font-size:24px; }
}

.ed-archive #mockups-grid > .sr-catalog-card > a{display:block;border:0;border-radius:0;box-shadow:none;background:transparent}.ed-archive #mockups-grid > .sr-catalog-card > a > .aspect-square{background:#e7e2d8}.ed-archive #mockups-grid > .sr-catalog-card > a > .p-6{padding:18px 0;border-bottom:1px solid var(--ed-line)}.ed-archive .sr-catalog-controls{padding:8px 0}

/* One shared category/sort row below catalog search. */
.ed-catalog .ed-archive-hero{border-bottom:0}
.ed-catalog .ed-archive-hero>.relative{padding-bottom:12px}
.ed-catalog .ed-archive-hero form{margin-bottom:20px}
.ed-catalog .ed-archive-content{padding-top:0}
.ed-catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:16px 0 24px;margin-bottom:28px;border-bottom:1px solid var(--ed-line)}
.ed-catalog-categories{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.ed-catalog-categories a{font-size:13px;color:var(--ed-muted);padding:9px 13px;border-radius:8px;transition:background .2s,color .2s}
.ed-catalog-categories a:hover{background:#eeeee8;color:var(--ed-ink)}
.ed-catalog-categories a[aria-current=page]{background:#e7ecfb;color:var(--ed-blue)}
.mockup-sort{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 0;margin-bottom:28px;border-top:1px solid var(--ed-line);border-bottom:1px solid var(--ed-line);font-size:14px;color:var(--ed-muted)}
.ed-collection-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding:0 0 22px;margin-bottom:28px;border-bottom:1px solid var(--ed-line)}
.ed-collection-toolbar>p{margin:0;font-size:14px;color:var(--ed-muted)}
.mockup-sort>div{display:flex;gap:5px}.mockup-sort a{display:block;padding:8px 12px;border-radius:4px;color:var(--ed-muted);line-height:1.4;transition:background .15s,color .15s}.mockup-sort a:hover{background:#eeeee8;color:var(--ed-ink)}.mockup-sort a[aria-current=page]{background:#e0e6f3;color:var(--ed-blue);font-weight:600}.mockup-sort a:focus-visible{outline:2px solid var(--ed-blue);outline-offset:3px}.mockup-sort-inline{border:0;padding:0;margin:0;flex-shrink:0}
@media(max-width:800px){.ed-catalog-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.ed-catalog-categories{gap:2px}.ed-catalog-categories a{padding:8px 10px}.mockup-sort{justify-content:flex-start;gap:8px}.mockup-sort a{padding:8px 10px}}

/* Shared native selects: a consistent inset chevron, spacing and focus treatment. */
body.mk-editorial .ed-select,body.mk-editorial .ed-catalog-sort select,.sr-field select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23576059' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid var(--ed-line,#d5dad2);border-radius:10px;padding:11px 42px 11px 14px;line-height:1.4;color:var(--ed-ink,#202622);font:inherit;cursor:pointer;min-height:42px}
.ed-select:focus-visible,.sr-field select:focus-visible{outline:2px solid var(--ed-blue,#2854ec);outline-offset:3px}
