/* KingdomFlow Technologies — site styles
   Navy, deep blue, gold and white identity. No external fonts or dependencies. */

:root{
  --navy:#0c1726;--navy-2:#132640;--navy-3:#1c3456;
  --blue:#2f5d93;--blue-ink:#234a78;--blue-soft:#e8eff8;
  --gold:#e0bb73;--gold-soft:#f7eedb;--gold-ink:#7a5719;--gold-deep:#b8862e;
  --ink:#14263d;--muted:#52647a;--line:#dde5ef;--line-strong:#c8d4e3;
  --paper:#f5f7fb;--white:#fff;
  --on-dark:#fff;--on-dark-muted:#b9c8da;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","URW Palladio L",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --radius:12px;--radius-sm:8px;
  --shadow:0 1px 2px #0c172608,0 6px 20px #0c17260d;
  --header-h:76px;
  --gutter:clamp(16px,4vw,48px);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-offset,var(--header-h)) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--white);overflow-x:hidden}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{color:inherit;line-height:1.2;font-weight:700}
h1,h2{font-family:var(--serif);letter-spacing:-.01em}
img{max-width:100%}
a{color:inherit;text-underline-offset:3px}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button,a{touch-action:manipulation}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--gold-deep);outline-offset:3px;border-radius:4px}
.hero :focus-visible,.donation :focus-visible,.contact-card :focus-visible,.site-footer :focus-visible,.image-carousel :focus-visible{outline-color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--gold);color:var(--navy);padding:10px 18px;border-radius:6px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:min(1200px,100% - 2*var(--gutter));margin-inline:auto}

.eyebrow{font-family:var(--sans);font-size:.75rem;line-height:1.5;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:var(--blue-ink)}

/* ---------- Buttons & chips ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}
.button.primary{background:var(--navy-2);color:#fff}
.button.primary:hover{background:var(--navy-3)}
.button.secondary{background:#fff;border-color:var(--line-strong);color:var(--blue-ink)}
.button.secondary:hover{border-color:var(--blue);background:var(--blue-soft)}
.button.gold{background:var(--gold);color:var(--navy)}
.button.gold:hover{background:#ecd09b}
.button.ghost{border-color:#ffffff59;color:#fff}
.button.ghost:hover{background:#ffffff14;border-color:#fff}
.button:disabled{background:#8d9fb1;cursor:wait}

.status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.5;white-space:nowrap}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status-available{background:var(--gold-soft);color:var(--gold-ink)}
.status-pending{background:#edf1f6;color:#4a5d75}
.meta-pill{display:inline-block;font-size:.8125rem;color:var(--muted);border:1px solid var(--line);background:#fff;padding:5px 12px;border-radius:999px;white-space:nowrap}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 8px #0c17260f}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand-logo{display:block;width:auto;height:54px}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-family:var(--sans);font-size:1.25rem;font-weight:800;letter-spacing:-.01em;color:var(--navy)}
.brand-text strong span{color:var(--gold-deep)}
.brand-text small{font-size:.6875rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.site-nav{display:flex;align-items:center;gap:4px}
.site-nav a{position:relative;padding:10px 12px;font-size:.8125rem;font-weight:700;letter-spacing:.06em;color:var(--ink);text-decoration:none;border-radius:6px}
.site-nav a:hover{color:var(--blue);background:var(--paper)}
.site-nav a[aria-current]{color:var(--gold-ink)}
.site-nav a[aria-current]::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--gold-deep);border-radius:2px}

/* ---------- Hero ---------- */
.hero{background:var(--navy);color:var(--on-dark)}
.hero-banner{max-width:1600px;margin-inline:auto;background:#dfebf5}
.hero-banner img{display:block;width:100%;height:auto}
.hero-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:clamp(32px,6vw,80px);align-items:center;padding:clamp(40px,6vw,72px) 0}
.hero .eyebrow{color:var(--gold)}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.35rem);line-height:1.12;margin-top:14px}
.hero-intro{color:var(--on-dark-muted);font-size:1.0625rem;line-height:1.75;max-width:600px;margin-top:20px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-projects-label{font-size:.8125rem;color:var(--on-dark-muted);margin-bottom:12px;letter-spacing:.02em}
.hero-projects{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hero-projects a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name status" "desc status";column-gap:16px;align-items:center;padding:14px 18px;border:1px solid #ffffff1f;border-radius:var(--radius-sm);background:#ffffff08;text-decoration:none;transition:background-color .15s,border-color .15s}
.hero-projects a:hover{background:#ffffff12;border-color:#e0bb7380}
.hp-name{grid-area:name;font-weight:700}
.hp-desc{grid-area:desc;font-size:.8125rem;color:var(--on-dark-muted)}
.hero-projects .status{grid-area:status}
.hero-projects .status-available{background:#e0bb7326;color:var(--gold)}
.hero-projects .status-pending{background:#ffffff14;color:#c9d6e5}

/* ---------- Sections ---------- */
.section{padding:clamp(56px,7vw,96px) 0}
.section-head{margin-bottom:clamp(28px,3.5vw,40px)}
.section-head.split{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.section-head h2,.about h2{font-size:clamp(1.85rem,3.2vw,2.6rem);margin-top:10px}
.section-lead{color:var(--muted);font-size:1.0625rem;max-width:680px;margin-top:14px}
.footnote{font-size:.8125rem;color:var(--muted);margin-top:16px}

/* About */
.about{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,6vw,96px);align-items:start}
.about h2 span{color:var(--blue)}
.about-copy .lead{font-size:1.25rem;line-height:1.6;font-weight:600;color:var(--ink)}
.about-copy p:not(.lead){color:var(--muted);margin-top:16px}
.pillars{list-style:none;margin:clamp(36px,5vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pillars li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.pillar-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--navy-2);color:var(--gold);font-weight:800;font-size:1.0625rem}
.pillars h3{font-size:1.0625rem;margin-top:16px}
.pillars p{color:var(--muted);font-size:.9375rem;margin-top:8px}
.about-motto{margin-top:28px;color:var(--muted);font-size:.9375rem}
.about-motto .eyebrow{margin-right:10px;color:var(--gold-ink)}

/* ---------- Slideshow ---------- */
.vision{background:#fff}
.image-carousel{border-radius:16px;overflow:hidden;background:var(--navy);color:#fff;box-shadow:var(--shadow)}
.image-carousel:focus-visible{outline:3px solid var(--gold-deep);outline-offset:4px}
.image-slide{display:block}
.slide-art{height:clamp(300px,42vw,540px);padding:clamp(12px,2vw,24px);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#1f3a5c 0%,var(--navy) 72%)}
.slide-art img{display:block;width:100%;height:100%;object-fit:contain}
.image-slide figcaption{padding:22px clamp(18px,3vw,30px) 4px}
.image-slide figcaption .eyebrow{color:var(--gold)}
.image-slide h3{font-family:var(--serif);font-size:1.5rem;margin-top:6px}
.image-slide figcaption>p:last-child{color:var(--on-dark-muted);margin-top:6px}
.slide-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(18px,3vw,30px) 20px}
.slide-arrows{display:flex;align-items:center;gap:14px}
.slide-controls button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 16px;border:1px solid #ffffff45;border-radius:var(--radius-sm);background:transparent;color:#fff;font-size:.875rem;font-weight:600}
.slide-controls button:hover{background:#ffffff14}
#slide-play{color:var(--gold);border-color:#e0bb7380}
#slide-counter{font-size:.8125rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--on-dark-muted);white-space:nowrap}
.slide-thumbnails{display:flex;gap:10px;padding:16px clamp(18px,3vw,30px) 20px;border-top:1px solid #ffffff17;overflow-x:auto;scrollbar-color:#e0bb7370 var(--navy-2)}
.slide-thumb{position:relative;flex:0 0 84px;height:66px;padding:4px;background:var(--navy-2);border:2px solid transparent;border-radius:6px;overflow:hidden}
.slide-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.slide-thumb span{position:absolute;right:3px;bottom:2px;padding:1px 4px;border-radius:3px;background:#0c1726e6;color:#fff;font-size:.625rem;line-height:1.4}
.slide-thumb:hover{border-color:#ffffff70}
.slide-thumb[aria-pressed=true]{border-color:var(--gold)}

/* ---------- Project workspace ---------- */
.workspace{background:var(--paper)}
.project-workspace{display:grid;grid-template-columns:268px minmax(0,1fr);gap:28px;align-items:start}
.project-sidebar{position:sticky;top:calc(var(--header-offset,var(--header-h)) + 20px)}
.project-tabs{display:flex;flex-direction:column;gap:8px}
.project-tab{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);text-align:left;transition:background-color .15s,border-color .15s}
.project-tab:hover{background:#e9eff7}
.project-tab.active{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:var(--shadow)}
.tab-monogram{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:9px;background:#e3eaf4;color:var(--blue-ink);font-weight:800}
.project-tab.active .tab-monogram{background:var(--navy-2);color:var(--gold)}
.tab-copy{min-width:0}
.tab-copy strong{display:block;font-size:.9375rem;line-height:1.4;overflow-wrap:anywhere}
.tab-copy small{display:block;font-size:.75rem;line-height:1.45;margin-top:2px;color:var(--muted)}
.tab-count{margin-left:auto;min-width:24px;padding:1px 7px;border-radius:999px;background:#e3eaf4;color:#4a5d75;font-size:.75rem;font-weight:700;text-align:center}
.project-tab.active .tab-count{background:var(--gold-soft);color:var(--gold-ink)}
.sidebar-note{margin-top:20px;padding:20px 14px 0;border-top:1px solid var(--line)}
.sidebar-note .eyebrow{color:var(--gold-ink);font-size:.6875rem}
.sidebar-note p{font-size:.875rem;color:var(--muted);margin-top:8px}

.project-panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow)}
.project-panel:focus-visible{outline-offset:4px}
.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.panel-header h2{font-size:clamp(1.75rem,3vw,2.25rem);margin-top:6px}
.project-description{color:var(--muted);font-size:1.0625rem;max-width:700px;margin:16px 0 18px}
.project-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.project-features span{font-size:.8125rem;color:#3f5672;padding:5px 11px;background:var(--blue-soft);border-radius:999px}
.project-image{margin:0 0 24px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--navy)}
.project-image img{display:block;width:100%;height:auto}
.project-image figcaption{padding:10px 16px;font-size:.8125rem;color:var(--on-dark-muted)}
.project-image.is-wordmark{max-width:678px;background:#d9e9f7}

/* JOURNEY introduction */
.journey-content{border-top:1px solid var(--line);padding:28px 0 8px}
.journey-lead{color:var(--muted);margin-top:10px;max-width:700px}
.intro-tag{display:inline-block;font-size:.6875rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.journey-note{margin-top:20px;padding:16px 18px;border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.9375rem;color:#2a3f59}
.modules-head{margin-top:40px}
.modules-heading{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.55rem)}
.journey-modules{display:grid;gap:14px;margin-top:20px}
.journey-module{display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.module-cover{align-self:start;border-radius:6px;overflow:hidden;background:var(--paper);box-shadow:0 2px 8px #0c17261f}
.module-cover img{display:block;width:100%;height:auto}
.module-copy{min-width:0;padding:4px 0}
.module-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.module-copy h4{font-family:var(--serif);font-size:1.3rem;margin-top:6px}
.module-copy>p{color:var(--muted);margin-top:8px}
.module-note{display:block;font-size:.8125rem;color:var(--muted);margin-top:8px;font-style:italic}
.module-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.module-actions .button{min-height:42px;padding:9px 16px;font-size:.875rem}
.workbook-pending{font-size:.875rem;color:var(--muted);padding:9px 0}

/* Catalog list */
.library-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding:20px 0 14px;border-top:1px solid var(--line)}
.library-heading h3{font-size:1rem}
.library-heading>span{font-size:.8125rem;color:var(--muted)}
.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px;color:var(--muted)}
.spinner{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty-state{text-align:center;padding:32px 24px;background:var(--paper);border:1px dashed var(--line-strong);border-radius:var(--radius-sm)}
.empty-state h3{font-size:1.125rem;color:#2c4260}
.empty-state p{max-width:480px;margin:10px auto 0;color:var(--muted);font-size:.9375rem}
.empty-label{display:inline-block;margin-top:16px;font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.error-state{padding:24px;background:#fff6f0;border:1px solid #f1d0b9;border-radius:var(--radius-sm)}
.error-state h3{font-size:1rem}
.error-state p{font-size:.9375rem;color:#7a5a41;margin:8px 0 14px}
.file-list{display:flex;flex-direction:column;gap:10px}
.resource-file{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
.resource-file>div{min-width:0}
.resource-file h3{font-size:1rem;line-height:1.4}
.resource-file p{color:var(--muted);font-size:.875rem;margin-top:4px;overflow-wrap:anywhere}
.resource-file small{display:block;color:#6a7a8e;font-size:.75rem;margin-top:6px;overflow-wrap:anywhere}
.resource-file .button{flex-shrink:0}
body[data-mode=admin] .empty-state{padding:20px}
body[data-mode=admin] .empty-label{display:none}

/* ---------- Downloads ---------- */
.downloads{background:#fff}
.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.download-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.download-card img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 2px 8px #0c17261f;align-self:start}
.download-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.download-copy h3{font-family:var(--serif);font-size:1.1875rem;line-height:1.3;margin-top:10px}
.download-meta{font-size:.8125rem;color:var(--blue-ink);font-weight:600;margin-top:6px}
.download-copy p:not(.download-meta){font-size:.9375rem;color:var(--muted);margin-top:8px}
.download-copy .button{margin-top:16px}
.download-summary{margin-top:20px;font-size:.875rem;color:var(--muted)}
.download-extra{margin-top:28px}
.download-extra h3{font-size:1.125rem;margin-bottom:12px}
.pending-block{margin-top:36px;padding:24px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line)}
.pending-block h3{font-size:1.0625rem}
.pending-list{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.pending-list li{display:flex;flex-direction:column;padding:10px 0 10px 16px;border-left:2px solid var(--line-strong)}
.pending-list strong{font-size:.9375rem}
.pending-list span{font-size:.8125rem;color:var(--muted)}
.project-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:24px;font-size:.875rem}
.project-shortcuts span{color:var(--muted);margin-right:4px}
.project-shortcuts a{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--line-strong);border-radius:999px;color:var(--blue-ink);font-weight:600;text-decoration:none}
.project-shortcuts a:hover{border-color:var(--blue);background:var(--blue-soft)}

/* ---------- Blog ---------- */
.blog{background:var(--paper)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.blog-card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.article-category{display:block;font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.blog-card h3{font-family:var(--serif);font-size:1.3rem;line-height:1.3;margin-top:10px}
.blog-card>p{color:var(--muted);margin-top:10px}
.blog-card details{margin-top:16px}
.blog-card summary{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:.875rem;font-weight:700;color:var(--blue-ink);cursor:pointer;list-style:none}
.blog-card summary::-webkit-details-marker{display:none}
.blog-card summary::after{content:"↓";transition:transform .2s}
.blog-card details[open] summary::after{transform:rotate(180deg)}
.article-body{border-top:1px solid var(--line);margin-top:10px;padding-top:4px}
.article-body p{color:#33475f;font-size:.9375rem;margin-top:12px}

/* ---------- Donation ---------- */
.donation{background:var(--navy-2);color:#fff}
.donation .eyebrow{color:var(--gold)}
.donation .section-lead{color:var(--on-dark-muted)}
.donation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:center}
.donation h2{font-size:clamp(1.85rem,3.2vw,2.6rem);margin-top:10px}
.give-card{padding:clamp(22px,3vw,32px);border:1px solid #ffffff24;border-radius:var(--radius);background:#ffffff09}
.give-card h3{font-size:1.125rem}
.support-prompt{color:var(--on-dark-muted);font-size:.9375rem;margin-top:6px}
.payment-logos{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.payment-logo{display:flex;align-items:center;justify-content:center;min-width:112px;height:56px;padding:10px 18px;background:#fff;border:2px solid transparent;border-radius:10px;transition:transform .15s,border-color .15s}
.payment-logo:hover{transform:translateY(-2px);border-color:var(--gold)}
.payment-wordmark{font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1}
.payment-logo-paypal .payment-wordmark{font-style:italic;color:#003087}
.payment-logo-gcash .payment-wordmark{color:#0058cc}
.payment-logo-maya .payment-wordmark{color:#00804a;font-size:26px;text-transform:lowercase}
.give-note{font-size:.8125rem;color:var(--on-dark-muted);margin-top:18px}
.support-help{font-size:.9375rem;color:var(--on-dark-muted);margin-top:10px}
.support-help a{color:#fff}

/* Payment dialog */
.support-dialog{width:min(460px,100% - 28px);max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:0;border-radius:16px;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 24px 80px #0007}
.support-dialog::backdrop{background:#071323c7}
.support-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.support-dialog-header h2{font-size:1.375rem}
.support-dialog-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:26px;line-height:1}
.support-dialog-close:hover{background:var(--blue-soft)}
.support-dialog [hidden]{display:none!important}
.support-dialog p{font-size:.9375rem;margin:12px 0;line-height:1.6}
.support-dialog small{display:block;margin-top:16px;font-size:.8125rem;line-height:1.6;color:var(--muted)}
.paypal-email{overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--line);padding:14px;border-radius:var(--radius-sm)}
.support-dialog .button{margin-top:6px;width:100%}
.payment-qr-full{display:block;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}
.payment-qr-full img{display:block;width:auto;max-width:100%;height:auto;max-height:52dvh;margin-inline:auto}
.payment-detail-actions{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:14px;font-size:.9375rem}
.payment-detail-actions a{display:inline-flex;align-items:center;min-height:40px;color:var(--blue-ink);font-weight:600}
.support-dialog :focus-visible{outline-color:var(--gold-deep)}

/* ---------- Contact ---------- */
.contact{background:#fff}
.contact-card{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:clamp(28px,4vw,48px);border-radius:16px;background:var(--navy);color:#fff;background-image:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%)}
.contact-card .eyebrow{color:var(--gold)}
.contact-card h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-top:10px}
.contact-card p:not(.eyebrow){color:var(--on-dark-muted);margin-top:10px;max-width:520px}
.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex-shrink:0}
.contact-action small{font-size:.8125rem;color:var(--on-dark-muted)}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:var(--on-dark-muted);padding:44px 0 24px}
.footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding-bottom:28px}
.footer-brand p{font-size:.9375rem;margin-top:14px}
.site-footer .brand-logo{height:50px}
.site-footer .brand-text strong{color:#fff}
.site-footer .brand-text strong span{color:var(--gold)}
.site-footer .brand-text small{color:var(--on-dark-muted)}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 4px;max-width:560px}
.footer-nav a{padding:8px 10px;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-decoration:none;color:#d5e0ec;border-radius:6px}
.footer-nav a:hover{color:#fff;background:#ffffff10}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-top:20px;border-top:1px solid #ffffff1a;font-size:.8125rem;color:#9fb2c8}
.footer-bottom a{color:#c6d3e2}

/* ---------- Owner upload form (admin mode) ---------- */
.upload-area{margin-top:28px;padding-top:26px;border-top:1px solid var(--line)}
.upload-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.upload-heading h3{font-size:1.25rem;margin-top:6px}
.owner-badge{background:var(--blue-soft);padding:4px 10px;border-radius:999px;color:var(--blue-ink);font-size:.75rem;font-weight:700;white-space:nowrap}
.upload-intro{color:var(--muted);font-size:.9375rem;margin:12px 0 22px}
form label{display:block;font-size:.875rem;font-weight:600;color:#33496a;margin-bottom:16px}
form input:not([type=file]),form textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:1rem;line-height:1.5}
form input::placeholder,form textarea::placeholder{color:#8795a7;font-size:.875rem}
form textarea{resize:vertical}
.optional{font-size:.75rem;font-weight:400;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
.file-picker{padding:18px 20px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--paper)}
input[type=file]{display:block;width:100%;margin:12px 0;color:var(--muted);font-size:.875rem}
input[type=file]::file-selector-button{margin-right:10px;padding:8px 12px;background:#fff;color:var(--blue-ink);border:1px solid var(--line-strong);border-radius:6px;font-size:.875rem;cursor:pointer}
.file-picker>span{font-size:.75rem;font-weight:400;color:var(--muted)}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.form-bottom p{font-size:.8125rem;color:var(--muted);max-width:320px}
.form-bottom button{flex-shrink:0}
.upload-feedback{font-size:.875rem;margin-top:14px;color:var(--blue-ink)}
.upload-feedback.error{color:#9a4e31}
.selection-note{font-size:.875rem;color:var(--blue-ink);margin-bottom:16px;overflow-wrap:anywhere}
.upload-progress{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.upload-progress progress{width:100%;height:10px;accent-color:var(--blue)}
.upload-progress span{font-size:.75rem;white-space:nowrap;color:var(--muted)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .site-nav a{padding:10px 8px;font-size:.75rem}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-workspace{grid-template-columns:232px minmax(0,1fr);gap:20px}
}

/* Collapsible menu (only when JavaScript is available; otherwise links wrap) */
@media (max-width:960px){
  .site-header .header-row{flex-wrap:wrap}
  .site-nav{flex-wrap:wrap}
  .hero-body{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .donation-grid{grid-template-columns:1fr}
  .project-workspace{grid-template-columns:1fr}
  .project-sidebar{position:static}
  .project-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .sidebar-note{display:none}
  .contact-card{flex-direction:column;align-items:flex-start}
}

@media (max-width:720px){
  :root{--header-h:66px}
  .brand-logo{height:44px}
  .brand-text strong{font-size:1.0625rem}
  .brand-text small{font-size:.625rem;letter-spacing:.26em}
  .section-head.split{flex-direction:column;align-items:flex-start;gap:14px}
  .pillars{grid-template-columns:1fr}
  .download-grid,.blog-grid{grid-template-columns:1fr}
  .pending-list{grid-template-columns:1fr}
  .panel-header{flex-direction:column;gap:12px}
  .slide-art{height:380px}
  .slide-controls{flex-wrap:wrap}
  .slide-controls .btn-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .slide-thumb{flex-basis:72px;height:58px}
  .footer-row{flex-direction:column}
  .footer-nav{justify-content:flex-start}
  .resource-file{flex-direction:column;align-items:stretch}
  .form-grid{grid-template-columns:1fr;gap:0}
  .form-bottom{flex-direction:column;align-items:stretch}
}

@media (max-width:520px){
  .journey-module{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:14px}
  .module-actions{flex-direction:column;align-items:stretch}
  .module-actions .button{width:100%}
  .download-card{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:14px}
  .project-tab{padding:12px 10px;gap:8px}
  .tab-monogram{display:none}
  .tab-copy small{display:none}
  .hero-actions .button{width:100%}
  .hero-projects a{padding:12px 14px}
  .payment-logo{min-width:0;flex:1 1 0;padding:10px 8px}
  .payment-wordmark{font-size:20px}
  .payment-logo-maya .payment-wordmark{font-size:23px}
  .support-dialog{padding:18px}
  .contact-action,.contact-action .button{width:100%}
  .slide-art{height:320px}
}

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

/* Refinements after browser review */
.site-footer .brand-logo{height:50px;padding:5px 6px;background:#fff;border-radius:10px;box-sizing:content-box}
.footer-nav{max-width:none}
@media (max-width:520px){
  .journey-module,.download-card{grid-template-columns:76px minmax(0,1fr);column-gap:14px;row-gap:0}
  .journey-module .module-copy,.download-card .download-copy{display:contents}
  .journey-module .module-cover,.download-card>img{grid-column:1;grid-row:1/4;align-self:start}
  .journey-module .module-top,.journey-module h4,.download-card .status,.download-card h3,.download-card .download-meta{grid-column:2}
  .download-card .status{justify-self:start}
  .journey-module .module-copy>p,.journey-module .module-note,.journey-module .module-actions,.download-card .download-copy>p:not(.download-meta),.download-card .button{grid-column:1/-1}
  .journey-module .module-copy>p,.download-card .download-copy>p:not(.download-meta){margin-top:14px}
  .download-card .button{width:100%}
}

/* Navigation links stay visible at every width; the header stays pinned while scrolling. */
@media (max-width:960px){
  .site-header .header-row{flex-wrap:wrap;justify-content:center;row-gap:0;column-gap:16px;min-height:0;padding-top:8px}
  .site-nav{width:100%;justify-content:center;flex-wrap:wrap;gap:0 2px;margin-top:6px;padding:2px 0 6px;border-top:1px solid var(--line)}
  .site-nav a{padding:9px 10px;font-size:.75rem}
  .site-nav a[aria-current]::after{bottom:3px}
}
@media (max-width:520px){
  .brand-logo{height:38px}
  .brand-text strong{font-size:1rem}
  .site-nav a{padding:8px 7px;font-size:.6875rem;letter-spacing:.04em}
  .site-nav a[aria-current]::after{left:7px;right:7px}
}

/* JOURNEY introduction — "Introduction — Why JOURNEY?" */
.journey-intro{margin-top:4px}
.journey-intro-head{position:relative;padding:28px clamp(20px,3vw,32px);border-radius:var(--radius);background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;overflow:hidden}
.journey-intro-head::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,#e0bb7340 0%,#e0bb7300 70%)}
.journey-intro-head .eyebrow{color:var(--gold)}
.journey-intro-title{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-family:var(--serif)}
.intro-kicker{font-family:var(--sans);font-size:.8125rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#d5e0ec;display:flex;align-items:center;gap:12px}
.intro-kicker::after{content:"";width:48px;height:2px;background:var(--gold)}
.intro-main{font-size:clamp(2.1rem,5vw,3.25rem);line-height:1.05;letter-spacing:-.01em}
.intro-accent{color:var(--gold)}
.journey-intro-sub{margin-top:10px;font-size:1.0625rem;color:var(--on-dark-muted)}
.intro-block{margin-top:22px;padding:22px clamp(18px,2.5vw,26px);border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.intro-block p{color:#33475f;margin-top:10px}
.intro-tag{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.intro-problem{background:var(--paper);border-left:4px solid var(--navy-2)}
.intro-question{display:inline;font-family:var(--serif);font-size:1.125em;font-weight:700;color:var(--navy);quotes:"“" "”"}
.intro-statement{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.45;font-weight:700;color:var(--ink)!important}
.intro-statement cite{display:block;margin-top:6px;font-family:var(--sans);font-size:.8125rem;font-style:normal;font-weight:700;letter-spacing:.06em;color:var(--blue-ink)}
.intro-formula{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0 6px!important}
.formula-item{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--blue-soft)}
.formula-item strong{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--navy)}
.formula-item small{font-size:.75rem;font-weight:700;color:var(--blue-ink);margin-top:4px}
.formula-total{background:var(--navy-2)}
.formula-total strong{color:var(--gold)}
.formula-total small{color:#d5e0ec}
.formula-op{font-size:1.5rem;font-weight:700;color:var(--muted)}
.lesson-flow{list-style:none;counter-reset:flow;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lesson-flow li{counter-increment:flow;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.875rem;font-weight:600;color:var(--ink)}
.lesson-flow li::before{content:counter(flow);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--navy-2);color:var(--gold);font-size:.75rem;font-weight:800}
.element-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.element-list li{padding:5px 12px;border-radius:999px;background:var(--gold-soft);color:var(--gold-ink);font-size:.8125rem;font-weight:700}
.intro-pullquote{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.45;color:var(--ink)!important;padding-left:16px;border-left:3px solid var(--gold)}
.intro-pullquote strong{color:var(--blue-ink)}
.intro-destination{margin-top:22px;padding:22px clamp(18px,2.5vw,26px);border-radius:var(--radius);background:var(--navy-2);color:#fff}
.intro-destination .intro-tag{color:var(--gold)}
.destination-path{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.destination-path li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 12px;border:1px solid #ffffff26;border-radius:var(--radius-sm);background:#ffffff0a;font-size:.875rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.3}
.destination-path li:not(:last-child)::after{content:"→";position:absolute;right:-10px;top:50%;transform:translate(50%,-50%);z-index:1;color:var(--gold);font-weight:800}
.dest-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid #e0bb7380;color:var(--gold);font-size:.75rem}
.destination-path li.is-goal{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.destination-path li.is-goal .dest-step{border-color:var(--navy);color:var(--navy)}
.journey-intro+.journey-note{margin-top:22px}
@media (max-width:760px){
  .destination-path{grid-template-columns:1fr;gap:18px}
  .destination-path li{flex-direction:row;align-items:center}
  .destination-path li:not(:last-child)::after{content:"↓";right:auto;left:24px;top:auto;bottom:-9px;transform:translate(-50%,50%)}
}
@media (max-width:520px){
  .intro-formula{flex-wrap:nowrap;gap:6px}
  .formula-item{min-width:0;flex:0 1 auto;padding:8px 9px}
  .formula-item strong{font-size:1.45rem}
  .formula-item small{font-size:.6875rem;text-align:center}
  .formula-op{font-size:1.15rem}
}

/* Always-running slideshow: gentle fade between images */
@keyframes slideFade{from{opacity:0}to{opacity:1}}
.image-slide:not([hidden]) .slide-art img{animation:slideFade .6s ease}

/* Download counter widget */
.download-counter{margin-bottom:28px;padding:clamp(20px,3vw,28px);border-radius:var(--radius);background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;box-shadow:var(--shadow)}
.counter-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.download-counter .eyebrow{color:var(--gold)}
.counter-head h3{font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.5rem);margin-top:6px}
.counter-total{display:flex;align-items:baseline;gap:10px;margin:0}
.counter-total strong{font-family:var(--serif);font-size:clamp(2.2rem,4vw,2.8rem);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.counter-total span{font-size:.875rem;color:var(--on-dark-muted)}
.counter-grid{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.counter-tile{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"mark name" "value value" "label label";align-items:center;column-gap:10px;padding:16px;border:1px solid #ffffff22;border-radius:var(--radius-sm);background:#ffffff0a}
.counter-mark{grid-area:mark;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--gold);color:var(--navy);font-weight:800;font-size:.875rem}
.counter-name{grid-area:name;font-size:.875rem;font-weight:700;line-height:1.3}
.counter-value{grid-area:value;margin-top:12px;font-family:var(--serif);font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.counter-label{grid-area:label;margin-top:4px;font-size:.8125rem;color:var(--on-dark-muted)}
.counter-tile.is-empty .counter-value{color:#ffffff99}
.counter-tile.is-empty .counter-mark{background:#ffffff1f;color:#d5e0ec}
.counter-note{margin-top:16px;font-size:.8125rem;color:var(--on-dark-muted)}
.download-counter.is-inactive .counter-grid,.download-counter.is-inactive .counter-total{opacity:.45}
.download-count{margin-top:8px!important;font-size:.8125rem!important;font-weight:700;color:var(--gold-ink)!important}
@media (max-width:900px){.counter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:380px){.counter-tile{padding:12px}.counter-value{font-size:1.6rem}}

/* ---------- v5: About welcome, needs and project status ---------- */
.about-subhead{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.6rem);margin-top:clamp(36px,5vw,52px)}
.needs-grid{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.needs-grid li{padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.needs-grid h4{font-size:1.0625rem}
.needs-grid p{color:var(--muted);font-size:.9375rem;margin-top:6px}
.needs-grid .need-help{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink);font-size:.875rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.about-status-key{margin-top:10px;color:var(--muted);font-size:.9375rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.about .pillars{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.about .pillars li{display:flex;flex-direction:column;align-items:flex-start}
.about .pillars li .status{margin-top:14px}
.about .pillars li h3{margin-top:10px}
.about .pillars li.is-available{grid-column:span 2;border-color:#e6cf9f;background:linear-gradient(135deg,#fff 0%,var(--gold-soft) 140%)}
.pillar-detail{margin-top:auto!important;padding-top:12px;font-size:.875rem!important;color:var(--ink)!important;font-weight:600}
@media (max-width:1100px){.needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.needs-grid,.about .pillars{grid-template-columns:1fr}.about .pillars li.is-available{grid-column:auto}}

/* JOURNEY timing and editions */
.timing-grid{list-style:none;margin:14px 0 8px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.timing-grid li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--blue-soft);border-left:3px solid var(--navy-2)}
.timing-grid strong{font-size:.9375rem;color:var(--navy)}
.timing-grid span{font-size:.875rem;color:var(--blue-ink)}
.timing-grid li.is-pending{background:#f1f4f8;border-left-color:var(--line-strong)}
.timing-grid li.is-pending strong,.timing-grid li.is-pending span{color:#4a5d75}
@media (max-width:620px){.timing-grid{grid-template-columns:1fr}}
.module-meta{margin-top:8px!important;font-size:.875rem!important;font-weight:700;color:var(--blue-ink)!important}
.edition-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px;font-size:.875rem;color:var(--muted)}
.edition-list li{padding-left:14px;position:relative}
.edition-list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--gold-deep)}
.edition-list strong{color:var(--ink)}

/* Ministry Studio (planned features) */
.studio-content{border-top:1px solid var(--line);padding-top:24px}
.studio-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:14px 16px;border-radius:var(--radius-sm);background:#f1f4f8;border:1px solid var(--line);font-size:.9375rem;color:#33475f}
.studio-heading{font-family:var(--serif);font-size:1.3rem;margin-top:24px}
.studio-lead{color:var(--muted);margin-top:6px}
.studio-chips{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.studio-chips li{padding:6px 12px;border-radius:999px;background:var(--blue-soft);color:#2a4466;font-size:.875rem;font-weight:600}
.studio-spaces{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-spaces li{padding:16px 18px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius-sm);background:var(--paper)}
.studio-spaces h4{font-size:1rem}
.studio-spaces p{color:var(--muted);font-size:.9375rem;margin-top:4px}
.studio-note{margin-top:18px;font-size:.875rem;color:var(--muted);font-style:italic}
@media (max-width:620px){.studio-spaces{grid-template-columns:1fr}}

/* Counter: five project tiles */
.counter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.counter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.counter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.counter-tile:last-child{grid-column:span 2}}
.download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:720px){.download-grid{grid-template-columns:1fr}}

/* ---------- KingdomFlow Help (AI support chat) ---------- */
.kf-help{position:fixed;right:20px;bottom:20px;z-index:60;font-family:var(--sans)}
.kf-help-launcher{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:10px 18px 10px 14px;border:2px solid var(--gold);border-radius:999px;background:var(--navy);color:#fff;font-size:.9375rem;font-weight:700;box-shadow:0 8px 24px #0c172640;transition:background-color .15s,transform .15s}
.kf-help-launcher:hover{background:var(--navy-3)}
.kf-help-launcher:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.kf-help-icon{color:var(--gold);flex-shrink:0}
.kf-help-panel{position:absolute;right:0;bottom:66px;width:min(390px,calc(100vw - 32px));height:min(620px,calc(100dvh - var(--header-offset,var(--header-h)) - 110px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px #0c172647;overflow:hidden}
.kf-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 12px 18px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff}
.kf-help-head h2{font-family:var(--serif);font-size:1.2rem;line-height:1.2}
.kf-help-sub{font-size:.75rem;color:var(--gold);margin-top:3px;font-weight:700;letter-spacing:.02em}
.kf-help-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.kf-help-textbtn{min-height:36px;padding:6px 10px;border:1px solid #ffffff4d;border-radius:8px;background:transparent;color:#fff;font-size:.75rem;font-weight:700}
.kf-help-textbtn:hover{background:#ffffff14}
.kf-help-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ffffff4d;border-radius:50%;background:transparent;color:#fff;font-size:24px;line-height:1}
.kf-help-close:hover{background:#ffffff14}
.kf-help-head :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.kf-help-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--paper);overscroll-behavior:contain}
.kf-help-log:focus-visible{outline:3px solid var(--gold-deep);outline-offset:-3px}
.kf-msg{max-width:88%;padding:10px 12px;border-radius:12px;font-size:.9375rem;line-height:1.55}
.kf-msg-user{align-self:flex-end;background:var(--navy-2);color:#fff;border-bottom-right-radius:4px}
.kf-msg-ai,.kf-msg-greeting,.kf-msg-fallback,.kf-msg-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}
.kf-msg-fallback{border-left:3px solid var(--gold-deep)}
.kf-msg-error{align-self:flex-start;background:#fff6f0;border:1px solid #f1d0b9;color:#6b3f22}
.kf-msg-tag{font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:4px}
.kf-msg-error .kf-msg-tag{color:#9a4e31}
.kf-msg-notice{font-size:.8125rem;color:var(--muted);margin-bottom:6px;font-style:italic}
.kf-msg-text{white-space:pre-wrap;overflow-wrap:anywhere}
.kf-help-link{color:var(--blue-ink);font-weight:700;text-underline-offset:3px}
.kf-msg-user .kf-help-link{color:#fff}
.kf-msg-links{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.kf-msg-links .kf-help-link{display:inline-flex;align-items:center;min-height:36px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:8px;text-decoration:none;font-size:.875rem;background:var(--paper)}
.kf-msg-links .kf-help-link:hover{border-color:var(--blue);background:var(--blue-soft)}
.kf-help-retry{margin-top:8px;min-height:36px;padding:6px 12px;border:1px solid #d9a988;border-radius:8px;background:#fff;color:#7a3f1c;font-weight:700;font-size:.875rem}
.kf-msg-typing{align-self:flex-start;font-size:.875rem;color:var(--muted);padding:6px 4px}
.kf-dots{display:inline-block;animation:kfPulse 1.2s ease-in-out infinite}
@keyframes kfPulse{0%,100%{opacity:.3}50%{opacity:1}}
.kf-help-quick{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.kf-help-quick button{min-height:36px;padding:6px 11px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--blue-ink);font-size:.8125rem;font-weight:700}
.kf-help-quick button:hover{border-color:var(--blue);background:var(--blue-soft)}
.kf-help-quick button:disabled,.kf-help-send:disabled{opacity:.55;cursor:wait}
.kf-help-form{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.kf-help-form textarea{flex:1;min-height:44px;max-height:120px;resize:none;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;font:inherit;font-size:1rem;line-height:1.4;color:var(--ink)}
.kf-help-form textarea:focus-visible{outline:3px solid var(--gold-deep);outline-offset:1px}
.kf-help-send{min-height:44px;padding:10px 16px;border:0;border-radius:10px;background:var(--gold);color:var(--navy);font-weight:800}
.kf-help-send:hover{background:#ecd09b}
.kf-help-foot{padding:0 12px 10px;background:#fff;font-size:.6875rem;line-height:1.4;color:var(--muted)}
.kf-help :focus-visible{outline-color:var(--gold-deep)}
@media (max-width:640px){
  .kf-help{right:12px;bottom:12px}
  .kf-help-launcher{width:52px;height:52px;padding:0;justify-content:center}
  .kf-help-launcher-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .kf-help.is-open{left:8px;right:8px;bottom:8px}
  .kf-help.is-open .kf-help-launcher{display:none}
  .kf-help-panel{position:fixed;left:8px;right:8px;bottom:8px;width:auto;height:calc(100dvh - var(--header-offset,var(--header-h)) - 16px)}
  .site-footer{padding-bottom:84px}
}
@media (prefers-reduced-motion:reduce){.kf-dots{animation:none}}

.kf-msg-diag{font-size:.72rem;color:var(--muted);margin:-2px 0 6px;font-family:ui-monospace,Consolas,monospace}
