/* =============================================================
 * Vatsalya CA — Main Stylesheet
 * Lightweight, distinctive, ICAI-compliant
 * ============================================================= */

:root{
	--ink:#0E1E2B;
	--ink-2:#1B3147;
	--paper:#F4EFE6;
	--paper-2:#FBF7EF;
	--gold:#B08A3E;
	--gold-2:#D4B677;
	--rule:#D6CCB7;
	--muted:#5A6B7A;
	--green:#2F5D4F;
	--red:#B5443D;
	--shadow: 0 30px 60px -30px rgba(14,30,43,.25);
	--radius: 2px;
}

*{box-sizing:border-box;margin:0;padding:0}
*::selection{background:var(--gold);color:var(--paper)}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
	font-family:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;
	background:var(--paper);
	color:var(--ink);
	line-height:1.6;
	font-weight:400;
	overflow-x:hidden;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

body::before{
	content:'';
	position:fixed;inset:0;
	background-image:
		radial-gradient(circle at 20% 10%, rgba(176,138,62,.05) 0, transparent 40%),
		radial-gradient(circle at 80% 90%, rgba(47,93,79,.04) 0, transparent 40%);
	pointer-events:none;
	z-index:0;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--ink);transition:color .2s ease}
a:hover{color:var(--gold)}

.serif{font-family:'Fraunces',Georgia,serif}
.italic{font-style:italic}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link{position:absolute;top:-40px;left:0;background:var(--ink);color:var(--paper);padding:10px;z-index:100000}
.skip-link:focus{top:0}

.container{max-width:1240px;margin:0 auto;padding:0 28px;position:relative;z-index:1}
.container.narrow{max-width:880px}

/* ============ TOP STRIP ============ */
.top-strip{
	background:var(--ink);
	color:var(--paper);
	font-size:13px;
	padding:9px 0;
	letter-spacing:.02em;
	position:relative;z-index:101;
}
.top-strip .container{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.top-strip .left span{margin-right:18px;opacity:.85}
.top-strip a{color:var(--gold-2);text-decoration:none}
.top-strip .updated{font-style:italic;opacity:.7;font-family:'Fraunces',serif}

/* ============ HEADER ============ */
.site-header{
	position:sticky;top:0;z-index:100;
	background:rgba(244,239,230,.94);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	border-bottom:1px solid var(--rule);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:20px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink)}
.brand .mark{
	font-family:'Fraunces',serif;
	font-weight:600;
	font-size:24px;
	letter-spacing:-.01em;
	line-height:1.1;
}
.brand .sub{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);font-weight:500;margin-top:3px}
.brand img{max-height:50px;width:auto}

.nav-links{display:flex;gap:36px;align-items:center;list-style:none}
.nav-links li a, .nav-links a{
	text-decoration:none;color:var(--ink);font-size:14px;font-weight:500;
	position:relative;padding:6px 0;transition:color .2s;
}
.nav-links a:hover{color:var(--gold)}
.nav-links a::after{
	content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
	background:var(--gold);transition:width .3s;
}
.nav-links a:hover::after, .nav-links .current-menu-item a::after{width:100%}

.cta-btn{
	background:var(--ink);color:var(--paper)!important;
	padding:11px 22px;border-radius:var(--radius);font-size:13px;
	text-transform:uppercase;letter-spacing:.14em;font-weight:500;
	transition:background .2s, color .2s;text-decoration:none;
}
.cta-btn:hover{background:var(--gold);color:var(--ink)!important}
.cta-btn::after{display:none}

.menu-toggle{
	display:none;background:none;border:none;cursor:pointer;
	width:34px;height:30px;flex-direction:column;justify-content:space-between;padding:5px 0;
}
.menu-toggle span{
	display:block;height:2px;background:var(--ink);width:100%;transition:transform .3s;
}
.menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ============ HERO ============ */
.hero{
	padding:90px 0 110px;
	position:relative;
	border-bottom:1px solid var(--rule);
}
.hero-grid{
	display:grid;
	grid-template-columns: 1.2fr .9fr;
	gap:72px;
	align-items:center;
}
.eyebrow{
	display:inline-flex;align-items:center;gap:10px;
	font-size:12px;text-transform:uppercase;letter-spacing:.28em;
	color:var(--gold);font-weight:500;margin-bottom:28px;
}
.eyebrow::before{
	content:'';width:36px;height:1px;background:var(--gold);
}
.hero h1{
	font-family:'Fraunces',serif;
	font-size:clamp(42px, 6.2vw, 84px);
	line-height:1.02;
	letter-spacing:-.025em;
	font-weight:400;
	margin-bottom:28px;
}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400}
.hero h1 .underline{position:relative;display:inline-block}
.hero h1 .underline::after{
	content:'';position:absolute;left:0;bottom:6px;width:100%;height:8px;
	background:var(--gold-2);opacity:.35;z-index:-1;
}
.hero p.lead{
	font-size:19px;color:var(--muted);max-width:540px;margin-bottom:40px;line-height:1.65;
}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center}

.btn-primary{
	background:var(--ink);color:var(--paper);
	padding:16px 32px;border-radius:var(--radius);
	font-size:13px;text-transform:uppercase;letter-spacing:.16em;font-weight:500;
	text-decoration:none;display:inline-flex;align-items:center;gap:10px;
	transition:all .25s;border:none;cursor:pointer;font-family:inherit;
}
.btn-primary:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}
.btn-primary svg{width:14px;height:14px}

.btn-ghost{
	color:var(--ink);text-decoration:none;
	font-size:14px;font-weight:500;
	padding:16px 4px;border-bottom:1px solid var(--ink);
	transition:all .2s;
}
.btn-ghost:hover{color:var(--gold);border-color:var(--gold)}

/* Cred card */
.cred-card{
	background:var(--paper-2);
	border:1px solid var(--rule);
	padding:42px 36px;
	position:relative;
	box-shadow:var(--shadow);
}
.cred-card::before{
	content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:4px;
	background:linear-gradient(90deg,var(--gold) 0%, var(--gold-2) 50%, var(--gold) 100%);
}
.cred-card .label{
	font-size:11px;text-transform:uppercase;letter-spacing:.24em;color:var(--muted);
	margin-bottom:16px;
}
.cred-card h3{
	font-family:'Fraunces',serif;font-weight:500;font-size:30px;line-height:1.15;margin-bottom:8px;
}
.cred-card .designation{
	font-size:14px;color:var(--gold);font-weight:500;letter-spacing:.04em;margin-bottom:24px;
}
.cred-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.cred-list li{
	display:flex;gap:14px;align-items:flex-start;font-size:14.5px;color:var(--ink-2);
}
.cred-list li svg{flex-shrink:0;margin-top:3px}

.icai-stamp{
	border-top:1px solid var(--rule);padding-top:18px;
	display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);
}
.icai-stamp .reg{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:var(--ink)}

/* ============ TICKER ============ */
.ticker{
	background:var(--ink);color:var(--paper);
	padding:18px 0;overflow:hidden;
	border-top:1px solid var(--gold);
}
.ticker-track{
	display:flex;gap:60px;
	animation:scroll 40s linear infinite;
	white-space:nowrap;
	will-change:transform;
}
.ticker-track span{
	font-family:'Fraunces',serif;font-style:italic;font-size:18px;color:var(--paper);
	display:inline-flex;align-items:center;gap:60px;
}
.ticker-track span::after{
	content:'◆';color:var(--gold);font-style:normal;font-size:10px;
}
@keyframes scroll{
	from{transform:translateX(0)}
	to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
	.ticker-track{animation:none}
}

/* ============ SERVICES ============ */
.services{padding:120px 0;border-bottom:1px solid var(--rule)}
.section-head{
	display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-bottom:80px;
	align-items:end;
}
.section-head h2{
	font-family:'Fraunces',serif;font-weight:400;
	font-size:clamp(36px,4.5vw,60px);line-height:1.05;letter-spacing:-.02em;
}
.section-head h2 em{color:var(--gold);font-style:italic}
.section-head p{font-size:17px;color:var(--muted);line-height:1.65}

.service-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:0;
	border-top:1px solid var(--rule);
	border-left:1px solid var(--rule);
}
.service-card{
	border-right:1px solid var(--rule);
	border-bottom:1px solid var(--rule);
	padding:40px 36px;
	background:var(--paper);
	transition:background .35s, transform .35s;
	position:relative;
	cursor:pointer;
	min-height:280px;
	display:flex;flex-direction:column;
	text-decoration:none;color:var(--ink);
}
.service-card:hover{background:var(--paper-2)}
.service-card .num{
	font-family:'Fraunces',serif;font-style:italic;font-size:14px;
	color:var(--gold);margin-bottom:24px;letter-spacing:.04em;
}
.service-card .icon{
	width:44px;height:44px;margin-bottom:24px;color:var(--ink);
	transition:transform .35s ease;
}
.service-card .icon svg{width:100%;height:100%}
.service-card:hover .icon{transform:scale(1.08) rotate(-3deg);color:var(--gold)}
.service-card h3{
	font-family:'Fraunces',serif;font-weight:500;font-size:22px;line-height:1.2;
	margin-bottom:14px;color:var(--ink);
}
.service-card p{
	font-size:14.5px;color:var(--muted);line-height:1.6;flex:1;
}
.service-card .arrow{
	margin-top:20px;font-size:13px;color:var(--ink);font-weight:500;
	display:inline-flex;align-items:center;gap:8px;letter-spacing:.04em;
}
.service-card .arrow svg{width:14px;height:14px;transition:transform .3s}
.service-card:hover .arrow svg{transform:translateX(6px)}

/* ============ ABOUT ============ */
.about{
	padding:130px 0;
	background:var(--ink);
	color:var(--paper);
	border-bottom:1px solid var(--ink-2);
	position:relative;
	overflow:hidden;
}
.about::before{
	content:'CA';
	position:absolute;
	font-family:'Fraunces',serif;font-style:italic;
	font-size:520px;font-weight:300;
	top:-110px;right:-60px;
	color:rgba(255,255,255,.025);
	pointer-events:none;
	line-height:1;
}
.about-grid{
	display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
	position:relative;z-index:2;
}
.about .eyebrow{color:var(--gold-2)}
.about .eyebrow::before{background:var(--gold-2)}
.about h2{
	font-family:'Fraunces',serif;font-weight:400;
	font-size:clamp(36px,4.5vw,56px);line-height:1.08;letter-spacing:-.02em;
	margin-bottom:32px;
}
.about h2 em{color:var(--gold-2);font-style:italic}
.about p{font-size:17px;color:rgba(244,239,230,.78);margin-bottom:18px;line-height:1.7}

.principles{
	display:flex;flex-direction:column;gap:0;
	border-top:1px solid rgba(255,255,255,.12);
}
.principle{
	padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12);
	display:grid;grid-template-columns:60px 1fr;gap:24px;align-items:start;
}
.principle .pn{
	font-family:'Fraunces',serif;font-style:italic;font-size:22px;
	color:var(--gold-2);
}
.principle h4{
	font-family:'Fraunces',serif;font-weight:500;font-size:20px;margin-bottom:6px;
	color:var(--paper);
}
.principle p{font-size:14.5px;margin:0;color:rgba(244,239,230,.7)}

/* ============ KNOWLEDGE BANK ============ */
.knowledge{padding:120px 0;border-bottom:1px solid var(--rule)}
.kb-grid{
	display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
	margin-top:60px;
}
.kb-card{
	background:var(--paper-2);
	border:1px solid var(--rule);
	padding:30px 26px;
	transition:transform .3s, box-shadow .3s, border-color .3s;
	text-decoration:none;color:var(--ink);
	display:block;
}
.kb-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold)}
.kb-card .kb-icon{
	width:38px;height:38px;color:var(--gold);margin-bottom:18px;
}
.kb-card .kb-icon svg{width:100%;height:100%}
.kb-card h4{
	font-family:'Fraunces',serif;font-weight:500;font-size:18px;line-height:1.25;margin-bottom:8px;color:var(--ink);
}
.kb-card p{font-size:13.5px;color:var(--muted);line-height:1.55}
.kb-card .kb-link{
	font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);
	margin-top:16px;display:inline-block;font-weight:500;
}

/* ============ CONTACT ============ */
.contact{
	padding:130px 0;
	background:var(--paper-2);
	border-bottom:1px solid var(--rule);
}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.contact-info h2{
	font-family:'Fraunces',serif;font-weight:400;
	font-size:clamp(36px,4.5vw,52px);line-height:1.08;letter-spacing:-.02em;margin-bottom:24px;
}
.contact-info h2 em{color:var(--gold);font-style:italic}
.contact-info p.lead{font-size:16.5px;color:var(--muted);margin-bottom:40px;line-height:1.65;max-width:460px}

.info-row{
	display:flex;gap:20px;padding:22px 0;
	border-bottom:1px solid var(--rule);
}
.info-row:first-of-type{border-top:1px solid var(--rule)}
.info-row .ic{width:38px;height:38px;flex-shrink:0;color:var(--gold)}
.info-row .meta{flex:1}
.info-row .meta .lbl{
	font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin-bottom:6px;
}
.info-row .meta .val{font-size:16px;color:var(--ink);font-weight:500}
.info-row .meta .val a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.info-row .meta .val a:hover{border-color:var(--gold)}

/* form */
.contact-form{
	background:var(--paper);
	border:1px solid var(--rule);
	padding:44px 40px;
	box-shadow:var(--shadow);
	position:relative;
}
.contact-form::before{
	content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:3px;
	background:var(--gold);
}
.contact-form h3{
	font-family:'Fraunces',serif;font-weight:500;font-size:26px;margin-bottom:6px;
}
.contact-form .sub{font-size:13.5px;color:var(--muted);margin-bottom:30px}

.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

.field{margin-bottom:20px}
.field label{
	display:block;font-size:11px;text-transform:uppercase;letter-spacing:.18em;
	color:var(--muted);margin-bottom:8px;font-weight:500;
}
.field input,.field select,.field textarea{
	width:100%;padding:14px 0;border:none;border-bottom:1px solid var(--rule);
	background:transparent;font-family:inherit;font-size:15px;color:var(--ink);
	outline:none;transition:border-color .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.field textarea{resize:vertical;min-height:90px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}

.form-submit{
	width:100%;background:var(--ink);color:var(--paper);
	padding:18px;border:none;cursor:pointer;
	font-family:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.16em;font-weight:500;
	transition:background .2s, color .2s;margin-top:12px;
}
.form-submit:hover{background:var(--gold);color:var(--ink)}
.form-note{font-size:12px;color:var(--muted);margin-top:18px;text-align:center;font-style:italic}

.form-success{
	margin-top:24px;padding:14px 18px;background:#E8F1ED;border-left:3px solid var(--green);
	color:var(--green);font-size:14px;
}

/* ============ FOOTER ============ */
.site-footer{
	background:var(--ink);color:var(--paper);
	padding:80px 0 30px;
}
.footer-grid{
	display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;
	padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand .mark{
	font-family:'Fraunces',serif;font-size:26px;font-weight:500;margin-bottom:16px;
}
.footer-brand p{font-size:14px;color:rgba(244,239,230,.65);line-height:1.65;margin-bottom:24px;max-width:340px}
.footer-brand .icai-no{font-size:13px;color:rgba(244,239,230,.55);font-style:italic}
.footer-brand .icai-no strong{color:var(--gold-2);font-weight:500}

.footer-col h5{
	font-size:11px;text-transform:uppercase;letter-spacing:.22em;
	color:var(--gold-2);margin-bottom:22px;font-weight:500;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-col ul a{
	color:rgba(244,239,230,.7);text-decoration:none;font-size:14px;
	transition:color .2s;
}
.footer-col ul a:hover{color:var(--gold-2)}

.footer-bottom{
	padding-top:30px;display:flex;justify-content:space-between;
	align-items:center;flex-wrap:wrap;gap:14px;
	font-size:12.5px;color:rgba(244,239,230,.5);
}
.footer-bottom .icai-link{color:var(--gold-2);text-decoration:none}
.footer-bottom .icai-link:hover{text-decoration:underline}
.footer-bottom a{color:rgba(244,239,230,.6);text-decoration:none;margin:0 4px}
.footer-bottom a:hover{color:var(--gold-2)}

/* ============ COMPLIANCE BAR ============ */
.compliance-bar{
	background:var(--paper-2);
	padding:14px 0;
	border-top:1px solid var(--rule);
	font-size:12.5px;
	color:var(--muted);
	text-align:center;
	font-style:italic;
}
.compliance-bar .container{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}

/* ============ INNER PAGE STYLES ============ */
.page-hero{
	padding:80px 0 60px;
	border-bottom:1px solid var(--rule);
	background:var(--paper-2);
}
.page-hero .page-title{
	font-family:'Fraunces',serif;font-weight:400;
	font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-.02em;
	margin-top:14px;
}
.page-hero .page-title em{color:var(--gold);font-style:italic}
.page-hero .page-lead{
	font-size:18px;color:var(--muted);max-width:680px;margin-top:18px;line-height:1.6;
}
.page-hero .page-meta{font-size:13px;color:var(--muted);margin-top:14px;font-style:italic}

.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.breadcrumbs li:not(:last-child)::after{content:'/';margin-left:8px;color:var(--rule)}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--gold)}
.breadcrumbs [aria-current]{color:var(--ink)}

.page-content{padding:60px 0 100px}

/* prose styles for written content */
.prose{font-size:17px;line-height:1.75;color:var(--ink-2)}
.prose h2{font-family:'Fraunces',serif;font-weight:500;font-size:32px;line-height:1.2;letter-spacing:-.01em;margin:50px 0 20px;color:var(--ink)}
.prose h3{font-family:'Fraunces',serif;font-weight:500;font-size:24px;line-height:1.25;margin:40px 0 14px;color:var(--ink)}
.prose h4{font-family:'Fraunces',serif;font-weight:500;font-size:19px;margin:30px 0 12px;color:var(--ink)}
.prose p{margin-bottom:20px}
.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--ink)}
.prose ul, .prose ol{margin:0 0 20px 24px}
.prose li{margin-bottom:10px}
.prose blockquote{
	border-left:3px solid var(--gold);
	padding:6px 0 6px 24px;margin:30px 0;
	font-family:'Fraunces',serif;font-style:italic;font-size:20px;line-height:1.5;color:var(--ink);
}
.prose code{background:var(--paper-2);padding:2px 8px;border-radius:2px;font-size:.9em;border:1px solid var(--rule)}
.prose pre{background:var(--ink);color:var(--paper);padding:20px;overflow-x:auto;margin:24px 0;border-radius:2px}
.prose pre code{background:transparent;border:none;padding:0;color:var(--paper)}
.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}
.prose table th, .prose table td{padding:12px 16px;border-bottom:1px solid var(--rule);text-align:left}
.prose table th{background:var(--paper-2);font-weight:600;color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.prose img{margin:24px 0;border:1px solid var(--rule)}
.prose hr{border:none;border-top:1px solid var(--rule);margin:40px 0}

.featured-image{margin:0 0 40px;border:1px solid var(--rule)}
.entry-footer{margin-top:50px;padding-top:24px;border-top:1px solid var(--rule);font-size:14px;color:var(--muted)}
.entry-footer .last-modified, .entry-footer .disclaimer{font-style:italic}
.entry-footer .disclaimer{font-size:13px;line-height:1.6}

/* service-single — call-to-action card */
.service-cta{
	margin-top:60px;
	background:var(--paper-2);
	border:1px solid var(--rule);
	padding:40px;position:relative;
}
.service-cta::before{
	content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:var(--gold);
}
.service-cta h3{
	font-family:'Fraunces',serif;font-weight:500;font-size:24px;margin-bottom:14px;
}
.service-cta p{margin-bottom:24px;font-size:15.5px}

/* related */
.related-services{margin-top:80px}
.related-services h3{
	font-family:'Fraunces',serif;font-weight:500;font-size:24px;margin-bottom:24px;
}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related-card{
	display:block;padding:26px;border:1px solid var(--rule);
	background:var(--paper);text-decoration:none;color:var(--ink);
	transition:border-color .3s, transform .3s;
}
.related-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.related-card h4{font-family:'Fraunces',serif;font-weight:500;font-size:18px;margin-bottom:8px}
.related-card p{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:14px}
.related-card .arrow{font-size:12px;color:var(--gold);text-transform:uppercase;letter-spacing:.14em}

/* post list */
.post-list{display:flex;flex-direction:column;gap:40px}
.post-item{
	padding-bottom:36px;border-bottom:1px solid var(--rule);
}
.post-item:last-child{border-bottom:none}
.post-item .post-type-tag{
	font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:500;
}
.post-item h2{
	font-family:'Fraunces',serif;font-weight:500;font-size:28px;line-height:1.2;margin:10px 0 12px;
}
.post-item h2 a{text-decoration:none;color:var(--ink)}
.post-item h2 a:hover{color:var(--gold)}
.post-item .meta{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:8px}
.post-item .read-more{
	font-size:13px;color:var(--gold);text-decoration:none;font-weight:500;
	display:inline-block;margin-top:14px;letter-spacing:.04em;
}

/* pagination */
.pagination, .navigation.pagination{margin-top:60px;display:flex;justify-content:center}
.nav-links{display:flex;gap:8px}
.page-numbers{
	display:inline-block;padding:10px 14px;
	border:1px solid var(--rule);text-decoration:none;color:var(--ink);
	font-size:14px;transition:all .2s;
}
.page-numbers.current, .page-numbers:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* search form */
.search-form{
	display:flex;gap:0;border:1px solid var(--rule);max-width:520px;
}
.search-field{
	flex:1;padding:14px 18px;border:none;background:transparent;
	font-family:inherit;font-size:15px;outline:none;
}
.search-submit{
	background:var(--ink);color:var(--paper);border:none;padding:0 24px;
	font-family:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;
	transition:background .2s;
}
.search-submit:hover{background:var(--gold);color:var(--ink)}

/* admin bar fix */
body.admin-bar .site-header{top:32px}
@media (max-width: 782px){
	body.admin-bar .site-header{top:46px}
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1100px){
	.kb-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 980px){
	.nav-links{
		display:none;
		position:absolute;top:100%;left:0;right:0;
		flex-direction:column;align-items:stretch;gap:0;
		background:var(--paper);
		border-bottom:1px solid var(--rule);
		padding:0;
	}
	.nav-links.open{display:flex}
	.nav-links li, .nav-links a{display:block;width:100%}
	.nav-links a{padding:16px 28px;border-bottom:1px solid var(--rule)}
	.menu-toggle{display:flex}
	.cta-btn{display:none}
	.hero{padding:60px 0 80px}
	.hero-grid,.section-head,.about-grid,.contact-grid{grid-template-columns:1fr;gap:48px}
	.service-grid{grid-template-columns:repeat(2,1fr)}
	.kb-grid{grid-template-columns:repeat(2,1fr)}
	.footer-grid{grid-template-columns:1fr 1fr;gap:40px}
	.field-row{grid-template-columns:1fr;gap:0}
	.related-grid{grid-template-columns:1fr;gap:16px}
	.about::before{font-size:300px;top:-50px;right:-30px}
}
@media (max-width: 600px){
	.container{padding:0 20px}
	.service-grid{grid-template-columns:1fr}
	.kb-grid{grid-template-columns:1fr}
	.footer-grid{grid-template-columns:1fr;gap:36px}
	.hero h1{font-size:42px}
	.top-strip .left span{display:block;margin:2px 0}
	.top-strip .container{justify-content:center;text-align:center;flex-direction:column;gap:6px}
	.contact-form{padding:30px 22px}
	.cred-card{padding:30px 22px}
	.services, .knowledge, .contact, .about{padding:80px 0}
	.section-head{margin-bottom:50px}
	.footer-bottom{flex-direction:column;text-align:center}
}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
	.reveal{opacity:1;transform:none}
}

/* print */
@media print{
	.top-strip,.site-header,.compliance-bar,.site-footer,.contact-form,.cta-btn,.btn-primary,.btn-ghost{display:none!important}
	body{background:white;color:black}
	a{color:black;text-decoration:underline}
}
