/* ==========================================================================
   Hiking Care Pro - main.css
   Premium cinematic outdoor design system.
   ========================================================================== */

:root{
	--hkc-primary:#1b4332;
	--hkc-secondary:#2d6a4f;
	--hkc-tertiary:#588157;
	--hkc-accent:#dda15e;
	--hkc-warm:#fefae0;
	--hkc-dark:#283618;

	--hkc-bg:#fbfaf4;
	--hkc-surface:#ffffff;
	--hkc-surface-2:#f5f1e3;
	--hkc-text:#1f2a23;
	--hkc-text-muted:#5a6b5f;
	--hkc-border:#e5e0cf;
	--hkc-radius:16px;
	--hkc-radius-lg:22px;
	--hkc-shadow-sm:0 1px 2px rgba(40,54,24,.06);
	--hkc-shadow:0 6px 24px -8px rgba(40,54,24,.18);
	--hkc-shadow-lg:0 24px 60px -20px rgba(27,67,50,.35);

	--hkc-font-sans:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--hkc-font-display:'Space Grotesk', 'Inter', sans-serif;
	--hkc-font-editorial:'Sora', 'Inter', sans-serif;

	--hkc-container:1280px;
	--hkc-section-y:clamp(48px,7vw,96px);
}

html[data-hkc-theme="dark"]{
	--hkc-bg:#0e1814;
	--hkc-surface:#16221c;
	--hkc-surface-2:#1c2920;
	--hkc-text:#e9efe8;
	--hkc-text-muted:#9bb0a3;
	--hkc-border:#243a2e;
	--hkc-warm:#22332a;
}

@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
}

/* base */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--hkc-font-sans);
	color:var(--hkc-text);
	background:var(--hkc-bg);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img,svg{ max-width:100%; height:auto; display:block; }
a{ color:var(--hkc-secondary); text-decoration:none; transition:color .2s ease; }
a:hover{ color:var(--hkc-accent); }
button{ font:inherit; cursor:pointer; }

h1,h2,h3,h4,h5,h6{ font-family:var(--hkc-font-display); color:var(--hkc-dark); margin:0 0 .5em; line-height:1.18; }
html[data-hkc-theme="dark"] h1,
html[data-hkc-theme="dark"] h2,
html[data-hkc-theme="dark"] h3,
html[data-hkc-theme="dark"] h4{ color:var(--hkc-warm); }

.screen-reader-text{ position:absolute!important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--hkc-primary); color:#fff; padding:.75rem 1rem; z-index:9999; }
.skip-link:focus{ left:1rem; top:1rem; }

.hkc-container{ width:100%; max-width:var(--hkc-container); margin:0 auto; padding:0 24px; }
.hkc-section{ position:relative; padding:var(--hkc-section-y) 0; }
.hkc-bg-warm{ background:var(--hkc-surface-2); }

/* eyebrow */
.hkc-eyebrow{
	display:inline-block;
	font-family:var(--hkc-font-display);
	font-weight:600;
	font-size:.75rem;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:var(--hkc-tertiary);
	padding:6px 14px;
	border:1px solid var(--hkc-border);
	border-radius:999px;
	background:rgba(255,255,255,.5);
}
html[data-hkc-theme="dark"] .hkc-eyebrow{ background:rgba(255,255,255,.06); color:var(--hkc-accent); }

/* section heading */
.hkc-section-heading{ text-align:center; max-width:760px; margin:0 auto 56px; }
.hkc-section-title{ font-size:clamp(1.75rem, 3.4vw, 2.6rem); margin:.55em 0 .35em; letter-spacing:-.01em; }
.hkc-section-sub{ color:var(--hkc-text-muted); font-size:1.06rem; }
.hkc-section-subtitle{ font-family:var(--hkc-font-display); font-size:1.25rem; margin:32px 0 16px; }

/* buttons */
.hkc-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:.55em;
	padding:.95em 1.4em;
	border-radius:999px;
	font-family:var(--hkc-font-display);
	font-weight:600;
	font-size:.95rem;
	letter-spacing:.01em;
	border:1px solid transparent;
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
	text-decoration:none;
	white-space:nowrap;
}
.hkc-btn-lg{ padding:1.1em 1.7em; font-size:1.025rem; }
.hkc-btn-sm{ padding:.7em 1.1em; font-size:.85rem; }
.hkc-btn-primary{
	background:linear-gradient(135deg, var(--hkc-primary), var(--hkc-secondary));
	color:#fff;
	box-shadow:0 8px 22px -10px rgba(27,67,50,.5);
}
.hkc-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -10px rgba(27,67,50,.55); color:#fff; }
.hkc-btn-ghost{
	background:transparent;
	color:var(--hkc-primary);
	border-color:var(--hkc-border);
}
html[data-hkc-theme="dark"] .hkc-btn-ghost{ color:var(--hkc-warm); }
.hkc-btn-ghost:hover{ background:var(--hkc-surface-2); color:var(--hkc-primary); }
.hkc-btn-arrow{ transition:transform .2s ease; }
.hkc-btn:hover .hkc-btn-arrow{ transform:translateX(4px); }
.hkc-btn-link{ background:none; border:none; color:var(--hkc-secondary); text-decoration:underline; padding:0; cursor:pointer; }

/* atmospheric effects */
.hkc-atmosphere{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; color:var(--hkc-tertiary); }
.hkc-fog{ position:absolute; width:140%; height:140px; left:-20%; opacity:.35; background:radial-gradient(ellipse at center, rgba(255,255,255,.55), rgba(255,255,255,0) 60%); filter:blur(20px); animation:hkc-fog-drift 35s linear infinite; }
.hkc-fog-1{ top:18%; }
.hkc-fog-2{ top:55%; animation-direction:reverse; animation-duration:55s; opacity:.25; }
@keyframes hkc-fog-drift { 0%{ transform:translateX(-15%); } 100%{ transform:translateX(15%); } }
.hkc-topo{ position:absolute; inset:0; width:100%; height:100%; color:var(--hkc-tertiary); opacity:.4; }
.hkc-particles{ position:absolute; inset:0; }
.hkc-particles span{
	position:absolute; width:4px; height:4px; border-radius:50%;
	background:radial-gradient(circle, rgba(221,161,94,.9), rgba(221,161,94,0) 70%);
	animation:hkc-particle 14s linear infinite;
}
.hkc-particles span:nth-child(1){ left:8%;  top:90%; animation-delay:0s; }
.hkc-particles span:nth-child(2){ left:23%; top:90%; animation-delay:2s; }
.hkc-particles span:nth-child(3){ left:42%; top:90%; animation-delay:4s; }
.hkc-particles span:nth-child(4){ left:58%; top:90%; animation-delay:1s; }
.hkc-particles span:nth-child(5){ left:71%; top:90%; animation-delay:6s; }
.hkc-particles span:nth-child(6){ left:84%; top:90%; animation-delay:3s; }
.hkc-particles span:nth-child(7){ left:15%; top:90%; animation-delay:9s; }
.hkc-particles span:nth-child(8){ left:35%; top:90%; animation-delay:12s; }
.hkc-particles span:nth-child(9){ left:50%; top:90%; animation-delay:7s; }
.hkc-particles span:nth-child(10){left:90%; top:90%; animation-delay:11s; }
@keyframes hkc-particle{ 0%{ transform:translateY(0); opacity:0; } 10%{ opacity:.8; } 100%{ transform:translateY(-700px); opacity:0; } }

/* glassmorphism card */
.hkc-glass-card{
	background:rgba(255,255,255,.78);
	-webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
	border:1px solid rgba(255,255,255,.65);
	border-radius:var(--hkc-radius-lg);
	box-shadow:var(--hkc-shadow-lg);
	position:relative;
	overflow:hidden;
}
html[data-hkc-theme="dark"] .hkc-glass-card{
	background:rgba(28,41,32,.65);
	border-color:rgba(255,255,255,.07);
}

/* trust badges */
.hkc-trust-badges{
	list-style:none; margin:18px 0 0; padding:0;
	display:flex; flex-wrap:wrap; gap:18px 24px;
	font-size:.85rem; color:var(--hkc-text-muted);
}
.hkc-trust-badges li{ display:inline-flex; align-items:center; gap:.45em; }
.hkc-trust-dot{ width:8px; height:8px; border-radius:50%; background:var(--hkc-accent); box-shadow:0 0 0 4px rgba(221,161,94,.18); }

/* affiliate disclosure */
.hkc-affiliate-disclosure{
	max-width:760px; margin:0 auto 32px;
	background:var(--hkc-surface-2);
	border:1px dashed var(--hkc-border);
	border-radius:12px;
	padding:.9em 1.1em;
	font-size:.85rem;
	color:var(--hkc-text-muted);
	text-align:center;
}
.hkc-disclosure-icon{ display:inline-block; width:18px; height:18px; line-height:18px; text-align:center; border-radius:50%; background:var(--hkc-accent); color:#fff; font-size:.7rem; margin-right:.4em; }

/* amazon affiliate links */
.hkc-amazon-link{
	display:inline-flex; align-items:center; gap:.5em;
	font-family:var(--hkc-font-display);
	font-weight:600;
	color:#fff;
	background:linear-gradient(135deg, #d97706, var(--hkc-accent));
	padding:.6em 1.05em;
	border-radius:999px;
	font-size:.9rem;
	text-decoration:none;
	box-shadow:0 6px 18px -8px rgba(217,119,6,.55);
	transition:transform .2s, box-shadow .2s;
}
.hkc-amazon-link:hover{ transform:translateY(-2px); color:#fff; box-shadow:0 12px 28px -8px rgba(217,119,6,.65); }
.hkc-amazon-link-block{ display:inline-flex; margin-top:auto; }
.hkc-amazon-link-cta{ padding:.85em 1.4em; }
.hkc-amazon-link-small{ padding:.35em .7em; font-size:.78rem; box-shadow:none; }
.hkc-amazon-arrow{ transition:transform .2s ease; }
.hkc-amazon-link:hover .hkc-amazon-arrow{ transform:translateX(3px); }

/* HEADER */
.hkc-site-header{
	position:sticky; top:0; z-index:100;
	background:rgba(255,255,255,.85);
	-webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
	border-bottom:1px solid var(--hkc-border);
}
html[data-hkc-theme="dark"] .hkc-site-header{ background:rgba(14,24,20,.85); }
.hkc-header-inner{
	max-width:var(--hkc-container);
	margin:0 auto;
	padding:14px 24px;
	display:flex; align-items:center; gap:24px;
}
.hkc-branding{ flex:0 0 auto; }
.hkc-logo{ display:inline-flex; align-items:center; gap:.7em; color:var(--hkc-dark); text-decoration:none; }
.hkc-logo-mark{ font-size:1.6rem; }
.hkc-logo-text{ display:flex; flex-direction:column; line-height:1.1; }
.hkc-logo-name{ font-family:var(--hkc-font-display); font-weight:700; font-size:1.1rem; color:var(--hkc-primary); }
.hkc-logo-tag{ font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--hkc-text-muted); }

.hkc-primary-nav{ flex:1; }
.hkc-menu{ list-style:none; padding:0; margin:0; display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.hkc-menu a{ padding:.55em .95em; border-radius:999px; font-weight:500; color:var(--hkc-text); transition:background .2s, color .2s; }
.hkc-menu a:hover, .hkc-menu .current-menu-item > a{ background:var(--hkc-surface-2); color:var(--hkc-primary); }
html[data-hkc-theme="dark"] .hkc-menu a{ color:var(--hkc-warm); }

.hkc-header-actions{ display:flex; align-items:center; gap:8px; }
.hkc-search-toggle, .hkc-theme-toggle, .hkc-mobile-toggle{
	width:42px; height:42px; border-radius:50%;
	border:1px solid var(--hkc-border);
	background:transparent;
	display:inline-flex; align-items:center; justify-content:center;
	color:var(--hkc-text);
}
.hkc-search-toggle:hover, .hkc-theme-toggle:hover{ background:var(--hkc-surface-2); color:var(--hkc-primary); }
.hkc-theme-icon-dark{ display:none; }
html[data-hkc-theme="dark"] .hkc-theme-icon-light{ display:none; }
html[data-hkc-theme="dark"] .hkc-theme-icon-dark{ display:inline; }
.hkc-mobile-toggle{ display:none; }
.hkc-mobile-toggle span{ display:block; width:18px; height:2px; background:currentColor; margin:3px 0; border-radius:2px; }

.hkc-search-drawer{
	border-top:1px solid var(--hkc-border);
	padding:18px 24px;
	background:var(--hkc-surface);
}
.hkc-search-drawer[hidden]{ display:none; }
.hkc-search-form{ display:flex; gap:8px; max-width:680px; margin:0 auto; }
.hkc-search-form input[type="search"]{
	flex:1;
	padding:.85em 1.1em;
	border-radius:999px;
	border:1px solid var(--hkc-border);
	background:var(--hkc-bg);
	color:var(--hkc-text);
	font-size:.95rem;
}
.hkc-search-form button{
	padding:.85em 1.3em;
	border-radius:999px;
	border:none;
	background:var(--hkc-primary);
	color:#fff;
	font-weight:600;
}
.hkc-live-results{ max-width:680px; margin:14px auto 0; }
.hkc-live-result{
	display:flex; gap:12px; padding:10px;
	border-radius:10px;
	color:var(--hkc-text);
	transition:background .15s;
}
.hkc-live-result:hover{ background:var(--hkc-surface-2); }
.hkc-live-result img{ width:48px; height:48px; object-fit:cover; border-radius:8px; }
.hkc-live-result small{ color:var(--hkc-text-muted); }

/* floating CTA */
.hkc-floating-cta{
	position:fixed;
	right:18px; bottom:18px;
	z-index:90;
	display:inline-flex; align-items:center; gap:.5em;
	padding:.9em 1.2em;
	border-radius:999px;
	background:linear-gradient(135deg, var(--hkc-primary), var(--hkc-accent));
	color:#fff;
	font-family:var(--hkc-font-display);
	font-weight:600;
	border:none;
	box-shadow:0 16px 32px -10px rgba(27,67,50,.45);
	transition:transform .2s;
}
.hkc-floating-cta:hover{ transform:translateY(-3px); }

/* HERO */
.hkc-hero{
	position:relative;
	padding:clamp(80px, 14vw, 160px) 0 clamp(80px, 12vw, 140px);
	overflow:hidden;
	background:linear-gradient(180deg, #f8f4e6 0%, #fbfaf4 100%);
}
html[data-hkc-theme="dark"] .hkc-hero{ background:linear-gradient(180deg, #0e1814 0%, #16221c 100%); }
.hkc-hero-bg{ position:absolute; inset:0; z-index:0; }
.hkc-hero-mountains{ width:100%; height:100%; display:block; }
.hkc-hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:48px; align-items:center; }
.hkc-hero-content{ max-width:680px; }
.hkc-hero-headline{ font-size:clamp(2rem, 4.6vw, 3.6rem); letter-spacing:-.02em; margin:.6em 0 .35em; color:var(--hkc-dark); }
html[data-hkc-theme="dark"] .hkc-hero-headline{ color:#fff; }
.hkc-hero-subhead{ font-size:clamp(1.05rem, 1.4vw, 1.2rem); color:var(--hkc-text-muted); margin-bottom:1.6em; max-width:60ch; }
.hkc-hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }

.hkc-hero-quickstart{ margin:20px 0; }
.hkc-hero-quickstart-label{ display:block; font-size:.75rem; letter-spacing:.18em; text-transform:uppercase; color:var(--hkc-text-muted); margin-bottom:10px; }
.hkc-hero-quickstart-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.hkc-hero-chip{
	display:inline-block;
	padding:.45em .95em;
	border-radius:999px;
	background:rgba(255,255,255,.7);
	border:1px solid var(--hkc-border);
	font-size:.85rem;
	color:var(--hkc-text);
	transition:background .2s, color .2s;
}
.hkc-hero-chip:hover{ background:var(--hkc-primary); color:#fff; border-color:var(--hkc-primary); }
.hkc-hero-disclosure{ font-size:.78rem; color:var(--hkc-text-muted); margin-top:18px; }

.hkc-hero-card-stack{ position:relative; height:360px; }
.hkc-hero-card{
	position:absolute;
	background:rgba(255,255,255,.85);
	-webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
	border:1px solid rgba(255,255,255,.7);
	border-radius:18px;
	padding:18px 22px;
	box-shadow:var(--hkc-shadow);
	display:flex; align-items:center; gap:14px;
	min-width:260px;
	animation:hkc-card-float 7s ease-in-out infinite;
}
html[data-hkc-theme="dark"] .hkc-hero-card{ background:rgba(28,41,32,.85); border-color:rgba(255,255,255,.1); }
.hkc-hero-card strong{ display:block; font-family:var(--hkc-font-display); font-weight:600; }
.hkc-hero-card small{ color:var(--hkc-text-muted); font-size:.78rem; }
.hkc-hero-card-icon{ font-size:1.7rem; }
.hkc-hero-card-1{ top:0;   left:5%;  animation-delay:0s; }
.hkc-hero-card-2{ top:140px; right:0; animation-delay:2s; }
.hkc-hero-card-3{ bottom:0; left:15%; animation-delay:4s; }
@keyframes hkc-card-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }

.hkc-hero-scroll{ position:absolute; left:50%; bottom:32px; transform:translateX(-50%); z-index:2; width:24px; height:38px; border:2px solid var(--hkc-text-muted); border-radius:14px; }
.hkc-hero-scroll span{ display:block; width:3px; height:8px; background:var(--hkc-text-muted); border-radius:3px; margin:6px auto 0; animation:hkc-scroll 1.6s ease-in-out infinite; }
@keyframes hkc-scroll{ 0%,100%{ transform:translateY(0); opacity:.5; } 50%{ transform:translateY(10px); opacity:0; } }

/* FORMS shared */
.hkc-field{ display:flex; flex-direction:column; gap:6px; }
.hkc-field-label{ font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--hkc-text-muted); font-weight:600; }
.hkc-field input,.hkc-field select,.hkc-field textarea{
	width:100%; padding:.85em 1em;
	border-radius:12px;
	border:1px solid var(--hkc-border);
	background:#fff;
	color:var(--hkc-text);
	font-family:var(--hkc-font-sans);
	font-size:1rem;
}
html[data-hkc-theme="dark"] .hkc-field input,
html[data-hkc-theme="dark"] .hkc-field select{ background:var(--hkc-surface); color:var(--hkc-text); }
.hkc-field input[type="range"]{ padding:0; background:transparent; border:none; }

/* TOOLS */
.hkc-tool{ padding:28px clamp(20px, 3vw, 36px); }
.hkc-tool-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:16px 22px;
	margin-bottom:22px;
}
.hkc-tool-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.hkc-tool-result-header{ text-align:center; margin-bottom:24px; }
.hkc-tool-result-header h3{ font-size:1.4rem; margin:.5em 0 .2em; }
.hkc-tool-result-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin-bottom:24px; }
.hkc-result-card{
	background:var(--hkc-surface);
	border:1px solid var(--hkc-border);
	border-radius:14px;
	padding:18px;
}
.hkc-result-card-label{ display:block; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--hkc-text-muted); margin-bottom:6px; }
.hkc-result-card-value{ font-family:var(--hkc-font-display); font-size:1.4rem; color:var(--hkc-primary); }
html[data-hkc-theme="dark"] .hkc-result-card-value{ color:var(--hkc-accent); }
.hkc-result-card-list{ margin:0; padding:0 0 0 1.1em; font-size:.92rem; color:var(--hkc-text-muted); }
.hkc-tool-result-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.hkc-tool-disclaimer{ font-size:.82rem; color:var(--hkc-text-muted); margin-top:16px; text-align:center; }

/* breadcrumbs */
.hkc-breadcrumbs{ font-size:.85rem; color:var(--hkc-text-muted); margin-bottom:18px; }
.hkc-breadcrumbs a{ color:var(--hkc-text-muted); }
.hkc-breadcrumbs a:hover{ color:var(--hkc-primary); }

/* card grid + post cards */
.hkc-card-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:24px; }
.hkc-post-card{ background:var(--hkc-surface); border:1px solid var(--hkc-border); border-radius:var(--hkc-radius); overflow:hidden; box-shadow:var(--hkc-shadow-sm); transition:transform .25s, box-shadow .25s; }
.hkc-post-card:hover{ transform:translateY(-4px); box-shadow:var(--hkc-shadow); }
.hkc-post-card-link{ display:block; color:inherit; }
.hkc-post-card-image{ aspect-ratio:16/10; overflow:hidden; background:var(--hkc-surface-2); }
.hkc-post-card-image img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.hkc-post-card:hover .hkc-post-card-image img{ transform:scale(1.05); }
.hkc-post-card-body{ padding:20px; }
.hkc-post-card-cat{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--hkc-tertiary); font-weight:600; }
.hkc-post-card-title{ font-size:1.2rem; margin:.4em 0 .5em; }
.hkc-post-card-excerpt{ color:var(--hkc-text-muted); font-size:.95rem; margin:0 0 .7em; }
.hkc-post-card-read{ color:var(--hkc-primary); font-weight:600; font-size:.85rem; }

/* pagination */
.hkc-pagination{ margin:40px 0; display:flex; justify-content:center; }
.hkc-pagination .nav-links{ display:flex; gap:6px; }
.hkc-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px; border-radius:999px; border:1px solid var(--hkc-border); color:var(--hkc-text); text-decoration:none; }
.hkc-pagination .page-numbers.current{ background:var(--hkc-primary); color:#fff; border-color:var(--hkc-primary); }

/* prose / single */
.hkc-prose{ max-width:760px; font-size:1.05rem; line-height:1.75; }
.hkc-prose p, .hkc-prose ul, .hkc-prose ol, .hkc-prose blockquote{ margin-bottom:1.2em; }
.hkc-prose h2{ font-size:1.7rem; margin:1.5em 0 .5em; }
.hkc-prose h3{ font-size:1.35rem; margin:1.3em 0 .4em; }
.hkc-prose blockquote{ padding:1.1em 1.4em; background:var(--hkc-surface-2); border-left:4px solid var(--hkc-accent); border-radius:8px; font-style:italic; color:var(--hkc-text-muted); }
.hkc-prose img{ border-radius:12px; }

.hkc-single-hero{ padding:48px 0 32px; }
.hkc-single-title{ font-size:clamp(1.8rem, 3.5vw, 2.8rem); margin-bottom:.2em; }
.hkc-single-cat{ display:inline-block; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--hkc-tertiary); font-weight:700; margin-bottom:8px; }
.hkc-single-thumb{ max-width:var(--hkc-container); margin:24px auto 0; padding:0 24px; }
.hkc-single-thumb img{ border-radius:var(--hkc-radius-lg); aspect-ratio:21/9; object-fit:cover; }
.hkc-single-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:42px; padding:40px 24px; }
.hkc-single-sidebar{ position:sticky; top:90px; align-self:start; }
.hkc-blog-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:42px; }
.hkc-blog-sidebar{ position:sticky; top:90px; align-self:start; }

.hkc-single-cta{ margin:3em 0; padding:32px; background:var(--hkc-surface-2); border-radius:var(--hkc-radius-lg); text-align:center; }
.hkc-single-cta h3{ margin-bottom:.5em; }
.hkc-single-cta p{ color:var(--hkc-text-muted); margin-bottom:1.2em; }
.hkc-single-cta .hkc-btn{ margin:5px; }

.hkc-post-meta{ color:var(--hkc-text-muted); font-size:.9rem; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.hkc-meta-sep{ opacity:.5; }
.hkc-meta-cat{ color:var(--hkc-tertiary); font-weight:600; }

.hkc-archive-header{ text-align:center; padding:48px 0 32px; }
.hkc-archive-title{ font-size:clamp(1.8rem, 3.4vw, 2.5rem); }
.hkc-archive-sub{ color:var(--hkc-text-muted); }
.hkc-archive{ padding-bottom:60px; }

/* widgets / sidebar */
.hkc-widget{ background:var(--hkc-surface); border:1px solid var(--hkc-border); border-radius:var(--hkc-radius); padding:22px; margin-bottom:22px; }
.hkc-widget-title{ font-family:var(--hkc-font-display); font-size:1rem; margin:0 0 12px; }
.hkc-sidebar-affiliate{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.hkc-recent-posts{ list-style:none; padding:0; margin:0; }
.hkc-recent-posts li{ padding:8px 0; border-bottom:1px dashed var(--hkc-border); }
.hkc-recent-posts li:last-child{ border-bottom:none; }
.hkc-recent-posts a{ color:var(--hkc-text); }
.hkc-recent-posts a:hover{ color:var(--hkc-primary); }

/* footer */
.hkc-site-footer{
	position:relative;
	margin-top:60px;
	background:linear-gradient(180deg, var(--hkc-primary), var(--hkc-dark));
	color:#e9efe8;
	padding:60px 0 24px;
}
.hkc-footer-atmosphere{ position:absolute; top:-1px; left:0; right:0; transform:translateY(-100%); color:var(--hkc-primary); height:80px; }
.hkc-footer-atmosphere svg{ display:block; width:100%; height:100%; }
.hkc-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:48px; max-width:var(--hkc-container); margin:0 auto; padding:0 24px; }
.hkc-footer-col-brand .hkc-footer-brand{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.hkc-footer-brand-text{ font-family:var(--hkc-font-display); font-size:1.4rem; font-weight:700; color:#fff; }
.hkc-footer-about{ color:#bdd1bf; font-size:.95rem; max-width:38ch; }
.hkc-footer-social{ list-style:none; padding:0; margin:18px 0 0; display:flex; gap:8px; }
.hkc-footer-social a{ display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.07); color:#fff; font-weight:700; font-size:.75rem; text-decoration:none; }
.hkc-footer-social a:hover{ background:var(--hkc-accent); color:#1b4332; }
.hkc-footer-title{ color:#fff; font-family:var(--hkc-font-display); font-size:.95rem; letter-spacing:.05em; text-transform:uppercase; margin:0 0 14px; }
.hkc-footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.hkc-footer-links a{ color:#bdd1bf; text-decoration:none; font-size:.95rem; transition:color .2s; }
.hkc-footer-links a:hover{ color:var(--hkc-accent); }
.hkc-footer-newsletter{ display:flex; gap:6px; margin:10px 0 6px; }
.hkc-footer-newsletter input{ flex:1; padding:.7em .9em; border-radius:8px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; }
.hkc-footer-newsletter input::placeholder{ color:rgba(255,255,255,.5); }
.hkc-footer-newsletter button{ padding:.7em 1.1em; border-radius:8px; border:none; background:var(--hkc-accent); color:var(--hkc-dark); font-weight:700; }
.hkc-footer-newsletter-msg{ color:var(--hkc-accent); font-size:.85rem; min-height:1.2em; }
.hkc-footer-newsletter-sub{ color:#bdd1bf; font-size:.9rem; margin-bottom:8px; }

.hkc-footer-disclaimer{ max-width:var(--hkc-container); margin:40px auto 0; padding:18px 24px; font-size:.82rem; color:#bdd1bf; border-top:1px solid rgba(255,255,255,.1); }
.hkc-footer-bottom{ max-width:var(--hkc-container); margin:18px auto 0; padding:0 24px; display:flex; gap:12px; justify-content:space-between; flex-wrap:wrap; font-size:.82rem; color:#bdd1bf; }

/* FAQ */
.hkc-faq-list{ max-width:780px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.hkc-faq-item{ background:var(--hkc-surface); border:1px solid var(--hkc-border); border-radius:14px; overflow:hidden; }
.hkc-faq-item summary{ list-style:none; cursor:pointer; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; font-family:var(--hkc-font-display); font-weight:600; }
.hkc-faq-item summary::-webkit-details-marker{ display:none; }
.hkc-faq-toggle{ width:28px; height:28px; border-radius:50%; background:var(--hkc-surface-2); display:inline-flex; align-items:center; justify-content:center; transition:transform .2s; }
.hkc-faq-item[open] .hkc-faq-toggle{ transform:rotate(45deg); }
.hkc-faq-body{ padding:0 22px 18px; color:var(--hkc-text-muted); }

/* newsletter section */
.hkc-newsletter-section{ padding:60px 0; }
.hkc-newsletter-card{ background:linear-gradient(135deg, var(--hkc-primary), var(--hkc-secondary)); color:#fff; border-radius:var(--hkc-radius-lg); padding:48px clamp(24px, 4vw, 56px); display:grid; grid-template-columns:1.6fr 1fr; gap:32px; align-items:center; overflow:hidden; position:relative; }
.hkc-newsletter-card .hkc-eyebrow{ background:rgba(255,255,255,.18); color:#fff; border-color:rgba(255,255,255,.2); }
.hkc-newsletter-title{ color:#fff; font-size:clamp(1.6rem, 2.6vw, 2.2rem); }
.hkc-newsletter-sub{ color:#dde9d9; }
.hkc-newsletter-form{ display:flex; gap:8px; margin:18px 0 8px; }
.hkc-newsletter-form input{ flex:1; padding:.95em 1.1em; border-radius:999px; border:none; background:rgba(255,255,255,.95); color:var(--hkc-text); }
.hkc-newsletter-tiny{ color:rgba(255,255,255,.7); }
.hkc-newsletter-visual{ display:flex; flex-direction:column; gap:8px; align-items:center; font-size:3rem; opacity:.8; }
.hkc-newsletter-msg{ font-size:.9rem; color:#fff; min-height:1.2em; }

/* trust section */
.hkc-trust-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:18px; }
.hkc-trust-card{ background:var(--hkc-surface); border:1px solid var(--hkc-border); border-radius:var(--hkc-radius); padding:24px; }
.hkc-trust-icon{ width:48px; height:48px; border-radius:14px; background:var(--hkc-surface-2); display:inline-flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:12px; }
.hkc-trust-card h3{ font-size:1.05rem; margin-bottom:6px; }
.hkc-trust-card p{ color:var(--hkc-text-muted); font-size:.95rem; margin:0; }

.hkc-trust-byline{
	display:flex; align-items:center; gap:16px;
	background:var(--hkc-surface);
	border:1px solid var(--hkc-border);
	border-radius:18px;
	padding:18px 22px;
	margin:0 0 28px;
	max-width:780px;
	margin-left:auto; margin-right:auto;
}
.hkc-trust-byline-avatar{
	flex-shrink:0;
	width:56px; height:56px; border-radius:50%;
	background:linear-gradient(135deg, var(--hkc-primary), var(--hkc-accent));
	display:flex; align-items:center; justify-content:center;
	font-size:1.6rem;
	box-shadow:0 6px 16px -6px rgba(27,67,50,.4);
}
.hkc-trust-byline-body{ flex:1; display:flex; flex-direction:column; gap:2px; }
.hkc-trust-byline-body strong{ font-family:var(--hkc-font-display); font-weight:700; color:var(--hkc-dark); }
html[data-hkc-theme="dark"] .hkc-trust-byline-body strong{ color:var(--hkc-warm); }
.hkc-trust-byline-body span{ color:var(--hkc-text-muted); font-size:.92rem; }
.hkc-trust-updated{ color:var(--hkc-tertiary); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600; margin-top:2px; }
@media (max-width:600px){
	.hkc-trust-byline{ flex-wrap:wrap; }
}

/* 404 */
.hkc-404{ padding:60px 0 80px; position:relative; }
.hkc-404-affiliate{ background:var(--hkc-surface-2); border:1px solid var(--hkc-border); border-radius:var(--hkc-radius-lg); padding:28px; margin-bottom:36px; }
.hkc-404-affiliate-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; margin-top:14px; }
.hkc-404-product{ background:var(--hkc-surface); border:1px solid var(--hkc-border); border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:6px; }
.hkc-404-product-icon{ font-size:1.8rem; }
.hkc-404-product-title{ font-size:1.05rem; margin:0; }
.hkc-404-product-sub{ font-size:.85rem; color:var(--hkc-text-muted); margin:0 0 10px; }
.hkc-404-header{ text-align:center; margin-bottom:24px; }
.hkc-404-title{ font-size:clamp(2rem, 4vw, 3rem); }
.hkc-404-lead{ color:var(--hkc-text-muted); }
.hkc-404-search{ max-width:520px; margin:0 auto 36px; }
.hkc-404-search form{ display:flex; gap:8px; }
.hkc-404-search input{ flex:1; padding:.95em 1.1em; border-radius:999px; border:1px solid var(--hkc-border); }
.hkc-404-search button{ padding:.95em 1.4em; border-radius:999px; border:none; background:var(--hkc-primary); color:#fff; font-weight:600; }
.hkc-404-explorer-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; margin:14px 0 36px; }
.hkc-404-explorer-card{ background:var(--hkc-surface); border:1px solid var(--hkc-border); padding:14px; border-radius:14px; display:flex; flex-direction:column; align-items:center; gap:6px; color:inherit; transition:transform .2s, border-color .2s; }
.hkc-404-explorer-card:hover{ transform:translateY(-2px); border-color:var(--hkc-accent); }
.hkc-404-explorer-icon{ font-size:1.5rem; }
.hkc-404-explorer-title{ font-size:.85rem; text-align:center; font-weight:600; }
.hkc-404-guide-list{ list-style:none; padding:0; margin:14px 0 36px; columns:2; column-gap:18px; }
.hkc-404-guide-list li{ padding:8px 0; border-bottom:1px dashed var(--hkc-border); break-inside:avoid; }
.hkc-404-ctas{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* bars */
.hkc-bar{ display:inline-block; width:80px; height:8px; border-radius:999px; background:var(--hkc-surface-2); position:relative; overflow:hidden; vertical-align:middle; }
.hkc-bar span{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, var(--hkc-tertiary), var(--hkc-accent)); }

/* page hero */
.hkc-page-hero{ padding:48px 0 24px; }
.hkc-page-title{ font-size:clamp(2rem, 4vw, 2.8rem); }
.hkc-page-content{ padding-bottom:60px; }

/* tool page */
.hkc-tool-hero{ padding:60px 0 20px; text-align:center; }
.hkc-tool-page-title{ font-size:clamp(2rem, 4vw, 3rem); }
.hkc-tool-page-sub{ color:var(--hkc-text-muted); }
.hkc-tool-body{ padding:24px 24px 60px; }
.hkc-tool-related{ padding:30px 24px 60px; }
.hkc-tool-related-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px; }
.hkc-tool-related-card{ display:flex; gap:10px; align-items:center; padding:14px 16px; background:var(--hkc-surface); border:1px solid var(--hkc-border); border-radius:14px; color:inherit; transition:transform .2s; }
.hkc-tool-related-card:hover{ transform:translateY(-2px); color:var(--hkc-primary); }
.hkc-tool-related-card span{ font-size:1.4rem; }
