/* Practical Analyst — visual layer (effects, layout, motion) */

:root{
	--pa-bg:var(--wp--preset--color--base, #181818);
	--pa-surface:var(--wp--preset--color--surface, #22242a);
	--pa-accent:var(--wp--preset--color--accent, #05a7ff);
	--pa-border:var(--wp--preset--color--border, #3e5062);
	--pa-muted:var(--wp--preset--color--muted, #b1b9c0);
	--pa-glow:rgba(5,167,255,.35);
	--pa-border-soft:rgba(62,80,98,.45);
}

body{ -webkit-font-smoothing:antialiased; }
a{ text-decoration:none; }

/* ---------- accent helper + eyebrow ---------- */
.pa-accent{ color:var(--pa-accent); }
.pa-eyebrow{
	font-size:11.5px !important; letter-spacing:.16em; text-transform:uppercase;
	font-weight:700; color:var(--pa-accent) !important; margin:0 0 .4rem;
}
.pa-eyebrow a{ color:var(--pa-accent); }

/* ---------- nav ---------- */
.pa-nav{
	position:sticky; top:0; z-index:50;
	background:rgba(24,24,24,.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
	border-bottom:1px solid var(--pa-border-soft);
	padding-top:.65rem; padding-bottom:.65rem;
}
.pa-nav-inner{ gap:1.5rem; }
.pa-logo-wrap{ gap:.7rem; align-items:center; }
.pa-logo-mark{
	width:34px; height:34px; border:1.5px solid var(--pa-accent); border-radius:9px;
	display:grid; place-items:center; box-shadow:0 0 18px -4px var(--pa-glow); flex:0 0 auto;
}
.pa-logo-mark svg{ width:18px; height:18px; }
.pa-logo{ margin:0 !important; font-weight:800 !important; }
.pa-logo a{ color:var(--wp--preset--color--contrast); }
.pa-nav-links{ gap:1.8rem; align-items:center; }
.pa-nav-links .wp-block-navigation{ gap:1.7rem; }
.pa-nav-links .wp-block-navigation a{ color:var(--pa-muted); font-size:14px; font-weight:500; }
.pa-nav-links .wp-block-navigation a:hover{ color:var(--wp--preset--color--contrast); }
.pa-nav-cta{ margin:0; }

/* ---------- hero ---------- */
.pa-hero{ position:relative; overflow:hidden; padding-top:5rem; padding-bottom:4.5rem; }
.pa-hero::before{
	content:""; position:absolute; top:-180px; right:-120px; width:620px; height:620px;
	background:radial-gradient(circle, var(--wp--preset--color--accent-soft, rgba(5,167,255,.12)) 0%, transparent 62%);
	pointer-events:none;
}
.pa-hero-cols{ position:relative; gap:3.4rem; }
.pa-hero-title{ margin:0 0 1.2rem; }
.pa-dek{ max-width:33em; line-height:1.6; }
.pa-hero-cta{ margin:1.9rem 0 0; gap:.8rem; }
.pa-byline{ margin-top:1.7rem; }

.pa-hero-fig{
	position:relative; aspect-ratio:4/3.3; border:1px solid var(--pa-border); border-radius:14px;
	background:linear-gradient(160deg,#23262d 0%,#1b1d22 100%); overflow:hidden;
	box-shadow:0 40px 80px -40px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.02);
}
.pa-hero-fig .pa-glow{
	position:absolute; width:300px; height:300px; border-radius:50%;
	background:radial-gradient(circle, var(--pa-glow), transparent 65%);
	top:-60px; left:-40px; filter:blur(20px);
}
.pa-hero-fig svg{ position:absolute; inset:0; width:100%; height:100%; }
.pa-fig-tag{
	position:absolute; left:20px; bottom:18px; font-size:11px; letter-spacing:.16em;
	text-transform:uppercase; color:var(--pa-muted);
}

/* ---------- ghost button ---------- */
.is-style-pa-ghost .wp-block-button__link{
	background:transparent !important; color:var(--wp--preset--color--contrast) !important;
	border:1px solid var(--pa-border) !important;
}
.is-style-pa-ghost .wp-block-button__link:hover{ border-color:var(--pa-accent) !important; }

/* ---------- section heads ---------- */
.pa-section{ padding-top:4.5rem; }
.pa-sec-head{ margin-bottom:1.8rem; align-items:baseline; }
.pa-sec-head h1,.pa-sec-head h2{ margin:0; }
.pa-sec-link{ margin:0; }
.pa-sec-link a{ color:var(--pa-muted); }
.pa-sec-link a:hover{ color:var(--pa-accent); }

/* ---------- post grid cards ---------- */
.pa-grid{ gap:1.25rem !important; }
.pa-card{
	background:var(--pa-surface); border:1px solid var(--pa-border-soft); border-radius:8px;
	padding:1.6rem 1.5rem 1.7rem; height:100%;
	transition:transform .25s, border-color .25s, box-shadow .25s;
}
.pa-card:hover{ transform:translateY(-5px); border-color:var(--pa-accent); box-shadow:0 20px 40px -26px var(--pa-glow); }
.pa-card-title{ margin:.2rem 0 .9rem !important; line-height:1.2 !important; }
.pa-card-title a{ color:var(--wp--preset--color--contrast); }
.pa-card:hover .pa-card-title a{ color:var(--pa-accent); }
.pa-card-meta{ gap:.6rem; color:var(--pa-muted); font-size:13px; }
.pa-card-meta a,.pa-card-meta .wp-block-post-author,.pa-card-meta .wp-block-post-date{ color:var(--pa-muted); }

/* ---------- quote band ---------- */
.pa-quoteband{
	margin-top:4.6rem; background:var(--pa-surface);
	border-top:1px solid var(--pa-border-soft); border-bottom:1px solid var(--pa-border-soft);
	padding-top:4.6rem; padding-bottom:4.6rem; position:relative; overflow:hidden;
}
.pa-quoteband::before{
	content:"\201C"; position:absolute; top:-26px; left:50%; transform:translateX(-50%);
	font-size:240px; line-height:1; font-weight:800;
	color:var(--wp--preset--color--accent-soft, rgba(5,167,255,.12));
}
.pa-quote-inner{ position:relative; text-align:center; }
.pa-quote{
	border:0 !important; margin:.6rem 0 0; padding:0;
}
.pa-quote p{
	font-weight:700; font-size:clamp(26px,3.5vw,38px); line-height:1.25; letter-spacing:-.02em;
	color:var(--wp--preset--color--contrast); margin:0 0 1.1rem;
}
.pa-quote cite{
	font-style:normal; font-size:13px; letter-spacing:.14em; text-transform:uppercase;
	color:var(--pa-muted); display:block; text-align:center;
}

/* ---------- resources ---------- */
.pa-resources{ padding-top:4.5rem; }
.pa-res-cols{ gap:1.1rem !important; }
.pa-res{
	background:var(--pa-surface); border:1px solid var(--pa-border-soft); border-radius:8px;
	padding:1.7rem 1.4rem; height:100%; transition:transform .25s, border-color .25s;
}
.pa-res:hover{ transform:translateY(-5px); border-color:var(--pa-accent); }
.pa-res-ico{
	width:40px; height:40px; border-radius:10px;
	background:var(--wp--preset--color--accent-soft, rgba(5,167,255,.12));
	display:grid; place-items:center; margin-bottom:1.1rem;
}
.pa-res-ico svg{ width:21px; height:21px; color:var(--pa-accent); }
.pa-res h4{ margin:0 0 .4rem; font-size:18px; }
.pa-res p{ margin:0; line-height:1.45; }

/* ---------- footer ---------- */
.pa-footer{ margin-top:5rem; background:var(--pa-surface); border-top:1px solid var(--pa-border-soft); padding-top:3.4rem; padding-bottom:2.6rem; }
.pa-footer-cols{ gap:2.4rem; }
.pa-footer .pa-logo{ font-size:20px !important; margin-bottom:.8rem !important; }
.pa-footer-blurb{ max-width:30ch; line-height:1.55; }
.pa-foot-head{ font-size:11px !important; letter-spacing:.15em; text-transform:uppercase; color:var(--pa-muted) !important; margin:0 0 .9rem !important; font-weight:700 !important; }
.pa-foot-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.pa-foot-list a{ color:var(--pa-muted); font-size:14px; }
.pa-foot-list a:hover{ color:var(--pa-accent); }
.pa-legal{ margin-top:2.8rem; padding-top:1.4rem; border-top:1px solid var(--pa-border-soft); }
.pa-legal p{ margin:0; }

/* ---------- article (single) ---------- */
.pa-article{ padding-bottom:1rem; }
.pa-art-head{ padding-top:3.6rem; text-align:center; }
.pa-art-head .pa-eyebrow{ margin-bottom:1rem; }
.pa-art-head .wp-block-post-title{ margin:0 auto; max-width:14ch; }
.pa-art-meta{ margin-top:1.6rem; gap:.9rem; color:var(--pa-muted); font-size:13.5px; }
.pa-art-meta a,.pa-art-meta .wp-block-post-author{ color:var(--pa-muted); }
.pa-art-fig{ margin-top:2.4rem; border:1px solid var(--pa-border); border-radius:14px; overflow:hidden; }
.pa-art-fig img{ width:100%; display:block; }
.pa-art-body{ margin-top:2.8rem; font-size:18.5px; line-height:1.72; color:var(--wp--preset--color--body-text); }
.pa-art-body p{ margin:0 0 1.5rem; }
.pa-art-body h2{ margin:2.4rem 0 .9rem; font-size:25px; }
.pa-art-body h3{ margin:2rem 0 .7rem; font-size:21px; }
/* pull-quote treatment for any quote placed inside an article */
.pa-art-body .wp-block-quote{
	margin:2.4rem 0; padding:.4rem 0 .4rem 1.6rem; border-left:3px solid var(--pa-accent);
	font-weight:700; font-size:24px; line-height:1.3; letter-spacing:-.01em;
	color:var(--wp--preset--color--contrast);
}
.pa-art-body .wp-block-quote p{ margin:0; }
.pa-art-tags{ max-width:680px; margin:2rem auto 0; padding-top:1.6rem; border-top:1px solid var(--pa-border-soft); }
.pa-art-tags .wp-block-post-terms a{
	display:inline-block; font-size:12.5px; font-weight:600; border:1px solid var(--pa-border);
	padding:.4rem .85rem; border-radius:30px; color:var(--pa-muted); margin:0 .35rem .4rem 0;
}
.pa-art-tags .wp-block-post-terms a:hover{ border-color:var(--pa-accent); color:var(--pa-accent); }

/* ---------- pagination / 404 / search ---------- */
.pa-pagination{ margin-top:2.6rem; gap:.4rem; }
.pa-pagination a,.pa-pagination .current{ color:var(--pa-muted); }
.pa-pagination .current{ color:var(--pa-accent); font-weight:700; }
.pa-404{ padding-top:5rem; padding-bottom:5rem; }
.pa-404 .wp-block-search__input{ background:var(--pa-surface); border:1px solid var(--pa-border); color:#fff; border-radius:8px 0 0 8px; }
.pa-search .wp-block-search__button{ border-radius:0 8px 8px 0; }

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
	.pa-hero-cols > *,.pa-card,.pa-res{ animation:pa-rise .7s cubic-bezier(.2,.7,.3,1) both; }
	.pa-grid > *:nth-child(2){ animation-delay:.06s; }
	.pa-grid > *:nth-child(3){ animation-delay:.12s; }
	.pa-grid > *:nth-child(4){ animation-delay:.18s; }
	.pa-grid > *:nth-child(5){ animation-delay:.24s; }
	.pa-grid > *:nth-child(6){ animation-delay:.30s; }
}
@keyframes pa-rise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }

/* ---------- responsive ---------- */
@media (max-width:781px){
	.pa-hero-cols{ flex-direction:column; }
	.pa-hero-fig{ aspect-ratio:16/10; }
	.pa-res-cols{ flex-wrap:wrap; }
	.pa-nav-links .wp-block-navigation:not(.is-menu-open) .wp-block-navigation__responsive-container:not(.is-menu-open){ }
}
