/* ============================================================
   Truth & Foundation — Landing Site shared styles
   © 2026 Dustin Joshua Kenny. All Rights Reserved.
   Used by: index.html, contact.html, prayer.html, giving.html, privacy.html
   ============================================================ */

/* ───────── Self-hosted fonts ─────────
   Copy your app's "Font" folder into this repo (same paths as the app).
   If the files are missing, the site falls back to Georgia / system fonts. */
@font-face { font-family:'Inter'; font-style:normal; font-weight:300; font-display:swap; src:url('./Font/Inter/inter-v20-greek_greek-ext_latin_latin-ext-300.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap; src:url('./Font/Inter/inter-v20-greek_greek-ext_latin_latin-ext-regular.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap; src:url('./Font/Inter/inter-v20-greek_greek-ext_latin_latin-ext-500.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:600; font-display:swap; src:url('./Font/Inter/inter-v20-greek_greek-ext_latin_latin-ext-600.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:700; font-display:swap; src:url('./Font/Inter/inter-v20-greek_greek-ext_latin_latin-ext-700.woff2') format('woff2'); }
@font-face { font-family:'Lora'; font-style:normal; font-weight:400; font-display:swap; src:url('./Font/Lora/lora-v37-latin_latin-ext-regular.woff2') format('woff2'); }
@font-face { font-family:'Lora'; font-style:italic; font-weight:400; font-display:swap; src:url('./Font/Lora/lora-v37-latin_latin-ext-italic.woff2') format('woff2'); }
@font-face { font-family:'Lora'; font-style:normal; font-weight:500; font-display:swap; src:url('./Font/Lora/lora-v37-latin_latin-ext-500.woff2') format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:400; font-display:swap; src:url('./Font/Playfair-Display/playfair-display-v40-latin_latin-ext-regular.woff2') format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:italic; font-weight:400; font-display:swap; src:url('./Font/Playfair-Display/playfair-display-v40-latin_latin-ext-italic.woff2') format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:600; font-display:swap; src:url('./Font/Playfair-Display/playfair-display-v40-latin_latin-ext-600.woff2') format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:700; font-display:swap; src:url('./Font/Playfair-Display/playfair-display-v40-latin_latin-ext-700.woff2') format('woff2'); }

:root {
    --bg:#f5eddf; --bg-soft:#efe4d0; --paper:#fcf8ef; --paper-raised:#fffefa;
    --ink:#2a2216; --ink-soft:#4a3f2d; --muted:#80714f;
    --gold:#b8965a; --gold-light:#d4b87a; --gold-deep:#8c6c37;
    --gold-muted:rgba(184,150,90,0.12); --gold-border:rgba(184,150,90,0.28); --rule:rgba(184,150,90,0.55);
    --r-sm:14px; --r-md:22px; --r-lg:30px; --r-xl:40px;
    --shadow-sm:0 2px 12px rgba(70,52,20,0.07); --shadow-md:0 14px 40px rgba(70,52,20,0.12); --shadow-lg:0 30px 70px rgba(70,52,20,0.18);
    --maxw:1180px; --readw:760px;
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:96px; overflow-x:hidden; }
body {
    font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; color:var(--ink); background-color:var(--bg);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
    line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
}
.wrap { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
a { color:inherit; text-decoration:none; }

/* Wordmark + logo */
.wordmark { font-family:'Playfair Display',Georgia,serif; font-weight:700; color:var(--ink); line-height:1.1; letter-spacing:0.01em; }
.wordmark .amp { color:var(--gold); font-style:italic; }
.brand-lockup { display:inline-flex; align-items:center; gap:11px; }
.brand-lockup img { width:34px; height:34px; border-radius:9px; box-shadow:var(--shadow-sm); }

/* Floating glass nav */
header.nav { position:fixed; top:14px; left:0; right:0; z-index:60; display:flex; justify-content:center; pointer-events:none; }
.nav-pill {
    pointer-events:auto; display:flex; align-items:center; justify-content:space-between; gap:20px;
    width:min(var(--maxw),calc(100% - 28px)); padding:9px 12px 9px 14px;
    background:rgba(252,248,239,0.72); backdrop-filter:saturate(160%) blur(16px); -webkit-backdrop-filter:saturate(160%) blur(16px);
    border:1px solid var(--gold-border); border-radius:999px; box-shadow:var(--shadow-sm);
}
.nav-brand { font-size:1.05rem; }
.nav-links { display:flex; align-items:center; gap:24px; }
.nav-links a.navlink { font-size:0.85rem; font-weight:500; color:var(--ink-soft); transition:color .18s ease; }
.nav-links a.navlink:hover { color:var(--gold-deep); }
@media (max-width:780px){ .nav-links a.navlink{ display:none; } }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:'Inter',sans-serif; font-weight:600; font-size:0.95rem;
    padding:13px 26px; border-radius:999px; cursor:pointer; border:1px solid transparent;
    transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background .2s ease; white-space:nowrap; }
.btn-primary { background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 55%,var(--gold-deep) 100%); color:#fff; box-shadow:0 8px 22px rgba(184,150,90,0.4); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(184,150,90,0.5); }
.btn-ghost { background:rgba(255,255,255,0.4); color:var(--gold-deep); border-color:var(--gold-border); }
.btn-ghost:hover { background:var(--gold-muted); transform:translateY(-3px); }
.btn-sm { padding:10px 20px; font-size:0.85rem; }

/* Section scaffolding */
section { padding:96px 0; position:relative; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:0.72rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:16px; }
.eyebrow::before { content:""; width:22px; height:1px; background:var(--gold); }
.section-title { font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(2rem,4.6vw,3.1rem); line-height:1.08; color:var(--ink); letter-spacing:-0.01em; margin-bottom:18px; }
.lead { font-size:1.1rem; color:var(--ink-soft); max-width:60ch; }

/* Compact page header (subpages) */
.page-head { padding:150px 0 40px; position:relative; isolation:isolate; overflow:hidden; }
.page-head .aurora { height:520px; }
.page-head .section-title { font-size:clamp(2.2rem,5.4vw,3.4rem); }

/* Aurora */
.aurora { position:absolute; inset:-10% -20% auto -20%; height:720px; z-index:-2; filter:blur(60px); opacity:0.8; pointer-events:none; }
.aurora span { position:absolute; border-radius:50%; mix-blend-mode:multiply; }
.aurora .a1 { width:540px; height:540px; left:8%; top:-40px; background:radial-gradient(circle,rgba(212,184,122,0.85),transparent 65%); animation:float1 16s ease-in-out infinite; }
.aurora .a2 { width:460px; height:460px; right:10%; top:20px; background:radial-gradient(circle,rgba(184,150,90,0.55),transparent 65%); animation:float2 19s ease-in-out infinite; }
.aurora .a3 { width:420px; height:420px; left:42%; top:120px; background:radial-gradient(circle,rgba(232,210,160,0.7),transparent 65%); animation:float3 22s ease-in-out infinite; }
@keyframes float1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(40px,30px)} }
@keyframes float2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-50px,40px)} }
@keyframes float3 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(20px,-30px)} }

.badge-pill { display:inline-flex; align-items:center; gap:10px; padding:7px 16px 7px 12px; border-radius:999px; background:rgba(255,255,255,0.55); border:1px solid var(--gold-border); font-size:0.8rem; font-weight:500; color:var(--ink-soft); backdrop-filter:blur(6px); box-shadow:var(--shadow-sm); margin-bottom:28px; }
.badge-pill .dot { width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px var(--gold-muted); }

/* Hero (home) */
.hero { padding:168px 0 90px; text-align:center; position:relative; isolation:isolate; overflow:hidden; }
.hero h1 { font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(2.9rem,9vw,5.6rem); line-height:1.0; color:var(--ink); letter-spacing:-0.02em; }
.hero h1 .amp { color:var(--gold); font-style:italic; }
.hero .subtitle { font-family:'Lora',Georgia,serif; font-style:italic; font-size:clamp(1rem,2.2vw,1.45rem); color:var(--gold-deep); letter-spacing:0.18em; margin-top:18px; text-transform:uppercase; }
.hero .pitch { font-size:1.15rem; color:var(--ink-soft); max-width:56ch; margin:28px auto 0; line-height:1.7; }
.hero-cta { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:36px; }
.store-row { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:28px; }

/* Store badges (placeholders) */
.store-badge { display:inline-flex; align-items:center; gap:11px; background:#181512; color:#fff; border-radius:13px; padding:10px 19px; min-width:186px; cursor:pointer; transition:transform .18s ease, box-shadow .22s ease; box-shadow:var(--shadow-sm); border:1px solid rgba(255,255,255,0.08); }
.store-badge:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.store-badge .sb-text { text-align:left; line-height:1.15; }
.store-badge .sb-top { font-size:0.62rem; letter-spacing:0.04em; opacity:0.85; }
.store-badge .sb-main { font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:600; }

/* Marquee */
.marquee { padding:26px 0; border-top:1px solid var(--gold-border); border-bottom:1px solid var(--gold-border); background:var(--paper); overflow:hidden; }
.marquee-track { display:flex; width:max-content; animation:scroll 34s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.marquee-track .item { font-family:'Playfair Display',serif; font-style:italic; font-size:1.5rem; color:var(--ink); padding:0 36px; white-space:nowrap; display:inline-flex; align-items:center; gap:36px; }
.marquee-track .item::after { content:""; width:6px; height:6px; background:var(--gold); transform:rotate(45deg); }
@keyframes scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* Bento */
.bento { display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:minmax(150px,auto); gap:20px; margin-top:48px; }
.tile { background:var(--paper); border:1px solid var(--gold-border); border-radius:var(--r-md); padding:30px; box-shadow:var(--shadow-sm); transition:transform .22s ease, box-shadow .22s ease; display:flex; flex-direction:column; justify-content:flex-end; }
.tile:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.tile .ico { width:50px; height:50px; border-radius:14px; display:grid; place-items:center; background:var(--gold-muted); color:var(--gold-deep); border:1px solid var(--gold-border); margin-bottom:auto; }
.tile h3 { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:600; margin:22px 0 10px; color:var(--ink); }
.tile p { color:var(--ink-soft); font-size:0.98rem; }
.t-feature { grid-column:span 3; grid-row:span 2; background:linear-gradient(160deg,var(--paper-raised),var(--paper)); }
.t-feature h3 { font-size:1.85rem; } .t-feature p { font-size:1.05rem; }
.t-a { grid-column:span 3; } .t-b { grid-column:span 3; }
.t-strip { grid-column:span 6; flex-direction:row; align-items:center; justify-content:space-around; flex-wrap:wrap; gap:16px; background:linear-gradient(135deg,var(--gold-light),var(--gold) 70%,var(--gold-deep)); border:none; padding:26px 30px; }
.t-strip .stat { text-align:center; color:#fff; }
.t-strip .stat b { font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:700; display:block; }
.t-strip .stat span { font-size:0.82rem; letter-spacing:0.06em; text-transform:uppercase; opacity:0.92; }
@media (max-width:820px){ .bento{ grid-template-columns:1fr; } .t-feature,.t-a,.t-b,.t-strip{ grid-column:1/-1; grid-row:auto; } }
.about-head { max-width:720px; }

/* Mission / quote cards */
.card-quote { max-width:900px; margin:0 auto; text-align:center; border-radius:var(--r-xl); padding:64px 48px; position:relative; overflow:hidden;
    background:radial-gradient(600px 300px at 20% 0%,rgba(184,150,90,0.16),transparent 70%),var(--paper-raised); border:1px solid var(--gold-border); box-shadow:var(--shadow-md); }
.card-quote blockquote { font-family:'Playfair Display',serif; font-style:italic; font-weight:400; font-size:clamp(1.4rem,3.2vw,2.1rem); line-height:1.45; color:var(--ink); }
.card-quote .sig { margin-top:24px; font-size:0.92rem; color:var(--muted); letter-spacing:0.03em; }
.card-quote .qmark { font-family:'Playfair Display',serif; font-size:7rem; line-height:0; color:var(--gold-light); opacity:0.5; position:absolute; top:48px; left:36px; }
.mission { padding:40px 0 96px; }

/* Our Heart narrative */
.heart { padding:80px 0 40px; }
.heart-head { max-width:720px; margin:0 auto 34px; text-align:center; }
.heart-narrative { max-width:640px; margin:0 auto 38px; }
.heart-narrative p { color:var(--ink-soft); font-size:1.1rem; line-height:1.75; margin-bottom:18px; }
.heart-narrative p:first-letter { }
.heart-cta { text-align:center; margin-top:34px; }
.heart-byline { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:8px; color:var(--muted); font-size:0.9rem; }
.heart-byline img { width:30px; height:30px; border-radius:8px; }

/* Resource feature */
.resource-feature { display:grid; grid-template-columns:1.15fr 1fr; gap:44px; align-items:center; margin-top:48px; background:var(--paper); border:1px solid var(--gold-border); border-radius:var(--r-lg); padding:36px; box-shadow:var(--shadow-sm); }
@media (max-width:860px){ .resource-feature{ grid-template-columns:1fr; } }
.chart-frame { background:var(--paper-raised); border:1px solid var(--gold-border); border-radius:var(--r-md); padding:14px; box-shadow:var(--shadow-md); overflow:hidden; }
.chart-frame img { width:100%; height:auto; display:block; border-radius:12px; }
.img-placeholder { display:grid; place-items:center; text-align:center; gap:8px; min-height:240px; padding:28px; color:var(--muted); background:repeating-linear-gradient(135deg,rgba(184,150,90,0.05) 0 14px,rgba(184,150,90,0.10) 14px 28px); border-radius:12px; font-size:0.86rem; }
.img-placeholder .ph-name { font-family:monospace; color:var(--gold-deep); font-weight:600; font-size:0.82rem; word-break:break-all; }
.resource-feature h3 { font-family:'Playfair Display',serif; font-size:1.7rem; font-weight:700; margin-bottom:12px; }
.resource-feature p { color:var(--ink-soft); margin-bottom:18px; }
.res-note { font-size:0.84rem; color:var(--muted); margin-top:14px; }
.chart-frame.tall { display:flex; justify-content:center; align-items:flex-start; }
.chart-frame.tall img { max-height:560px; width:auto; max-width:100%; }

/* Explore the app */
.explore-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
@media (max-width:820px){ .explore-grid{ grid-template-columns:1fr; } }
.explore-card { background:var(--paper); border:1px solid var(--gold-border); border-radius:var(--r-md); padding:28px; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; }
.explore-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.explore-card .ico { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--gold-muted); border:1px solid var(--gold-border); color:var(--gold-deep); margin-bottom:16px; }
.explore-card h3 { font-family:'Playfair Display',serif; font-size:1.22rem; font-weight:600; color:var(--ink); margin-bottom:8px; }
.explore-card p { color:var(--ink-soft); font-size:0.95rem; margin:0; }
.explore-cta { text-align:center; margin-top:42px; }

/* Phone mockups */
.shots { display:flex; gap:26px; justify-content:center; align-items:flex-end; margin-top:52px; flex-wrap:wrap; }
.phone { background:#14110b; border-radius:34px; padding:11px; width:260px; box-shadow:var(--shadow-lg); border:1px solid rgba(184,150,90,0.22); transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.phone.p1 { transform:rotate(-4deg) translateY(14px); } .phone.p3 { transform:rotate(4deg) translateY(14px); } .phone.p2 { transform:translateY(-8px) scale(1.04); z-index:2; }
.shots:hover .phone { transform:none; }
.phone-screen { border-radius:24px; overflow:hidden; aspect-ratio:9/19.5; background:var(--bg-soft); display:grid; place-items:center; }
.phone-screen img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:860px){ .phone{ width:220px; } .phone.p1,.phone.p2,.phone.p3{ transform:none; } }

/* Download CTA */
.download { padding-bottom:110px; }
.cta-card { max-width:920px; margin:0 auto; text-align:center; border-radius:var(--r-xl); padding:70px 40px; position:relative; overflow:hidden;
    background:radial-gradient(700px 360px at 50% -10%,rgba(212,184,122,0.4),transparent 70%),linear-gradient(160deg,var(--paper-raised),var(--bg-soft)); border:1px solid var(--gold-border); box-shadow:var(--shadow-md); }
.download .section-title { margin-bottom:14px; } .download .lead { margin:0 auto; }
.browser-line { margin-top:24px; font-size:0.96rem; color:var(--ink-soft); }
.browser-line a { color:var(--gold-deep); font-weight:600; border-bottom:1px solid var(--gold-border); transition:border-color .2s ease; }
.browser-line a:hover { border-color:var(--gold); }

/* ───────── Prose / legal (subpages) ───────── */
.prose { max-width:var(--readw); margin:0 auto; }
.prose h2 { font-family:'Playfair Display',serif; font-weight:700; font-size:1.7rem; color:var(--ink); margin:42px 0 14px; letter-spacing:-0.01em; }
.prose h3 { font-family:'Playfair Display',serif; font-weight:600; font-size:1.25rem; color:var(--ink); margin:30px 0 10px; }
.prose p { color:var(--ink-soft); margin-bottom:16px; font-size:1.02rem; }
.prose ul { margin:0 0 18px 0; padding-left:22px; color:var(--ink-soft); }
.prose li { margin-bottom:9px; }
.prose a.inline { color:var(--gold-deep); font-weight:600; border-bottom:1px solid var(--gold-border); }
.prose a.inline:hover { border-color:var(--gold); }
.prose em { color:var(--gold-deep); font-style:normal; font-weight:600; }
.prose strong { color:var(--ink); }

/* Callout box */
.callout { background:radial-gradient(500px 200px at 0% 0%,rgba(184,150,90,0.12),transparent 70%),var(--paper-raised); border:1px solid var(--gold-border); border-left:4px solid var(--gold); border-radius:var(--r-md); padding:24px 26px; margin:22px 0; box-shadow:var(--shadow-sm); }
.callout h4 { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--ink); margin-bottom:8px; }
.callout p { color:var(--ink-soft); margin-bottom:0; }

/* Scripture */
.scripture { margin:22px 0; padding:18px 22px; border-left:3px solid var(--gold-light); background:var(--gold-muted); border-radius:0 var(--r-sm) var(--r-sm) 0; }
.scripture .verse-bsb { font-family:'Lora',Georgia,serif; font-style:italic; color:var(--ink); font-size:1.05rem; line-height:1.6; }
.scripture .red-letter { color:#b1564c; }

/* Contact + giving cards grid */
.link-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:40px auto 0; max-width:var(--readw); }
@media (max-width:680px){ .link-grid{ grid-template-columns:1fr; } }
.link-card { display:flex; gap:16px; align-items:flex-start; background:var(--paper); border:1px solid var(--gold-border); border-radius:var(--r-md); padding:24px; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; }
.link-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.link-card .ico { flex:0 0 auto; width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--gold-muted); border:1px solid var(--gold-border); color:var(--gold-deep); }
.link-card h3 { font-family:'Playfair Display',serif; font-size:1.18rem; font-weight:600; color:var(--ink); margin-bottom:4px; }
.link-card p { color:var(--ink-soft); font-size:0.92rem; margin-bottom:8px; }
.link-card .addr { font-weight:600; color:var(--gold-deep); font-size:0.95rem; word-break:break-all; }
.link-card .addr:hover { text-decoration:underline; }

/* Giving option rows */
.give-list { max-width:var(--readw); margin:30px auto 0; display:flex; flex-direction:column; gap:14px; }
.give-card { display:flex; gap:16px; align-items:center; background:var(--paper); border:1px solid var(--gold-border); border-radius:var(--r-md); padding:20px 22px; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; }
.give-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.give-card .badge { flex:0 0 auto; width:48px; height:48px; border-radius:12px; display:grid; place-items:center; font-weight:700; color:#fff; font-family:'Playfair Display',serif; }
.give-card .body { flex:1; }
.give-card h3 { font-size:1.1rem; font-weight:600; color:var(--ink); margin-bottom:2px; }
.give-card p { color:var(--ink-soft); font-size:0.9rem; margin:0; }
.give-card .go { color:var(--gold-deep); font-size:0.85rem; font-weight:600; white-space:nowrap; }

/* Footer */
footer { background:#ece0ca; border-top:1px solid var(--gold-border); padding:52px 0 44px; font-size:0.9rem; color:var(--muted); }
.foot-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; align-items:flex-start; }
.foot-brand { font-size:1.1rem; margin-bottom:8px; }
.foot-cols { display:flex; gap:48px; flex-wrap:wrap; }
.foot-col h5 { font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:12px; font-weight:600; }
.foot-col a { display:block; margin-bottom:8px; transition:color .18s ease; }
.foot-col a:hover { color:var(--gold-deep); }
.foot-fine { margin-top:30px; font-size:0.78rem; opacity:0.85; max-width:70ch; }

/* Reveal */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } .aurora span{ animation:none; } }
