:root{
  --bg:#f8f4ec;--card:#fffdf9;--ink:#20334b;--muted:#66758a;
  --green:#0b438f;--green2:#c93646;--blue:#0b438f;--blue2:#1f63b4;
  --red:#c93646;--red-soft:#fae9eb;--navy:#082f67;--line:#e8e0d3;
  --cream:#f1e8d9;--sand:#e4cda7;--danger:#b52e3d;--success:#2f6d50;
  --shadow:0 12px 32px rgba(26,49,79,.075)
}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#fbf8f2 0%,var(--bg) 38%,#f6f1e7 100%);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.45}
.container{max-width:1240px;padding:20px 28px 30px}.card{background:rgba(255,253,249,.96);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}
.brand{display:inline-flex;align-items:center;gap:10px;font:700 29px Georgia,"Times New Roman",serif;color:var(--navy);letter-spacing:-.35px}.brand:before{content:"";width:34px;height:34px;border-radius:50% 50% 48% 52%;background:linear-gradient(140deg,var(--blue) 0 52%,var(--red) 52% 100%);box-shadow:inset 0 0 0 5px #fff,0 2px 8px rgba(8,47,103,.12)}.brand span{color:var(--navy)}
.app-header{position:relative;z-index:4;margin-bottom:18px}.app-nav{min-height:64px}.header-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-pill{background:#fff;border:1px solid var(--line);color:var(--navy);border-radius:999px;padding:9px 13px;font-weight:750;cursor:pointer}.signout-link{background:transparent;border:0;color:var(--muted);font-weight:700;cursor:pointer;padding:9px 6px}.signout-link:hover{color:var(--red)}
.public-nav{padding:4px 0 14px;border-bottom:1px solid rgba(232,224,211,.7)}
.section-nav{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:10px 2px 2px;margin-top:8px;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav .btn,.section-nav .section-link{white-space:nowrap;background:transparent!important;border:0!important;color:var(--navy)!important;padding:9px 12px!important;border-radius:10px!important;box-shadow:none!important;font-size:14px}.section-nav .btn:hover,.section-nav .section-link:hover{background:#eef4fb!important}.section-nav .home-link{background:#eef4fb!important}
.btn{background:var(--blue);border-radius:12px;padding:11px 16px;box-shadow:0 5px 13px rgba(11,67,143,.13);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(11,67,143,.17)}.btn.secondary{background:var(--cream);color:var(--navy);box-shadow:none}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.btn.danger{background:var(--danger)}.btn.accent{background:var(--red)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(31,99,180,.28);outline-offset:2px}
.field input,.field textarea,.field select{min-height:44px;border-radius:11px;border:1px solid #ddd5c8;background:#fffdfa;color:var(--ink);transition:border .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8fb0d7;box-shadow:0 0 0 4px rgba(31,99,180,.09);outline:0}.field label{color:#334966;font-size:13px}.badge{background:#edf3fa;color:var(--blue);padding:6px 10px}.notice{background:#edf7f1;border-color:#d2e6da;color:#285d45}.error{background:#fceced;color:#8b2733;border-color:#f1cbd0}
.lang-toggle{background:#fffaf1;border-color:var(--line);padding:4px}.lang-btn{min-width:38px;color:#5f6d80}.lang-btn.active{background:var(--blue);color:#fff}
.page-title,.hero h1{color:var(--navy);letter-spacing:-1.2px}.page-title{font-size:44px}.muted{color:var(--muted)}
.site-footer{margin-top:54px;padding:26px 4px 10px;border-top:1px solid var(--line)}.site-footer b{color:var(--navy);font-family:Georgia,serif;font-size:18px}.site-footer .help-link{color:var(--blue);text-decoration:none}.site-footer .help-link:hover{text-decoration:underline}

/* Public + sign-in experience */
.public-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:34px;align-items:stretch;padding:54px 0 42px}.public-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:24px 4px}.eyebrow{font-size:12px;font-weight:850;letter-spacing:.18em;color:var(--red);text-transform:uppercase}.public-hero h1{font:700 clamp(44px,6vw,70px)/.98 Georgia,serif;margin:13px 0 18px;max-width:760px}.public-hero p{font-size:18px;line-height:1.65;max-width:670px}.hero-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}.heritage-panel{position:relative;overflow:hidden;min-height:420px;border-radius:30px;background:linear-gradient(135deg,#0a397b 0%,#174f98 58%,#b62e41 140%);color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 20px 42px rgba(8,47,103,.2)}.heritage-panel:before,.heritage-panel:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.10)}.heritage-panel:before{width:260px;height:260px;right:-70px;top:-70px}.heritage-panel:after{width:190px;height:190px;left:-75px;bottom:-85px}.heritage-mark{position:relative;z-index:1;font:italic 700 36px Georgia,serif;max-width:330px}.heritage-sub{position:relative;z-index:1;margin-top:12px;font-size:13px;letter-spacing:.15em;text-transform:uppercase;opacity:.86}.heritage-chips{position:absolute;z-index:1;top:28px;left:28px;right:28px;display:flex;gap:8px;flex-wrap:wrap}.heritage-chip{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:750}
.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);gap:34px;align-items:stretch;padding:42px 0 24px}.auth-story{border-radius:28px;padding:42px;background:linear-gradient(145deg,#0b3d81 0%,#184f96 68%,#a82c3e 145%);color:#fff;min-height:560px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 42px rgba(8,47,103,.17);position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08);right:-110px;bottom:-100px}.auth-story .badge{align-self:flex-start;background:rgba(255,255,255,.14);color:#fff}.auth-story h1{font:700 clamp(42px,5vw,64px)/1.02 Georgia,serif;margin:18px 0 14px;letter-spacing:-1px}.auth-story p{font-size:18px;line-height:1.65;max-width:570px;color:rgba(255,255,255,.88)}.auth-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;position:relative;z-index:1}.auth-value{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:14px;padding:14px;font-size:13px;font-weight:750}.auth-panel{display:flex;align-items:center}.auth-card{width:100%;padding:32px;border-radius:24px}.auth-card h2{font:700 36px Georgia,serif;color:var(--navy);margin:7px 0}.auth-card .auth-sub{margin:0 0 24px}.auth-form{box-shadow:none;background:transparent;border:0;padding:0}.auth-switch{margin-top:18px;text-align:center}.auth-switch a{color:var(--blue)}
