/* Design Tokens (Merged Blue-Green Theme) */
:root {
	--rp-color-primary: #1e3a8a; /* deep blue */
	--rp-color-primary-rgb: 30,58,138;
	--rp-color-secondary: #10b981; /* emerald */
	--rp-color-secondary-rgb: 16,185,129;
	--rp-color-accent-gold: #f59e0b;
	--rp-color-accent-gold-rgb: 245,158,11;

	/* Extended semantic tokens */
	--rp-color-success: #28a745; /* success / positive */
	--rp-color-danger: #dc3545; /* danger / negative */
	--rp-color-highlight-soft: #e6f3ff; /* soft blue highlight background */
	--rp-color-highlight-alt: #d4e8e2; /* alt blend for hover gradient */
	--rp-color-emphasis-warm: #fff3cd; /* warm emphasis background */

	--rp-color-bg: #f8fafc;
	--rp-color-surface: #ffffff;
	--rp-color-border: #dbe1e8;
	--rp-color-border-strong: #c4ccd5;
	--rp-color-text: #1f2937;
	--rp-color-text-muted: #64748b;

	--rp-color-accent: var(--rp-color-primary); /* legacy alias */
	--rp-color-accent-rgb: var(--rp-color-primary-rgb);

	--rp-radius-sm: 4px;
	--rp-radius: 10px;
	--rp-shadow-sm: 0 2px 4px rgba(0,0,0,.05);
	--rp-shadow: 0 6px 18px -4px rgba(0,0,0,.12);
	--rp-spacing: 1rem;
	--rp-line-height: 1.5;
	--rp-transition: 150ms ease;

	--rp-font-sans: 'Open Sans', system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--rp-font-heading: 'Playfair Display', Georgia, serif;

	--rp-gradient-hero: linear-gradient(to right, var(--rp-color-primary), var(--rp-color-secondary));
}

/* Base */
body { font-family: var(--rp-font-sans); background: var(--rp-color-bg); color: var(--rp-color-text); line-height: var(--rp-line-height); -webkit-font-smoothing: antialiased; }
::selection { background: rgba(var(--rp-color-accent-rgb),.15); }
.card-title { font-size: 0.95rem; }
footer a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }

/* Layout helpers */
.section-narrow { max-width: 760px; margin: 0 auto; }
.section-heading { font-weight:600; letter-spacing:.5px; }
.lead { font-weight: 400; color: var(--rp-color-text-muted); }
.blogs .lead { font-size: 1.15rem; }

/* Navbar enhancements */
.navbar { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.navbar-brand { font-weight:600; letter-spacing:.5px; }
.navbar-nav .nav-link { position:relative; padding:.5rem .9rem; }
.navbar-nav .nav-link.active:after { content:''; position:absolute; left:10%; right:10%; bottom:4px; height:2px; background:var(--rp-color-accent); border-radius:2px; }
.portal-user-badge { position:relative; display:flex!important; align-items:center; gap:.4rem; font-weight:600; color:#fff!important; }
.portal-user-badge i { font-size:1.1rem; }
.portal-user-badge .portal-user-name { padding:.25rem .55rem; background:rgba(var(--rp-color-accent-rgb), .12); border:1px solid rgba(var(--rp-color-accent-rgb), .35); border-radius: 999px; line-height:1; font-size:.75rem; letter-spacing:.5px; font-weight:600; text-transform:uppercase; color:#1d2733; }
.portal-user-badge:hover .portal-user-name { background:rgba(var(--rp-color-accent-rgb), .2); }
.user-dropdown { min-width: 240px; font-size:.8rem; }
.user-dropdown .dropdown-header { font-size:.7rem; }
.user-nav-item .dropdown-toggle:after { display:none; }

/* Buttons */
.btn-outline-primary { --bs-btn-color: var(--rp-color-accent); --bs-btn-border-color: var(--rp-color-accent); }
.btn-outline-primary:hover { background: var(--rp-color-accent); border-color: var(--rp-color-accent); color:#fff; }
.btn-cta, .btn-gold { background: var(--rp-color-accent-gold); color:#fff; font-weight:600; letter-spacing:.4px; border:none; border-radius:28px; padding:.65rem 1.35rem; font-size:.85rem; box-shadow:0 4px 14px -4px rgba(var(--rp-color-accent-gold-rgb), .55); transition:background .25s ease, transform .25s ease, box-shadow .25s ease; }
.btn-cta:hover, .btn-gold:hover { background:#d98406; color:#fff; transform:translateY(-2px); box-shadow:0 8px 20px -6px rgba(var(--rp-color-accent-gold-rgb), .6); }
.btn-cta:active, .btn-gold:active { transform:translateY(0); box-shadow:0 4px 12px -4px rgba(var(--rp-color-accent-gold-rgb), .55); }
.btn-cta.btn-outline, .btn-gold.btn-outline { background:transparent; color:var(--rp-color-accent-gold); border:2px solid var(--rp-color-accent-gold); box-shadow:none; }
.btn-cta.btn-outline:hover, .btn-gold.btn-outline:hover { background:var(--rp-color-accent-gold); color:#fff; box-shadow:0 6px 16px -4px rgba(var(--rp-color-accent-gold-rgb), .55); }

/* Cards */
.card { border-color: var(--rp-color-border); border-radius: var(--rp-radius); transition: box-shadow var(--rp-transition), transform var(--rp-transition); }
.card:hover { box-shadow: var(--rp-shadow); transform: translateY(-2px); }
.card-title { font-weight:600; }

/* Blog Cards */
.blog-card { position:relative; overflow:hidden; }
.blog-card .blog-meta { font-size:.7rem; letter-spacing:.5px; text-transform:uppercase; font-weight:500; }
.blog-card .blog-title a { color: var(--rp-color-text); }
.blog-card .blog-title a:hover { color: var(--rp-color-secondary); }
.blog-card .blog-summary { line-height:1.35; }
.blog-card:before { content:""; position:absolute; inset:0; background:linear-gradient(145deg,rgba(var(--rp-color-accent-rgb),0.04),transparent 60%); opacity:0; transition:opacity var(--rp-transition); }
.blog-card:hover:before { opacity:1; }
.blog-card:hover { transform:translateY(-4px); }
.blog-card .stretched-link:focus-visible { outline:2px solid var(--rp-color-accent); outline-offset:2px; border-radius:2px; }

/* Forms */
form .form-control { border-radius: var(--rp-radius-sm); }
form .form-control:focus { box-shadow: 0 0 0 3px rgba(var(--rp-color-secondary-rgb,16,185,129), .35); border-color: var(--rp-color-secondary,#10b981); }

/* Cost Estimator Note Area */
#noteArea.ce-note { 
	min-height: 1.5rem;
	font-size: .7rem;
	line-height:1.2;
	padding:.4rem .6rem;
	background: linear-gradient(90deg, rgba(var(--rp-color-accent-gold-rgb), .12), rgba(var(--rp-color-secondary-rgb), .10));
	border:1px solid rgba(var(--rp-color-accent-gold-rgb), .45);
	border-radius: var(--rp-radius-sm);
	box-shadow:0 2px 4px -2px rgba(0,0,0,.08);
	font-weight:500;
	letter-spacing:.25px;
	color:#5b3a00;
	display:flex;
	align-items:center;
}

/* Fact Check Highlight */
#factCheckCol.factcheck-highlight {
	background:linear-gradient(135deg,rgba(255,240,200,.6),rgba(255,230,160,.4));
	border:1px solid rgba(255,190,80,.7);
	padding:1rem 1.25rem;
	border-radius:12px;
	box-shadow:0 2px 6px -2px rgba(0,0,0,.08);
	position:relative;
}
#factCheckCol.factcheck-highlight .factcheck-badge {
	position:absolute;
	top:-10px;
	left:12px;
	background:#ffb649;
	color:#111;
	font-size:.65rem;
	letter-spacing:.05em;
	font-weight:600;
	padding:3px 6px;
	border-radius:6px;
	box-shadow:0 1px 3px rgba(0,0,0,.15);
}
@media (prefers-color-scheme: dark){
	#factCheckCol.factcheck-highlight { background:linear-gradient(135deg,rgba(255,240,200,.18),rgba(255,230,160,.12)); border-color:rgba(255,190,80,.55); }
	#factCheckCol.factcheck-highlight .factcheck-badge { background:#f59e0b; color:#fff; }
}
#noteArea.ce-note:empty { padding:.2rem .4rem; background:transparent; border-color:transparent; box-shadow:none; }
@media (prefers-color-scheme: dark){
	#noteArea.ce-note { background: linear-gradient(90deg, rgba(var(--rp-color-accent-gold-rgb), .18), rgba(var(--rp-color-secondary-rgb), .18)); color:#fef3c7; border-color: rgba(var(--rp-color-accent-gold-rgb), .6); }
}

/* Footer */
footer { font-size: .9rem; letter-spacing:.25px; }

/* FAQ Grouping */
.faq-page .faq-group { 
	position:relative; 
	padding:1.25rem 1.25rem 1rem; 
	margin-bottom:2.5rem; 
	background: linear-gradient(145deg, rgba(var(--rp-color-primary-rgb),.04), rgba(var(--rp-color-secondary-rgb),.04));
	border:1px solid rgba(var(--rp-color-primary-rgb), .12);
	border-radius: var(--rp-radius);
	box-shadow: 0 4px 12px -4px rgba(0,0,0,.05);
}
.faq-page .faq-group:before { 
	content: attr(data-faq-group);
	position:absolute; 
	top:-14px; 
	left:18px; 
	background: linear-gradient(90deg, var(--rp-color-primary), var(--rp-color-secondary));
	color:#fff; 
	font-size:.65rem; 
	font-weight:600; 
	letter-spacing:.75px; 
	text-transform:uppercase; 
	padding:.25rem .55rem; 
	border-radius: 999px; 
	box-shadow:0 2px 6px -2px rgba(var(--rp-color-primary-rgb), .5);
  display: none;
}
.faq-page h2.h5 {
	position:relative;
	display:inline-block;
	font-weight:700;
	color: var(--rp-color-accent-gold); /* #f59e0b */
	padding:.4rem 1rem .45rem;
	border-radius: 999px;
	line-height:1.1;
	background: linear-gradient(90deg, rgba(var(--rp-color-primary-rgb), .12), rgba(var(--rp-color-secondary-rgb), .12));
	box-shadow: 0 2px 4px -2px rgba(0,0,0,.15), 0 0 0 1px rgba(var(--rp-color-primary-rgb), .10);
}
.faq-page h2.h5:before {
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	background: linear-gradient(100deg, rgba(var(--rp-color-primary-rgb), .15), rgba(var(--rp-color-secondary-rgb), .15));
	opacity:.55;
	pointer-events:none;
}
/* Highlighted advisory / verification note */
#studentVerificationNote.verification-note {
	background: linear-gradient(90deg, rgba(var(--rp-color-accent-gold-rgb), .15), rgba(var(--rp-color-secondary-rgb), .12));
	border:1px solid rgba(var(--rp-color-accent-gold-rgb), .5);
	padding:.55rem .7rem;
	border-radius: var(--rp-radius-sm);
	font-size:.65rem;
	font-weight:600;
	letter-spacing:.5px;
	text-transform:uppercase;
	color:#7a3d00; /* darkened gold tone for contrast */
	box-shadow:0 2px 6px -2px rgba(var(--rp-color-accent-gold-rgb), .35);
}
@media (prefers-color-scheme: dark){
	#studentVerificationNote.verification-note { color:#fef3c7; border-color: rgba(var(--rp-color-accent-gold-rgb), .6); }
}
.faq-page .accordion-item { 
	background: var(--rp-color-surface);
	border-color: var(--rp-color-border);
}
.faq-page .accordion-button { 
	background: var(--rp-color-surface); 
	font-weight:500; 
}
.faq-page .accordion-button:not(.collapsed) { 
	color: var(--rp-color-primary); 
	background: linear-gradient(90deg, rgba(var(--rp-color-primary-rgb), .08), rgba(var(--rp-color-secondary-rgb), .08));
}
.faq-page .accordion-button:focus { 
	box-shadow: 0 0 0 3px rgba(var(--rp-color-secondary-rgb), .35);
}
.faq-page .accordion-body { font-size:.8rem; }

/* About Page */
.about-page .section-title {text-align: center;  }
.about-page .about-timeline { position:relative; padding-left:0; }
.about-page .timeline-card,
.services-page .timeline-card { 
	background: var(--rp-color-surface); 
	border:1px solid var(--rp-color-border); 
	border-left:4px solid var(--rp-color-secondary); 
	border-radius: var(--rp-radius); 
	padding:1.35rem 1.25rem; 
	box-shadow:0 2px 6px -2px rgba(0,0,0,.06); 
	transition:box-shadow var(--rp-transition), transform var(--rp-transition);
}
.about-page .timeline-card:hover,
.services-page .timeline-card:hover { box-shadow:0 6px 18px -6px rgba(0,0,0,.12); transform:translateY(-2px); }
.about-page .timeline-card h3,
.services-page .timeline-card h3 { color: var(--rp-color-primary); }
.services-page .workflow-section { background:linear-gradient(180deg,#ffffff,#f7f9fb); padding:2.25rem 1rem; border:1px solid var(--rp-color-border); border-radius: var(--rp-radius); }
.services-page .workflow-container { 
	display:flex; 
	flex-wrap:nowrap!important; 
	overflow-x:auto; 
	gap:.75rem; 
	scroll-snap-type:x mandatory; 
	padding-bottom:.5rem; 
  overflow-y: hidden;
}
.services-page .workflow-container::-webkit-scrollbar { height:8px; }
.services-page .workflow-container::-webkit-scrollbar-track { background:rgba(var(--rp-color-primary-rgb), .08); border-radius:4px; }
.services-page .workflow-container::-webkit-scrollbar-thumb { background:linear-gradient(90deg, var(--rp-color-primary), var(--rp-color-secondary)); border-radius:4px; }
.services-page .workflow-container .step-card { 
	background: var(--rp-color-surface); 
	border:1px solid var(--rp-color-border); 
	border-left:4px solid var(--rp-color-secondary); 
	border-radius: var(--rp-radius-sm); 
	padding:.85rem .85rem; 
	flex:0 0 200px; 
	min-width:200px; 
	box-shadow:0 2px 4px rgba(0,0,0,.04);
	scroll-snap-align:start;
}
.services-page .workflow-container .step-card p { font-size:.7rem; line-height:1.3; }
.services-page .workflow-container .step-card .step-num { font-size:.75rem; letter-spacing:.5px; text-transform:uppercase; color: var(--rp-color-primary); }
.services-page .step-arrow { font-size:1.65rem; font-weight:600; color: var(--rp-color-secondary); padding:0 .25rem; }
.services-page .discount-banner { 
	background: var(--rp-color-accent-gold); 
	color:#fff; 
	font-weight:600; 
	letter-spacing:.5px; 
	padding:.65rem 1rem; 
	border-radius: var(--rp-radius-sm); 
	box-shadow:0 4px 14px -4px rgba(var(--rp-color-accent-gold-rgb), .55);
}
/* About page service table now reuses core-services-comparison styles by wrapping in that container.
	 Keep only minor font-size tweak if needed. */
.about-page .service-table { font-size:.72rem; }
.about-page ul { list-style:disc; padding-left:1.35rem; }
.about-page ul li { margin-bottom:.4rem; }

/* Admin shell */
body.admin-shell header { box-shadow: 0 2px 4px rgba(0,0,0,.2); }

/* Sticky footer layout */
html, body { height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1 0 auto; }
footer { margin-top: auto; }

/* Brand / Logo */
.navbar .logo-img { height: 40px; width: auto; object-fit: contain; }
.navbar .brand-text { font-size: 1.25rem; letter-spacing: .5px; }

/* Hero section refinement */
section.bg-light.text-center { background: linear-gradient(135deg,#f3f7fc,#ffffff); }

/* Utility tweaks */
.card.shadow-sm:hover { box-shadow: 0 0.5rem 1rem rgba(0,0,0,.08); transition: box-shadow .2s ease; }

/* Section bands */
.section-band { padding: 3.5rem 0; }
.section-band .band-icon { font-size:3rem; line-height:1; }
.section-band.alt-a { background: #f8fafc; }
.section-band.alt-b { background: #ffffff; }
.section-band ul li { margin-bottom:.4rem; }
.section-band ul li:last-child { margin-bottom:0; }
.section-band + .section-band { border-top: 1px solid var(--rp-color-border); position:relative; }
.section-band + .section-band:before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,rgba(0,0,0,0), rgba(0,0,0,.08), rgba(0,0,0,0)); opacity:.4; }
.section-band .band-inner.reverse { flex-direction: row-reverse; }
.section-band .band-inner.reverse .band-icon { margin-left:0; }
@media (max-width: 767.98px){
	.section-band .band-inner.reverse { flex-direction: row; }
}

/* Enhanced professional style for feature bands */
.section-band { position:relative; }
.section-band .band-inner { max-width: 1100px; margin: 0 auto; }
.section-band .band-icon { 
	flex: 0 0 120px; 
	width:120px; 
	height:120px; 
	border-radius: 32px; 
	display:flex; 
	align-items:center; 
	justify-content:center; 
	font-size:3.8rem; 
	background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.65));
	box-shadow: 0 6px 18px rgba(0,0,0,.10), inset 0 0 0 1px rgba(255,255,255,.65);
	position:relative;
}
.section-band .band-icon i { line-height:1; }
.section-band.alt-a { background: linear-gradient(180deg,#f8fafc,#f2f6fa); }
.section-band.alt-b { background: linear-gradient(180deg,#ffffff,#f9fbfd); }
.section-band h2 { font-weight:600; letter-spacing:.5px; }
.section-band ul { list-style:none; padding-left:0; margin:0; display:grid; gap:.55rem 2.25rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); align-items:start; }
.section-band ul.no-grid { display:block; }
.section-band ul li { padding-left:1.15rem; position:relative; min-height:1.2rem; }
.section-band ul li:before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background: var(--rp-color-secondary,#10b981); opacity:.75; }
@media (max-width: 575.98px){
		.section-band .band-icon { width:90px; height:90px; font-size:3rem; border-radius:26px; }
}

/* Reveal animations */
.reveal { opacity:0; transform:translateY(28px); will-change:opacity, transform; }
.reveal.revealed { opacity:1; transform:translateY(0); transition:opacity .8s ease, transform .8s cubic-bezier(.17,.67,.35,1); }
.reveal.delay-1.revealed { transition-delay:.1s; }
.reveal.delay-2.revealed { transition-delay:.2s; }
.reveal.delay-3.revealed { transition-delay:.3s; }
.reveal.delay-4.revealed { transition-delay:.4s; }
.reveal.delay-5.revealed { transition-delay:.5s; }

/* Hero */
.hero { background: var(--rp-gradient-hero); color:#fff; padding-top:2.0rem; padding-bottom:2.25rem; }
.hero-bg:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 25% 25%, rgba(255,255,255,.12), rgba(255,255,255,0) 70%); opacity:.5; pointer-events:none; }
.hero-headline { font-size: clamp(2rem, 5vw, 3rem); font-weight:600; letter-spacing:.5px; line-height:1.15; }
.hero-headline .brand-accent { color: var(--rp-color-accent-gold); position:relative; }
.hero-headline .brand-accent:after { content:""; position:absolute; left:0; right:0; bottom:2px; height:6px; background: linear-gradient(90deg, rgba(var(--rp-color-accent-gold-rgb),.6), rgba(var(--rp-color-accent-gold-rgb),0)); border-radius:4px; z-index:-1; }
.hero-subhead { font-size: clamp(1rem, 2.2vw, 1.25rem); font-weight:500; }
.hero-lead { max-width: 780px; font-size:1.05rem; }
.hero-gradient-edge { position:absolute; left:0; right:0; bottom:0; height:32px; background:linear-gradient(to bottom, rgba(255,255,255,0), #fff); pointer-events:none; }
.hero-btn-alt { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); border-color:rgba(255,255,255,.6); color:#234; }
.hero-btn-alt:hover { background:#ffffff; color: var(--rp-color-accent); }
.hero-ctas { gap:1rem!important; }
.hero-ctas .btn-cta { font-size:.9rem; padding:.75rem 1.4rem; }
.countdown {
    font-size: 1.5em;
    margin-top: 10px;
    color: #f59e0b;
    font-weight: bold;
}

/* Core Services Section */
.core-services-section { position:relative; background:linear-gradient(180deg,#ffffff,#f7f9fb); }
.core-services-section:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 18%, rgba(var(--rp-color-secondary-rgb),.08), transparent 60%), radial-gradient(circle at 15% 82%, rgba(var(--rp-color-primary-rgb),.08), transparent 60%); pointer-events:none; }
.core-services-section .section-title,
.deal-vault-section .section-title{ font-size:2.0rem; color:var(--bs-heading-color); }
.core-services-section h3 { color: #1e3a8a; }
.core-service-cards { --core-gap:1.25rem; }
.core-card { 
	/* Added subtle dual-tone background tint */
	background: linear-gradient(140deg, rgba(var(--rp-color-primary-rgb), .035), rgba(var(--rp-color-secondary-rgb), .035) 70%), var(--rp-color-surface);
	border:1px solid var(--rp-color-border); 
	border-radius:20px; 
	padding:1.65rem 1.35rem 1.35rem; /* add a little extra top space for potential badge */
	box-shadow:0 4px 12px -4px rgba(0,0,0,.06); 
	position:relative; 
	overflow:visible; /* allow badge to extend slightly if needed */
	transition:box-shadow .3s ease, transform .3s ease; 
}
.core-card.most-popular { border:2px solid var(--rp-color-secondary); }
.core-card.winwin { background:linear-gradient(135deg,#1e3a8a,#10b981); color:#fff; border:none; }
.core-card.winwin h3, .core-card.winwin p, .core-card.winwin li, .core-card.winwin .price, .core-card.winwin .effective { color:#fff; }
.core-card.winwin:hover { 
	transform: translateY(-8px) scale(1.015); 
	box-shadow:0 14px 30px -8px rgba(0,0,0,.28), 0 0 0 2px rgba(255,255,255,.15) inset;
}
.core-card .core-card-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--rp-color-secondary); color:#fff; padding:.3rem .65rem; border-radius:12px; font-size:.6rem; font-weight:700; letter-spacing:.5px; box-shadow:0 4px 10px -4px rgba(0,0,0,.3); text-transform:uppercase; z-index:2; }
.core-card.has-badge { padding-top:2.25rem; }
.core-card .core-card-badge.best { background:var(--rp-color-accent-gold); }
.core-card .feature-list { list-style:none; padding-left:0; margin:0; font-size:.8rem; line-height:1.35; }
.core-card .feature-list li { position:relative; padding-left:0; margin-bottom:.35rem; }
.core-card .feature-list li:last-child { margin-bottom:0; }
.core-card .tick { color: var(--rp-color-secondary); font-weight:700; display:inline-block; margin-right:.25rem; font-size:.85rem; }
.core-card.winwin .tick { color:#fff; }
.core-card .highlight-red { color:#e53e3e; font-weight:600; }
.core-card .highlight-orange-bg { background:#f59e0b; color:#fff; font-weight:600; padding:0 .3rem; border-radius:4px; }
.core-card .effective { font-size:.6rem; font-weight:600; color:#1f2937; letter-spacing:.25px; }
.core-card.winwin .effective { color:#fff; }
.core-card .price { font-size:.6rem; font-weight:600; letter-spacing:.25px; opacity:.85; }
.core-card.winwin .price { color:#fff; }
.core-card.winwin .service-estimator-link.btn-cta.btn-outline { color:#1e3a8a; border-color:#fff; background:#fff; }
.core-card.winwin .service-estimator-link.btn-cta.btn-outline:hover { background:#1e3a8a; color:#fff; border-color:#1e3a8a; }
.core-service-cards .core-card { text-align:center; }
.core-service-cards .core-card p { max-width: 350px; margin-left:auto; margin-right:auto; font-size: 1rem; }
/*.core-card:before { content:""; position:absolute; inset:0; background:linear-gradient(140deg, rgba(var(--rp-color-primary-rgb),.06), rgba(var(--rp-color-secondary-rgb),.05) 60%, transparent); opacity:0; transition:opacity .35s ease; }*/
.core-card:hover { transform:translateY(-4px); box-shadow:0 10px 26px -6px rgba(0,0,0,.15); }
.core-card:hover:before { opacity:1; }
.core-card .core-icon { width:64px; height:64px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:1.75rem; color:var(--rp-color-primary); background:linear-gradient(135deg,#f3f7fc,#ffffff); box-shadow:0 4px 10px -4px rgba(0,0,0,.15), inset 0 0 0 1px rgba(255,255,255,.7); margin:0 auto; }
.core-card .core-icon i { line-height:1; }
.core-card .core-icon i::before { font-size: 3rem; }
.core-services-comparison table { border:1px solid var(--rp-color-border); }
.core-services-comparison thead th { background:linear-gradient(180deg,#1e3a8a,#23458f); color:#fff; font-weight:600; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; }
.core-services-comparison tbody td, .core-services-comparison tbody th { font-size:.7rem; vertical-align:top; }
.core-services-comparison tbody tr:nth-child(even) { background:rgba(var(--rp-color-primary-rgb),.03); }
.core-services-comparison tbody tr:hover td, .core-services-comparison tbody tr:hover th { background:rgba(var(--rp-color-secondary-rgb),.08); }
.core-services-comparison .disclaimer { font-size:.65rem; }
.service-estimator-link.btn-cta.btn-outline { font-size:.65rem; padding:.55rem 1rem; letter-spacing:.5px; }
/* Override Cost Estimator outline button to use secondary (emerald) instead of gold */
.service-estimator-link.btn-cta.btn-outline { 
	color: var(--rp-color-secondary); 
	border-color: var(--rp-color-secondary); 
}
.service-estimator-link.btn-cta.btn-outline:hover { 
	background: var(--rp-color-secondary); 
	color:#fff; 
	border-color: var(--rp-color-secondary); 
	box-shadow:0 6px 16px -4px rgba(var(--rp-color-secondary-rgb), .45);
}
/* Increased internal padding for better tap target */
/* Enhanced larger pill padding (override after any generic .btn-cta rules) */
.core-services-section .service-estimator-link.btn-cta.btn-outline { 
	display:inline-flex; 
	align-items:center; 
	justify-content:center; 
	padding:.8rem 1.25rem; 
	font-size:.8rem; 
	font-weight:600; 
	border-radius:999px; 
	line-height:1; 
}
@media (max-width: 767.98px){
	.core-services-section .section-title { font-size:1.4rem; }
	.core-card { border-radius:18px; }
	.core-services-comparison thead th, .core-services-comparison tbody td, .core-services-comparison tbody th { font-size:.62rem; }
}

/* Modal (lead capture) */
@media (max-width: 575.98px){
	.hero { padding-top:3.25rem; padding-bottom:3.25rem; }
	.hero-headline { font-size: clamp(1.75rem, 7vw, 2.4rem); }
}

/* (Removed custom blog section styles after revert) */

/* Home page specific enhancements */
.section-title { position:relative; font-weight:600; letter-spacing:.5px; }
.section-title:after { content:""; display:block; width:64px; height:3px; border-radius:2px; margin:.6rem auto 0; background:linear-gradient(90deg, var(--rp-color-primary), rgba(var(--rp-color-primary-rgb),.25)); }
.section-block { scroll-margin-top:80px; }

/* Latest blogs band */
.home-latest-blogs { padding-top:2.25rem; padding-bottom:2.5rem; border-top:1px solid var(--rp-color-border); }
.home-latest-blogs .blog-card { transition:box-shadow .25s ease, transform .25s ease; }
.home-latest-blogs .blog-card:hover { box-shadow:0 6px 22px -4px rgba(0,0,0,.12); transform:translateY(-4px); }

/* Ready section styling */
.ready-section { background:linear-gradient(135deg,#f5f9ff,#ffffff); }
.ready-section:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 25%, rgba(var(--rp-color-primary-rgb),.10), transparent 60%), radial-gradient(circle at 15% 75%, rgba(var(--rp-color-secondary-rgb),.10), transparent 60%); pointer-events:none; }
.ready-section .ready-inner { max-width:820px; background:rgba(255,255,255,.65); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); padding:1.75rem 1.75rem; border-radius:24px; position:relative; box-shadow:0 4px 18px -6px rgba(0,0,0,.12); border:1px solid rgba(255,255,255,.8); }
.ready-section .highlight-chip { background:linear-gradient(90deg,rgba(var(--rp-color-secondary-rgb),.25),rgba(var(--rp-color-secondary-rgb),.05)); padding:.15rem .4rem; border-radius:6px; font-weight:600; }
.ready-section .highlight-soft { background:linear-gradient(90deg,rgba(var(--rp-color-accent-rgb),.1),rgba(var(--rp-color-accent-rgb),0)); padding:.05rem .35rem; border-radius:4px; }
.ready-section .cost-calc-link { position:relative; transition:color .2s ease, background .3s ease; }
.ready-section .cost-calc-link:hover { background:linear-gradient(90deg,rgba(var(--rp-color-accent-rgb),.18),rgba(var(--rp-color-accent-rgb),.05)); text-decoration:none; }
.ready-section .link-accent { color:var(--rp-color-secondary); font-weight:500; }
.ready-section .link-accent:hover { text-decoration:underline; }

@media (max-width: 575.98px){
	.ready-section .ready-inner { padding:1.25rem 1.1rem; border-radius:18px; }
	.section-title:after { width:48px; }
}

/* Workflow Section */
.workflow-section { background: linear-gradient(180deg,#f9fafb,#ffffff); position:relative; }
.workflow-section:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 20%, rgba(var(--rp-color-secondary-rgb),.10), transparent 60%), radial-gradient(circle at 18% 80%, rgba(var(--rp-color-primary-rgb),.08), transparent 60%); pointer-events:none; }
.workflow-container { display:flex; flex-wrap:nowrap; gap:.85rem; overflow-x:auto; overflow-y: hidden; padding:.5rem .25rem 1rem; scroll-snap-type:x mandatory; }
.workflow-container::-webkit-scrollbar { height:8px; }
.workflow-container::-webkit-scrollbar-track { background:rgba(var(--rp-color-primary-rgb), .08); border-radius:4px; }
.workflow-container::-webkit-scrollbar-thumb { background:linear-gradient(90deg, var(--rp-color-primary), var(--rp-color-secondary)); border-radius:4px; }
.workflow-container .step-card { background: #f9fafb; border:1px solid var(--rp-color-border); border-radius:14px; padding:.9rem .85rem; width:150px; min-width:150px; box-shadow:0 2px 6px -2px rgba(0,0,0,.1); display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; scroll-snap-align:start; position:relative; transition:box-shadow .3s ease, transform .3s ease; }
.workflow-container .step-card:hover { transform:translateY(-4px); box-shadow:0 8px 18px -6px rgba(0,0,0,.18); }
.workflow-container .step-card .step-icon { width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#eef3f9,#ffffff); margin-bottom:.45rem; box-shadow:0 2px 4px -2px rgba(0,0,0,.2), inset 0 0 0 1px rgba(255,255,255,.7); }
.workflow-container .step-card svg { width:24px; height:24px; }
.workflow-container .step-card .step-order { letter-spacing:.75px; opacity:.8; font-size:.65rem; }
.workflow-container { align-items:center; }
.workflow-container .workflow-arrow { width:42px; min-width:42px; height:auto; display:flex; align-items:center; justify-content:center; opacity:.75; align-self:center; }
.workflow-container .workflow-arrow svg { width:36px; height:36px; }
@media (min-width: 992px){
	.workflow-container .workflow-arrow svg { width:54px; height:54px; }
}

/* Arrow animation: fade + stroke draw */
.workflow-container .workflow-arrow svg path { 
	stroke-dasharray: 60; 
	stroke-dashoffset: 60; 
	animation: arrowDraw .9s ease forwards, arrowFade .9s ease forwards; 
}
.workflow-container .workflow-arrow.reveal.delay-1 svg path { animation-delay:.1s, .1s; }
.workflow-container .workflow-arrow.reveal.delay-2 svg path { animation-delay:.2s, .2s; }
.workflow-container .workflow-arrow.reveal.delay-3 svg path { animation-delay:.3s, .3s; }
.workflow-container .workflow-arrow.reveal.delay-4 svg path { animation-delay:.4s, .4s; }
.workflow-container .workflow-arrow.reveal.delay-5 svg path { animation-delay:.5s, .5s; }

@keyframes arrowDraw { to { stroke-dashoffset: 0; } }
@keyframes arrowFade { from { opacity:0; transform:translateY(6px);} to { opacity:1; transform:translateY(0);} }

/* Sample Edit (Before/After Slider) */
.sample-edit-section { background:linear-gradient(180deg,#ffffff,#f5f8fb); position:relative; }
.sample-compare-wrapper { max-width:1000px; margin:0 auto; position:relative; }
.sample-compare { position:relative; width:100%; border:1px solid var(--rp-color-border); background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 6px 20px -6px rgba(0,0,0,.08); --sample-height:500px; height:var(--sample-height); }
.sample-compare { --mask-left-opacity:1; --mask-right-opacity:1; }
.sample-compare:before, .sample-compare:after { content:""; position:absolute; top:0; bottom:0; width:28px; pointer-events:none; z-index:4; opacity:1; transition:opacity .3s ease; }
.sample-compare:before { opacity:var(--mask-left-opacity); }
.sample-compare:after { opacity:var(--mask-right-opacity); }
.sample-compare:before { left:0; background:linear-gradient(90deg, rgba(255,255,255,.95), rgba(255,255,255,0)); }
.sample-compare:after { right:0; background:linear-gradient(270deg, rgba(255,255,255,.95), rgba(255,255,255,0)); }
.sample-compare.split-mode:before, .sample-compare.split-mode:after { opacity:0; }
.sample-pane { margin:0; padding:1.25rem 1.15rem 1.35rem; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:.72rem; line-height:1.4; white-space:pre-wrap; height:100%; overflow:auto; }
.sample-before { position:relative; z-index:1; height:100%; background:linear-gradient(180deg,#ffffff,#fff9ee); }
.sample-after { position:absolute; inset:0; background:linear-gradient(180deg,#f2f8ff,#e8f2ff); border-left:1px solid rgba(0,0,0,.05); z-index:2; width:100%; clip-path:inset(0 50% 0 0); height:100%; }
.sample-compare.split-mode .sample-after { clip-path:none; position:relative; width:50%; }
.sample-compare.split-mode { display:flex; }
.sample-compare.split-mode .sample-before, .sample-compare.split-mode .sample-after { width:50%; }
.sample-handle { position:absolute; top:0; bottom:0; left:50%; width:10px; margin-left:-5px; background:linear-gradient(180deg,#1e3a8a,#10b981); cursor:ew-resize; z-index:5; display:flex; align-items:center; justify-content:center; outline:none; transition:box-shadow .25s ease; touch-action:none; }
.sample-handle:before { content:""; position:absolute; top:0; bottom:0; left:50%; width:2px; background:rgba(255,255,255,.65); transform:translateX(-50%); }
.sample-handle .handle-grip { background:#ffffff; color:#1e3a8a; padding:.35rem .4rem; border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,.15); font-size:.9rem; display:flex; align-items:center; justify-content:center; }
.sample-handle:focus-visible { box-shadow:0 0 0 3px rgba(var(--rp-color-accent-rgb), .45); }
.sample-legend .legend-box { width:14px; height:14px; border-radius:4px; display:inline-block; margin-right:.35rem; box-shadow:0 0 0 1px rgba(0,0,0,.1); }
.legend-original { background:#ffe8c2; }
.legend-edited { background:#cfe3ff; }
.toggle-mode-btn { font-size:.6rem; text-transform:uppercase; letter-spacing:.75px; font-weight:600; }
@media (min-width: 768px){
	.sample-pane { font-size:.75rem; }
}
@media (min-width: 1200px){
	.sample-pane { font-size:.78rem; }
}
@media (max-width: 575.98px){
  .sample-compare { --sample-height: 280px; }
}
@media (max-width: 575.98px){
	.sample-handle .handle-grip { padding:.3rem .35rem; }
	.sample-pane { padding:1rem .9rem 1.1rem; }
}
@media (max-width: 767.98px){
		.workflow-container .step-card { width:130px; min-width:130px; padding:.75rem .7rem; }
	.workflow-container .step-card .step-icon { width:34px; height:34px; }
		.workflow-container .workflow-arrow { width:30px; min-width:30px; }
}

/* Services page styling */
.services-page { --svc-accent: var(--rp-color-secondary); }
.services-page .section-title {text-align: center;  }
.services-page .service-heading, .services-page .service-subheading { font-weight:600; letter-spacing:.4px; }
.services-page .service-heading { position:relative; padding-left:.85rem; }
.services-page .service-heading:before { content:""; position:absolute; left:0; top:.35rem; bottom:.35rem; width:4px; border-radius:3px; background:linear-gradient(180deg,var(--svc-accent), rgba(var(--rp-color-accent-rgb),.4)); }
.services-page .service-subheading { position:relative; padding-left:.75rem; }
.services-page .service-subheading:before { content:""; position:absolute; left:0; top:.55rem; width:6px; height:6px; border-radius:50%; background:var(--svc-accent); opacity:.7; }
.services-page p { font-size:.95rem; line-height:1.55; }
.services-page p.small { font-size:.85rem; }
.services-page .winwin-list li, .services-page .value-list li { padding-left:1.05rem; position:relative; margin-bottom:.4rem; }
.services-page .winwin-list li:before, .services-page .value-list li:before { content:""; position:absolute; left:0; top:.55rem; width:6px; height:6px; background:var(--svc-accent); border-radius:50%; opacity:.65; }
.services-page .svc-highlight-note { font-size:.95rem; padding:.55rem .7rem .55rem .6rem; background:linear-gradient(90deg,rgba(var(--rp-color-secondary-rgb),.18),rgba(var(--rp-color-secondary-rgb),.04)); border-left:4px solid var(--rp-color-secondary); border-radius:6px; display:inline-flex; align-items:center; gap:.55rem; color:#1d2733; line-height:1.2; }
.services-page .svc-highlight-note span { font-weight:600; }
.services-page .svc-highlight-note i { font-size:.95rem; }
.services-page .completion-time-box { position:relative; padding:1rem 1.1rem 1rem 1rem; background:linear-gradient(100deg, rgba(var(--rp-color-accent-gold-rgb), .18), rgba(var(--rp-color-secondary-rgb), .12)); border:1px solid rgba(var(--rp-color-accent-gold-rgb), .55); border-left:6px solid var(--rp-color-accent-gold); border-radius:10px; box-shadow:0 4px 10px -4px rgba(var(--rp-color-accent-gold-rgb), .35); }
.services-page .completion-time-box:before { content:""; position:absolute; top:12px; right:14px; width:46px; height:46px; background:radial-gradient(circle at 30% 30%, rgba(var(--rp-color-accent-gold-rgb), .55), rgba(var(--rp-color-accent-gold-rgb), 0)); opacity:.35; pointer-events:none; }
.services-page .completion-time-box h3 { display:flex; align-items:center; gap:.5rem; font-weight:700; letter-spacing:.3px; margin-bottom:.75rem; }
.services-page .completion-time-box h3 .icon { display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; border-radius:8px; background:linear-gradient(135deg,var(--rp-color-primary), var(--rp-color-secondary)); color:#fff; font-size:1.05rem; box-shadow:0 2px 6px -2px rgba(var(--rp-color-primary-rgb), .45); }
.services-page .completion-time-box p { font-size:.9rem; margin-bottom:.55rem; }
.services-page .completion-time-box p:last-child { margin-bottom:0; }
@media (prefers-color-scheme: dark){
	.services-page .completion-time-box { background:linear-gradient(100deg, rgba(var(--rp-color-accent-gold-rgb), .28), rgba(var(--rp-color-secondary-rgb), .22)); border-color:rgba(var(--rp-color-accent-gold-rgb), .65); box-shadow:0 4px 12px -4px rgba(var(--rp-color-accent-gold-rgb), .45); }
	.services-page .completion-time-box:before { opacity:.5; }
}
.services-page .timeline-card.pro {border-left: 4px solid #007bff;}
.services-page .timeline-card.scientific {border-left: 4px solid #17a2b8;}
.services-page .timeline-card.winwin {border-left: 4px solid #ffc107;}
.services-page .additional-services .timeline-card {border-left: 4px solid #6c757d;}
.services-page .services-comparison-section .timeline-card {border-left: 1px solid var(--rp-color-border);}
/* Services comparison table (services page) aligned to home page core table style */
.services-page .services-comparison-table { border:1px solid var(--rp-color-border); background:#fff; border-collapse:separate; border-spacing:0; width:100%; }
.services-page .services-comparison-table thead th { background:linear-gradient(180deg,#1e3a8a,#23458f); color:#fff; font-weight:600; font-size:.7rem; letter-spacing:.05em;  padding:.9rem .9rem; }
.services-page .services-comparison-table th, .services-page .services-comparison-table td { font-size:.75rem; padding:.75rem .9rem; border-bottom:1px solid var(--rp-color-border); border-right:1px solid var(--rp-color-border); vertical-align:top; }
.services-page .services-comparison-table th:last-child, .services-page .services-comparison-table td:last-child { border-right:none; }
.services-page .services-comparison-table tbody tr:last-child th, .services-page .services-comparison-table tbody tr:last-child td { border-bottom:none; }
.services-page .services-comparison-table tbody tr:nth-child(even) { background:rgba(var(--rp-color-primary-rgb),.03); }
.services-page .services-comparison-table tbody tr:hover td, 
.services-page .services-comparison-table tbody tr:hover th { background:rgba(var(--rp-color-secondary-rgb),.08); }
.services-page .services-comparison-table .package-header { font-size:.75rem; font-weight:600; letter-spacing:.03em;  }
.services-page .services-comparison-table .highlight { background:rgba(var(--rp-color-secondary-rgb), .10); }
.services-page .services-comparison-table .emphasize { background:var(--rp-color-emphasis-warm); font-weight:600; }
.services-page .services-comparison-table .emphasize th { position:relative; }
.services-page .services-comparison-table .emphasize th:after { content:' (Key feature for Win-Win Package)'; font-weight:400; font-size:.65rem; font-style:italic; color:var(--rp-color-text-muted); }
.services-page .services-comparison-table .tick, .services-page .services-comparison-table .cross { display:inline-block; width:18px; height:18px; border-radius:4px; text-align:center; line-height:16px; font-weight:700; font-size:12px; font-family: var(--rp-font-sans); }
.services-page .services-comparison-table .tick { background:var(--rp-color-success); color:#fff; }
.services-page .services-comparison-table .cross { background:var(--rp-color-danger); color:#fff; clip-path: polygon(50% 10%, 90% 30%, 90% 70%, 50% 90%, 10% 70%, 10% 30%); }
.services-page .services-comparison-section .note, .services-page .comparison-note { font-size:.65rem; }
@media (max-width: 767.98px){
	.services-page .services-comparison-table thead th { font-size:.6rem; padding:.7rem .6rem; }
	.services-page .services-comparison-table th, .services-page .services-comparison-table td { font-size:.6rem; padding:.55rem .55rem; }
	.services-page .services-comparison-table .package-header { font-size:.62rem; }
	.services-page .services-comparison-section .note, .services-page .comparison-note { font-size:.58rem; }
	.services-page .services-comparison-table .tick, .services-page .services-comparison-table .cross { width:16px; height:16px; line-height:16px; font-size:11px; }
}
@media (max-width: 991.98px){
}
@media (max-width: 575.98px){
	.services-page .services-table td, .services-page .services-table th { font-size:.64rem; }
}

/* Header / Nav redesign */
/* Light header variant */
.bg-gradient-top { background:linear-gradient(90deg,#f5f9ff,#ffffff 40%,#eef5ff); border-bottom:1px solid #e3e8ef; }
.primary-nav { background:#ffffff; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border-bottom:1px solid #e3e8ef; position:relative; z-index:1100; }
.primary-nav .dropdown-menu { z-index:1200; }
.primary-nav .navbar-brand .brand-wordmark { letter-spacing:.5px; font-size:1.05rem; color:#1d2733; }
.primary-nav .nav-link { color:#1e3a8a; position:relative; padding:.55rem .95rem; font-weight:500; letter-spacing:.25px; transition:color .18s ease; }
.primary-nav .nav-link:hover, .primary-nav .nav-link:focus { color:var(--rp-color-secondary); }
.primary-nav .nav-link.active { color:var(--rp-color-secondary); }
.primary-nav .nav-link.active:after { content:""; position:absolute; left:14%; right:14%; bottom:4px; height:3px; border-radius:2px; background:linear-gradient(90deg,var(--rp-color-secondary),rgba(var(--rp-color-secondary-rgb),.25)); }
.primary-nav .navbar-toggler { color:#234; }

/* Footer redesign */
.site-footer { 
	background:linear-gradient(180deg,#1e3a8a,#1a3370 85%); 
	position:relative; 
	border-top:1px solid rgba(255,255,255,.12); 
	color:#ffffff; /* unified white text */
}
/* Soft subtle luminous radial accents on dark footer */
.site-footer:before { 
	content:""; position:absolute; inset:0; 
	background:
		radial-gradient(circle at 82% 22%, rgba(255,255,255,.12), transparent 60%),
		radial-gradient(circle at 18% 78%, rgba(var(--rp-color-secondary-rgb), .22), transparent 55%);
	pointer-events:none; 
	mix-blend-mode:screen;
}
.site-footer .footer-links li { margin-bottom:.4rem; }
.site-footer .footer-links .link-footer { color:#ffffff; text-decoration:none; transition:color .2s ease, opacity .2s ease; }
.site-footer .footer-links .link-footer:hover { color:var(--rp-color-secondary); }
.site-footer .footer-newsletter input { color:#ffffff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); }
.site-footer .footer-newsletter input:focus { border-color:var(--rp-color-secondary); box-shadow:0 0 0 3px rgba(var(--rp-color-secondary-rgb), .35); }
.site-footer .footer-newsletter input::placeholder { color:rgba(255,255,255,.6); }
.site-footer hr { opacity:.35; border-color:rgba(255,255,255,.25); }
.site-footer .logo-img { filter:brightness(1.05) saturate(1.1); }
.site-footer .footer-contact { color:#ffffff; }
.site-footer .footer-contact i { color:var(--rp-color-secondary); }

@media (max-width: 575.98px){
	.primary-nav .nav-link { padding:.55rem .75rem; }
	.primary-nav .nav-link.active:after { left:20%; right:20%; }
}

/* Job comments */
.job-comments { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.65rem; }
.job-comment { position:relative; padding:.55rem .75rem .6rem 3.25rem; border:1px solid var(--rp-color-border); border-radius:10px; background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.03); font-size:.8rem; line-height:1.35; }
.job-comment:before { content:""; position:absolute; left:.65rem; top:.65rem; width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#eef3f9,#ffffff); display:flex; }
.job-comment .jc-icon { position:absolute; left:.9rem; top:.9rem; font-size:1.1rem; display:inline-flex; align-items:center; justify-content:center; color:#336; opacity:.9; }
.job-comment .jc-meta { display:flex; align-items:center; gap:.4rem; margin-bottom:.25rem; font-weight:600; font-size:.7rem; letter-spacing:.5px; text-transform:uppercase; }
.job-comment .jc-time { font-weight:400; color:var(--rp-color-text-muted); font-size:.65rem; }
.job-comment.job-comment--admin { border-color:#cddbf4; background:linear-gradient(180deg,#f4f8ff,#ffffff); }
.job-comment.job-comment--admin .jc-icon { color:var(--rp-color-primary); }
.job-comment.job-comment--user { border-color:#d9e5d5; background:linear-gradient(180deg,#f5fff4,#ffffff); }
.job-comment.job-comment--user:before { background:linear-gradient(135deg,#e1f9dd,#f8fff7); }
.job-comment.job-comment--user .jc-icon { color:#2f7a14; }
.job-comments-legend { display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:.75rem; }
.job-comments-legend span { display:inline-flex; align-items:center; gap:.4rem; font-size:.65rem; letter-spacing:.5px; padding:.25rem .5rem; border-radius:999px; background:linear-gradient(90deg,#f1f5fa,#ffffff); border:1px solid var(--rp-color-border); }
.job-comments-legend .legend-admin { background:linear-gradient(90deg,#e0efff,#ffffff); border-color:#c2daf8; }
.job-comments-legend .legend-user { background:linear-gradient(90deg,#e4f8df,#ffffff); border-color:#c9e9c1; }

/* -------------------------------------------------------------------------- */
/* Core Services Comparison Table (override to match reference design)        */
/* Reference: Homepage_19092025_bluegreen_combined.html                       */
/* Exact styling: white table, rounded, subtle shadow, blue header row.       */
/* -------------------------------------------------------------------------- */
.core-services-comparison { margin:0 0; overflow-x:auto; }
.core-services-comparison table { width:100%; border-collapse:collapse; background:#ffffff; border-radius:10px; overflow:hidden; box-shadow:0 4px 6px rgba(0,0,0,.05); border:none; }
.core-services-comparison th, .core-services-comparison td { padding:15px; text-align:left; border-bottom:1px solid #e5e7eb; }
.core-services-comparison thead th { background:#1e3a8a; color:#fff; font-weight:600; }
.core-services-comparison tbody tr:hover { background:#f8fafc; }
.core-services-comparison tbody tr:last-child th, .core-services-comparison tbody tr:last-child td { border-bottom:none; }
/* Remove earlier decorative gradient/alternating background styles */
.core-services-comparison thead th { background:#1e3a8a !important; background-image:none !important; letter-spacing:normal; text-transform:none; font-size:inherit; }
.core-services-comparison tbody td, .core-services-comparison tbody th { font-size:inherit; }
.core-services-comparison tbody tr:nth-child(even) { background:transparent; }

/* -------------------------------------------------------------------------- */
/* Deal Vault Section                                                         */
/* Promotional offers cards (Free Sample / Referral / WIN-WIN bundle)         */
/* -------------------------------------------------------------------------- */
.deal-vault-section { background:linear-gradient(180deg,#ffffff,#f5f9fd); position:relative; }
.deal-vault-section:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 20%, rgba(var(--rp-color-secondary-rgb),.10), transparent 60%), radial-gradient(circle at 18% 80%, rgba(var(--rp-color-primary-rgb),.10), transparent 60%); pointer-events:none; }
.deal-vault-cards .deal-card { background:var(--rp-color-surface); border:1px solid var(--rp-color-border); border-radius:22px; padding:1.4rem 1.35rem 1.35rem; box-shadow:0 4px 12px -4px rgba(0,0,0,.08); position:relative; text-align:center; display:flex; flex-direction:column; transition:box-shadow .3s ease, transform .3s ease; overflow:hidden; }
.deal-vault-cards .deal-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px -8px rgba(0,0,0,.18); }
.deal-vault-cards .deal-card:before { content:""; position:absolute; inset:0; background:linear-gradient(140deg, rgba(var(--rp-color-primary-rgb),.05), rgba(var(--rp-color-secondary-rgb),.05) 55%, transparent); opacity:0; transition:opacity .35s ease; }
.deal-vault-cards .deal-card:hover:before { opacity:1; }
.deal-vault-cards .deal-card p { max-width:320px; margin-left:auto; margin-right:auto; }
.deal-card .deal-icon { width:60px; height:60px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:1.65rem; margin:0 auto; background:linear-gradient(135deg,#f1f6fc,#ffffff); color:var(--rp-color-primary); box-shadow:0 4px 12px -4px rgba(0,0,0,.15), inset 0 0 0 1px rgba(255,255,255,.7); }
.deal-card .deal-icon i::before { font-size:2.4rem; }
.deal-card .deal-points li { position:relative; padding-left:1.05rem; margin-bottom:.4rem; }
.deal-card .deal-points li:before { content:""; position:absolute; left:0; top:.55rem; width:6px; height:6px; border-radius:50%; background:var(--rp-color-secondary); opacity:.75; }
.deal-card .btn-cta.btn-outline { font-size:.7rem; padding:.7rem 1rem; letter-spacing:.5px; border-width:2px; }
.deal-card .btn-cta.btn-outline { color:var(--rp-color-secondary); border-color:var(--rp-color-secondary); background:transparent; box-shadow:none; }
.deal-card .btn-cta.btn-outline:hover { background:var(--rp-color-secondary); color:#fff; box-shadow:0 8px 20px -6px rgba(var(--rp-color-secondary-rgb), .45); }
@media (max-width: 767.98px){
	.deal-vault-cards .deal-card { border-radius:20px; }
	.deal-card .btn-cta.btn-outline { font-size:.75rem; }
}

/* Deal Vault CTA buttons: match Core Services estimator outline style */
.deal-vault-section .btn-cta.btn-outline,
.deal-vault-section .btn-cta-secondary.btn-outline {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:.8rem 1.25rem;
	font-size:.8rem;
	font-weight:600;
	border-radius:999px;
	line-height:1;
	letter-spacing:.5px;
	color:var(--rp-color-secondary);
	border:2px solid var(--rp-color-secondary);
	background:transparent;
	box-shadow:none;
}
.deal-vault-section .btn-cta-secondary.btn-outline {
  color:#f59e0b;
	border:2px solid #f59e0b;
}
.deal-vault-section .btn-cta.btn-outline:hover,
.deal-vault-section .btn-cta-secondary.btn-outline:hover {
	background:var(--rp-color-secondary);
	color:#fff;
	box-shadow:0 6px 16px -4px rgba(var(--rp-color-secondary-rgb), .45);
}
.deal-vault-section .btn-cta-secondary.btn-outline:hover{
  background:#f59e0b;
	box-shadow:0 6px 16px -4px rgba(#f59e0b, .45);
}

/* Deal Vault plain style override: flat white cards, no effects */
.deal-vault-section .deal-vault-cards .deal-card { 
	background:#fff !important; 
	box-shadow:none !important; 
	transform:none !important; 
	transition:none !important; 
}
.deal-vault-section .deal-vault-cards .deal-card:before { display:none !important; }
.deal-vault-section .deal-vault-cards .deal-card:hover { box-shadow:none !important; transform:none !important; }

/* -------------------------------------------------------------------------- */
/* Why Choose SciManuscript Section                                           */
/* Reference adapted from static HTML prototype timeline/milestones           */
/* -------------------------------------------------------------------------- */
.why-choose-section { background:linear-gradient(180deg,#f8fafc,#ffffff); position:relative; }
.why-choose-section:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 18%, rgba(var(--rp-color-secondary-rgb),.12), transparent 58%), radial-gradient(circle at 18% 82%, rgba(var(--rp-color-primary-rgb),.10), transparent 55%); pointer-events:none; }
.why-choose-section .section-title { font-size:2rem; }
.why-choose-section .section-title span { color: #f59e0b }
.why-milestones { max-width:980px; margin-left:auto; margin-right:auto; }
.why-item { background:linear-gradient(135deg,#ffffff,#f3f7fb); border:1px solid var(--rp-color-border); border-radius:20px; padding:1.1rem .9rem .95rem; box-shadow:0 4px 10px -4px rgba(0,0,0,.05); transition:box-shadow .3s ease, transform .3s ease; position:relative; }
.why-item:hover { transform:translateY(-4px); box-shadow:0 10px 26px -8px rgba(0,0,0,.15); }
.why-icon { width:64px; height:64px; border-radius:18px; background:linear-gradient(135deg,#f1f5fa,#ffffff); display:flex; align-items:center; justify-content:center; font-size:1.9rem; color:var(--rp-color-primary); box-shadow:0 4px 12px -6px rgba(0,0,0,.15), inset 0 0 0 1px rgba(255,255,255,.7); }
.why-title { letter-spacing:.4px; }
.why-copy { line-height:1.35; }
@media (max-width: 767.98px){
	.why-choose-section .section-title { font-size:1.5rem; }
	.why-icon { width:54px; height:54px; font-size:1.55rem; border-radius:16px; }
	.why-item { padding:.95rem .8rem .85rem; }
}

.portal-user-list tr.table-danger {background-color: var(--bs-table-bg); border-color: inherit;
    border-style: solid;
    border-width: 0;}