:root{--primary:#17324d;--accent:#b58a45;--body-text:#263746;--page-bg:#fff;--font-scale:1;--section-spacing:84px;--muted:#6b7885;--surface:#fff;--alt-bg:#f7f9fb;--line:#e2e8ee;--danger:#a43333;--shadow:0 16px 40px rgba(23,50,77,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:calc(16px * var(--font-scale))}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--body-text);background:var(--page-bg);line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;color:var(--primary);display:flex;align-items:center;gap:11px}.brand img{width:42px;height:42px;object-fit:contain}.nav-links{display:flex;gap:24px;font-size:.95rem}.nav-links a:hover{color:var(--accent)}.menu-toggle{display:none;border:0;background:transparent;color:var(--primary);font-size:1.5rem}.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--hero-min-height,680px);padding:90px 0;overflow:hidden;color:var(--hero-text-color,var(--body-text));background:#f5efe3}.hero-background{position:absolute;inset:0;z-index:-2;background-position:var(--hero-position,center center);background-size:var(--hero-size,cover);background-repeat:no-repeat}.hero-wash{position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,var(--hero-overlay,.1));pointer-events:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:60px;align-items:center}.hero-grid.hero-no-profile{grid-template-columns:1fr}.hero-content{max-width:var(--hero-text-width,680px)}.kicker,.section-label{display:block;color:var(--hero-accent,var(--accent));font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;margin-bottom:12px}.section-label{color:var(--accent)}.hero h1{font-size:clamp(2.8rem,7vw,5.3rem);line-height:1.02;color:var(--hero-text-color,var(--primary));margin:.1em 0}.hero h2{font-weight:500;font-size:clamp(1.15rem,2vw,1.55rem);margin:14px 0;color:var(--hero-text-color,var(--primary));opacity:.82}.hero p{font-size:1.12rem;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.profile-frame{width:min(360px,100%);aspect-ratio:1;border-radius:50%;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);background:var(--surface);box-shadow:var(--shadow);margin:auto}.profile-frame img{width:100%;height:100%;object-fit:cover;border-radius:50%}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:10px;border:1px solid transparent;font-weight:700;cursor:pointer;font:inherit}.btn.primary{background:var(--primary);color:#fff}.btn.outline,.btn.secondary{background:transparent;color:var(--primary);border-color:var(--primary)}.btn.danger{background:#fff2f2;color:var(--danger);border-color:#efd1d1}.section{padding:var(--section-spacing) 0}.section.alt{background:var(--alt-bg)}.section h2{font-size:clamp(2rem,4vw,3rem);line-height:1.15;color:var(--primary);margin:0 0 18px}.narrow{max-width:820px}.lead{font-size:1.2rem}.section-intro{max-width:720px;color:var(--muted);margin-bottom:30px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 8px 24px rgba(23,50,77,.04)}.card h3{color:var(--primary);margin:8px 0}.card p{margin-bottom:0}.card-icon{width:50px;height:50px;object-fit:contain}.muted{color:var(--muted)}.text-link{display:inline-block;margin-top:14px;color:var(--accent);font-weight:700}.timeline{max-width:760px}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:16px;padding-bottom:30px}.dot{width:14px;height:14px;border:3px solid var(--accent);border-radius:50%;margin-top:8px;position:relative}.dot:after{content:"";position:absolute;top:14px;left:3px;width:2px;height:82px;background:var(--line)}.timeline-item:last-child .dot:after{display:none}.timeline h3{margin:0;color:var(--primary)}.timeline p{margin-top:5px}.contact{background:var(--primary);color:#fff}.contact h2{color:#fff}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.contact-list{display:flex;flex-direction:column;gap:12px}.contact-list a:hover{color:#f0cc87}footer{padding:24px 0;background:color-mix(in srgb,var(--primary) 82%,#000);color:#dce5ed}.footer-row{display:flex;justify-content:space-between;gap:20px}
.theme-dark{--surface:#14202b;--alt-bg:#101923;--line:#2a3947;--muted:#a8b4bf;background:#0d151d}.theme-dark .site-header{background:rgba(20,32,43,.94)}.theme-dark .hero-wash{background:rgba(8,16,24,var(--hero-overlay,.18))}.theme-dark .section:not(.contact){color:#e3e8ec}.theme-dark .card{box-shadow:none}.theme-dark .btn.outline{color:#fff;border-color:#fff}@media(prefers-color-scheme:dark){.theme-system{--surface:#14202b;--alt-bg:#101923;--line:#2a3947;--muted:#a8b4bf;--page-bg:#0d151d;--body-text:#e3e8ec}.theme-system .site-header{background:rgba(20,32,43,.94)}.theme-system .hero-wash{background:rgba(8,16,24,var(--hero-overlay,.18))}.theme-system .card{box-shadow:none}}
.admin-body{min-height:100vh;background:#f7f9fb;display:grid;place-items:center;padding:20px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid #e2e8ee;border-radius:20px;padding:34px;box-shadow:var(--shadow)}.auth-card h1{color:#17324d;margin-top:0}.auth-card form,.form-grid{display:grid;gap:18px}.auth-card label,.form-grid label{display:grid;gap:7px;font-weight:700}.auth-card input,.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:12px;border:1px solid #ccd6df;border-radius:9px;font:inherit;background:#fff}.back-link{display:inline-block;margin-top:20px;color:#b58a45}.dashboard-body{margin:0;background:#f7f9fb;color:#263746}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#17324d;padding:24px 16px;display:flex;flex-direction:column;gap:8px;color:#dce5ed;z-index:50}.sidebar-brand{font-size:1.25rem;font-weight:800;color:#fff;padding:10px 12px 24px}.sidebar a{padding:11px 12px;border-radius:8px}.sidebar a:hover{background:rgba(255,255,255,.08)}.dashboard-main{margin-left:250px;padding:38px;min-height:100vh}.mobile-admin-nav{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-head h1{margin:0;color:#17324d}.page-head p{margin:4px 0;color:#6b7885}.version-badge{background:#fff;border:1px solid #e2e8ee;padding:8px 12px;border-radius:999px}.panel{background:#fff;border:1px solid #e2e8ee;border-radius:16px;padding:24px;margin-bottom:22px;box-shadow:0 8px 24px rgba(23,50,77,.04)}.panel h2{margin-top:0;color:#17324d}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;gap:9px;font-weight:600}.form-grid .check input{width:auto}.form-fieldset{border:1px solid #e2e8ee;border-radius:12px;padding:18px}.form-fieldset legend{font-weight:800;color:#17324d;padding:0 8px}.actions,.sticky-actions{display:flex;gap:10px;flex-wrap:wrap}.sticky-actions{position:sticky;bottom:16px;background:rgba(255,255,255,.96);border:1px solid #e2e8ee;border-radius:14px;padding:14px;box-shadow:0 12px 30px rgba(23,50,77,.12);z-index:10}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:22px}.stat{background:#fff;border:1px solid #e2e8ee;border-radius:16px;padding:24px}.stat strong{display:block;font-size:2rem;color:#17324d}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px}.alert.success{background:#e8f6ed;color:#25613a}.alert.error{background:#fdeaea;color:#8f2e2e}.warning-panel{border-left:4px solid #b58a45}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #e2e8ee}code{background:#edf1f5;padding:2px 6px;border-radius:5px}.preview-hero{width:100%;aspect-ratio:16/6;object-fit:cover;border:1px solid #e2e8ee;border-radius:14px;background:#f2f2f2}.help{font-size:.9rem;color:#6b7885;font-weight:400}.range-row{display:grid;grid-template-columns:1fr 74px;gap:12px;align-items:center}.range-row output{padding:10px;border:1px solid #e2e8ee;border-radius:8px;text-align:center;background:#f7f9fb}.asset-preview{display:grid;gap:8px}.asset-box{height:100px;border:1px dashed #ccd6df;border-radius:12px;background:#f7f9fb;display:grid;place-items:center;padding:10px;color:#6b7885}.asset-box img{max-width:100%;max-height:100%;object-fit:contain}.asset-box.small{width:100px}.asset-box.portrait{height:190px}.asset-box.portrait img{border-radius:12px}.appearance-form{display:block}
@media(max-width:850px){.hero-grid,.contact-box{grid-template-columns:1fr}.mobile-profile-above .hero-content{order:2}.mobile-profile-above .profile-frame{order:1}.mobile-profile-hidden .profile-frame{display:none}.profile-frame{max-width:280px}.card-grid{grid-template-columns:1fr 1fr}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--surface);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.hero{min-height:var(--hero-mobile-height,620px);padding:64px 0}.hero-background{background-position:var(--hero-mobile-position,center center)}.mobile-align-center .hero-content{text-align:center;margin-inline:auto}.mobile-align-center .hero-actions{justify-content:center}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.dashboard-main{margin-left:0;padding:20px}.mobile-admin-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:560px){.brand span{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-grid,.stats{grid-template-columns:1fr}.section{padding:calc(var(--section-spacing) * .75) 0}.footer-row{flex-direction:column}.dashboard-main{padding:14px}.panel{padding:18px}.hero h1{font-size:clamp(2.5rem,15vw,4.2rem)}.hero-actions .btn{width:100%}.sticky-actions{bottom:8px}}
/* Phase 2 + Phase 3 cards */
.phase-grid,.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.initiative-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.books-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.phase-card,.initiative-card,.book-card,.knowledge-card,.gallery-card{background:var(--card-bg,#fff);border:1px solid rgba(23,50,77,.12);border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(23,50,77,.07)}.phase-media,.knowledge-media{display:block;aspect-ratio:16/9;overflow:hidden}.phase-media img,.knowledge-media img,.gallery-media img{width:100%;height:100%;object-fit:cover}.phase-card-body,.knowledge-body,.gallery-body,.book-card-body{padding:22px}.phase-symbol,.initiative-logo{width:58px;height:58px;margin:22px;border-radius:16px;display:grid;place-items:center;background:rgba(181,138,69,.14);font-size:1.4rem;font-weight:700;color:var(--primary)}.initiative-card{display:grid;grid-template-columns:auto 1fr;padding:4px 22px 22px 0}.initiative-logo img{width:100%;height:100%;object-fit:contain}.book-card{display:grid;grid-template-columns:180px 1fr}.book-cover{min-height:260px;background:#eef1f4;display:block}.book-cover img{width:100%;height:100%;object-fit:cover}.book-placeholder{height:100%;display:grid;place-items:center;padding:20px;text-align:center;font-weight:700;background:linear-gradient(145deg,var(--primary),#31516e);color:#fff}.book-subtitle{font-weight:600;color:var(--primary);margin-bottom:10px}.card-eyebrow{display:inline-block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:8px}.text-link{color:var(--primary);font-weight:700}.featured-card,.featured-book{outline:2px solid rgba(181,138,69,.28)}
.knowledge-grid{align-items:stretch}.knowledge-card{display:flex;flex-direction:column}.knowledge-body{flex:1}.article-page{padding:110px 0 70px}.article-wrap{max-width:850px}.article-wrap h1{font-size:clamp(2rem,5vw,4rem);line-height:1.1;margin:12px 0}.article-hero{width:100%;max-height:470px;object-fit:cover;border-radius:22px;margin-bottom:28px}.article-content{font-size:1.08rem;line-height:1.9;margin:28px 0;white-space:normal}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-media,.gallery-video{display:block;aspect-ratio:4/3;background:#e9edf1;overflow:hidden}.gallery-video{display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),#31516e);color:#fff;font-size:3rem}.gallery-card h3,.knowledge-card h3{margin:4px 0 10px}.panel small{font-size:.75rem;color:#6b7782}
@media(max-width:900px){.phase-grid,.knowledge-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.books-grid{grid-template-columns:1fr}}@media(max-width:640px){.phase-grid,.knowledge-grid,.gallery-grid,.initiative-grid{grid-template-columns:1fr}.book-card{grid-template-columns:120px 1fr}.book-cover{min-height:210px}.article-page{padding-top:90px}}

/* Phase 4: Quotes, Contact, Social and Footer */
.sidebar-group{padding:16px 18px 5px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;opacity:.55}.quote-section{background-size:cover;background-position:center}.quote-inner{text-align:center}.quote-inner blockquote{font-family:Georgia,serif;font-size:clamp(1.55rem,3.6vw,3rem);line-height:1.45;margin:20px auto;color:var(--primary)}.quote-inner cite{font-style:normal;color:var(--accent);font-weight:700}.quote-theme-dark{background:#152536;color:#fff}.quote-theme-dark blockquote,.quote-theme-dark .section-label{color:#fff}.quote-theme-accent{background:color-mix(in srgb,var(--accent) 14%,var(--page-bg))}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}.contact-copy{position:sticky;top:100px}.public-contact-form{background:var(--page-bg);border:1px solid rgba(23,50,77,.12);border-radius:22px;padding:28px;box-shadow:0 18px 55px rgba(23,50,77,.08);display:grid;gap:15px}.public-contact-form label{display:grid;gap:7px;font-weight:650}.public-contact-form input,.public-contact-form textarea{width:100%;padding:13px 14px;border:1px solid rgba(23,50,77,.2);border-radius:10px;background:var(--page-bg);color:var(--body-text);font:inherit}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.honeypot{position:absolute!important;left:-9999px!important}.form-alert{padding:12px 14px;border-radius:10px}.form-alert.success{background:#e9f8ee;color:#176934}.form-alert.error{background:#fff0f1;color:#9c2532}.social-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.social-list a{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(23,50,77,.15);padding:9px 12px;border-radius:999px;text-decoration:none;color:inherit}.social-list span{font-weight:800;color:var(--accent)}.site-footer{background:#10283c;color:#eaf2f7;padding:42px 0 22px}.footer-content{display:flex;justify-content:space-between;gap:30px}.footer-content p{max-width:620px}.footer-content blockquote{margin:12px 0;font-family:Georgia,serif}.footer-links,.footer-social{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.site-footer a{color:#fff;text-decoration:none}.footer-social{border-top:1px solid rgba(255,255,255,.13);margin-top:24px;padding-top:20px}.floating-contact{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:9px}.floating-contact a{padding:11px 16px;border-radius:999px;color:#fff;text-decoration:none;font-weight:750;box-shadow:0 8px 30px rgba(0,0,0,.2)}.float-wa{background:#168a4c}.float-contact{background:var(--primary)}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.filter-tabs a{padding:9px 14px;border-radius:999px;background:#eef3f6;color:#17324d;text-decoration:none}.filter-tabs a.active{background:#17324d;color:#fff}.message-card{border-left:5px solid #aab6bf}.message-card.status-unread{border-left-color:#2d72d9}.message-card.status-important{border-left-color:#d89a1d}.message-head{display:flex;justify-content:space-between;gap:20px}.message-head h2{margin-bottom:4px}.message-text{white-space:normal;background:#f7f9fa;padding:16px;border-radius:12px}.message-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.82rem;color:#697985;margin:12px 0}.compact-form{margin-top:12px}.action-row{display:flex;gap:10px}.btn.danger{background:#a72c38;color:#fff}.check-row{display:flex;flex-wrap:wrap;gap:18px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.check input{width:auto!important}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr}.contact-copy{position:static}.form-two{grid-template-columns:1fr}.footer-content{flex-direction:column}.message-head{flex-direction:column}.floating-contact{right:12px;bottom:12px}.public-contact-form{padding:20px}}

/* v2.1.0 Theme Builder */
.container{max-width:var(--content-width,1180px)}
.btn{border-radius:var(--button-radius,10px)}
.work-card,.initiative-card,.book-card,.knowledge-card,.gallery-card,.credential-card,.public-contact-form{border-radius:var(--card-radius,18px)}
.shadow-none .work-card,.shadow-none .initiative-card,.shadow-none .book-card,.shadow-none .knowledge-card,.shadow-none .gallery-card,.shadow-none .credential-card,.shadow-none .public-contact-form{box-shadow:none}
.shadow-soft .work-card,.shadow-soft .initiative-card,.shadow-soft .book-card,.shadow-soft .knowledge-card,.shadow-soft .gallery-card,.shadow-soft .credential-card,.shadow-soft .public-contact-form{box-shadow:0 12px 32px rgba(23,50,77,.07)}
.shadow-medium .work-card,.shadow-medium .initiative-card,.shadow-medium .book-card,.shadow-medium .knowledge-card,.shadow-medium .gallery-card,.shadow-medium .credential-card,.shadow-medium .public-contact-form{box-shadow:0 18px 45px rgba(23,50,77,.14)}
.heading-modern h1,.heading-modern h2,.heading-modern h3{letter-spacing:-.035em}
.heading-compact h1,.heading-compact h2,.heading-compact h3{line-height:1.05;letter-spacing:-.02em}
.buttons-outline .btn.primary{background:transparent;color:var(--primary);border:1px solid var(--primary)}
.buttons-soft .btn.primary{background:rgba(23,50,77,.10);color:var(--primary);border-color:transparent}

/* v2.1.1 — Contact Form Visibility Fix */
.contact .public-contact-form{
  background:var(--surface,#fff);
  color:var(--body-text,#263746);
}
.contact .public-contact-form label,
.contact .public-contact-form small,
.contact .public-contact-form .field-help,
.contact .public-contact-form .captcha-label{
  color:var(--body-text,#263746);
  opacity:1;
}
.contact .public-contact-form input,
.contact .public-contact-form textarea,
.contact .public-contact-form select{
  background:var(--surface,#fff);
  color:var(--body-text,#263746);
  border-color:color-mix(in srgb,var(--primary,#17324d) 24%,transparent);
}
.contact .public-contact-form input::placeholder,
.contact .public-contact-form textarea::placeholder{
  color:color-mix(in srgb,var(--body-text,#263746) 58%,transparent);
  opacity:1;
}
.contact .public-contact-form input:focus,
.contact .public-contact-form textarea:focus,
.contact .public-contact-form select:focus{
  outline:3px solid color-mix(in srgb,var(--accent,#b58a45) 24%,transparent);
  border-color:var(--accent,#b58a45);
}
.contact .public-contact-form .required,
.contact .public-contact-form label abbr{
  color:var(--accent,#b58a45);
}
.contact .public-contact-form .btn.primary{
  background:var(--primary,#17324d);
  color:#fff;
}
.contact-copy .btn.primary{
  background:#fff;
  color:var(--primary,#17324d);
  border-color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
.contact-copy .btn.primary:hover{
  background:color-mix(in srgb,#fff 88%,var(--accent,#b58a45));
  color:var(--primary,#17324d);
}
.theme-dark .contact .public-contact-form,
.theme-system .contact .public-contact-form{
  background:var(--surface,#14202b);
  color:var(--body-text,#e3e8ec);
  border-color:rgba(255,255,255,.13);
}
.theme-dark .contact .public-contact-form input,
.theme-dark .contact .public-contact-form textarea,
.theme-dark .contact .public-contact-form select,
.theme-system .contact .public-contact-form input,
.theme-system .contact .public-contact-form textarea,
.theme-system .contact .public-contact-form select{
  background:color-mix(in srgb,var(--surface,#14202b) 90%,#fff);
  color:var(--body-text,#e3e8ec);
  border-color:rgba(255,255,255,.22);
}
@media(max-width:800px){
  .contact-layout{gap:28px}
  .public-contact-form{padding:22px}
  .contact-copy .btn.primary{width:100%}
}
