:root {
    --ink: #17201e;
    --muted: #65716d;
    --line: #dfe5e2;
    --paper: #fbfcfa;
    --tint: #f0f4f1;
    --brand: #17554c;
    --brand-dark: #103e38;
    --accent: #d47a43;
    --white: #fff;
    --shadow: 0 24px 60px rgba(23, 55, 49, .12);
    --radius: 24px;
    --shell: min(1180px, calc(100vw - 40px));
}

/* NALARUNA manual onboarding and WhatsApp payment confirmation */
.registration-status-page { min-height: 70vh; padding: 90px 0 110px; background: radial-gradient(circle at 16% 12%, #dff2fb, transparent 34%), linear-gradient(135deg, #f8fbfd, #fffaf0); }
.registration-status-card { max-width: 820px; padding: 52px; border: 1px solid #dce7ed; border-radius: 30px; background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(20,55,78,.12); }
.registration-status-card h1 { margin: 12px 0 14px; color: #113b56; font-family: Georgia, serif; font-size: clamp(34px, 5vw, 58px); line-height: 1; }
.registration-status-card > p { max-width: 680px; color: #59707e; font-size: 15px; line-height: 1.8; }
.registration-reference { display: grid; gap: 7px; margin: 30px 0; padding: 18px 20px; border: 1px dashed #89aebf; border-radius: 16px; background: #f4fbfe; }
.registration-reference small { color: #67818e; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.registration-reference strong { overflow-wrap: anywhere; color: #0c5378; font-size: 16px; }
.registration-steps { display: grid; gap: 14px; margin: 0 0 30px; padding: 0; list-style: none; }
.registration-steps li { display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; padding: 16px; border: 1px solid #e4eaee; border-radius: 16px; background: #fff; }
.registration-steps li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: #0c5c84; color: #fff; font-weight: 900; }
.registration-steps strong { color: #173f55; }
.registration-steps p { margin: 4px 0 0; color: #6c7d87; line-height: 1.55; }
.registration-status-note { margin-top: 20px !important; font-size: 12px !important; }
.manual-admin-hero { padding: 76px 0; background: linear-gradient(135deg, #082f49, #0f5f86); color: #fff; }
.manual-admin-hero h1 { max-width: 760px; margin: 12px 0; font-family: Georgia, serif; font-size: clamp(34px, 5vw, 58px); line-height: 1; }
.manual-admin-hero p { max-width: 760px; margin: 0; color: #d6e9f2; font-size: 15px; line-height: 1.7; }
.manual-registration-list { display: grid; gap: 24px; }
.manual-registration-card { overflow: hidden; border: 1px solid #dce5ea; border-radius: 22px; background: #fff; box-shadow: 0 14px 42px rgba(28,60,76,.08); }
.manual-registration-card > header { display: flex; justify-content: space-between; gap: 20px; padding: 24px 26px; border-bottom: 1px solid #e5ebee; background: #f8fbfc; }
.manual-registration-card header span { color: #557d90; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.manual-registration-card header h3 { margin: 6px 0 4px; color: #153e54; font-size: 22px; }
.manual-registration-card header p { margin: 0; color: #6d7f88; }
.manual-registration-card header b { align-self: flex-start; padding: 7px 11px; border-radius: 999px; background: #fff2ce; color: #8a5a00; font-size: 10px; text-transform: uppercase; }
.manual-payment-form { display: grid; gap: 18px; padding: 26px; }
.manual-payment-form select, .manual-payment-form textarea { width: 100%; border: 1px solid #cfdce2; border-radius: 12px; background: #fff; color: #173f55; }
.manual-payment-form select { min-height: 48px; padding: 0 13px; }
.manual-payment-form textarea { padding: 13px; resize: vertical; }
.manual-order-table { overflow: hidden; border: 1px solid #dce5ea; border-radius: 18px; background: #fff; }
.manual-order-table__head, .manual-order-table > div { display: grid; grid-template-columns: 1.35fr 1.35fr 1fr .8fr .55fr .9fr; gap: 14px; align-items: center; padding: 15px 18px; }
.manual-order-table__head { background: #eef5f8; color: #65808d; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.manual-order-table > div { border-top: 1px solid #e5ebee; color: #536b77; font-size: 11px; }
.manual-order-table span { min-width: 0; overflow-wrap: anywhere; }
.manual-order-table span:first-child { display: grid; gap: 3px; color: #173f55; }
.manual-order-table small { color: #85949b; }
.manual-order-empty { margin: 0; padding: 24px; color: #71838c; }

@media (max-width: 760px) {
    .registration-status-page { padding: 55px 0 75px; }
    .registration-status-card { padding: 30px 22px; border-radius: 22px; }
    .manual-admin-hero { padding: 56px 0; }
    .manual-registration-card > header { align-items: flex-start; padding: 20px; }
    .manual-payment-form { padding: 20px; }
    .manual-order-table { overflow-x: auto; }
    .manual-order-table__head, .manual-order-table > div { min-width: 820px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: "Segoe UI", Arial, sans-serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
body.portal--publisher { --brand: #7c3f22; --brand-dark: #4f2919; --accent: #d0934c; --tint: #f5efe7; }
body.portal--journals { --brand: #274d76; --brand-dark: #183651; --accent: #b38745; --tint: #eef2f6; }
body.portal--core { --brand: #31519a; --brand-dark: #172853; --accent: #6ca0ff; --tint: #edf1f9; }
body.portal--lpk { --brand: #366b58; --brand-dark: #234a3d; --accent: #e2a146; }
body.portal--jft { --brand: #9a5429; --brand-dark: #60381f; --accent: #efb15c; }
body.portal--bimbel { --brand: #654f94; --brand-dark: #413362; --accent: #e78f82; }
body.portal--account { --brand: #385b73; --brand-dark: #243d4e; }
body.portal--billing { --brand: #27656a; --brand-dark: #19474b; }
body.portal--help { --brand: #4e6370; --brand-dark: #33454f; }

a { color: inherit; }
button, input, select, textarea { font: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 14px; color: #fff; background: var(--brand-dark); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; z-index: 30; border-bottom: 1px solid rgba(24, 45, 40, .1); background: rgba(251, 252, 250, .94); backdrop-filter: blur(16px); }
.site-header__inner { min-height: 78px; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; flex: 0 0 auto; }
.brand__mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 14px 14px 14px 4px; color: #fff; background: var(--brand); font: 700 24px/1 Georgia, serif; box-shadow: 0 10px 25px rgba(23, 85, 76, .2); }
.brand__mark img { width: 100%; height: 100%; display: block; object-fit: contain; }
.brand__mark--nalaruna { position: relative; overflow: hidden; padding: 2px; border: 1px solid rgba(11, 94, 147, .2); border-radius: 12px; background: #fff; }
.brand__mark--nalaruna img { position: absolute; inset: -25%; width: 150%; height: 150%; max-width: none; }
.brand__mark--large { width: 64px; height: 64px; border-radius: 22px 22px 22px 7px; font-size: 38px; }
.brand__copy { display: grid; line-height: 1.15; }
.brand__copy strong { font-size: 14px; letter-spacing: .02em; }
.brand__copy small { margin-top: 4px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.site-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.site-nav a, .text-link { color: #45504d; font-size: 13px; text-decoration: none; }
.site-nav a:hover, .text-link:hover { color: var(--brand); }
.mobile-navigation { position: relative; display: none; }
.mobile-navigation summary {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid #d5dcda;
    border-radius: 10px;
    color: #45504d;
    background: #fff;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
.mobile-navigation summary::-webkit-details-marker { display: none; }
.mobile-navigation summary::after { content: "⌄"; margin-left: 7px; color: var(--brand); }
.mobile-navigation[open] summary { border-color: var(--brand); color: var(--brand); }
.mobile-navigation[open] summary::after { content: "⌃"; }
.mobile-navigation__panel {
    position: absolute;
    z-index: 50;
    top: calc(100% + 12px);
    right: 0;
    width: min(300px, calc(100vw - 28px));
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 50px rgba(23, 55, 49, .18);
}
.mobile-navigation__panel nav { display: grid; padding: 10px; }
.mobile-navigation__panel nav a,
.mobile-navigation__account a {
    padding: 11px 12px;
    border-radius: 9px;
    color: #36433f;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}
.mobile-navigation__panel nav a:hover { color: var(--brand); background: var(--tint); }
.mobile-navigation__account {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px;
    border-top: 1px solid var(--line);
    background: #f8faf9;
}
.mobile-navigation__account form { margin: 0; padding: 0 12px; }
.site-header__actions { display: flex; align-items: center; gap: 18px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 13px 22px; border: 1px solid transparent; border-radius: 12px; font-weight: 700; font-size: 13px; text-decoration: none; cursor: pointer; transition: .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 42px; padding: 10px 16px; border-radius: 10px; }
.button--primary { color: #fff; background: var(--brand); box-shadow: 0 12px 25px color-mix(in srgb, var(--brand) 25%, transparent); }
.button--primary:hover { background: var(--brand-dark); }
.button--ghost { border-color: #ccd5d2; background: rgba(255,255,255,.48); }
.button--dark { color: #fff; background: var(--ink); }
.button--light { color: var(--brand-dark); background: #fff; }
.button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; transform: none; }
.global-notice { margin-top: 18px; padding: 14px 18px; border: 1px solid color-mix(in srgb, var(--brand) 22%, white); border-radius: 12px; color: var(--brand-dark); background: color-mix(in srgb, var(--brand) 7%, white); font-size: 12px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--brand); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.eyebrow i { width: 26px; height: 1px; background: currentColor; }
.eyebrow--light { color: #c9dcd7; }
.hero { overflow: hidden; }
.hero__grid { min-height: 660px; display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: center; }
.hero__copy h1, .publisher-hero h1, .journal-hero h1, .form-hero h1, .success-page h1, .branch-hero h1 {
    margin: 22px 0 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 6vw, 82px);
    line-height: .98;
    font-weight: 500;
    letter-spacing: -.045em;
}
.hero__copy h1 em, .publisher-hero h1 em, .journal-hero h1 em { color: var(--brand); font-weight: 500; }
.hero__lead { max-width: 620px; margin: 0; color: #596560; font-size: 18px; line-height: 1.7; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero__proof { display: flex; gap: 34px; margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--line); }
.hero__proof div { display: grid; }
.hero__proof strong { font-family: Georgia, serif; font-size: 27px; line-height: 1; }
.hero__proof span { margin-top: 7px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.hero--corporate { background: radial-gradient(circle at 85% 35%, rgba(213, 229, 220, .8), transparent 38%), linear-gradient(135deg, #fbfcfa, #f2f6f2); }
.ecosystem-map { position: relative; min-height: 540px; }
.ecosystem-map__glow { position: absolute; inset: 80px 60px; border: 1px dashed #b9c9c3; border-radius: 50%; }
.ecosystem-map__glow::after { content: ""; position: absolute; inset: 54px; border: 1px solid rgba(23,85,76,.1); border-radius: 50%; }
.ecosystem-map__core { position: absolute; z-index: 2; inset: 50% auto auto 50%; width: 190px; height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: translate(-50%,-50%); border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: var(--shadow); }
.ecosystem-map__core strong { margin-top: 14px; }
.ecosystem-map__core small { color: var(--muted); font-size: 11px; }
.orbit-card { position: absolute; z-index: 3; width: 150px; display: grid; padding: 16px; border: 1px solid rgba(255,255,255,.9); border-radius: 18px; color: inherit; background: rgba(255,255,255,.82); box-shadow: 0 15px 35px rgba(34,65,58,.1); text-decoration: none; backdrop-filter: blur(12px); transition: .2s ease; }
.orbit-card:hover { transform: translateY(-5px); border-color: var(--brand); }
.orbit-card b { color: #9aa7a2; font-size: 10px; }
.orbit-card span { margin-top: 8px; font-weight: 800; }
.orbit-card small { color: var(--muted); font-size: 10px; }
.orbit-card--publisher { top: 26px; left: 36%; }
.orbit-card--journal { top: 135px; right: -4px; }
.orbit-card--lpk { right: 34px; bottom: 58px; }
.orbit-card--jft { bottom: 18px; left: 20%; }
.orbit-card--bimbel { top: 170px; left: -12px; }
.priority-strip { color: #dcebe6; background: var(--brand-dark); }
.priority-strip__inner { min-height: 76px; display: flex; align-items: center; gap: 24px; }
.priority-strip p { margin: 0; color: #abc7be; font-size: 13px; }
.priority-strip strong { margin-left: auto; color: #fff; font-size: 13px; }
.priority-strip a { font-size: 12px; text-decoration: none; }
.section-number { padding: 5px 9px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.section { padding: 110px 0; }
.section--tint { background: var(--tint); }
.section--dark { color: #fff; background: #152420; }
.section-heading { display: grid; grid-template-columns: 1.5fr .75fr; gap: 80px; align-items: end; margin-bottom: 48px; }
.section-heading h2, .split-feature h2, .service-layout h2, .publisher-cta h2, .journal-section-heading h2, .journal-cta h2, .control-section h2, .branch-scope h2 {
    margin: 12px 0 0;
    font-family: Georgia, serif;
    font-size: clamp(36px, 4.2vw, 58px);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -.035em;
}
.section-heading > p { margin: 0; color: var(--muted); }
.section-heading--compact { align-items: center; margin-bottom: 32px; }
.section-heading--compact h2 { font-size: 42px; }
.module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.module-card { min-height: 310px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 20px; color: inherit; background: #fff; text-decoration: none; transition: .22s ease; }
.module-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--brand) 55%, white); box-shadow: var(--shadow); }
.module-card--featured { min-height: 330px; }
.module-card__top { display: flex; align-items: center; justify-content: space-between; }
.module-card__index { color: #9aa5a1; font: 12px Georgia, serif; }
.status { display: inline-flex; align-items: center; width: fit-content; padding: 5px 9px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.status--active, .status--available { color: #1a6a52; background: #e1f3eb; }
.status--in-development, .status--new-release { color: #9a501b; background: #fff0dd; }
.status--foundation { color: #385b96; background: #e8effc; }
.status--module-ready, .status--coming-soon { color: #65716d; background: #edf0ef; }
.module-card__icon { width: 52px; height: 52px; display: grid; place-items: center; margin-top: 36px; border-radius: 16px; color: var(--brand); background: color-mix(in srgb, var(--brand) 10%, white); font: 600 26px Georgia, serif; }
.module-card h3 { margin: 20px 0 8px; font-family: Georgia, serif; font-size: 24px; }
.module-card p { margin: 0; color: var(--muted); font-size: 13px; }
.module-card__footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 28px; color: #87918e; font-size: 10px; }
.module-card__footer b { color: var(--brand); font-size: 20px; }
.split-feature { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.split-feature__copy > p, .service-layout > div > p { color: var(--muted); font-size: 16px; }
.check-list { display: grid; gap: 12px; margin: 28px 0 34px; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 28px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--brand); font-weight: 900; }
.project-window { overflow: hidden; border: 1px solid #dbe3df; border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.project-window__bar { height: 54px; display: flex; align-items: center; gap: 7px; padding: 0 20px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.project-window__bar > span { width: 8px; height: 8px; border-radius: 50%; background: #cfd7d4; }
.project-window__bar small { margin-left: 9px; color: var(--muted); }
.project-window__body { padding: 34px; }
.project-window__title { display: flex; justify-content: space-between; gap: 20px; }
.project-window__title div { display: grid; }
.project-window__title small { color: var(--muted); font-size: 10px; letter-spacing: .08em; }
.project-window__title strong { margin-top: 5px; font-family: Georgia, serif; font-size: 22px; }
.progress-track { height: 6px; margin: 32px 0; overflow: hidden; border-radius: 99px; background: #e9eeec; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.milestone-row { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }
.milestone-row span { display: grid; justify-items: center; gap: 7px; color: #9aa4a0; font-size: 9px; text-align: center; }
.milestone-row i { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #d7dfdc; border-radius: 50%; font-style: normal; }
.milestone-row .done, .milestone-row .active { color: var(--brand); }
.milestone-row .done i { color: #fff; border-color: var(--brand); background: var(--brand); }
.milestone-row .active i { border-width: 2px; border-color: var(--brand); }
.project-note { display: flex; align-items: center; gap: 13px; margin-top: 32px; padding: 16px; border-radius: 14px; background: var(--tint); }
.project-note__avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--brand); font-size: 11px; font-weight: 800; }
.project-note div { display: grid; }
.project-note small { color: var(--muted); font-size: 11px; }
.inline-arrow { color: var(--brand); font-size: 13px; font-weight: 800; text-decoration: none; }
.book-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 36px; }
.book-card { display: grid; grid-template-columns: 145px 1fr; gap: 22px; align-items: end; }
.book-cover { position: relative; overflow: hidden; aspect-ratio: .68; display: flex; flex-direction: column; padding: 20px 16px; color: #fff; background: var(--book-accent); box-shadow: 8px 12px 25px color-mix(in srgb, var(--book-accent) 30%, transparent); }
.book-cover::after { content: ""; position: absolute; width: 140px; height: 140px; right: -62px; bottom: -55px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; box-shadow: 0 0 0 26px rgba(255,255,255,.06); }
.book-cover span { font-size: 7px; font-weight: 800; letter-spacing: .15em; }
.book-cover strong { margin-top: auto; font-family: Georgia, serif; font-size: 16px; line-height: 1.08; }
.book-cover small { margin-top: 10px; font-size: 7px; opacity: .78; }
.book-card > div:last-child > span { color: var(--brand); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-card h3 { margin: 8px 0 4px; font: 500 20px/1.12 Georgia, serif; }
.book-card p { margin: 0; color: var(--muted); font-size: 11px; }
.institutional-callout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: end; }
.institutional-callout h2 { margin: 12px 0 0; font: 500 clamp(42px,5vw,68px)/1 Georgia, serif; }
.institutional-callout p { color: #b7c7c1; }
.site-footer { padding: 72px 0 24px; color: #c5cfcb; background: #101916; }
.site-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 55px; }
.brand--footer .brand__copy strong { color: #fff; }
.site-footer p { max-width: 330px; color: #82918b; font-size: 12px; }
.site-footer__grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.site-footer__grid strong { color: #fff; font-size: 12px; }
.site-footer__grid a, .site-footer__grid span { color: #83908b; font-size: 11px; text-decoration: none; }
.site-footer__grid a:hover { color: #fff; }
.footer-status i, .control-date i { width: 7px; height: 7px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #52c993; box-shadow: 0 0 0 4px rgba(82,201,147,.1); }
.site-footer__bottom { display: flex; justify-content: space-between; margin-top: 58px; padding-top: 20px; border-top: 1px solid #26312d; color: #61706a; font-size: 10px; }

/* Error pages */
.error-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 40px 20px;
    background:
        radial-gradient(circle at 80% 20%, rgba(197, 220, 210, .7), transparent 32%),
        linear-gradient(145deg, #fbfcfa, #eef4ef);
}
.error-page__card {
    width: min(680px, 100%);
    padding: clamp(30px, 7vw, 64px);
    border: 1px solid rgba(23, 85, 76, .14);
    border-radius: 28px;
    background: rgba(255, 255, 255, .9);
    box-shadow: var(--shadow);
}
.error-page__code {
    display: block;
    margin-top: 70px;
    color: var(--brand);
    font: 500 13px Georgia, serif;
    letter-spacing: .18em;
}
.error-page h1 {
    max-width: 560px;
    margin: 16px 0;
    font: 500 clamp(38px, 7vw, 64px)/1 Georgia, serif;
    letter-spacing: -.04em;
}
.error-page p { max-width: 560px; margin: 0; color: var(--muted); font-size: 15px; }
.error-page__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }

/* Publisher */
.hero--publisher { background: radial-gradient(circle at 82% 40%, #efe1d0, transparent 34%), #faf7f2; }
.publisher-hero { min-height: 650px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 80px; align-items: center; }
.publisher-hero__visual { position: relative; min-height: 520px; perspective: 1000px; }
.stack-book { position: absolute; width: 300px; height: 430px; top: 45px; left: 50%; border-radius: 3px 14px 14px 3px; transform-origin: bottom center; box-shadow: 0 30px 55px rgba(67,39,23,.22); }
.stack-book--back { background: #c8a076; transform: translateX(-44%) rotate(9deg); }
.stack-book--middle { background: #ece2d3; transform: translateX(-58%) rotate(-4deg); }
.stack-book--front { display: flex; flex-direction: column; padding: 34px; color: #fff; background: linear-gradient(160deg,#814326,#4e2819); transform: translateX(-50%) rotate(1deg); }
.stack-book--front::after { content: ""; position: absolute; inset: 65px 30px; border: 1px solid rgba(255,255,255,.18); }
.stack-book--front span { font-size: 8px; font-weight: 800; letter-spacing: .22em; }
.stack-book--front strong { z-index: 1; margin: auto 0; font: 500 47px/.9 Georgia, serif; }
.stack-book--front small { z-index: 1; font-size: 9px; letter-spacing: .1em; }
.editorial-stamp { position: absolute; z-index: 3; right: 18px; bottom: 70px; width: 94px; height: 94px; display: grid; place-content: center; border: 2px solid #9b4d2d; border-radius: 50%; color: #9b4d2d; background: rgba(255,248,236,.86); font-size: 8px; line-height: 1.1; text-align: center; transform: rotate(-10deg); }
.editorial-stamp b { font-size: 13px; }
.service-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.service-chips span { padding: 7px 11px; border: 1px solid #dfd2c4; border-radius: 999px; color: #745847; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.section--publisher-paper { padding: 36px 0; background: #4f2919; }
.trust-row { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-row div { display: grid; padding: 0 24px; border-right: 1px solid rgba(255,255,255,.14); }
.trust-row div:first-child { padding-left: 0; }
.trust-row div:last-child { border: 0; }
.trust-row strong { color: #fff; font: 500 20px Georgia, serif; }
.trust-row span { color: #cdb2a2; font-size: 10px; }
.book-catalog { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.catalog-card { display: grid; grid-template-columns: 190px 1fr; gap: 28px; padding: 24px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.book-cover--large { min-height: 280px; }
.book-cover--large strong { font-size: 23px; }
.catalog-card__body { align-self: center; }
.catalog-card__meta { display: flex; align-items: center; gap: 8px; color: var(--brand); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.catalog-card__meta i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.catalog-card h3 { margin: 12px 0 5px; font: 500 27px/1.05 Georgia, serif; }
.catalog-card p { color: var(--muted); font-size: 12px; }
.catalog-card__author { margin: 0 !important; color: #8a6c5b !important; font-size: 10px !important; }
.empty-state { grid-column: 1/-1; padding: 70px; border: 1px dashed #ccd4d1; border-radius: 20px; text-align: center; }
.workflow { display: grid; grid-template-columns: repeat(9,1fr); margin: 0; padding: 0; list-style: none; }
.workflow li { position: relative; min-height: 150px; display: flex; flex-direction: column; padding: 20px 14px; border-top: 1px solid #c9d1ce; }
.workflow li::before { content: ""; position: absolute; top: -4px; left: 14px; width: 7px; height: 7px; border-radius: 50%; background: var(--brand); }
.workflow span { color: #a68e7e; font: 12px Georgia, serif; }
.workflow strong { margin-top: 20px; font-size: 11px; line-height: 1.35; }
.workflow small { margin-top: 7px; color: var(--brand); font-size: 8px; text-transform: uppercase; }
.service-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.service-list { border-top: 1px solid var(--line); }
.service-list article { display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.service-list article > span { color: var(--brand); font: 14px Georgia, serif; }
.service-list h3 { margin: 0 0 7px; font: 500 22px Georgia, serif; }
.service-list p { margin: 0; color: var(--muted); font-size: 12px; }
.publisher-cta { padding: 70px 0; color: #fff; background: linear-gradient(120deg,#4f2919,#774023); }
.publisher-cta__inner { display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center; }
.publisher-cta h2 { margin-top: 8px; }
.publisher-cta p { max-width: 750px; color: #d7bdad; }

/* Forms */
.form-hero { padding: 80px 0 55px; background: #f7f1e9; }
.form-hero__inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: end; }
.form-hero h1 { font-size: 64px; }
.form-hero p { max-width: 650px; color: var(--muted); }
.back-link { display: block; margin-bottom: 35px; color: var(--muted); font-size: 11px; text-decoration: none; }
.form-assurance { padding: 26px; border: 1px solid #ded0bf; border-radius: 18px; background: rgba(255,255,255,.65); }
.form-assurance > strong { font: 500 21px Georgia, serif; }
.form-assurance ol { display: grid; gap: 14px; margin: 20px 0; padding: 0; list-style: none; }
.form-assurance li { display: flex; align-items: center; gap: 12px; font-size: 11px; }
.form-assurance li span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--brand); font-size: 9px; }
.form-assurance p { margin: 0; color: #7e6a5b; font-size: 9px; }
.form-assurance p i { width: 6px; height: 6px; display: inline-block; margin-right: 7px; border-radius: 50%; background: #4d9c78; }
.section--form { padding-top: 60px; background: #fcfbf8; }
.form-shell { max-width: 900px; }
.alert { margin-bottom: 25px; padding: 18px 20px; border-radius: 14px; }
.alert--error { color: #8b2e25; border: 1px solid #edc8c3; background: #fff1ef; }
.alert--info { color: #2d5467; border: 1px solid #c6dde8; background: #eef8fc; }
.alert--success { color: #245e49; border: 1px solid #bfdfd0; background: #edf9f3; }
.alert p { margin: 3px 0 0; font-size: 12px; }
.intake-form { overflow: hidden; border: 1px solid #e2ddd5; border-radius: 24px; background: #fff; box-shadow: 0 25px 65px rgba(79,41,25,.07); }
.intake-form fieldset { margin: 0; padding: 34px 40px 40px; border: 0; border-bottom: 1px solid #e8e3dc; }
.intake-form legend { width: 100%; display: flex; align-items: center; gap: 14px; padding: 0 0 26px; }
.intake-form legend > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--brand); background: var(--tint); font: 11px Georgia, serif; }
.intake-form legend div { display: grid; }
.intake-form legend strong { font: 500 21px Georgia, serif; }
.intake-form legend small { color: var(--muted); font-size: 10px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field--wide { grid-column: 1/-1; }
.field { display: grid; gap: 8px; color: #38433f; font-size: 11px; font-weight: 700; }
.field span em { color: #9a9f9d; font-weight: 400; }
.field input, .field select, .field textarea { width: 100%; padding: 13px 14px; border: 1px solid #d7ddda; border-radius: 10px; color: var(--ink); outline: none; background: #fbfcfb; font-size: 13px; font-weight: 400; }
.field input[readonly] { color: #66716e; background: #f0f3f2; cursor: not-allowed; }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent); }
.field__error { color: #ad3f34; font-size: 10px; font-weight: 600; }
.field__error--block { display: block; margin-top: 12px; }
.choice-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.choice { cursor: pointer; }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice > span { min-height: 78px; display: grid; grid-template-columns: 24px 1fr; grid-template-rows: auto auto; gap: 2px 10px; align-content: center; padding: 14px; border: 1px solid #dce1df; border-radius: 12px; transition: .15s ease; }
.choice i { grid-row: 1/3; width: 22px; height: 22px; display: grid; place-items: center; align-self: center; border: 1px solid #cbd3d0; border-radius: 6px; color: transparent; font-style: normal; font-size: 11px; }
.choice strong { font-size: 12px; }
.choice small { color: var(--muted); font-size: 9px; }
.choice input:checked + span { border-color: var(--brand); background: var(--tint); }
.choice input:checked + span i { color: #fff; border-color: var(--brand); background: var(--brand); }
.form-submit { padding: 30px 40px 38px; }
.consent { display: flex; gap: 12px; color: var(--muted); font-size: 11px; cursor: pointer; }
.consent input { margin-top: 3px; accent-color: var(--brand); }
.button--submit { width: 100%; margin-top: 22px; border: 0; }
.form-submit > small { display: block; margin-top: 10px; color: #8b9491; font-size: 9px; text-align: center; }
.success-page { min-height: 720px; display: grid; place-items: center; padding: 90px 0; background: radial-gradient(circle at 50% 25%,#f3e9db,transparent 28%),#faf8f4; }
.success-page__inner { max-width: 760px; text-align: center; }
.success-mark { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 24px; border-radius: 50%; color: #fff; background: var(--brand); box-shadow: 0 15px 35px color-mix(in srgb, var(--brand) 25%, transparent); font-size: 27px; }
.success-page h1 { font-size: 56px; }
.success-page > div > p { color: var(--muted); }
.reference-card { max-width: 520px; display: grid; justify-items: center; gap: 8px; margin: 32px auto; padding: 26px; border: 1px solid #ded8cf; border-radius: 16px; background: #fff; }
.reference-card small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.reference-card strong { font: 600 23px Georgia, serif; letter-spacing: .05em; }
.next-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 30px 0; text-align: left; }
.next-steps div { display: grid; padding: 18px; border-radius: 14px; background: #fff; }
.next-steps span { color: var(--brand); font: 11px Georgia,serif; }
.next-steps strong { margin-top: 14px; font-size: 12px; }
.next-steps small { color: var(--muted); font-size: 9px; }
.privacy-note { margin: 28px auto !important; font-size: 11px; }
.inline-form { margin: 0; }
.text-button { padding: 0; border: 0; color: #7b8582; background: transparent; font-size: 11px; cursor: pointer; }
.text-button:hover { color: var(--brand); }
.account-link { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.signed-in-note { width: fit-content; display: flex; align-items: center; gap: 12px; margin-top: 22px; padding: 12px 15px; border: 1px solid #dfd1c1; border-radius: 13px; background: rgba(255,255,255,.62); }
.signed-in-note > span { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--brand); font-size: 12px; font-weight: 800; }
.signed-in-note p { margin: 0; font-size: 10px; }
.claim-card { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: center; margin: 34px 0 12px; padding: 26px; border: 1px solid #dfd5c8; border-radius: 18px; text-align: left; background: #fff; box-shadow: 0 18px 40px rgba(79,41,25,.07); }
.claim-card > div:first-child { display: grid; }
.claim-card > div:first-child > span { color: var(--brand); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.claim-card strong { margin-top: 7px; font: 500 22px Georgia,serif; }
.claim-card p { margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.claim-card__actions { display: grid; justify-items: center; gap: 10px; }
.success-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; }
.manuscript-workspace { margin-top: 42px; padding: 32px; border: 1px solid #ddd4ca; border-radius: 22px; text-align: left; background: #fff; box-shadow: 0 24px 55px rgba(79,41,25,.08); }
.manuscript-workspace__heading { display: flex; justify-content: space-between; gap: 30px; align-items: start; }
.manuscript-workspace__heading h2 { margin: 8px 0 5px; font: 500 34px Georgia,serif; }
.manuscript-workspace__heading p { max-width: 520px; margin: 0; color: var(--muted); font-size: 11px; }
.privacy-seal { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 99px; color: #32634f; background: #e9f5ef; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.privacy-seal i { width: 6px; height: 6px; border-radius: 50%; background: #45a276; }
.upload-form { display: grid; grid-template-columns: 1.15fr 1fr auto; gap: 14px; align-items: end; margin-top: 28px; padding: 20px; border-radius: 16px; background: #f8f5f0; }
.file-drop { min-height: 104px; display: grid; grid-template-columns: 42px 1fr; grid-template-rows: auto auto auto; gap: 1px 12px; align-content: center; padding: 14px; border: 1px dashed #c5b6a5; border-radius: 12px; color: #403a35; background: #fff; cursor: pointer; }
.file-drop__icon { grid-row: 1/4; width: 40px; height: 40px; display: grid; place-items: center; align-self: center; border-radius: 12px; color: #fff; background: var(--brand); font-size: 18px; }
.file-drop strong { font-size: 11px; }
.file-drop small { color: var(--muted); font-size: 8px; }
.file-drop input { max-width: 230px; color: #7d756d; font-size: 8px; }
.upload-form .field textarea { min-height: 104px; }
.upload-form .button { margin-bottom: 1px; white-space: nowrap; }
.file-history { overflow: hidden; margin-top: 24px; border: 1px solid #e2ddd7; border-radius: 15px; }
.file-history__head { display: flex; justify-content: space-between; padding: 14px 18px; background: #f5f2ed; }
.file-history__head strong { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.file-history__head span { color: var(--muted); font-size: 9px; }
.file-history article { display: grid; grid-template-columns: 42px 1fr auto auto; gap: 15px; align-items: center; padding: 16px 18px; border-top: 1px solid #ece8e2; }
.file-version { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--brand); background: var(--tint); font: 10px Georgia,serif; }
.file-history article > div { display: grid; min-width: 0; }
.file-history article > div strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.file-history article > div small { color: var(--muted); font-size: 8px; }
.file-history article > a { color: var(--brand); font-size: 9px; font-weight: 800; text-decoration: none; }
.file-history__empty { display: grid; gap: 3px; padding: 26px; color: var(--muted); text-align: center; }
.file-history__empty strong { color: var(--ink); font-size: 11px; }
.file-history__empty span { font-size: 9px; }

/* Account */
.account-page { padding: 85px 0 100px; background: radial-gradient(circle at 12% 20%,#dbe7ed,transparent 30%),linear-gradient(135deg,#f8fafb,#edf3f5); }
.account-layout { display: grid; grid-template-columns: 1fr .82fr; gap: 100px; align-items: center; }
.account-intro h1 { margin: 18px 0; font: 500 clamp(48px,5vw,70px)/.98 Georgia,serif; letter-spacing: -.045em; }
.account-intro > p { max-width: 570px; color: var(--muted); font-size: 16px; }
.account-trust { display: grid; gap: 10px; margin-top: 35px; }
.account-trust > div { display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; gap: 1px 12px; align-items: center; padding: 14px 0; border-top: 1px solid #cedce2; }
.account-trust span { grid-row: 1/3; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--brand); background: #fff; font: 9px Georgia,serif; }
.account-trust strong { font-size: 11px; }
.account-trust small { color: var(--muted); font-size: 9px; }
.auth-card { padding: 34px; border: 1px solid #d7e0e3; border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: 0 28px 70px rgba(34,65,80,.12); }
.auth-card__heading > span { color: var(--brand); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.auth-card__heading h2 { margin: 8px 0 4px; font: 500 34px Georgia,serif; }
.auth-card__heading p { margin: 0 0 24px; color: var(--muted); font-size: 10px; }
.auth-form { display: grid; gap: 17px; }
.auth-form .button--submit { margin-top: 2px; }
.consent--compact { align-items: start; font-size: 10px; }
.password-note { margin-top: -8px; color: var(--muted); font-size: 9px; }
.auth-card__switch { margin: 22px 0 0; color: var(--muted); font-size: 10px; text-align: center; }
.auth-card__switch a { color: var(--brand); font-weight: 800; text-decoration: none; }
.account-dashboard-hero { padding: 70px 0; color: #fff; background: radial-gradient(circle at 75% 0,#477891,transparent 32%),#243d4e; }
.account-dashboard-hero__inner { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.account-dashboard-hero h1 { margin: 12px 0 2px; font: 500 48px Georgia,serif; }
.account-dashboard-hero p { margin: 0; color: #b8ccd6; }
.identity-card { min-width: 330px; display: grid; grid-template-columns: 48px 1fr auto; gap: 14px; align-items: center; padding: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.08); }
.identity-card > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: #243d4e; background: #fff; font-weight: 900; }
.identity-card > div { display: grid; }
.identity-card strong { font-size: 11px; }
.identity-card small { color: #b8ccd6; font-size: 9px; }
.identity-card i { padding: 5px 8px; border-radius: 99px; color: #c9f1df; background: rgba(82,190,139,.16); font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.account-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.account-service { min-height: 215px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.account-service > span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.account-service strong { margin-top: 28px; font: 500 24px Georgia,serif; }
.account-service p { color: var(--muted); font-size: 10px; }
.account-service a { margin-top: auto; color: var(--brand); font-size: 10px; font-weight: 800; text-decoration: none; }
.account-service--active { color: #fff; border-color: var(--brand); background: var(--brand); }
.account-service--active > span, .account-service--active p { color: rgba(255,255,255,.7); }
.account-service--active a { color: #fff; }
.recent-requests { overflow: hidden; margin-top: 34px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.recent-requests__head { display: flex; justify-content: space-between; padding: 16px 20px; background: #f3f6f5; }
.recent-requests__head strong { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.recent-requests__head span { color: var(--muted); font-size: 9px; }
.recent-requests > a { display: grid; grid-template-columns: 1fr auto 110px 24px; gap: 18px; align-items: center; padding: 17px 20px; border-top: 1px solid #e9edeb; text-decoration: none; }
.recent-requests > a > div { display: grid; }
.recent-requests > a > div strong { font-size: 11px; }
.recent-requests > a small { color: var(--muted); font-size: 8px; }
.recent-requests > a b { color: var(--brand); }

/* Publisher author workspace */
.publisher-dashboard-hero { padding: 70px 0; color: #fff; background: radial-gradient(circle at 75% 0,#925436,transparent 33%),#4f2919; }
.publisher-dashboard-hero__inner { display: flex; justify-content: space-between; gap: 50px; align-items: center; }
.publisher-dashboard-hero h1 { margin: 12px 0 3px; font: 500 48px Georgia,serif; }
.publisher-dashboard-hero p { max-width: 650px; margin: 0; color: #ddc5b8; }
.publisher-dashboard { background: #fbf9f6; }
.request-project-card { display: grid; grid-template-columns: 1fr 150px 90px auto; gap: 24px; align-items: center; margin-bottom: 14px; padding: 24px; border: 1px solid #e2dcd4; border-radius: 18px; background: #fff; transition: .18s ease; }
.request-project-card:hover { border-color: #c7ae9b; box-shadow: 0 15px 35px rgba(79,41,25,.07); }
.request-project-card__identity { display: grid; }
.request-project-card__identity > span { color: var(--brand); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.request-project-card h3 { margin: 5px 0 2px; font: 500 23px Georgia,serif; }
.request-project-card p { margin: 0; color: var(--muted); font-size: 9px; }
.request-project-card__status, .request-project-card__files { display: grid; gap: 6px; }
.request-project-card__status small, .request-project-card__files small { color: var(--muted); font-size: 8px; }
.request-project-card__files strong { font: 500 30px Georgia,serif; }
.empty-state { max-width: 700px; display: grid; justify-items: start; padding: 42px; border: 1px dashed #cfb9a9; border-radius: 20px; background: #fff; }
.empty-state > span { color: var(--brand); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.empty-state h2 { margin: 10px 0 5px; font: 500 34px Georgia,serif; }
.empty-state p { margin: 0 0 24px; color: var(--muted); }

/* Journals */
.portal--journals h1, .portal--journals h2, .portal--journals h3 { font-family: Georgia, serif; }
.journal-hero { padding: 80px 0 90px; background: radial-gradient(circle at 77% 30%,#dfe7ee,transparent 35%),#f7f8fa; }
.journal-hero__grid { min-height: 540px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; align-items: center; }
.journal-cover { position: relative; min-height: 475px; display: flex; flex-direction: column; padding: 44px; color: #fff; background: linear-gradient(145deg,#24496e,#162f49); box-shadow: 20px 30px 60px rgba(24,54,81,.24); }
.journal-cover__line { width: 60px; height: 3px; margin-bottom: 25px; background: #c69a58; }
.journal-cover > span { font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.journal-cover > small { margin-top: 7px; color: #b5c6d6; font-size: 8px; letter-spacing: .1em; }
.journal-cover > strong { margin: auto 0; font: 500 54px/.93 Georgia,serif; }
.journal-cover__seal { position: absolute; right: 34px; bottom: 34px; width: 70px; height: 70px; display: grid; place-content: center; border: 1px solid #c69a58; border-radius: 50%; color: #e6c895; font-size: 8px; line-height: 1.1; text-align: center; }
.journal-principles { color: #d7e2ea; background: #183651; }
.journal-principles__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.journal-principles__grid div { min-height: 90px; display: flex; align-items: center; gap: 14px; padding: 0 22px; border-right: 1px solid rgba(255,255,255,.1); }
.journal-principles__grid span { color: #c69a58; font: 12px Georgia,serif; }
.journal-principles__grid strong { font-size: 10px; line-height: 1.4; }
.journal-section-heading { display: grid; grid-template-columns: .4fr 1fr; gap: 80px; align-items: start; margin-bottom: 50px; }
.journal-section-heading > span { padding-top: 12px; color: var(--brand); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.journal-section-heading h2 { margin: 0; }
.journal-list { display: grid; gap: 18px; }
.journal-card { display: grid; grid-template-columns: 170px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.journal-card__identity { display: flex; flex-direction: column; justify-content: space-between; padding: 24px; color: #fff; background: var(--journal-accent); }
.journal-card__identity > span { font-size: 10px; opacity: .6; }
.journal-monogram { font: 500 42px Georgia,serif; }
.journal-card__body { padding: 30px 34px; }
.journal-card__meta { display: flex; justify-content: space-between; align-items: center; color: var(--journal-accent); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.journal-card h3 { margin: 14px 0 8px; font-size: 30px; font-weight: 500; }
.journal-card p { max-width: 750px; margin: 0; color: var(--muted); font-size: 12px; }
.journal-card__links { display: flex; gap: 24px; margin-top: 24px; color: #647781; font-size: 10px; }
.journal-card__links a { color: var(--journal-accent); font-weight: 800; text-decoration: none; }
.section--journal-paper { background: #f0f3f6; }
.journal-preparation {
    max-width: 850px;
    padding: 52px;
    border: 1px solid #d6dde3;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(39, 77, 118, .08);
}
.journal-preparation h2 { margin: 14px 0; font: 500 clamp(34px, 4vw, 52px)/1.05 Georgia, serif; }
.journal-preparation p { max-width: 720px; margin: 0 0 24px; color: var(--muted); }
.issue-layout { display: grid; grid-template-columns: 280px 1fr; gap: 70px; }
.issue-meta { position: sticky; top: 30px; align-self: start; display: flex; flex-direction: column; }
.issue-meta h2 { margin: 18px 0; font-size: 34px; font-weight: 500; line-height: 1.05; }
.issue-meta > strong { color: var(--brand); font-size: 14px; }
.issue-meta > span:not(.eyebrow) { color: var(--muted); font-size: 12px; }
.issue-meta p { font-family: Georgia,serif; font-size: 16px; }
.issue-meta__rule { width: 50px; height: 2px; margin: 18px 0; background: #b38745; }
.issue-meta small { color: var(--muted); font-size: 9px; }
.article-list { border-top: 1px solid #cfd7dd; }
.article-list article { display: grid; grid-template-columns: 45px 1fr 75px; gap: 24px; padding: 28px 0; border-bottom: 1px solid #cfd7dd; }
.article-list__index { color: #9aa9b3; font: 12px Georgia,serif; }
.article-list__type { color: var(--brand); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.article-list h3 { margin: 8px 0 5px; font-size: 22px; font-weight: 500; line-height: 1.2; }
.article-list p { color: var(--muted); font-size: 11px; }
.article-list__authors { color: #435f76 !important; font-weight: 700; }
.keyword-list { display: flex; flex-wrap: wrap; gap: 6px; }
.keyword-list span { padding: 4px 8px; border-radius: 99px; color: #687984; background: #e2e7eb; font-size: 8px; }
.article-list__pages { display: flex; flex-direction: column; align-items: flex-end; }
.article-list__pages small { color: var(--muted); font-size: 8px; }
.article-list__pages strong { color: var(--brand); font: 14px Georgia,serif; }
.article-list__pages span { margin-top: auto; color: var(--brand); font-size: 9px; font-weight: 800; }
.journal-cta { padding: 80px 0; color: #fff; background: #183651; }
.journal-cta__inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: end; }
.journal-cta__inner > div > span { color: #c69a58; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.journal-cta p { color: #b6c7d4; font-size: 13px; }

/* Core */
.control-hero { padding: 70px 0 55px; color: #fff; background: radial-gradient(circle at 80% 0,#294a8c,transparent 32%),#172853; }
.control-hero__top { display: flex; justify-content: space-between; gap: 50px; }
.control-hero h1 { margin: 12px 0 4px; font: 500 42px Georgia,serif; }
.control-hero p { margin: 0; color: #9fb3da; }
.control-date { display: flex; flex-direction: column; align-items: flex-end; }
.control-date small { color: #8ea2cc; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.control-date strong { margin: 6px 0; }
.control-date span { color: #a6b6d6; font-size: 9px; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 42px; }
.metric-card { min-height: 140px; display: flex; flex-direction: column; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.06); }
.metric-card span { color: #acbcdb; font-size: 10px; }
.metric-card strong { margin-top: auto; font: 500 42px Georgia,serif; }
.metric-card small { color: #7387af; font-size: 8px; }
.control-section { padding: 80px 0; background: #f7f8fb; }
.control-section--tint { background: #edf1f9; }
.control-badge { padding: 7px 11px; border: 1px solid #d6ddea; border-radius: 99px; color: #66728a; font-size: 9px; }
.control-table { overflow: hidden; border: 1px solid #dce1ea; border-radius: 16px; background: #fff; }
.control-table__head, .control-table > a { display: grid; grid-template-columns: 1.5fr 1.3fr .65fr .95fr .45fr; gap: 18px; align-items: center; padding: 15px 20px; }
.control-table__head { color: #7d889d; background: #f3f5f9; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.control-table > a { border-top: 1px solid #e6e9ef; color: #667085; font-size: 10px; text-decoration: none; }
.control-table > a:hover { background: #f8faff; }
.control-table > a > span:first-child { display: flex; align-items: center; gap: 11px; color: #27344c; font-size: 11px; }
.unit-dot { width: 10px; height: 10px; border-radius: 3px; background: #7183a4; }
.unit-dot--publisher { background: #a55a35; }
.unit-dot--journals { background: #365f8b; }
.unit-dot--lpk { background: #4e806b; }
.unit-dot--jft { background: #ae6c39; }
.unit-dot--bimbel { background: #725b9f; }
.activity-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; }
.attention-list { display: grid; gap: 12px; margin-top: 30px; }
.attention-list article { display: grid; grid-template-columns: 42px 1fr auto; gap: 16px; align-items: center; padding: 17px; border: 1px solid #dce2ed; border-radius: 14px; background: #fff; }
.attention-list__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: #31519a; background: #e5ebf8; font: 600 17px Georgia,serif; }
.attention-list div { display: grid; }
.attention-list strong { font-size: 11px; }
.attention-list p { margin: 2px 0 0; color: var(--muted); font-size: 9px; }
.attention-list article > b { color: #7c879b; font-size: 8px; text-transform: uppercase; }
.audit-panel { overflow: hidden; align-self: start; border: 1px solid #d8deea; border-radius: 16px; background: #fff; }
.audit-panel__head { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #e2e6ee; }
.audit-panel__head div { display: grid; }
.audit-panel__head span { color: #8792a6; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.audit-panel__head strong { font-size: 13px; }
.audit-panel__head i { width: 8px; height: 8px; border-radius: 50%; background: #59c28c; }
.audit-item { display: flex; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #edf0f4; }
.audit-item > span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #31519a; background: #e8edf8; font-size: 9px; font-weight: 800; }
.audit-item div { display: grid; }
.audit-item strong { font-size: 10px; }
.audit-item small { color: #8a94a5; font-size: 8px; }
.audit-empty { padding: 35px 20px; text-align: center; }
.audit-empty p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }

/* Branch placeholders */
.branch-hero { padding: 90px 0; background: radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--brand) 17%,white),transparent 35%),#f7f9f8; }
.branch-hero__grid { min-height: 470px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: center; }
.branch-hero h1 { color: var(--brand); }
.branch-module-card { padding: 28px; border: 1px solid color-mix(in srgb,var(--brand) 22%,white); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.branch-module-card__top { display: flex; justify-content: space-between; color: var(--brand); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.branch-module-card > strong { display: block; margin: 30px 0 14px; font: 500 27px Georgia,serif; }
.branch-module-card__progress { height: 6px; overflow: hidden; border-radius: 99px; background: #e6ebe9; }
.branch-module-card__progress i { display: block; height: 100%; background: var(--brand); }
.branch-module-card ul { display: grid; gap: 11px; margin: 25px 0 0; padding: 0; list-style: none; }
.branch-module-card li { position: relative; padding-left: 22px; color: #9aa3a0; font-size: 10px; }
.branch-module-card li::before { content: "○"; position: absolute; left: 0; }
.branch-module-card li.done { color: #52615c; }
.branch-module-card li.done::before { content: "✓"; color: var(--brand); font-weight: 900; }
.branch-scope { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.branch-scope > div > p { color: var(--muted); }
.scope-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.scope-grid article { display: grid; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.scope-grid span { color: var(--brand); font: 11px Georgia,serif; }
.scope-grid strong { margin-top: 22px; font-size: 13px; }
.scope-grid small { color: var(--muted); font-size: 9px; }
.architecture-note { display: flex; align-items: center; gap: 18px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.architecture-note__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: var(--brand); font: 500 25px Georgia,serif; }
.architecture-note div { display: grid; }
.architecture-note small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.architecture-note strong { font-family: Georgia,serif; }
.architecture-note > .status { margin-left: auto; }

/* AI studios */
.ai-promo { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 90% 0, color-mix(in srgb, var(--accent) 38%, transparent), transparent 34%), var(--brand-dark); }
.ai-promo::after { content: ""; position: absolute; width: 430px; height: 430px; right: -190px; bottom: -300px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 50px rgba(255,255,255,.025), 0 0 0 100px rgba(255,255,255,.018); pointer-events: none; }
.ai-promo .eyebrow { color: color-mix(in srgb, var(--accent) 70%, white); }
.ai-promo__heading { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 50px; align-items: end; margin-bottom: 42px; }
.ai-promo__heading h2 { max-width: 720px; margin: 12px 0 8px; font: 500 clamp(38px, 4.5vw, 60px)/1.02 Georgia, serif; letter-spacing: -.035em; }
.ai-promo__heading p { max-width: 650px; margin: 0; color: rgba(255,255,255,.68); }
.ai-badge { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; padding: 9px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; color: rgba(255,255,255,.84); background: rgba(255,255,255,.06); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ai-badge i { width: 7px; height: 7px; border-radius: 50%; background: #83e5b7; box-shadow: 0 0 0 5px rgba(131,229,183,.12); }
.ai-promo__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.ai-promo__grid article { min-height: 210px; display: flex; flex-direction: column; padding: 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.055); backdrop-filter: blur(8px); }
.ai-promo__grid article > span { color: color-mix(in srgb, var(--accent) 72%, white); font: 12px Georgia, serif; }
.ai-promo__grid h3 { margin: auto 0 7px; font: 500 21px/1.12 Georgia, serif; }
.ai-promo__grid p { margin: 0; color: rgba(255,255,255,.62); font-size: 11px; }
.ai-promo__footer { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 35px; margin-top: 24px; padding: 22px 24px; border-radius: 16px; color: var(--ink); background: #fff; }
.ai-promo__footer > div { display: grid; }
.ai-promo__footer strong { font-family: Georgia, serif; font-size: 17px; }
.ai-promo__footer span:not(.button span):not(.status) { color: var(--muted); font-size: 10px; }
.ai-studio-hero { padding: 70px 0; color: #fff; background: radial-gradient(circle at 75% 10%, color-mix(in srgb, var(--accent) 32%, transparent), transparent 30%), var(--brand-dark); }
.ai-studio-hero__inner { display: grid; grid-template-columns: 1fr 270px; gap: 70px; align-items: center; }
.ai-studio-hero h1 { margin: 14px 0 10px; font: 500 clamp(42px, 5vw, 66px)/1 Georgia, serif; letter-spacing: -.04em; }
.ai-studio-hero p { max-width: 650px; margin: 0; color: rgba(255,255,255,.68); font-size: 16px; }
.ai-safety-card { display: grid; padding: 22px; border: 1px solid rgba(255,255,255,.17); border-radius: 18px; background: rgba(255,255,255,.07); }
.ai-safety-card span { color: color-mix(in srgb, var(--accent) 70%, white); font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.ai-safety-card strong { margin: 9px 0 6px; font: 500 23px Georgia, serif; }
.ai-safety-card small { color: rgba(255,255,255,.6); font-size: 10px; }
.ai-workspace { background: #f7f9f8; }
.ai-workspace__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 38px; align-items: start; }
.ai-generator-panel { padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 18px 45px rgba(23,55,49,.07); }
.ai-generator-panel__heading h2 { margin: 10px 0 5px; font: 500 38px/1.08 Georgia, serif; letter-spacing: -.025em; }
.ai-generator-panel__heading p { margin: 0 0 28px; color: var(--muted); font-size: 12px; }
.ai-form { display: grid; gap: 25px; }
.ai-generator-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; padding: 0; border: 0; }
.ai-generator-options legend { grid-column: 1/-1; margin-bottom: 4px; color: #38433f; font-size: 11px; font-weight: 800; }
.ai-generator-options label { position: relative; display: block; cursor: pointer; }
.ai-generator-options input { position: absolute; opacity: 0; pointer-events: none; }
.ai-generator-options label > span { min-height: 112px; display: flex; flex-direction: column; padding: 16px; border: 1px solid #dce2df; border-radius: 14px; background: #fbfcfb; transition: .18s ease; }
.ai-generator-options label > span::before { content: ""; width: 9px; height: 9px; margin-bottom: auto; border: 2px solid #c5ceca; border-radius: 50%; }
.ai-generator-options strong { margin: 13px 0 4px; font-size: 12px; }
.ai-generator-options small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.ai-generator-options input:checked + span { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 6%, white); box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 10%, transparent); }
.ai-generator-options input:checked + span::before { border-color: var(--brand); background: var(--brand); box-shadow: inset 0 0 0 2px #fff; }
.ai-generator-options input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--brand) 22%, transparent); outline-offset: 2px; }
.ai-form .field textarea { min-height: 210px; line-height: 1.6; }
.ai-form .field > small:not(.field__error) { color: #84908b; font-size: 9px; font-weight: 400; }
.ai-guidance { position: sticky; top: 24px; padding: 27px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.ai-guidance ol { display: grid; gap: 21px; margin: 24px 0; padding: 0; list-style: none; }
.ai-guidance li { display: grid; grid-template-columns: 27px 1fr; gap: 12px; }
.ai-guidance li > b { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; color: var(--brand); background: color-mix(in srgb, var(--brand) 9%, white); font: 500 12px Georgia, serif; }
.ai-guidance li > span { display: grid; }
.ai-guidance li strong { font-size: 11px; }
.ai-guidance li small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.ai-guidance__rule { padding-top: 19px; border-top: 1px solid var(--line); }
.ai-guidance__rule strong { font-size: 11px; }
.ai-guidance__rule p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.ai-results { display: grid; gap: 18px; }
.ai-result { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 14px 35px rgba(23,55,49,.06); }
.ai-result__head { display: flex; justify-content: space-between; gap: 25px; padding: 22px 25px; border-bottom: 1px solid var(--line); background: #fafcfb; }
.ai-result__head div { display: grid; }
.ai-result__head span { color: var(--brand); font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.ai-result__head h3 { margin: 5px 0 0; font: 500 22px Georgia, serif; }
.ai-result__head time { color: var(--muted); font-size: 9px; }
.ai-result__prompt { padding: 18px 25px; border-bottom: 1px solid var(--line); }
.ai-result__prompt strong { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.ai-result__prompt p { margin: 5px 0 0; color: #46534f; font-size: 11px; }
.ai-result__output { padding: 27px 25px; color: #26312e; font-family: Georgia, serif; font-size: 15px; line-height: 1.75; }
.ai-result__notice { padding: 12px 25px; color: #86521e; background: #fff4e5; font-size: 9px; font-weight: 800; }

@media (max-width: 1020px) {
    .site-nav { display: none; }
    .mobile-navigation { display: block; margin-left: auto; }
    .mobile-navigation__panel { position: fixed; top: 70px; right: 20px; left: 20px; width: auto; }
    .site-header__actions { margin-left: 0; }
    .hero__grid, .publisher-hero, .journal-hero__grid, .branch-hero__grid { grid-template-columns: 1fr; padding: 80px 0; }
    .ecosystem-map { min-height: 510px; }
    .module-grid { grid-template-columns: repeat(2,1fr); }
    .split-feature, .service-layout, .issue-layout, .branch-scope { grid-template-columns: 1fr; gap: 50px; }
    .project-window { max-width: 700px; }
    .book-row { grid-template-columns: 1fr; }
    .book-card { max-width: 420px; }
    .workflow { grid-template-columns: repeat(3,1fr); }
    .workflow li { min-height: 110px; }
    .journal-cover { max-width: 430px; }
    .issue-meta { position: static; }
    .control-table { overflow-x: auto; }
    .control-table__head, .control-table > a { min-width: 800px; }
    .account-layout { grid-template-columns: 1fr; gap: 45px; }
    .auth-card { max-width: 700px; }
    .upload-form { grid-template-columns: 1fr 1fr; }
    .upload-form .button { grid-column: 1/-1; }
    .request-project-card { grid-template-columns: 1fr 130px 75px; }
    .request-project-card > .button { grid-column: 1/-1; }
    .ai-workspace__layout { grid-template-columns: 1fr; }
    .ai-guidance { position: static; }
}

@media (max-width: 760px) {
    :root { --shell: min(100% - 28px, 1180px); }
    .site-header__inner { min-height: 68px; }
    .mobile-navigation__panel { top: 62px; right: 14px; left: 14px; }
    .brand__copy small, .text-link { display: none; }
    .site-header__actions { gap: 8px; }
    .site-header__actions .inline-form, .account-link { display: none; }
    .site-header__actions .button { padding: 9px 12px; font-size: 10px; }
    .hero__grid, .publisher-hero, .journal-hero__grid, .branch-hero__grid { min-height: auto; gap: 35px; padding: 65px 0; }
    .hero__copy h1, .publisher-hero h1, .journal-hero h1, .form-hero h1, .success-page h1, .branch-hero h1 { font-size: 45px; }
    .hero__lead { font-size: 15px; }
    .hero__proof { gap: 20px; }
    .ecosystem-map { min-height: 430px; transform: scale(.88); margin: -30px; }
    .orbit-card { width: 130px; }
    .priority-strip__inner { min-height: 92px; flex-wrap: wrap; gap: 7px 14px; padding: 16px 0; }
    .priority-strip strong { width: 100%; margin: 0; }
    .priority-strip p { display: none; }
    .section { padding: 75px 0; }
    .section-heading, .institutional-callout, .publisher-cta__inner, .journal-section-heading, .journal-cta__inner, .activity-layout, .form-hero__inner { grid-template-columns: 1fr; gap: 28px; }
    .section-heading h2, .split-feature h2, .service-layout h2, .publisher-cta h2, .journal-section-heading h2, .journal-cta h2, .control-section h2, .branch-scope h2 { font-size: 38px; }
    .module-grid, .book-catalog, .trust-row, .metric-grid, .scope-grid { grid-template-columns: 1fr; }
    .module-card { min-height: 280px; }
    .catalog-card { grid-template-columns: 120px 1fr; gap: 18px; padding: 16px; }
    .book-cover--large { min-height: 200px; padding: 14px 11px; }
    .book-cover--large strong { font-size: 15px; }
    .catalog-card h3 { font-size: 21px; }
    .catalog-card__body > p:not(.catalog-card__author) { display: none; }
    .trust-row div { padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
    .workflow { grid-template-columns: repeat(2,1fr); }
    .publisher-hero__visual { min-height: 430px; }
    .stack-book { width: 240px; height: 360px; }
    .stack-book--front strong { font-size: 39px; }
    .form-hero__inner { gap: 35px; }
    .field-grid, .choice-grid { grid-template-columns: 1fr; }
    .field--wide { grid-column: auto; }
    .intake-form fieldset, .form-submit { padding-inline: 20px; }
    .next-steps { grid-template-columns: 1fr; }
    .claim-card, .account-dashboard-hero__inner { grid-template-columns: 1fr; }
    .claim-card__actions { justify-items: stretch; }
    .manuscript-workspace { padding: 22px 16px; }
    .manuscript-workspace__heading, .publisher-dashboard-hero__inner { align-items: flex-start; flex-direction: column; }
    .upload-form { grid-template-columns: 1fr; padding: 14px; }
    .upload-form .button { grid-column: auto; }
    .file-history article { grid-template-columns: 42px 1fr auto; }
    .file-history article > .status { display: none; }
    .account-page { padding: 60px 0 75px; }
    .account-intro h1 { font-size: 46px; }
    .auth-card { padding: 25px 20px; }
    .identity-card { min-width: 0; }
    .account-service-grid { grid-template-columns: 1fr; }
    .recent-requests > a { grid-template-columns: 1fr auto; }
    .recent-requests > a > .status, .recent-requests > a > small { display: none; }
    .request-project-card { grid-template-columns: 1fr 1fr; }
    .request-project-card__identity { grid-column: 1/-1; }
    .request-project-card > .button { grid-column: 1/-1; }
    .journal-cover { min-height: 420px; padding: 30px; }
    .journal-preparation { padding: 30px 24px; }
    .journal-cover > strong { font-size: 45px; }
    .journal-principles__grid { grid-template-columns: 1fr 1fr; }
    .journal-principles__grid div { min-height: 75px; padding: 14px; }
    .journal-card { grid-template-columns: 75px 1fr; }
    .journal-card__identity { padding: 18px 12px; }
    .journal-monogram { font-size: 24px; }
    .journal-card__body { padding: 22px 18px; }
    .journal-card h3 { font-size: 23px; }
    .journal-card__links { flex-wrap: wrap; gap: 8px 15px; }
    .article-list article { grid-template-columns: 30px 1fr; }
    .article-list__pages { grid-column: 2; align-items: flex-start; flex-direction: row; gap: 10px; }
    .article-list__pages span { margin: 0 0 0 auto; }
    .control-hero__top { flex-direction: column; }
    .control-date { align-items: flex-start; }
    .attention-list article { grid-template-columns: 40px 1fr; }
    .attention-list article > b { grid-column: 2; }
    .ai-promo__heading, .ai-promo__footer { align-items: flex-start; flex-direction: column; }
    .ai-studio-hero__inner { grid-template-columns: 1fr; gap: 28px; }
    .ai-safety-card { max-width: 430px; }
    .ai-generator-panel { padding: 24px 18px; }
    .ai-generator-options { grid-template-columns: 1fr; }
    .ai-generator-options label > span { min-height: 100px; }
    .ai-result__head { flex-direction: column; gap: 8px; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; }
    .site-footer__grid > div:first-child { grid-column: 1/-1; }
    .site-footer__bottom { gap: 20px; }
}

@media (max-width: 460px) {
    .brand__copy strong { font-size: 12px; }
    .site-header__inner { gap: 8px; }
    .brand__mark { width: 36px; height: 36px; font-size: 21px; }
    .mobile-navigation summary { min-height: 38px; padding-inline: 10px; }
    .site-header__actions .button { max-width: 118px; line-height: 1.1; text-align: center; }
    .ecosystem-map { min-height: 360px; transform: scale(.72); margin: -65px; }
    .hero__proof { justify-content: space-between; }
    .module-grid, .book-catalog { gap: 14px; }
    .catalog-card { grid-template-columns: 100px 1fr; }
    .workflow { grid-template-columns: 1fr 1fr; }
    .journal-principles__grid { grid-template-columns: 1fr; }
    .site-footer__grid { grid-template-columns: 1fr; }
    .site-footer__grid > div:first-child { grid-column: auto; }
    .site-footer__bottom { flex-direction: column; }
}

/* NALARUNA Ai · R0-R1 foundation */
body.portal--nalaruna {
    --brand: #0b5e93;
    --brand-dark: #082d4a;
    --accent: #f0b51a;
    --tint: #edf6fb;
    --nalaruna-blue: #1688bf;
    --nalaruna-yellow: #f6c42d;
}

.portal--nalaruna .brand__mark {
    background: #fff;
    box-shadow: 0 12px 28px rgba(11, 94, 147, .24);
}

.nalaruna-assistance-landing {
    position: relative;
    overflow: hidden;
    padding: 48px 0 58px;
    background:
        radial-gradient(circle at 7% 16%, rgba(22, 136, 191, .13), transparent 25%),
        radial-gradient(circle at 92% 8%, rgba(246, 196, 45, .14), transparent 24%),
        linear-gradient(145deg, #fbfdff 0%, #edf7fb 56%, #fffaf0 100%);
}
.nalaruna-assistance-landing::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    pointer-events: none;
    background-image: linear-gradient(rgba(8, 45, 74, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(8, 45, 74, .08) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, #000, transparent 86%);
}
.nalaruna-assistance-landing .shell { position: relative; z-index: 1; }
.nalaruna-assistance-intro { display: grid; grid-template-columns: 145px minmax(0, 720px); gap: 30px; align-items: center; margin-bottom: 34px; }
.nalaruna-logo-frame { overflow: hidden; width: 145px; height: 145px; border: 1px solid rgba(11, 94, 147, .18); border-radius: 28px; background: #fff; box-shadow: 0 22px 55px rgba(8, 45, 74, .18); }
.nalaruna-logo-frame img { width: 100%; height: 100%; display: block; object-fit: contain; }
.nalaruna-assistance-intro .eyebrow { color: var(--brand); }
.nalaruna-assistance-intro h1 { margin: 11px 0 10px; color: var(--brand-dark); font: 500 clamp(36px, 4.6vw, 62px)/1 Georgia, serif; letter-spacing: -.04em; }
.nalaruna-assistance-intro p { max-width: 680px; margin: 0; color: #526a73; font-size: 13px; line-height: 1.7; }

.nalaruna-assistant-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.nalaruna-assistant-card { min-height: 258px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 78px 1fr; gap: 14px 20px; padding: 20px; border: 1px solid #d6e4ea; border-radius: 19px; color: var(--ink); text-decoration: none; background: rgba(255, 255, 255, .91); box-shadow: 0 15px 34px rgba(8, 45, 74, .055); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nalaruna-assistant-card:hover { transform: translateY(-4px); border-color: rgba(11, 94, 147, .38); box-shadow: 0 24px 48px rgba(8, 45, 74, .11); }
.nalaruna-assistant-card:focus-visible { outline: 3px solid rgba(11, 94, 147, .3); outline-offset: 3px; }
.nalaruna-assistant-card > span { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 11px; color: var(--brand); background: #e7f3f8; font-size: 9px; font-weight: 900; }
.nalaruna-assistant-art { position: relative; grid-column: 1/-1; overflow: hidden; height: 78px; margin: 0; border: 1px solid rgba(11, 94, 147, .1); border-radius: 13px; background: #fff; }
.nalaruna-assistant-art img { position: absolute; top: 50%; left: var(--art-x); width: 300%; max-width: none; height: auto; transform: translateY(var(--art-y)); }
.nalaruna-assistant-art--1 { --art-x: 12.5%; --art-y: -31%; }
.nalaruna-assistant-art--2 { --art-x: -62.5%; --art-y: -31%; }
.nalaruna-assistant-art--3 { --art-x: -137.5%; --art-y: -31%; }
.nalaruna-assistant-art--4 { --art-x: -212.5%; --art-y: -31%; }
.nalaruna-assistant-art--5 { --art-x: 12.5%; --art-y: -63.5%; }
.nalaruna-assistant-art--6 { --art-x: -62.5%; --art-y: -63.5%; }
.nalaruna-assistant-art--7 { --art-x: -137.5%; --art-y: -63.5%; }
.nalaruna-assistant-art--8 { --art-x: -212.5%; --art-y: -63.5%; }
.nalaruna-assistant-card > div { grid-column: 1/-1; align-self: end; }
.nalaruna-assistant-card h2 { margin: 0; color: var(--brand-dark); font: 500 23px/1.08 Georgia, serif; letter-spacing: -.02em; }
.nalaruna-assistant-card p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.nalaruna-assistant-card > b { grid-column: 2; grid-row: 1; width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--brand); font-size: 14px; transition: transform .2s ease; }
.nalaruna-assistant-card:hover > b { transform: translateX(3px); }
.nalaruna-assistant-card--primary { color: #fff; border-color: #0b5e93; background: linear-gradient(145deg, #082d4a, #0b5e93); }
.nalaruna-assistant-card--primary > span { color: #082d4a; background: var(--nalaruna-yellow); }
.nalaruna-assistant-card--primary .nalaruna-assistant-art { border-color: rgba(255, 255, 255, .22); }
.nalaruna-assistant-card--primary h2 { color: #fff; }
.nalaruna-assistant-card--primary p { color: #c6deea; }
.nalaruna-assistant-card--primary > b { color: #082d4a; background: var(--nalaruna-yellow); }
.nalaruna-assistance-note { margin: 22px 0 0; color: #526a73; font-size: 11px; text-align: center; }

.nalaruna-simple-flow { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: center; }
.nalaruna-simple-flow h2 { margin: 12px 0 0; color: var(--brand-dark); font: 500 clamp(34px, 4vw, 52px)/1.05 Georgia, serif; letter-spacing: -.035em; }
.nalaruna-simple-flow ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.nalaruna-simple-flow li { min-height: 105px; display: grid; grid-template-columns: 37px 1fr; gap: 13px; align-items: center; padding: 17px; border: 1px solid #d7e5eb; border-radius: 15px; background: #fff; }
.nalaruna-simple-flow li > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; color: var(--brand); background: #e7f3f8; font: 600 12px Georgia, serif; }
.nalaruna-simple-flow li div { display: grid; }
.nalaruna-simple-flow strong { font-size: 12px; }
.nalaruna-simple-flow small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.5; }

.nalaruna-commitment { display: grid; grid-template-columns: 1fr .85fr; gap: 90px; align-items: center; }
.nalaruna-commitment h2 { margin: 15px 0 16px; font: 500 clamp(36px, 4.4vw, 58px)/1.03 Georgia, serif; letter-spacing: -.04em; }
.nalaruna-commitment p { max-width: 650px; color: #a2beb7; }
.nalaruna-commitment ul { overflow: hidden; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, .12); border-radius: 20px; list-style: none; background: rgba(255, 255, 255, .045); }
.nalaruna-commitment li { display: grid; gap: 3px; padding: 20px 22px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.nalaruna-commitment li:last-child { border-bottom: 0; }
.nalaruna-commitment strong { color: #fff; font-size: 12px; }
.nalaruna-commitment span { color: #91aaa4; font-size: 9px; }

.nalaruna-journey-hero { min-height: 720px; padding: 62px 0 90px; background: radial-gradient(circle at 88% 10%, rgba(246, 196, 45, .12), transparent 25%), linear-gradient(145deg, #fbfdff, #eef7fb); }
.nalaruna-journey-shell { max-width: 1040px; }
.nalaruna-journey-back { display: inline-flex; margin-bottom: 46px; color: var(--brand); font-size: 10px; font-weight: 800; text-decoration: none; }
.nalaruna-journey-heading { max-width: 790px; }
.nalaruna-journey-heading .eyebrow { color: var(--brand); }
.nalaruna-journey-heading h1 { margin: 14px 0 13px; color: var(--brand-dark); font: 500 clamp(42px, 5vw, 68px)/1 Georgia, serif; letter-spacing: -.045em; }
.nalaruna-journey-heading p { max-width: 680px; margin: 0; color: #536b75; font-size: 13px; line-height: 1.7; }
.nalaruna-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 38px; }
.nalaruna-choice-grid > a { min-height: 155px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; gap: 18px; padding: 20px; border: 1px solid #d5e3e9; border-radius: 18px; color: var(--ink); text-decoration: none; background: #fff; box-shadow: 0 15px 35px rgba(8, 45, 74, .05); transition: .2s ease; }
.nalaruna-choice-grid > a:hover { transform: translateY(-3px); border-color: rgba(11, 94, 147, .38); box-shadow: 0 22px 42px rgba(8, 45, 74, .09); }
.nalaruna-choice-grid > a > span { color: var(--brand); font-size: 9px; font-weight: 900; }
.nalaruna-choice-grid > a > b { color: var(--brand); }
.nalaruna-choice-grid > a > div { grid-column: 1/-1; align-self: end; display: grid; }
.nalaruna-choice-grid strong { color: var(--brand-dark); font: 500 22px/1.1 Georgia, serif; }
.nalaruna-choice-grid small { margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.5; }

.nalaruna-profile-form { margin-top: 36px; padding: 28px; border: 1px solid #d4e2e8; border-radius: 20px; background: #fff; box-shadow: 0 20px 48px rgba(8, 45, 74, .07); }
.nalaruna-profile-form .button { margin-top: 22px; }
.nalaruna-overview-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 11px; margin-top: 38px; }
.nalaruna-overview-flow article { min-height: 172px; display: flex; flex-direction: column; padding: 18px; border: 1px solid #d8e5ea; border-radius: 17px; background: #fff; }
.nalaruna-overview-flow article > span { color: var(--brand); font-size: 9px; font-weight: 900; }
.nalaruna-overview-flow strong { margin-top: auto; padding-top: 25px; color: var(--brand-dark); font: 500 18px/1.1 Georgia, serif; }
.nalaruna-overview-flow p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.nalaruna-overview-services { margin-top: 30px; padding: 24px; border-radius: 19px; color: #fff; background: linear-gradient(145deg, #082d4a, #0b5e93); }
.nalaruna-overview-services > strong { font: 500 21px Georgia, serif; }
.nalaruna-overview-services > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.nalaruna-overview-services a { padding: 9px 12px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; color: #e5f4fb; font-size: 9px; text-decoration: none; background: rgba(255, 255, 255, .07); }
.nalaruna-overview-services a:hover { border-color: rgba(246, 196, 45, .6); color: #fff; }

.nalaruna-generator-entry { margin-top: 38px; overflow: hidden; border: 1px solid #d4e2e8; border-radius: 22px; background: #fff; box-shadow: 0 24px 55px rgba(8, 45, 74, .08); }
.nalaruna-context-chips { display: flex; flex-wrap: wrap; gap: 7px; padding: 18px 24px 0; }
.nalaruna-context-chips span { padding: 6px 9px; border-radius: 999px; color: var(--brand); background: #e8f4f9; font-size: 8px; font-weight: 800; }
.nalaruna-generator-entry ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.nalaruna-generator-entry li { min-height: 150px; display: grid; grid-template-columns: 37px 1fr; gap: 13px; align-items: center; padding: 25px; border-right: 1px solid #e3ecef; }
.nalaruna-generator-entry li:last-child { border-right: 0; }
.nalaruna-generator-entry li > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; color: var(--brand); background: #e7f3f8; font: 600 12px Georgia, serif; }
.nalaruna-generator-entry li div { display: grid; }
.nalaruna-generator-entry li strong { color: var(--brand-dark); font-size: 12px; }
.nalaruna-generator-entry li small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.nalaruna-output-note { display: flex; gap: 18px; align-items: center; padding: 18px 25px; border-top: 1px solid #e3ecef; background: #f5fafc; }
.nalaruna-output-note > span { padding: 6px 9px; border-radius: 999px; color: #082d4a; background: var(--nalaruna-yellow); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.nalaruna-output-note strong { display: block; color: var(--brand-dark); font-size: 12px; }
.nalaruna-output-note p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.nalaruna-generator-action { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding: 23px 25px; color: #fff; background: linear-gradient(145deg, #082d4a, #0b5e93); }
.nalaruna-generator-action > div { max-width: 570px; }
.nalaruna-generator-action strong { font: 500 21px Georgia, serif; }
.nalaruna-generator-action p { margin: 5px 0 0; color: #bdd6e2; font-size: 9px; }
.nalaruna-generator-action .button { flex: 0 0 auto; color: #082d4a; background: var(--nalaruna-yellow); }

.nalaruna-workspace-page { min-height: 75vh; padding: clamp(42px, 7vw, 82px) 0; background: linear-gradient(145deg, #f7fbfd, #edf6fb 58%, #fffaf0); }
.nalaruna-workspace-shell { max-width: 960px; }
.nalaruna-workspace-heading { max-width: 760px; margin: 28px 0 32px; }
.nalaruna-workspace-heading h1 { margin: 12px 0; color: var(--brand-dark); font: 500 clamp(40px, 6vw, 70px)/.98 Georgia, serif; letter-spacing: -.045em; }
.nalaruna-workspace-heading p { max-width: 690px; color: #526a73; font-size: 12px; line-height: 1.75; }
.nalaruna-workspace-heading .nalaruna-context-chips { padding: 8px 0 0; }
.nalaruna-workspace-form,
.nalaruna-section-form { display: grid; gap: 20px; margin-top: 22px; padding: clamp(22px, 4vw, 38px); border: 1px solid #d7e5eb; border-radius: 24px; background: #fff; box-shadow: 0 24px 55px rgba(8, 45, 74, .08); }
.nalaruna-workspace-form fieldset { min-width: 0; margin: 0; padding: 0 0 22px; border: 0; border-bottom: 1px solid #e3ecef; }
.nalaruna-workspace-form legend { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; }
.nalaruna-workspace-form legend > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--brand); background: #e7f3f8; font-size: 9px; font-weight: 900; }
.nalaruna-workspace-form legend strong,
.nalaruna-workspace-form legend small { display: block; }
.nalaruna-workspace-form legend strong { font-size: 13px; }
.nalaruna-workspace-form legend small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.nalaruna-file-field { display: grid; gap: 6px; padding: 22px; border: 1px dashed #aac7d5; border-radius: 15px; background: #f6fafc; cursor: pointer; }
.nalaruna-file-field input { max-width: 100%; margin-bottom: 7px; }
.nalaruna-file-field strong { color: var(--brand-dark); font-size: 12px; }
.nalaruna-file-field small,
.nalaruna-privacy-note { color: var(--muted); font-size: 9px; line-height: 1.6; }
.nalaruna-generated-panel { overflow: hidden; border: 1px solid #d4e2e8; border-radius: 22px; background: #fff; box-shadow: 0 24px 55px rgba(8, 45, 74, .08); }
.nalaruna-generated-panel > header { display: flex; justify-content: space-between; gap: 20px; padding: 17px 22px; color: #fff; background: var(--brand-dark); }
.nalaruna-generated-panel > header span { font-size: 11px; font-weight: 800; }
.nalaruna-generated-panel > header small { color: #bed6e2; font-size: 8px; }
.nalaruna-generated-copy { padding: clamp(24px, 4vw, 42px); color: #253b43; font: 400 12px/1.85 system-ui, sans-serif; overflow-wrap: anywhere; }
.nalaruna-section-form { margin-top: 24px; }
.nalaruna-section-form h2 { margin: 8px 0; color: var(--brand-dark); font: 500 clamp(30px, 4vw, 44px)/1 Georgia, serif; }
.nalaruna-section-form > div > p { color: var(--muted); font-size: 10px; }
.nalaruna-result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.nalaruna-output-note--large { max-width: 720px; margin: 22px 0; border: 1px solid #d7e5eb; border-radius: 17px; background: #fff; }

.nalaruna-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 24%, rgba(22, 136, 191, .19), transparent 30%),
        radial-gradient(circle at 76% 88%, rgba(246, 196, 45, .13), transparent 27%),
        linear-gradient(135deg, #fbfdff 0%, #eef7fb 58%, #fffaf0 100%);
}
.nalaruna-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    pointer-events: none;
    background-image: linear-gradient(rgba(8, 45, 74, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(8, 45, 74, .08) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to right, transparent, #000 55%);
}
.nalaruna-hero .branch-hero__grid { position: relative; z-index: 1; min-height: 610px; grid-template-columns: 1.08fr .92fr; gap: 76px; }
.nalaruna-hero h1 { color: var(--ink); }
.nalaruna-hero h1 em { color: var(--brand); font-weight: 500; }
.nalaruna-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.nalaruna-metrics div { min-width: 0; }
.nalaruna-metrics strong { color: var(--brand-dark); }
.nalaruna-metrics span { line-height: 1.35; }

.nalaruna-plan-card {
    position: relative;
    overflow: hidden;
    padding: 30px;
    border: 1px solid rgba(11, 94, 147, .2);
    border-radius: 26px;
    color: #e9f5fb;
    background: linear-gradient(155deg, #082d4a 0%, #0b4c78 66%, #0f699c 100%);
    box-shadow: 0 32px 75px rgba(8, 45, 74, .24);
}
.nalaruna-plan-card::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -150px;
    bottom: -160px;
    border: 1px solid rgba(246, 196, 45, .32);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(246, 196, 45, .035), 0 0 0 76px rgba(246, 196, 45, .025);
}
.nalaruna-plan-card__head { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.nalaruna-plan-card__head span { color: #9dcfe6; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.nalaruna-plan-card__head b { padding: 6px 9px; border: 1px solid rgba(246, 196, 45, .34); border-radius: 999px; color: #f8d86d; font-size: 8px; letter-spacing: .1em; }
.nalaruna-plan-card h2 { position: relative; z-index: 1; max-width: 410px; margin: 28px 0 24px; color: #fff; font: 500 31px/1.08 Georgia, serif; letter-spacing: -.025em; }
.nalaruna-plan-card ol { position: relative; z-index: 1; display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.nalaruna-plan-card li { display: grid; grid-template-columns: 34px 1fr; gap: 13px; align-items: start; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.1); }
.nalaruna-plan-card li > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: var(--nalaruna-yellow); background: rgba(255,255,255,.08); font: 500 10px Georgia, serif; }
.nalaruna-plan-card li div { display: grid; }
.nalaruna-plan-card li strong { color: #fff; font-size: 12px; }
.nalaruna-plan-card li small { margin-top: 3px; color: #a9c8d8; font-size: 9px; line-height: 1.55; }
.nalaruna-plan-card > p { position: relative; z-index: 1; margin: 20px 0 0; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.12); color: #c5dce7; font-size: 9px; }
.nalaruna-plan-card > p i { width: 7px; height: 7px; display: inline-block; margin-right: 8px; border-radius: 50%; background: var(--nalaruna-yellow); box-shadow: 0 0 0 5px rgba(246, 196, 45, .1); }

.nalaruna-flow-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.nalaruna-flow-grid article { min-height: 245px; display: flex; flex-direction: column; padding: 22px; border: 1px solid #d9e6ec; border-radius: 18px; background: rgba(255,255,255,.84); box-shadow: 0 14px 32px rgba(8,45,74,.045); }
.nalaruna-flow-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--brand); background: #e5f2f8; font: 600 12px Georgia, serif; }
.nalaruna-flow-grid strong { margin-top: auto; padding-top: 35px; font: 500 19px/1.2 Georgia, serif; }
.nalaruna-flow-grid p { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }

.nalaruna-space-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nalaruna-space-grid article { min-height: 285px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nalaruna-space-grid article:hover { transform: translateY(-4px); border-color: rgba(11,94,147,.35); box-shadow: 0 20px 42px rgba(8,45,74,.08); }
.nalaruna-space-grid article > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.nalaruna-space-grid article > div span { padding: 5px 8px; border-radius: 999px; color: #8b6711; background: #fff4c9; font-size: 8px; font-weight: 900; }
.nalaruna-space-grid article > div b { color: #9aa8ae; font-size: 8px; letter-spacing: .11em; }
.nalaruna-space-grid h3 { margin: auto 0 11px; padding-top: 42px; color: var(--brand-dark); font: 500 26px/1.1 Georgia, serif; }
.nalaruna-space-grid p { margin: 0; color: var(--muted); font-size: 11px; }
.nalaruna-space-grid small { margin-top: 18px; color: var(--brand); font-size: 9px; font-weight: 800; }

.nalaruna-status-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.nalaruna-status-panel h2 { margin: 14px 0 18px; font: 500 clamp(38px, 4.3vw, 58px)/1.03 Georgia, serif; letter-spacing: -.035em; }
.nalaruna-status-panel > div:first-child p { color: #9db8b1; }
.nalaruna-readiness-list { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(255,255,255,.045); }
.nalaruna-readiness-list article { display: grid; grid-template-columns: 45px 1fr auto; grid-template-rows: auto auto; gap: 3px 15px; align-items: center; padding: 19px 21px; border-bottom: 1px solid rgba(255,255,255,.09); }
.nalaruna-readiness-list article:last-child { border-bottom: 0; }
.nalaruna-readiness-list article > span { grid-row: 1/3; width: 39px; height: 39px; display: grid; place-items: center; border-radius: 12px; color: #082d4a; background: var(--nalaruna-yellow); font: 700 12px Georgia, serif; }
.nalaruna-readiness-list strong { color: #fff; font-size: 12px; }
.nalaruna-readiness-list small { color: #8ea9a2; font-size: 9px; }
.nalaruna-readiness-list b { grid-column: 3; grid-row: 1/3; padding: 6px 8px; border-radius: 999px; color: #d7e9e4; background: rgba(255,255,255,.08); font-size: 7px; letter-spacing: .09em; }

/* NALARUNA foundation control */
.nalaruna-control-hero { background: radial-gradient(circle at 82% 8%, rgba(22,136,191,.48), transparent 34%), linear-gradient(135deg, #061f35, #0a456e); }
.nalaruna-control-hero .back-link { color: #a8cadb; }
.nalaruna-control-hero .eyebrow { color: #f4cf5d; }
.nalaruna-control-hero p { max-width: 720px; color: #a8c4d3; }
.foundation-verdict { min-width: 210px; display: grid; justify-items: center; align-self: center; padding: 22px; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: rgba(255,255,255,.07); }
.foundation-verdict span { font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.foundation-verdict strong { margin: 8px 0 2px; color: #fff; font: 500 43px Georgia, serif; }
.foundation-verdict small { color: #a9c4d2; font-size: 9px; }
.foundation-verdict--pass span { color: #8fe0b6; }
.foundation-verdict--fail span { color: #ffaaa0; }
.foundation-counts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 30px; }
.foundation-counts article { min-height: 105px; display: flex; flex-direction: column; justify-content: center; padding: 17px; border: 1px solid #d8e5eb; border-radius: 15px; background: #fff; }
.foundation-counts strong { color: var(--brand-dark); font: 500 29px Georgia, serif; }
.foundation-counts span { margin-top: 4px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }
.foundation-checks { overflow: hidden; border: 1px solid #d8e4ea; border-radius: 18px; background: #fff; }
.foundation-check { display: grid; grid-template-columns: 35px 1fr auto; gap: 14px; align-items: center; padding: 15px 18px; border-bottom: 1px solid #e8eef1; }
.foundation-check:last-child { border-bottom: 0; }
.foundation-check > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; font-size: 12px; font-weight: 900; }
.foundation-check > div { display: grid; }
.foundation-check strong { font-size: 11px; }
.foundation-check small { margin-top: 2px; color: var(--muted); font-size: 8px; overflow-wrap: anywhere; }
.foundation-check b { font-size: 7px; letter-spacing: .1em; }
.foundation-check--pass > span { color: #176d4c; background: #e4f5ed; }
.foundation-check--pass b { color: #176d4c; }
.foundation-check--fail > span { color: #a23931; background: #fde9e7; }
.foundation-check--fail b { color: #a23931; }
.foundation-versions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.foundation-versions article { display: grid; padding: 22px; border: 1px solid #d8e4ea; border-radius: 17px; background: #fff; }
.foundation-versions span { color: var(--brand); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.foundation-versions strong { margin-top: 16px; font: 500 20px Georgia, serif; }
.foundation-versions small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.foundation-versions code { margin-top: 15px; padding: 8px 9px; border-radius: 8px; color: #52636b; background: #eef3f5; font-size: 8px; overflow-wrap: anywhere; }

/* NALARUNA dashboard */
.nalaruna-dashboard-hero { padding: 84px 0 70px; color: #fff; background: radial-gradient(circle at 85% 20%, rgba(25,145,199,.48), transparent 30%), linear-gradient(135deg, #061f35 0%, #0b4269 70%, #0c5f8e 100%); }
.nalaruna-dashboard-hero__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; }
.nalaruna-dashboard-hero .eyebrow { color: #f4cf5d; }
.nalaruna-dashboard-hero h1 { margin: 18px 0; font: 500 clamp(48px, 5.6vw, 76px)/.98 Georgia, serif; letter-spacing: -.045em; }
.nalaruna-dashboard-hero p { max-width: 650px; color: #b7d0dc; }
.nalaruna-dashboard-hero .button--ghost { color: #fff; border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.06); }
.wallet-card { overflow: hidden; padding: 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: rgba(255,255,255,.1); box-shadow: 0 28px 58px rgba(2,19,32,.22); backdrop-filter: blur(12px); }
.wallet-card > div:first-child { display: flex; justify-content: space-between; gap: 16px; }
.wallet-card > div:first-child span { color: #f3cf63; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.wallet-card > div:first-child b { color: #8fb8cc; font-size: 7px; letter-spacing: .08em; }
.wallet-card > strong { display: block; margin-top: 30px; color: #fff; font: 500 70px/.9 Georgia, serif; }
.wallet-card > small { color: #9fc2d2; font-size: 10px; }
.wallet-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 28px 0 0; border-top: 1px solid rgba(255,255,255,.13); }
.wallet-card dl div { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.wallet-card dl div:nth-child(odd) { padding-right: 16px; }
.wallet-card dl div:nth-child(even) { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.1); }
.wallet-card dt { color: #8fb4c6; font-size: 8px; }
.wallet-card dd { margin: 0; color: #fff; font-size: 9px; font-weight: 800; text-align: right; }
.nalaruna-dashboard-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 56px; }
.nalaruna-dashboard-metrics article { min-height: 125px; display: flex; flex-direction: column; justify-content: center; padding: 21px; border: 1px solid #d8e5eb; border-radius: 17px; background: #fff; }
.nalaruna-dashboard-metrics strong { color: var(--brand-dark); font: 500 37px Georgia, serif; }
.nalaruna-dashboard-metrics span { margin-top: 5px; color: var(--muted); font-size: 9px; }
.nalaruna-empty-state { display: grid; justify-items: center; max-width: 730px; margin: 0 auto; padding: 58px 30px; border: 1px dashed #b9cfd9; border-radius: 24px; text-align: center; background: rgba(255,255,255,.64); }
.nalaruna-empty-state > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 20px; color: #fff; background: linear-gradient(145deg, var(--brand-dark), var(--nalaruna-blue)); font: 600 35px Georgia, serif; }
.nalaruna-empty-state h3 { margin: 23px 0 7px; font: 500 29px Georgia, serif; }
.nalaruna-empty-state p { max-width: 500px; margin: 0 0 25px; color: var(--muted); }
.nalaruna-project-list { overflow: hidden; border: 1px solid #d8e4ea; border-radius: 20px; background: #fff; box-shadow: 0 18px 42px rgba(8,45,74,.055); }
.nalaruna-project-list > a { display: grid; grid-template-columns: minmax(300px, 1.6fr) repeat(3, .45fr) .65fr; gap: 16px; align-items: center; min-height: 116px; padding: 19px 22px; border-bottom: 1px solid #e8eef1; color: inherit; text-decoration: none; transition: background .18s ease; }
.nalaruna-project-list > a:last-child { border-bottom: 0; }
.nalaruna-project-list > a:hover { background: #f5fafc; }
.nalaruna-project-list__identity { min-width: 0; }
.nalaruna-project-list__identity > span { color: var(--brand); font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.nalaruna-project-list__identity h3 { overflow: hidden; margin: 7px 0 2px; font: 500 21px/1.2 Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.nalaruna-project-list__identity small { color: var(--muted); font-size: 8px; }
.nalaruna-project-list > a > div:not(.nalaruna-project-list__identity) { display: grid; justify-items: start; }
.nalaruna-project-list > a > div > strong { color: var(--brand-dark); font: 500 23px Georgia, serif; }
.nalaruna-project-list > a > div > small { color: var(--muted); font-size: 8px; }
.nalaruna-project-list > a > b { justify-self: end; color: var(--brand); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }

/* NALARUNA forms and Project Passport */
.nalaruna-form-hero { color: var(--ink); background: radial-gradient(circle at 82% 20%, rgba(22,136,191,.16), transparent 30%), linear-gradient(135deg, #f8fcfe, #edf6fb); }
.nalaruna-form-hero .form-assurance { border-color: #c9dce5; background: rgba(255,255,255,.72); }
.nalaruna-form-hero .form-assurance p { color: #5d7783; }
.mode-explanation { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.mode-explanation article { padding: 15px; border: 1px solid #dbe6eb; border-radius: 12px; background: #f6fafc; }
.mode-explanation strong { color: var(--brand-dark); font-size: 10px; }
.mode-explanation p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.mode-explanation--single { grid-template-columns: 1fr; }
.consent--compact { margin-top: 20px; padding: 15px; border-radius: 12px; background: #f4f8fa; }
.passport-shell { max-width: 960px; }
.passport-status-card { align-self: end; padding: 27px; border: 1px solid #c9dce5; border-radius: 22px; background: rgba(255,255,255,.75); box-shadow: 0 20px 45px rgba(8,45,74,.07); }
.passport-status-card__head { display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.passport-status-card__head span { color: var(--brand); font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.passport-status-card__head b { padding: 5px 8px; border-radius: 999px; color: #52656e; background: #eaf1f4; font-size: 7px; letter-spacing: .08em; }
.passport-status-card > strong { display: block; margin: 24px 0 9px; color: var(--brand-dark); font: 500 52px/.9 Georgia, serif; }
.passport-progress { height: 7px; overflow: hidden; border-radius: 999px; background: #dfe9ed; }
.passport-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand), var(--nalaruna-blue), var(--nalaruna-yellow)); }
.passport-status-card > p { margin: 17px 0 0; color: #627780; font-size: 9px; }
.passport-status-card > p i { width: 7px; height: 7px; display: inline-block; margin-right: 7px; border-radius: 50%; background: var(--brand); }
.passport-status-card--confirmed > p i { background: #2f9c6a; }
.passport-status-card--locked > p i { background: #9a6a34; }
.passport-missing { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px; margin-bottom: 22px; padding: 22px 24px; border: 1px solid #ead9a1; border-radius: 17px; background: #fff8df; }
.passport-missing > div { display: grid; align-content: start; }
.passport-missing > div span { color: #9b7212; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.passport-missing > div strong { margin-top: 7px; font: 500 20px Georgia, serif; }
.passport-missing ul { display: flex; flex-wrap: wrap; align-content: start; gap: 7px; margin: 0; padding: 0; list-style: none; }
.passport-missing li { padding: 7px 10px; border: 1px solid #e5d28c; border-radius: 999px; color: #765a17; background: #fffdf4; font-size: 8px; font-weight: 700; }
.passport-form fieldset:disabled { opacity: .68; }
.passport-form fieldset:disabled input, .passport-form fieldset:disabled select, .passport-form fieldset:disabled textarea { cursor: not-allowed; }
.passport-form__submit > strong { display: block; color: var(--brand-dark); text-align: center; }
.passport-confirmation { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; margin-top: 24px; padding: 27px 30px; border: 1px solid #c9dce5; border-radius: 20px; background: linear-gradient(135deg, #f8fcfe, #eef7fb); }
.passport-confirmation > div > span { color: var(--brand); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.passport-confirmation h2 { margin: 7px 0 6px; font: 500 25px/1.15 Georgia, serif; }
.passport-confirmation p { max-width: 620px; margin: 0; color: var(--muted); font-size: 10px; }
.passport-confirmation form { display: grid; gap: 8px; min-width: 230px; }
.passport-confirmation form small { color: var(--muted); font-size: 8px; text-align: center; }

/* NALARUNA project manifest */
.nalaruna-project-hero { padding: 72px 0 58px; color: #fff; background: radial-gradient(circle at 84% 12%, rgba(25,145,199,.44), transparent 31%), linear-gradient(135deg, #061f35, #0a456e); }
.nalaruna-project-hero .back-link { color: #a8c8d7; }
.nalaruna-project-hero .eyebrow { color: #f4cf5d; }
.nalaruna-project-hero__top { display: grid; grid-template-columns: 1fr 240px; gap: 50px; align-items: start; }
.nalaruna-project-hero h1 { max-width: 820px; margin: 15px 0 9px; font: 500 clamp(38px, 4.7vw, 62px)/1.02 Georgia, serif; letter-spacing: -.035em; }
.nalaruna-project-hero__top > div:first-child > p { margin: 0; color: #a9c4d2; }
.project-credit-card { display: grid; justify-items: center; padding: 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: rgba(255,255,255,.08); text-align: center; }
.project-credit-card > span { color: #f3cd5b; font-size: 7px; font-weight: 900; letter-spacing: .12em; }
.project-credit-card > strong { margin: 12px 0 0; font: 500 50px/.9 Georgia, serif; }
.project-credit-card > small { color: #a8c3d0; font-size: 9px; }
.project-credit-card > p { margin: 15px 0 0; color: #8facba; font-size: 8px; }
.nalaruna-project-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 36px; }
.nalaruna-project-summary article { min-height: 100px; display: flex; flex-direction: column; justify-content: center; padding: 17px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.055); }
.nalaruna-project-summary span { color: #9ebdcb; font-size: 8px; }
.nalaruna-project-summary strong { margin-top: 5px; font: 500 26px Georgia, serif; }
.nalaruna-project-summary small { color: #769bac; font-size: 8px; }
.nalaruna-project-hero .button--ghost { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.05); }
.project-guide-status { max-width: 840px; margin: 20px 0 0; color: #bcd1dc; font-size: 10px; line-height: 1.65; }
.project-guide-status strong { color: #fff; }
.section-manifest { display: grid; gap: 17px; }
.section-manifest__group { overflow: hidden; border: 1px solid #d6e3e9; border-radius: 19px; background: #fff; box-shadow: 0 15px 32px rgba(8,45,74,.04); }
.section-manifest__group-head { display: grid; grid-template-columns: 46px 1fr auto; gap: 15px; align-items: center; padding: 19px 21px; background: #f1f7fa; }
.section-manifest__group-head > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--brand); font: 600 10px Georgia, serif; }
.section-manifest__group-head > div { display: grid; }
.section-manifest__group-head strong { font: 500 19px Georgia, serif; }
.section-manifest__group-head small { color: var(--muted); font-size: 8px; }
.section-manifest__group-head > b { padding: 6px 8px; border-radius: 999px; color: #49626d; background: #e1ebef; font-size: 7px; text-transform: uppercase; }
.section-node-row { display: grid; grid-template-columns: minmax(260px, 1.2fr) .42fr .42fr minmax(210px, .9fr) auto; gap: 16px; align-items: center; min-height: 104px; padding: 16px 19px; border-top: 1px solid #e7eef1; }
.section-node-row--child { padding-left: 48px; background: #fcfdfe; }
.section-node-row__identity { min-width: 0; display: grid; grid-template-columns: 34px 1fr; gap: 11px; align-items: center; }
.section-node-row__identity > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: var(--brand); background: #e7f2f7; font-size: 7px; font-weight: 900; }
.section-node-row__identity > div { min-width: 0; display: grid; }
.section-node-row__identity strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.section-node-row__identity small { color: var(--muted); font-size: 7px; }
.section-node-row__dependencies, .section-node-row__credits { display: grid; }
.section-node-row__dependencies span, .section-node-row__credits span { color: #83949b; font-size: 7px; text-transform: uppercase; letter-spacing: .07em; }
.section-node-row__dependencies strong, .section-node-row__credits strong { color: var(--brand-dark); font: 500 20px Georgia, serif; }
.section-node-row__dependencies small, .section-node-row__credits small { color: var(--muted); font-size: 7px; }
.section-node-row__actions { display: flex; flex-wrap: wrap; gap: 5px; }
.section-node-row__actions span { padding: 5px 7px; border-radius: 7px; color: #4e6570; background: #edf3f5; font-size: 7px; }
.section-node-row .button { min-height: 36px; padding: 8px 11px; font-size: 8px; }
.nalaruna-project-foundation { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.nalaruna-project-foundation > div { display: grid; padding: 21px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.nalaruna-project-foundation span { color: var(--brand); font-size: 7px; font-weight: 900; letter-spacing: .1em; }
.nalaruna-project-foundation strong { margin-top: 14px; font: 500 17px Georgia, serif; overflow-wrap: anywhere; }
.nalaruna-project-foundation small { margin-top: 5px; color: var(--muted); font-size: 8px; }

@media (max-width: 1120px) {
    .nalaruna-flow-grid { grid-template-columns: repeat(3, 1fr); }
    .nalaruna-space-grid { grid-template-columns: repeat(2, 1fr); }
    .foundation-counts { grid-template-columns: repeat(4, 1fr); }
    .section-node-row { grid-template-columns: minmax(250px, 1.2fr) .4fr .4fr minmax(180px, .8fr); }
    .section-node-row > .button { grid-column: 1/-1; justify-self: end; }
}

@media (max-width: 900px) {
    .nalaruna-hero .branch-hero__grid,
    .nalaruna-status-panel,
    .nalaruna-dashboard-hero__inner,
    .nalaruna-project-hero__top,
    .passport-missing,
    .passport-confirmation { grid-template-columns: 1fr; }
    .nalaruna-plan-card { max-width: 680px; }
    .nalaruna-metrics,
    .nalaruna-project-summary,
    .nalaruna-dashboard-metrics,
    .nalaruna-project-foundation { grid-template-columns: repeat(2, 1fr); }
    .foundation-counts { grid-template-columns: repeat(3, 1fr); }
    .foundation-versions { grid-template-columns: 1fr; }
    .nalaruna-project-list > a { grid-template-columns: minmax(260px, 1fr) repeat(3, .35fr); }
    .nalaruna-project-list > a > b { grid-column: 1/-1; justify-self: start; }
    .passport-confirmation form { min-width: 0; }
}

@media (max-width: 760px) {
    .nalaruna-hero .branch-hero__grid { padding-block: 60px; }
    .nalaruna-metrics { gap: 12px; }
    .nalaruna-metrics div { padding: 12px 0; }
    .nalaruna-flow-grid,
    .nalaruna-space-grid { grid-template-columns: 1fr; }
    .nalaruna-flow-grid article { min-height: 210px; }
    .nalaruna-readiness-list article { grid-template-columns: 42px 1fr; }
    .nalaruna-readiness-list b { grid-column: 2; grid-row: auto; justify-self: start; margin-top: 7px; }
    .foundation-verdict { min-width: 0; }
    .foundation-counts { grid-template-columns: repeat(2, 1fr); }
    .foundation-check { grid-template-columns: 32px 1fr; }
    .foundation-check > b { grid-column: 2; justify-self: start; }
    .wallet-card dl { grid-template-columns: 1fr; }
    .wallet-card dl div:nth-child(odd), .wallet-card dl div:nth-child(even) { padding-inline: 0; border-left: 0; }
    .nalaruna-project-list > a { grid-template-columns: 1fr 1fr; }
    .nalaruna-project-list__identity { grid-column: 1/-1; }
    .nalaruna-project-list > a > div:nth-of-type(4) { display: none; }
    .mode-explanation { grid-template-columns: 1fr; }
    .section-node-row,
    .section-node-row--child { grid-template-columns: 1fr 1fr; padding: 16px; }
    .section-node-row__identity, .section-node-row__actions, .section-node-row > .button { grid-column: 1/-1; }
    .section-node-row > .button { justify-self: stretch; }
    .passport-confirmation { padding: 23px 20px; }
}

@media (max-width: 520px) {
    .nalaruna-metrics,
    .nalaruna-project-summary,
    .nalaruna-dashboard-metrics,
    .nalaruna-project-foundation,
    .foundation-counts { grid-template-columns: 1fr; }
    .nalaruna-plan-card { padding: 22px 18px; }
    .nalaruna-plan-card h2 { font-size: 27px; }
    .nalaruna-status-panel { gap: 45px; }
    .wallet-card { padding: 23px 19px; }
    .wallet-card > strong { font-size: 58px; }
    .nalaruna-project-list > a { grid-template-columns: 1fr; }
    .nalaruna-project-list > a > div:not(.nalaruna-project-list__identity) { display: none; }
    .nalaruna-project-list > a > b { grid-column: auto; }
    .passport-status-card { padding: 22px 18px; }
    .passport-missing { padding: 19px; }
    .section-manifest__group-head { grid-template-columns: 40px 1fr; }
    .section-manifest__group-head > b { grid-column: 2; justify-self: start; }
    .section-node-row { grid-template-columns: 1fr; }
    .section-node-row__identity, .section-node-row__actions, .section-node-row > .button { grid-column: auto; }
    .section-node-row__dependencies, .section-node-row__credits { display: none; }
}

@media (max-width: 980px) {
    .nalaruna-assistant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nalaruna-simple-flow,
    .nalaruna-commitment { grid-template-columns: 1fr; gap: 40px; }
    .nalaruna-choice-grid { grid-template-columns: repeat(2, 1fr); }
    .nalaruna-overview-flow { grid-template-columns: repeat(3, 1fr); }
    .nalaruna-generator-entry ol { grid-template-columns: 1fr; }
    .nalaruna-generator-entry li { min-height: 105px; border-right: 0; border-bottom: 1px solid #e3ecef; }
    .nalaruna-generator-entry li:last-child { border-bottom: 0; }
}

@media (max-width: 640px) {
    .nalaruna-assistance-landing { padding: 31px 0 44px; }
    .nalaruna-assistance-intro { grid-template-columns: 82px 1fr; gap: 17px; margin-bottom: 26px; }
    .nalaruna-logo-frame { width: 82px; height: 82px; border-radius: 19px; }
    .nalaruna-assistance-intro h1 { font-size: 34px; }
    .nalaruna-assistance-intro p { grid-column: 1/-1; font-size: 11px; }
    .nalaruna-assistant-grid { gap: 10px; }
    .nalaruna-assistant-card { min-height: 232px; grid-template-rows: auto 68px 1fr; padding: 16px; }
    .nalaruna-assistant-art { height: 68px; }
    .nalaruna-assistant-card h2 { font-size: 19px; }
    .nalaruna-assistant-card p { font-size: 9px; }
    .nalaruna-simple-flow ol,
    .nalaruna-choice-grid,
    .nalaruna-overview-flow { grid-template-columns: 1fr; }
    .nalaruna-journey-hero { min-height: 620px; padding: 40px 0 65px; }
    .nalaruna-journey-back { margin-bottom: 32px; }
    .nalaruna-journey-heading h1 { font-size: 40px; }
    .nalaruna-choice-grid > a { min-height: 126px; }
    .nalaruna-profile-form { padding: 21px 17px; }
    .nalaruna-overview-flow article { min-height: 135px; }
    .nalaruna-generator-action { align-items: stretch; flex-direction: column; }
    .nalaruna-generator-action .button { text-align: center; }
}

@media (max-width: 410px) {
    .nalaruna-assistant-grid { grid-template-columns: 1fr; }
    .nalaruna-assistant-card { min-height: 130px; }
}

/* ==========================================================
   NALARUNA PAYMENT CORE — SNC-MANUAL TERPADU
   ========================================================== */
.global-notice--error {
    margin-top: 1rem;
    border-color: #b42318;
    background: #fff1f0;
    color: #7a271a;
}

.global-notice--error ul {
    margin: .5rem 0 0 1.25rem;
}

.button--full {
    width: 100%;
    justify-content: center;
}

.button--disabled,
.button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.button--danger {
    background: #b42318;
    border-color: #b42318;
    color: #fff;
}

.text-button--danger {
    color: #b42318;
}

.payment-hero,
.billing-admin-hero {
    padding: clamp(4.5rem, 8vw, 8rem) 0 3.5rem;
    background:
        radial-gradient(circle at 85% 15%, rgba(247, 184, 1, .2), transparent 28rem),
        linear-gradient(145deg, #102f33, #153f3a 58%, #0a2428);
    color: #fff;
}

.payment-hero--compact {
    padding-bottom: 2.75rem;
}

.payment-hero__inner,
.billing-admin-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(17rem, .65fr);
    align-items: end;
    gap: clamp(2rem, 6vw, 6rem);
}

.payment-hero h1,
.billing-admin-hero h1 {
    max-width: 15ch;
    margin: .5rem 0 1rem;
    font-size: clamp(2.7rem, 7vw, 6rem);
    line-height: .96;
    letter-spacing: -.055em;
}

.payment-hero p,
.billing-admin-hero p {
    max-width: 48rem;
    color: rgba(255, 255, 255, .76);
    font-size: 1.08rem;
}

.payment-safety-card,
.billing-health {
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(12px);
}

.payment-safety-card strong,
.payment-safety-card span,
.payment-safety-card small,
.billing-health strong,
.billing-health span,
.billing-health small {
    display: block;
}

.payment-safety-card strong,
.billing-health strong {
    margin-bottom: .65rem;
    color: #ffd23f;
    font-size: 1.1rem;
}

.payment-safety-card span,
.billing-health span {
    margin-bottom: .65rem;
    line-height: 1.55;
}

.payment-safety-card small,
.billing-health small {
    color: rgba(255, 255, 255, .62);
}

.payment-plan-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.payment-plan-card,
.payment-topup-card,
.payment-summary-card,
.payment-instruction-card,
.billing-panel,
.receipt-document {
    border: 1px solid #d9e1df;
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 18px 55px rgba(24, 52, 50, .08);
}

.payment-plan-card {
    display: flex;
    min-height: 33rem;
    flex-direction: column;
    padding: 1.25rem;
}

.payment-plan-card--featured {
    border: 2px solid #e6ad00;
    transform: translateY(-.6rem);
    box-shadow: 0 22px 70px rgba(230, 173, 0, .18);
}

.payment-plan-card__head > span,
.payment-topup-card > div > span {
    color: #50716d;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.payment-plan-card h3 {
    margin: .35rem 0 .8rem;
    font-size: 1.35rem;
}

.payment-plan-card__head > strong {
    display: block;
    font-size: 2.15rem;
    line-height: 1;
}

.payment-plan-card__head > strong small {
    font-size: .85rem;
    font-weight: 700;
}

.payment-plan-card > p,
.payment-topup-card > p {
    color: #5f6f6c;
    line-height: 1.55;
}

.payment-plan-card dl {
    margin: 1rem 0;
}

.payment-plan-card dl div,
.payment-summary-card dl div,
.billing-definition-list div,
.receipt-document dl div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid #edf1f0;
}

.payment-plan-card dt,
.payment-summary-card dt,
.billing-definition-list dt,
.receipt-document dt {
    color: #687875;
}

.payment-plan-card dd,
.payment-summary-card dd,
.billing-definition-list dd,
.receipt-document dd {
    margin: 0;
    text-align: right;
}

.payment-checkout-form {
    display: grid;
    gap: .85rem;
    margin-top: auto;
    padding-top: 1rem;
}

.payment-checkout-form label,
.billing-refund-form label,
.billing-toolbar label {
    display: grid;
    gap: .4rem;
}

.payment-checkout-form label > span,
.billing-refund-form label > span,
.billing-toolbar label > span {
    color: #536763;
    font-size: .78rem;
    font-weight: 750;
}

.payment-checkout-form select,
.billing-toolbar select,
.billing-refund-form input,
.billing-refund-form textarea {
    width: 100%;
    padding: .75rem .85rem;
    border: 1px solid #c9d4d2;
    border-radius: .75rem;
    background: #fff;
    color: #153f3a;
    font: inherit;
}

.payment-consent {
    grid-template-columns: auto 1fr;
    align-items: start;
}

.payment-consent input {
    margin-top: .2rem;
}

.payment-consent span {
    font-size: .72rem !important;
    font-weight: 500 !important;
    line-height: 1.45;
}

.payment-topup-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.payment-topup-card {
    display: flex;
    min-height: 18rem;
    flex-direction: column;
    padding: 1.3rem;
}

.payment-topup-card > div {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.payment-topup-card > div strong {
    font-size: 1.8rem;
}

.payment-topup-card .payment-checkout-form,
.payment-topup-card > .button {
    margin-top: auto;
}

.payment-policy-note {
    margin-top: 2rem;
    padding: 1.25rem 1.5rem;
    border-left: .35rem solid #e8b000;
    border-radius: .85rem;
    background: #fff8dc;
}

.payment-policy-note strong {
    display: block;
    margin-bottom: .3rem;
}

.payment-policy-note p {
    margin: 0;
    color: #66572c;
}

.payment-policy-note--dashboard {
    margin: 0 0 2rem;
}

.wallet-card__link {
    display: inline-block;
    margin-top: 1rem;
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
}

.wallet-balance-grid,
.billing-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 2.5rem;
}

.wallet-balance-grid article,
.billing-metrics article {
    padding: 1.2rem;
    border: 1px solid #d9e1df;
    border-radius: 1rem;
    background: #fff;
}

.wallet-balance-grid span,
.billing-metrics span {
    display: block;
    color: #60716e;
    font-size: .75rem;
    font-weight: 750;
    text-transform: uppercase;
}

.wallet-balance-grid strong,
.billing-metrics strong {
    display: block;
    margin: .4rem 0;
    color: #153f3a;
    font-size: 1.65rem;
}

.wallet-balance-grid small {
    color: #7a8987;
}

.payment-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(18rem, .65fr);
    gap: 2rem;
    align-items: start;
}

.payment-table-wrap {
    overflow-x: auto;
    border: 1px solid #d9e1df;
    border-radius: 1rem;
    background: #fff;
}

.payment-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .88rem;
}

.payment-table th,
.payment-table td {
    padding: .9rem 1rem;
    border-bottom: 1px solid #edf1f0;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
}

.payment-table th {
    background: #f3f7f6;
    color: #516763;
    font-size: .7rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.payment-table td strong,
.payment-table td small {
    display: block;
}

.payment-table td small {
    margin-top: .2rem;
    color: #758481;
}

.payment-table td a {
    color: #0a665e;
    font-weight: 800;
}

.payment-status {
    display: inline-flex;
    align-items: center;
    padding: .35rem .6rem;
    border-radius: 99rem;
    background: #eef3f2;
    color: #3c5551;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

.payment-status--paid,
.payment-status--settled {
    background: #dcfce7;
    color: #166534;
}

.payment-status--awaiting_payment,
.payment-status--draft,
.payment-status--refund_pending {
    background: #fff4cc;
    color: #755700;
}

.payment-status--failed,
.payment-status--cancelled,
.payment-status--expired,
.payment-status--refunded {
    background: #fee4e2;
    color: #912018;
}

.payment-status--manual_review {
    background: #eee8ff;
    color: #5f3aa8;
}

.credit-ledger-list {
    display: grid;
    gap: .65rem;
}

.credit-ledger-list article,
.billing-record {
    display: grid;
    gap: .25rem;
    padding: .9rem;
    border: 1px solid #dce4e2;
    border-radius: .8rem;
    background: #fff;
}

.credit-ledger-list article > div {
    display: flex;
    justify-content: space-between;
}

.credit-ledger-list article > b {
    font-size: 1.25rem;
}

.is-positive { color: #16754b; }
.is-negative { color: #b42318; }

.payment-status-page,
.billing-detail-page,
.receipt-page {
    min-height: 70vh;
    padding: clamp(3.5rem, 7vw, 6rem) 0;
    background: #f4f7f6;
}

.payment-status-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr);
    gap: 1.5rem;
    align-items: start;
}

.payment-instruction-card,
.payment-summary-card {
    padding: clamp(1.4rem, 4vw, 2.5rem);
}

.payment-instruction-card h1 {
    margin: .4rem 0;
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    letter-spacing: -.05em;
}

.qris-box,
.virtual-account-box,
.payment-success-panel,
.payment-warning {
    display: grid;
    justify-items: center;
    gap: .65rem;
    margin-top: 2rem;
    padding: 1.5rem;
    border-radius: 1rem;
    background: #f4f8f7;
    text-align: center;
}

.qris-box img {
    width: min(22rem, 100%);
    aspect-ratio: 1;
    object-fit: contain;
    border: .75rem solid #fff;
    border-radius: .75rem;
}

.qris-box--sandbox code {
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 1rem;
    border-radius: .65rem;
    background: #122f33;
    color: #fff;
}

.virtual-account-box strong {
    font-size: clamp(1.8rem, 5vw, 3.4rem);
    letter-spacing: .08em;
}

.payment-success-panel {
    background: #eafaf1;
}

.payment-success-panel > span {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border-radius: 50%;
    background: #17744b;
    color: #fff;
    font-size: 1.6rem;
}

.payment-warning {
    justify-items: start;
    border-left: .35rem solid #d99b00;
    background: #fff8dc;
    text-align: left;
}

.payment-summary-card h2,
.billing-panel h2 {
    margin-top: 0;
}

.payment-summary-card form + form,
.payment-summary-card form + .text-link,
.payment-summary-card .text-link {
    display: block;
    margin-top: .85rem;
}

.sandbox-controls {
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px dashed #9ba9a6;
    border-radius: .85rem;
}

.sandbox-controls strong {
    display: block;
    margin-bottom: .7rem;
}

.sandbox-controls form {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.sandbox-controls button {
    padding: .55rem .75rem;
    border: 1px solid #b5c1bf;
    border-radius: .55rem;
    background: #fff;
    font: inherit;
    cursor: pointer;
}

.billing-health.is-ready strong { color: #a6f4c5; }
.billing-health.is-warning strong { color: #ffd23f; }

.billing-toolbar,
.billing-detail-header {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: end;
    margin-bottom: 1.25rem;
}

.billing-toolbar h2,
.billing-detail-header h1 {
    margin: .25rem 0 0;
}

.billing-detail-header {
    align-items: center;
}

.billing-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.billing-panel {
    padding: 1.25rem;
}

.billing-panel--wide {
    grid-column: 1 / -1;
}

.billing-record + .billing-record {
    margin-top: .65rem;
}

.billing-record span,
.billing-record small {
    display: block;
    color: #667673;
}

.billing-refund-form {
    display: grid;
    gap: .8rem;
    margin-top: 1rem;
}

.billing-refund-form textarea {
    min-height: 7rem;
    resize: vertical;
}

.billing-json {
    max-height: 30rem;
    overflow: auto;
    padding: 1rem;
    border-radius: .75rem;
    background: #102f33;
    color: #e8f2f0;
    font-size: .75rem;
    white-space: pre-wrap;
}

.pagination-wrap {
    margin-top: 1rem;
}

.receipt-document {
    max-width: 54rem;
    margin: 0 auto;
    padding: clamp(1.5rem, 5vw, 3.5rem);
}

.receipt-document > header {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: center;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid #153f3a;
}

.receipt-document > header > div {
    display: flex;
    align-items: center;
    gap: .85rem;
}

.receipt-document > header strong,
.receipt-document > header small {
    display: block;
}

.receipt-title {
    padding: 3rem 0 2rem;
    text-align: center;
}

.receipt-title h1 {
    margin: .5rem 0;
    font-size: clamp(2.5rem, 7vw, 5rem);
    letter-spacing: -.06em;
}

.receipt-document > footer {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #d9e1df;
    color: #667673;
    font-size: .8rem;
}

.receipt-document > footer code {
    display: block;
    overflow-wrap: anywhere;
}

.receipt-actions {
    display: flex;
    justify-content: center;
    gap: .75rem;
    margin-top: 1.5rem;
}

@media (max-width: 1180px) {
    .payment-plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .payment-plan-card--featured { transform: none; }
    .payment-topup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wallet-balance-grid,
    .billing-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .payment-hero__inner,
    .billing-admin-hero__inner,
    .payment-status-page__grid,
    .payment-two-column,
    .billing-detail-grid {
        grid-template-columns: 1fr;
    }

    .payment-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .billing-panel--wide { grid-column: auto; }
    .billing-toolbar,
    .billing-detail-header { align-items: start; flex-direction: column; }
}

@media (max-width: 560px) {
    .payment-plan-grid,
    .payment-topup-grid,
    .wallet-balance-grid,
    .billing-metrics {
        grid-template-columns: 1fr;
    }

    .payment-plan-card { min-height: auto; }
    .receipt-actions { flex-direction: column; }
}

@media print {
    .site-header,
    .site-footer,
    .receipt-actions,
    .global-notice {
        display: none !important;
    }

    .receipt-page {
        padding: 0;
        background: #fff;
    }

    .receipt-document {
        border: 0;
        box-shadow: none;
    }
}

/* NALARUNA Structured Review & Template Assembly v1.0 */
.nalaruna-structured-plan-shell { gap: 34px; }
.nalaruna-template-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 32px;
    align-items: start;
    padding: 28px;
    border: 1px solid #d7e3e0;
    border-radius: 22px;
    background: linear-gradient(135deg, #f8fcfb, #fff);
    box-shadow: 0 18px 46px rgba(23, 55, 49, .06);
}
.nalaruna-template-summary h2 { margin: 7px 0 9px; font-family: Georgia, serif; font-size: clamp(25px, 3vw, 36px); line-height: 1.08; }
.nalaruna-template-summary p { max-width: 760px; margin: 0; color: var(--muted); }
.nalaruna-template-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.nalaruna-template-summary dl div { padding: 13px 14px; border: 1px solid #e2e9e7; border-radius: 12px; background: #fff; }
.nalaruna-template-summary dt { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nalaruna-template-summary dd { margin: 3px 0 0; color: var(--brand-dark); font-weight: 800; font-size: 12px; }
.nalaruna-structured-plan-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 26px; align-items: start; }
.nalaruna-structure-card { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 14px 38px rgba(22, 55, 47, .06); }
.nalaruna-structure-card > header { display: flex; justify-content: space-between; gap: 18px; align-items: end; padding: 22px 24px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.nalaruna-structure-card h2 { margin: 4px 0 0; font-family: Georgia, serif; font-size: 26px; }
.nalaruna-structure-card header small { color: var(--muted); font-size: 10px; }
.nalaruna-structure-tree { display: grid; max-height: 650px; overflow: auto; padding: 12px; }
.nalaruna-structure-tree__row { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 12px 12px calc(12px + (var(--review-depth, 0) * 20px)); border-radius: 10px; border-bottom: 1px solid #eef2f0; }
.nalaruna-structure-tree__row.is-group { margin-top: 6px; background: #f2f7f5; }
.nalaruna-structure-tree__row.is-group strong { color: var(--brand-dark); font-size: 12px; }
.nalaruna-structure-tree__row.is-leaf strong { font-size: 12px; }
.nalaruna-structure-tree__row small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.nalaruna-structure-tree__marker { color: var(--brand); font-size: 12px; }
.nalaruna-review-status { display: inline-flex; align-items: center; white-space: nowrap; padding: 5px 8px; border-radius: 999px; color: #65716d; background: #eef2f0; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.nalaruna-review-status.is-reviewing { color: #78521f; background: #fff3db; }
.nalaruna-review-status.is-approved { color: #155d47; background: #dcf4e9; }
.nalaruna-section-form--structured { position: sticky; top: 18px; }
.nalaruna-section-form--structured select { width: 100%; min-height: 50px; padding: 0 13px; border: 1px solid #cfd8d5; border-radius: 11px; color: var(--ink); background: #fff; }
.nalaruna-credit-quote { display: grid; gap: 8px; padding: 15px 16px; border: 1px solid #d9e5e1; border-radius: 12px; background: #f6faf8; }
.nalaruna-credit-quote > div { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.nalaruna-credit-quote span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.nalaruna-credit-quote strong { color: var(--brand-dark); }
.nalaruna-credit-quote p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.nalaruna-credit-quote--compact { margin: 10px 0; padding: 12px 13px; }
.nalaruna-plan-note { padding: 18px 20px; border-left: 3px solid var(--brand); background: #f4f8f6; }
.nalaruna-plan-note strong { font-size: 12px; }
.nalaruna-plan-note p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }

.nalaruna-review-launch { min-height: 58vh; display: grid; align-items: center; padding: 80px 0; text-align: center; background: linear-gradient(180deg, #f5f9f7, #fbfcfa); }
.nalaruna-review-launch h1 { margin: 12px 0 10px; font-family: Georgia, serif; font-size: clamp(38px, 6vw, 64px); line-height: 1; }
.nalaruna-review-launch p { margin: 0 auto 24px; color: var(--muted); }
html.nalaruna-review-open { overflow: hidden; }
.nalaruna-review-dialog { width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: 0; border: 0; background: #edf2f0; color: var(--ink); }
.nalaruna-review-dialog::backdrop { background: rgba(7, 20, 17, .72); backdrop-filter: blur(5px); }
.nalaruna-review-app { height: 100vh; display: grid; grid-template-rows: auto auto minmax(0, 1fr); overflow: hidden; }
.nalaruna-review-app__header { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(220px, .5fr) auto; gap: 22px; align-items: center; padding: 14px 20px; border-bottom: 1px solid #dbe3e0; background: #fff; }
.nalaruna-review-app__identity h1 { margin: 2px 0; font-family: Georgia, serif; font-size: 20px; line-height: 1.15; }
.nalaruna-review-app__identity small { color: var(--muted); font-size: 9px; }
.nalaruna-review-progress { display: grid; gap: 5px; }
.nalaruna-review-progress > div { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.nalaruna-review-progress strong { color: var(--brand-dark); }
.nalaruna-review-progress progress { width: 100%; height: 7px; accent-color: var(--brand); }
.nalaruna-review-app__header-actions { display: flex; gap: 9px; align-items: center; }
.nalaruna-credit-pill { white-space: nowrap; padding: 9px 11px; border: 1px solid #dbe4e1; border-radius: 10px; color: var(--muted); background: #f8faf9; font-size: 10px; }
.nalaruna-credit-pill strong { margin-left: 4px; color: var(--brand-dark); }
.nalaruna-review-toolbar { display: flex; gap: 20px; align-items: end; justify-content: space-between; padding: 10px 20px; border-bottom: 1px solid #dbe3e0; background: #f9fbfa; }
.nalaruna-review-toolbar label { min-width: min(460px, 48vw); display: grid; gap: 3px; }
.nalaruna-review-toolbar label span { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.nalaruna-review-toolbar select { min-height: 38px; padding: 0 10px; border: 1px solid #cbd7d3; border-radius: 9px; background: #fff; color: var(--ink); font-size: 11px; font-weight: 700; }
.nalaruna-review-template-facts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.nalaruna-review-template-facts span { padding: 5px 8px; border: 1px solid #dce4e1; border-radius: 999px; color: #5f6d69; background: #fff; font-size: 8px; font-weight: 800; }
.nalaruna-review-app__body { min-height: 0; display: grid; grid-template-columns: 245px minmax(0, 1fr) 280px; }
.nalaruna-review-nav, .nalaruna-review-inspector { min-height: 0; overflow: auto; background: #fff; }
.nalaruna-review-nav { border-right: 1px solid #dbe3e0; }
.nalaruna-review-nav__heading { display: grid; gap: 2px; padding: 16px; border-bottom: 1px solid #e4ebe8; }
.nalaruna-review-nav__heading strong { font-size: 11px; }
.nalaruna-review-nav__heading small { color: var(--muted); font-size: 9px; }
.nalaruna-review-nav nav { display: grid; padding: 8px; }
.nalaruna-review-nav__group { padding: 10px 8px 6px calc(8px + (var(--review-depth, 0) * 12px)); color: var(--brand-dark); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.nalaruna-review-nav__item { width: 100%; display: grid; gap: 2px; padding: 9px 9px 9px calc(9px + (var(--review-depth, 0) * 12px)); border: 0; border-radius: 8px; color: #3c4945; background: transparent; text-align: left; cursor: pointer; }
.nalaruna-review-nav__item:hover, .nalaruna-review-nav__item[aria-current="true"] { color: var(--brand-dark); background: #edf5f2; }
.nalaruna-review-nav__item span { font-size: 10px; font-weight: 700; line-height: 1.35; }
.nalaruna-review-nav__item small { color: #8a9692; font-size: 8px; }
.nalaruna-review-nav__item small.is-approved { color: #23745d; }
.nalaruna-review-nav__item small.is-reviewing { color: #8a5c21; }
.nalaruna-review-stage { min-width: 0; min-height: 0; overflow: auto; padding: 24px clamp(18px, 3vw, 46px) 60px; background: #e9efed; }
.nalaruna-review-node-panel { max-width: 860px; margin: 0 auto; }
.nalaruna-review-node-meta { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 12px; }
.nalaruna-review-node-meta h2 { margin: 3px 0 0; font-family: Georgia, serif; font-size: clamp(23px, 3vw, 34px); line-height: 1.08; }
.nalaruna-review-node-meta__right { display: flex; flex-wrap: wrap; gap: 7px; justify-content: end; align-items: center; color: #66736f; font-size: 9px; }
.nalaruna-template-paper { position: relative; min-height: 760px; padding: clamp(42px, 6vw, 72px) clamp(40px, 7vw, 82px); border: 1px solid #d8dedc; background: #fff; box-shadow: 0 16px 42px rgba(20, 48, 41, .12); }
.nalaruna-template-paper--book { max-width: 690px; min-height: 890px; margin: 0 auto; }
.nalaruna-template-paper--journal { max-width: 800px; margin: 0 auto; }
.nalaruna-template-paper__heading { margin-bottom: 30px; padding-bottom: 16px; border-bottom: 1px solid #dfe5e2; }
.nalaruna-template-paper__heading span { color: #7b8582; font-family: Georgia, serif; font-size: 10px; font-style: italic; }
.nalaruna-template-paper__heading h3 { margin: 8px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 25px; line-height: 1.25; font-weight: 600; }
.nalaruna-template-paper__body { color: #202624; font-family: Georgia, "Times New Roman", serif; font-size: 15px; line-height: 1.92; text-align: justify; }
.nalaruna-template-paper--journal .nalaruna-template-paper__body { font-family: "Segoe UI", Arial, sans-serif; font-size: 13px; line-height: 1.72; }
.nalaruna-template-paper > footer { position: absolute; right: 36px; bottom: 20px; left: 36px; display: flex; justify-content: space-between; gap: 20px; color: #9aa4a1; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.nalaruna-template-paper.is-copy-protected, .nalaruna-template-paper.is-copy-protected * { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.nalaruna-review-copy-note { display: flex; gap: 8px; align-items: baseline; margin-top: 10px; padding: 10px 12px; border: 1px solid #d7e2de; border-radius: 9px; color: #66736f; background: rgba(255,255,255,.76); font-size: 9px; }
.nalaruna-review-copy-note strong { color: var(--brand-dark); white-space: nowrap; }
.nalaruna-review-actions { display: grid; gap: 13px; margin-top: 18px; }
.nalaruna-approved-message { display: grid; gap: 2px; padding: 13px 15px; border: 1px solid #cce4da; border-radius: 10px; background: #edf8f3; }
.nalaruna-approved-message strong { color: #1d6d55; font-size: 11px; }
.nalaruna-approved-message span { color: #687873; font-size: 9px; }
.nalaruna-revision-box { overflow: hidden; border: 1px solid #d8e1de; border-radius: 12px; background: #fff; }
.nalaruna-revision-box summary { padding: 13px 15px; color: var(--brand-dark); font-size: 10px; font-weight: 800; cursor: pointer; }
.nalaruna-revision-box form { display: grid; gap: 12px; padding: 0 15px 15px; }
.nalaruna-review-empty { padding: 38px; border: 1px dashed #bfcfca; border-radius: 16px; background: rgba(255,255,255,.72); }
.nalaruna-review-empty h3 { margin: 7px 0; font-family: Georgia, serif; font-size: 28px; }
.nalaruna-review-empty > p { max-width: 620px; color: var(--muted); }
.nalaruna-review-generate-form { max-width: 650px; display: grid; gap: 12px; margin-top: 22px; }
.nalaruna-review-inspector { display: grid; align-content: start; gap: 18px; padding: 18px; border-left: 1px solid #dbe3e0; }
.nalaruna-review-inspector h3 { margin: 5px 0 7px; font-family: Georgia, serif; font-size: 22px; line-height: 1.1; }
.nalaruna-review-inspector p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.nalaruna-review-inspector dl { display: grid; gap: 1px; margin: 0; border: 1px solid #e0e7e4; border-radius: 10px; overflow: hidden; }
.nalaruna-review-inspector dl div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 10px; background: #f8faf9; font-size: 9px; }
.nalaruna-review-inspector dt { color: var(--muted); }
.nalaruna-review-inspector dd { margin: 0; font-weight: 800; }
.nalaruna-finalize-state { padding: 13px; border: 1px solid #e1d4b9; border-radius: 10px; background: #fff8e9; }
.nalaruna-finalize-state.is-ready { border-color: #cbe2d8; background: #edf8f4; }
.nalaruna-finalize-state strong { font-size: 10px; }
.nalaruna-review-inspector form { display: grid; gap: 8px; }
.nalaruna-review-inspector form small { color: var(--muted); font-size: 8px; }
.button--secondary { border-color: #bed1cb; color: var(--brand-dark); background: #eef6f3; }
.button--wide { width: 100%; }
.nalaruna-copy-toast { position: fixed; z-index: 9999; right: 20px; bottom: 20px; max-width: 360px; padding: 12px 15px; border-radius: 10px; color: #fff; background: #213d37; box-shadow: 0 12px 32px rgba(0,0,0,.2); font-size: 10px; opacity: 0; pointer-events: none; transform: translateY(10px); transition: .18s ease; }
.nalaruna-copy-toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1120px) {
    .nalaruna-review-app__body { grid-template-columns: 210px minmax(0, 1fr); }
    .nalaruna-review-inspector { display: none; }
    .nalaruna-template-summary, .nalaruna-structured-plan-grid { grid-template-columns: 1fr; }
    .nalaruna-section-form--structured { position: static; }
}

@media (max-width: 760px) {
    .nalaruna-template-summary { padding: 20px; }
    .nalaruna-template-summary dl { grid-template-columns: 1fr 1fr; }
    .nalaruna-review-app__header { grid-template-columns: 1fr auto; }
    .nalaruna-review-progress { grid-column: 1 / -1; grid-row: 2; }
    .nalaruna-review-toolbar { align-items: stretch; flex-direction: column; }
    .nalaruna-review-toolbar label { min-width: 0; }
    .nalaruna-review-template-facts { justify-content: flex-start; }
    .nalaruna-review-app__body { grid-template-columns: 1fr; }
    .nalaruna-review-nav { display: none; }
    .nalaruna-review-stage { padding: 18px 12px 50px; }
    .nalaruna-template-paper, .nalaruna-template-paper--book { min-height: 680px; padding: 38px 26px 60px; }
    .nalaruna-template-paper__body { font-size: 14px; line-height: 1.8; }
    .nalaruna-review-copy-note { align-items: start; flex-direction: column; }
}

@media (max-width: 480px) {
    .nalaruna-template-summary dl { grid-template-columns: 1fr; }
    .nalaruna-review-app__header { padding: 10px 12px; }
    .nalaruna-review-app__identity h1 { font-size: 16px; }
    .nalaruna-review-app__header-actions .nalaruna-credit-pill { display: none; }
    .nalaruna-review-toolbar { padding: 9px 12px; }
    .nalaruna-review-node-meta { align-items: start; flex-direction: column; }
    .nalaruna-review-node-meta__right { justify-content: flex-start; }
}

@media print {
    .nalaruna-review-dialog,
    .nalaruna-review-launch,
    .nalaruna-template-paper.is-copy-protected { display: none !important; }
}
.nalaruna-page-estimate-note { display: block; color: var(--muted); font-size: 8px; line-height: 1.5; }
.nalaruna-review-nav__item { text-decoration: none; }
.nalaruna-ai-review-notes { margin-top: 12px; padding: 13px 15px; border: 1px solid #d7e3df; border-radius: 10px; background: #f7faf9; }
.nalaruna-ai-review-notes p { margin: 6px 0 0; color: #586762; font-size: 10px; line-height: 1.65; }

/* NALARUNA revision continuation, Finish backup, and Translator */
.nalaruna-feedback-panel { display:grid; gap:12px; padding:18px; border:1px solid rgba(19,65,89,.16); border-radius:18px; background:#f7fbfd; }
.nalaruna-feedback-panel h3,.nalaruna-feedback-panel p { margin:0; }
.nalaruna-feedback-panel form { display:grid; gap:10px; }
.nalaruna-feedback-rounds { display:grid; gap:4px; padding:10px 12px; border-radius:12px; background:#fff; }
.nalaruna-revision-evidence-list { display:grid; gap:8px; max-height:340px; overflow:auto; padding-right:4px; }
.nalaruna-revision-evidence { display:grid; gap:7px; padding:11px 12px; border:1px solid rgba(18,57,77,.13); border-radius:12px; background:#fff; }
.nalaruna-revision-evidence > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nalaruna-revision-evidence p,.nalaruna-revision-evidence blockquote { margin:0; }
.nalaruna-revision-evidence blockquote { padding:8px 10px; border-left:3px solid #93b8c8; background:#f7fafb; font-size:.82rem; }
.nalaruna-revision-evidence.is-satisfied { border-color:#9bcab5; background:#f5fcf8; }
.nalaruna-revision-evidence.is-changed { border-color:#a9bed9; background:#f6f9fe; }
.nalaruna-revision-evidence.is-open { border-color:#dfc48f; background:#fffaf1; }
.nalaruna-finish-section { border-top:1px solid rgba(15,49,68,.08); }
.nalaruna-finish-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.85fr); gap:28px; padding:26px; border-radius:22px; border:1px solid rgba(19,65,89,.14); background:#f8fbfc; }
.nalaruna-finish-card form { display:grid; gap:12px; }
.nalaruna-backup-list { display:grid; gap:10px; margin-bottom:36px; }
.nalaruna-backup-list article { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; align-items:center; padding:14px 16px; border:1px solid rgba(19,65,89,.12); border-radius:14px; background:#fff; }
.nalaruna-backup-list article div { display:grid; gap:3px; }
.nalaruna-translator-result { border:1px solid rgba(19,65,89,.14); border-radius:20px; background:#fff; overflow:hidden; margin-bottom:20px; }
.nalaruna-translator-result__head { display:flex; justify-content:space-between; gap:16px; padding:14px 18px; background:#eef6fa; border-bottom:1px solid rgba(19,65,89,.1); }
.nalaruna-protected-text { padding:24px; white-space:normal; line-height:1.72; user-select:none; -webkit-user-select:none; }
@media (max-width: 800px) { .nalaruna-finish-card { grid-template-columns:1fr; } .nalaruna-backup-list article { grid-template-columns:1fr; gap:6px; } }
@media print { [data-protected-translation], .nalaruna-review-dialog { display:none !important; } }
.nalaruna-linked-review { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; align-items:center; padding:14px 16px; border:1px solid rgba(19,65,89,.12); border-radius:14px; background:#fff; color:inherit; text-decoration:none; }
.nalaruna-linked-review div { display:grid; gap:3px; }
.nalaruna-linked-review:hover { border-color:rgba(19,65,89,.32); transform:translateY(-1px); }
@media (max-width:800px) { .nalaruna-linked-review { grid-template-columns:1fr; gap:6px; } }

/* ==========================================================================
   SNC-MANUAL-005 · NALARUNA Floating 3D Brand Presentation
   Logo is intentionally treated as a free-standing brand mark, not a card.
   ========================================================================== */
.portal--nalaruna .brand__mark--nalaruna {
    position: relative;
    isolation: isolate;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    perspective: 460px;
    transform-style: preserve-3d;
}
.portal--nalaruna .brand__mark--nalaruna::before {
    content: "";
    position: absolute;
    z-index: 0;
    right: 7%;
    bottom: -9%;
    left: 7%;
    height: 24%;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(8,45,74,.28) 0%, rgba(8,45,74,.12) 42%, transparent 72%);
    filter: blur(5px);
    transform: translateZ(-10px) scaleX(.86);
    pointer-events: none;
}
.portal--nalaruna .brand__mark--nalaruna::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 4% 1% 15%;
    border-radius: 50%;
    background: radial-gradient(circle at 42% 35%, rgba(246,196,45,.17), rgba(22,136,191,.08) 38%, transparent 70%);
    filter: blur(7px);
    transform: translateZ(-6px);
    pointer-events: none;
}
.portal--nalaruna .brand__mark--nalaruna img {
    position: absolute;
    z-index: 2;
    inset: -17.5%;
    width: 135%;
    height: 135%;
    max-width: none;
    object-fit: contain;
    background: transparent;
    filter:
        drop-shadow(0 1px 0 rgba(255,255,255,.72))
        drop-shadow(0 4px 3px rgba(5,51,75,.18))
        drop-shadow(0 11px 10px rgba(5,51,75,.20));
    transform: translateZ(12px) rotateX(3deg) rotateY(-4deg);
    transform-origin: 50% 62%;
    transition: transform .22s ease, filter .22s ease;
    will-change: transform;
}
.portal--nalaruna .brand:hover .brand__mark--nalaruna img,
.portal--nalaruna .brand:focus-visible .brand__mark--nalaruna img {
    filter:
        drop-shadow(0 1px 0 rgba(255,255,255,.84))
        drop-shadow(0 5px 4px rgba(5,51,75,.18))
        drop-shadow(0 14px 13px rgba(5,51,75,.25));
    transform: translateZ(15px) rotateX(1deg) rotateY(4deg) translateY(-1px) scale(1.025);
}
.portal--nalaruna .brand__copy strong {
    letter-spacing: -.012em;
}
.portal--nalaruna .brand--footer .brand__mark--nalaruna::before {
    background: radial-gradient(ellipse at center, rgba(0,0,0,.36) 0%, rgba(0,0,0,.12) 46%, transparent 74%);
}
.portal--nalaruna .brand--footer .brand__mark--nalaruna::after {
    opacity: .52;
}

/* Public/assistance logo: remove the old rounded image box completely. */
.portal--nalaruna .nalaruna-logo-frame {
    position: relative;
    isolation: isolate;
    overflow: visible;
    width: 145px;
    height: 145px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    perspective: 680px;
    transform-style: preserve-3d;
}
.portal--nalaruna .nalaruna-logo-frame::before {
    content: "";
    position: absolute;
    z-index: 0;
    right: 10%;
    bottom: -4%;
    left: 10%;
    height: 18%;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(8,45,74,.31), rgba(8,45,74,.12) 45%, transparent 73%);
    filter: blur(10px);
    transform: translateZ(-18px) scaleX(.88);
    pointer-events: none;
}
.portal--nalaruna .nalaruna-logo-frame {
    background:
        radial-gradient(circle at 62% 28%, rgba(246,196,45,.16), transparent 27%),
        radial-gradient(circle at 36% 52%, rgba(22,136,191,.10), transparent 55%);
}
.portal--nalaruna .nalaruna-logo-frame::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: -2%;
    background: url('../images/nalaruna-mark-floating.png') center / contain no-repeat;
    filter:
        drop-shadow(0 2px 0 rgba(255,255,255,.78))
        drop-shadow(0 8px 6px rgba(6,55,79,.18))
        drop-shadow(0 22px 18px rgba(6,55,79,.20));
    transform: translateZ(20px) rotateX(2deg) rotateY(-4deg) translateY(-2px);
    transform-origin: 50% 62%;
    transition: transform .28s ease, filter .28s ease;
    pointer-events: none;
}
.portal--nalaruna .nalaruna-logo-frame img {
    opacity: 0;
    pointer-events: none;
}
.portal--nalaruna .nalaruna-logo-frame:hover::after {
    filter:
        drop-shadow(0 2px 0 rgba(255,255,255,.85))
        drop-shadow(0 9px 7px rgba(6,55,79,.19))
        drop-shadow(0 26px 22px rgba(6,55,79,.24));
    transform: translateZ(26px) rotateX(0deg) rotateY(4deg) translateY(-4px) scale(1.025);
}

@media (max-width: 760px) {
    .portal--nalaruna .brand__mark--nalaruna {
        width: 38px;
        height: 38px;
    }
    .portal--nalaruna .nalaruna-logo-frame {
        width: 92px;
        height: 92px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal--nalaruna .brand__mark--nalaruna img,
    .portal--nalaruna .nalaruna-logo-frame::after {
        transition: none;
        transform: none;
    }
}
