/* Public site styles - moved out of templates/public_header.php + public_footer.php so browsers can cache it; loaded via asset_url() (?v=file mtime). */
:root{
	--bg:#0b1120; --bg2:#0f1830; --card:#121b34; --border:#22304f;
	--gold:#f5b400; --gold2:#ffd25c; --green:#17d692; --text:#e9edf5; --muted:#93a2c2;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
html,body{margin:0;}
body{font-family:'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
.container{max-width:1140px;margin:0 auto;padding:0 22px;}

/* Nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(11,17,32,.92);backdrop-filter:blur(8px);
	border-bottom:1px solid var(--border);transition:box-shadow .3s;}
.nav-inner{max-width:1140px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;}
.brand{font-weight:800;font-size:19px;letter-spacing:.3px;}
.brand span{color:var(--gold);}
.nav-links{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:600;}
.nav-links a{color:var(--muted);position:relative;transition:color .2s;padding-bottom:2px;}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
	background:linear-gradient(90deg,var(--gold),var(--green));transition:width .25s ease;}
.nav-links a:hover{color:var(--gold2);}
.nav-links a:hover:after{width:100%;}
.nav-cta{display:flex;gap:10px;}
.nav-cta-mobile{display:none;}
body.nav-open{overflow:hidden;}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;
	gap:5px;justify-content:center;align-items:center;width:34px;height:34px;}
.nav-hamburger span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;}

@media (max-width: 860px) {
	.nav-inner{padding:12px 16px;flex-wrap:nowrap;}
	.nav-hamburger{display:flex;}
	.nav-cta{display:none;}
	.nav-links{display:none;position:fixed;top:63px;left:0;right:0;height:calc(100vh - 63px);
		background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:10px 22px 22px;
		z-index:29;overflow-y:auto;box-sizing:border-box;}
	.nav-links.open{display:flex;}
	.nav-links a{width:100%;padding:14px 0;border-bottom:1px solid var(--border);font-size:16px;}
	.nav-links .nav-cta-mobile{display:flex;width:100%;padding:16px 0 0;gap:12px;}
	.nav-links .nav-cta-mobile .btn{flex:1;text-align:center;}
}

/* Buttons: tactile 3D press */
.btn{display:inline-block;padding:11px 22px;border-radius:10px;font-weight:700;font-size:14px;border:none;cursor:pointer;
	transition:transform .15s ease, box-shadow .15s ease;transform:translateY(0);}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1a1200;
	box-shadow:0 4px 0 #8a6200,0 8px 18px rgba(245,180,0,.25);}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);
	box-shadow:0 4px 0 rgba(255,255,255,.03);}
.btn-green{background:linear-gradient(135deg,#0f9d78,var(--green));color:#04241a;
	box-shadow:0 4px 0 #0a5c46,0 8px 18px rgba(23,214,146,.25);}
.btn:hover{transform:translateY(-2px);}
.btn-gold:hover{box-shadow:0 6px 0 #8a6200,0 12px 24px rgba(245,180,0,.32);}
.btn-green:hover{box-shadow:0 6px 0 #0a5c46,0 12px 24px rgba(23,214,146,.32);}
.btn:active{transform:translateY(2px);}
.btn-gold:active{box-shadow:0 1px 0 #8a6200;}
.btn-green:active{box-shadow:0 1px 0 #0a5c46;}

/* Shared content sections (used by Home, Page, Blog views) */
.section{max-width:1140px;margin:0 auto;padding:70px 22px;}
.section-head{text-align:center;margin-bottom:40px;}
.section-head h2{font-size:1.9rem;margin:0 0 8px;}
.section-head p{color:var(--muted);margin:0;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;perspective:1000px;}

/* 3D tilt-and-lift card */
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;position:relative;
	transform-style:preserve-3d;transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
	box-shadow:0 1px 2px rgba(0,0,0,.2);}
.card:hover{transform:translateY(-8px) rotateX(4deg) rotateY(-3deg);
	box-shadow:0 22px 40px rgba(0,0,0,.45),0 0 0 1px rgba(245,180,0,.15);border-color:rgba(245,180,0,.35);}
.card h3{margin:0 0 8px;color:#fff;font-size:16px;}
.card p{color:var(--muted);font-size:13.5px;margin:0;line-height:1.5;}

/* Scroll-reveal entrance animation */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;}
.reveal.in{animation:fadeUp .7s ease forwards;}

/* ---- footer (was in templates/public_footer.php) ---- */
.cta-band{background:linear-gradient(135deg,#0f9d78,#0b6b52);padding:60px 22px;text-align:center;margin-top:60px;}
.cta-band h2{font-size:1.9rem;margin:0 0 10px;color:#fff;}
.cta-band p{color:#d9f5eb;margin-bottom:24px;}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

footer{background:#070c18;border-top:1px solid var(--border);padding:44px 22px 24px;}
footer .cols{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;}
footer .brand{font-weight:800;font-size:18px;color:#fff;margin-bottom:8px;}
footer .brand span{color:var(--gold);}
footer p{color:var(--muted);font-size:13px;max-width:280px;}
footer .links{display:flex;flex-direction:column;gap:9px;}
footer .links strong{color:#fff;font-size:13px;margin-bottom:2px;}
footer a{color:var(--muted);font-size:13px;}
footer a:hover{color:var(--gold2);}
.socials{display:flex;gap:12px;margin-top:10px;}
.socials a{width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--border);
	display:flex;align-items:center;justify-content:center;font-size:15px;}
footer .bottom{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid var(--border);
	font-size:12px;color:var(--muted);}
