/* Page styles for /terms/, from acu-website terms.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:640px; line-height:1.65; }

/* Document hub */
.docs-section { padding: clamp(60px,7vw,90px) 40px 30px; }
.docs-inner { max-width:1180px; margin:0 auto; }
.doc-group { margin-bottom:48px; }
.doc-group-head { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.doc-group-icon { width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg, rgba(199,91,18,0.1), rgba(212,149,43,0.1)); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-raised-sm); flex-shrink:0; }
.doc-group-icon svg { width:24px; height:24px; fill:var(--orange); }
.doc-group-head h2 { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:1.4rem; color:var(--navy); }
.doc-list { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.doc-item { display:flex; align-items:center; gap:14px; background:var(--surface); border-radius:16px; box-shadow:var(--shadow-raised-sm); padding:18px 22px; text-decoration:none; color:inherit; transition:all 0.3s var(--ease-out-quart); }
.doc-item:hover { transform:translateY(-3px); box-shadow:var(--shadow-raised); }
.doc-item-doc { width:34px; height:34px; border-radius:9px; background:var(--surface-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:var(--shadow-raised-sm); }
.doc-item-doc svg { width:17px; height:17px; fill:var(--teal); }
.doc-item-text { flex:1; }
.doc-item-text h3 { font-size:0.92rem; font-weight:600; color:var(--navy); line-height:1.35; }
.doc-item-text span { font-size:0.75rem; color:var(--midgray); }
.doc-item-arrow { width:26px; height:26px; border-radius:50%; background:var(--surface-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.3s ease; }
.doc-item:hover .doc-item-arrow { background:var(--orange); }
.doc-item-arrow svg { width:13px; height:13px; fill:var(--midgray); transition:fill 0.3s ease; }
.doc-item:hover .doc-item-arrow svg { fill:white; }

/* Website terms prose */
.terms-section { padding: 40px 40px clamp(70px,8vw,100px); }
.terms-content { max-width:900px; margin:0 auto; background:var(--surface); border-radius:28px; box-shadow:var(--shadow-raised); padding:clamp(32px,4vw,56px); }
.terms-content h2 { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:1.5rem; color:var(--navy); margin:36px 0 14px; }
.terms-content h2:first-child { margin-top:0; }
.terms-content p { font-size:0.95rem; color:var(--slate); line-height:1.75; margin-bottom:16px; }
.terms-content ul { margin:0 0 16px 22px; }
.terms-content h3 { font-family:'futura-pt', 'Futura PT','Futura','Baumans',sans-serif; font-size:1.1rem; color:var(--navy); margin:28px 0 10px; }
.terms-content ol.terms-list { margin:0 0 16px 22px; padding-left:8px; }
.terms-content ol.terms-list li { color:var(--slate); padding-left:4px; }
.terms-content li { font-size:0.95rem; line-height:1.7; margin-bottom:8px; }
.terms-content a { color:var(--orange); font-weight:600; text-decoration:none; }
.terms-content a:hover { text-decoration:underline; }
.terms-content strong { color:var(--navy); }
.terms-intro-badge { display:inline-block; margin-bottom:24px; font-size:0.8rem; color:var(--midgray); background:var(--surface-light); box-shadow:var(--shadow-inset); padding:7px 16px; border-radius:20px; }

/* 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); } .doc-list { grid-template-columns:1fr; } }
@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} .docs-section{padding:50px 20px 20px} .terms-section{padding:20px 20px 60px}
  .footer-grid{grid-template-columns:1fr} .footer-bottom{flex-direction:column;text-align:center}
}
