/* Page styles for /privacy/, from acu-website privacy.html (tools/import-kit-page.py). */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --navy: #1B2A4A; --navy-light: #243658; --navy-dark: #111d33;
  --orange: #C75B12; --orange-light: #d9762e; --gold: #D4952B;
  --cream: #E8E6E2; --offwhite: #F2F0EC; --midgray: #6B7280;
  --slate: #1F2937; --teal: #005984;
  --surface: #E8E4DF; --surface-light: #f0ede9; --surface-dark: #d4d0cb;
  --shadow-raised: 8px 8px 20px rgba(166,162,155,0.45), -8px -8px 20px rgba(255,255,255,0.8);
  --shadow-raised-sm: 4px 4px 10px rgba(166,162,155,0.4), -4px -4px 10px rgba(255,255,255,0.7);
  --shadow-inset: inset 4px 4px 10px rgba(166,162,155,0.4), inset -4px -4px 10px rgba(255,255,255,0.7);
  --shadow-raised-hover: 10px 10px 25px rgba(166,162,155,0.5), -10px -10px 25px rgba(255,255,255,0.85);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --section-pad: clamp(80px, 10vw, 140px);
}

html { scroll-behavior: smooth; font-size: 16px; overflow-x: hidden; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: var(--surface); color: var(--slate); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }

/* Animations */
@keyframes fadeInUp { from { opacity:0; transform:translateY(50px); } to { opacity:1; transform:translateY(0); } }
@keyframes shimmer { 0% { background-position:-200% 0; } 100% { background-position:200% 0; } }
.reveal { opacity:0; transform:translateY(40px); transition: opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo); }
.reveal.visible { opacity:1; transform:translateY(0); }
.shimmer-text { background: linear-gradient(90deg, var(--orange) 0%, var(--gold) 50%, var(--orange) 100%); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: shimmer 3s linear infinite; }

/* Nav */
.nav { position:fixed; top:0; left:0; right:0; z-index:1000; padding:24px 40px; display:flex; align-items:center; justify-content:space-between; transition:all 0.5s var(--ease-out-quart); background:transparent; }
.nav.scrolled { padding:12px 40px; background:rgba(232,228,223,0.85); backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%); box-shadow:0 1px 30px rgba(27,42,74,0.08); }
.nav-logo img { height:120px; transition:all 0.5s var(--ease-out-quart); filter:brightness(0) invert(1); }
.nav.scrolled .nav-logo img { height:38px; filter:none; }
.nav-links { display:flex; align-items:center; gap:6px; list-style:none; }
.nav-links a { color:white; text-decoration:none; font-size:0.875rem; font-weight:500; padding:8px 16px; border-radius:12px; transition:all 0.3s ease; letter-spacing:0.01em; }
.nav-links a:hover { background:rgba(255,255,255,0.12); }
.nav.scrolled .nav-links a { color:var(--navy); }
.nav.scrolled .nav-links a:hover { background:rgba(27,42,74,0.06); box-shadow:var(--shadow-raised-sm); }
.nav-cta { background:var(--orange)!important; color:white!important; padding:10px 24px!important; border-radius:14px!important; font-weight:600!important; box-shadow:0 4px 15px rgba(199,91,18,0.3)!important; transition:all 0.3s ease!important; }
.nav.scrolled .nav-cta { background:var(--navy)!important; box-shadow:var(--shadow-raised-sm)!important; }
.nav-cta:hover { background:var(--gold)!important; transform:translateY(-2px); box-shadow:0 8px 25px rgba(212,149,43,0.4)!important; }
.nav.scrolled .nav-cta:hover { background:var(--orange)!important; box-shadow:0 8px 25px rgba(199,91,18,0.3)!important; }
.nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:1001; padding:8px; }
.nav-toggle span { width:24px; height:2px; background:white; border-radius:2px; transition:all 0.3s ease; }
.nav.scrolled .nav-toggle span { background:var(--navy); }
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)} .nav-toggle.active span:nth-child(2){opacity:0} .nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Compact legal hero */
.legal-hero { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%); padding: 180px 40px 80px; position:relative; overflow:hidden; }
.legal-hero::before { content:''; position:absolute; width:700px; height:700px; background:radial-gradient(circle, rgba(199,91,18,0.14), transparent 65%); top:-300px; right:-150px; }
.legal-hero-inner { max-width:1100px; margin:0 auto; position:relative; z-index:2; }
.legal-hero .eyebrow { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:0.8rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.legal-hero h1 { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:clamp(2.4rem,5vw,3.6rem); color:white; line-height:1.1; margin-bottom:18px; }
.legal-hero h1 .accent { background:linear-gradient(135deg, var(--orange), var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.legal-hero p { font-size:1.05rem; color:rgba(255,255,255,0.6); max-width:620px; line-height:1.65; }
.legal-hero .updated { display:inline-block; margin-top:24px; font-size:0.8rem; color:rgba(255,255,255,0.45); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); padding:7px 16px; border-radius:20px; }

/* Legal layout */
.legal-section { padding: clamp(60px,7vw,90px) 40px; }
.legal-layout { max-width:1100px; margin:0 auto; display:grid; grid-template-columns: 260px 1fr; gap:56px; align-items:start; }
.legal-toc { position:sticky; top:100px; background:var(--surface); border-radius:22px; box-shadow:var(--shadow-raised-sm); padding:28px 26px; }
.legal-toc h4 { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--orange); margin-bottom:16px; }
.legal-toc ul { list-style:none; }
.legal-toc li { margin-bottom:4px; }
.legal-toc a { display:block; font-size:0.88rem; color:var(--midgray); text-decoration:none; padding:7px 12px; border-radius:10px; transition:all 0.25s ease; }
.legal-toc a:hover { color:var(--navy); background:rgba(27,42,74,0.05); }

.legal-content { background:var(--surface); border-radius:28px; box-shadow:var(--shadow-raised); padding:clamp(32px,4vw,56px); }
.legal-content h2 { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:1.5rem; color:var(--navy); margin:40px 0 14px; scroll-margin-top:100px; }
.legal-content h2:first-child { margin-top:0; }
.legal-content h3 { font-size:1.05rem; color:var(--navy); margin:24px 0 8px; font-weight:600; }
.legal-content p { font-size:0.95rem; color:var(--slate); line-height:1.75; margin-bottom:16px; }
.legal-content ul, .legal-content ol { margin:0 0 16px 22px; }
.legal-content li { font-size:0.95rem; color:var(--slate); line-height:1.7; margin-bottom:8px; }
.legal-content a { color:var(--orange); font-weight:600; text-decoration:none; }
.legal-content a:hover { text-decoration:underline; }
.legal-content strong { color:var(--navy); }
.legal-divider { height:1px; background:rgba(0,0,0,0.07); margin:36px 0; }

/* Facts disclosure table */
.facts-table { width:100%; border-collapse:collapse; margin:14px 0 24px; font-size:0.9rem; box-shadow:var(--shadow-raised-sm); border-radius:16px; overflow:hidden; }
.facts-table th, .facts-table td { text-align:left; padding:14px 18px; border-bottom:1px solid rgba(0,0,0,0.06); vertical-align:top; }
.facts-table thead th { background:var(--navy); color:white; font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-weight:600; }
.facts-table tbody tr:nth-child(even) { background:rgba(255,255,255,0.35); }
.facts-table .yes { color:var(--orange); font-weight:700; }
.facts-table .no { color:var(--midgray); font-weight:600; }

.legal-callout { background:linear-gradient(135deg, rgba(199,91,18,0.08), rgba(212,149,43,0.08)); border-left:4px solid var(--orange); border-radius:14px; padding:20px 24px; margin:24px 0; }
.legal-callout p { margin:0; font-size:0.9rem; }


/* Hero trust chips */
.legal-hero .hero-chips { display:flex; gap:10px; flex-wrap:wrap; margin-top:26px; }
.legal-hero .hero-chip { display:inline-flex; align-items:center; gap:8px; font-size:0.8rem; font-weight:600; color:rgba(255,255,255,0.85); background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); padding:8px 16px; border-radius:20px; }
.legal-hero .hero-chip svg { width:14px; height:14px; fill:var(--gold); }

/* At-a-glance cards */
.glance-grid { max-width:1100px; margin:-46px auto 0; position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:0 40px; }
.glance-card { background:var(--surface); border-radius:20px; box-shadow:var(--shadow-raised); padding:24px 22px; }
.glance-card .glance-icon { width:42px; height:42px; border-radius:13px; background:linear-gradient(135deg, var(--navy), var(--navy-light)); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.glance-card .glance-icon svg { width:20px; height:20px; fill:var(--gold); }
.glance-card h3 { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:0.98rem; color:var(--navy); margin-bottom:6px; }
.glance-card p { font-size:0.82rem; color:var(--midgray); line-height:1.55; }
@media (max-width:1024px) { .glance-grid { grid-template-columns:repeat(2,1fr); margin-top:-30px; } }
@media (max-width:768px) { .glance-grid { grid-template-columns:1fr; padding:0 20px; } }

/* Numbered section headings */
.legal-content { counter-reset: legalsec; }
.legal-content h2 { display:flex; align-items:center; gap:14px; }
.legal-content h2::before { counter-increment: legalsec; content: counter(legalsec, decimal-leading-zero); flex-shrink:0; width:38px; height:38px; border-radius:12px; background:var(--surface); box-shadow:var(--shadow-raised-sm); display:flex; align-items:center; justify-content:center; font-size:0.85rem; color:var(--orange-text, #A84A0D); letter-spacing:0.02em; }

/* TOC scrollspy */
.legal-toc a.active { color:var(--navy); background:rgba(27,42,74,0.07); box-shadow:var(--shadow-raised-sm); font-weight:600; }
.legal-toc a { border-left:2px solid transparent; }
.legal-toc a.active { border-left-color:var(--orange-text, #A84A0D); }

/* Footer */
.footer { background:var(--slate); padding:80px 40px 40px; color:rgba(255,255,255,0.7); }
.footer-grid { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:40px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-brand img { height:44px; margin-bottom:16px; }
.footer-brand p { font-size:0.85rem; line-height:1.6; max-width:280px; color:rgba(255,255,255,0.62); }
.footer-col h4, .footer-col .footer-h { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:0.9rem; color:white; margin-bottom:16px; }
.footer-col ul { list-style:none; } .footer-col li { margin-bottom:10px; }
.footer-col a { color:rgba(255,255,255,0.62); text-decoration:none; font-size:0.85rem; transition:color 0.3s ease; }
.footer-col a:hover { color:var(--gold); }
.footer-contact-item { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:0.85rem; }
.footer-contact-item svg { width:16px; height:16px; fill:var(--gold); flex-shrink:0; }
.footer-bottom { max-width:1280px; margin:0 auto; padding-top:30px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.footer-bottom p { font-size:0.75rem; color:rgba(255,255,255,0.35); }
.footer-badges { display:flex; align-items:center; gap:20px; }
.footer-badges img { height:32px; opacity:0.6; }
.footer-social { display:flex; gap:10px; }
.footer-social a { width:38px; height:38px; border-radius:12px; background:rgba(255,255,255,0.06); display:flex; align-items:center; justify-content:center; transition:all 0.3s ease; }
.footer-social a:hover { background:var(--orange); transform:translateY(-2px); }
.footer-social svg { width:18px; height:18px; fill:rgba(255,255,255,0.6); }
.footer-social a:hover svg { fill:white; }

/* Responsive */
@media (max-width:1024px) { .footer-grid { grid-template-columns:repeat(2,1fr); } .legal-layout { grid-template-columns:1fr; } .legal-toc { position:static; } }
@media (max-width:768px) {
  .nav{padding:16px 20px} .nav.scrolled{padding:12px 20px}
  .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(232,228,223,0.98);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:12px}
  .nav-links.open{display:flex} .nav-toggle{display:flex}
  .nav-links.open a{color:var(--navy)!important}
  .legal-hero{padding:140px 20px 60px} .legal-section{padding:50px 20px}
  .facts-table th, .facts-table td { padding:10px 12px; font-size:0.82rem; }
  .footer-grid{grid-template-columns:1fr} .footer-bottom{flex-direction:column;text-align:center}
}

/* Privacy notice: download card, embedded PDF, facts Q&A */
.privacy-download { grid-template-columns: minmax(280px, 1fr) minmax(0, 1.6fr); align-items: stretch; }
.privacy-download-card .btn-glow { display: inline-flex; align-items: center; gap: 10px; margin-top: 6px; padding: 14px 24px; border-radius: 14px; background: linear-gradient(135deg, #A84A0D, #B85410); color: #fff; font-weight: 600; font-size: 0.95rem; text-decoration: none; box-shadow: 0 8px 24px rgba(199,91,18,0.3); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.privacy-download-card .btn-glow:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(199,91,18,0.38); color: #fff; }
.privacy-download-card .btn-glow svg { width: 18px; height: 18px; fill: currentColor; }
.privacy-embed-card { padding: 0; overflow: hidden; }
.privacy-embed { display: block; width: 100%; height: 560px; border: 0; background: #fff; }
.privacy-embed p { padding: 24px; }
.privacy-source { font-size: 0.9rem; color: var(--midgray); border-left: 3px solid var(--gold); padding-left: 14px; margin-bottom: 28px; }
.facts-qa { margin: 0 0 8px; }
.facts-qa dt { font-family: 'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-weight: 700; color: var(--navy); margin: 22px 0 6px; font-size: 1.05rem; }
.facts-qa dd { margin: 0; line-height: 1.7; }
.facts-qa dd ul { margin: 8px 0 8px 22px; }
.facts-table td.yes { color: #1B2A4A; font-weight: 700; }
@media (max-width: 900px) { .privacy-download { grid-template-columns: 1fr; } .privacy-embed { height: 420px; } }
@media (max-width: 560px) { .privacy-embed-card { display: none; } }
