/* ==========================================================================
   Patricia Cash — Luxury Author Website Design System
   ========================================================================== */

:root {
	--pc-white: #FFFFFF;
	--pc-beige: #F8F5F0;
	--pc-gold: #C89B5A;
	--pc-gold-light: #E4C793;
	--pc-gold-dark: #A87C3F;
	--pc-charcoal: #1D1D1D;
	--pc-gray: #F5F5F5;
	--pc-text: #333333;
	--pc-text-soft: #6b6560;
	--pc-line: rgba(29,29,29,0.08);

	--pc-font-heading: 'Playfair Display', 'Cormorant Garamond', serif;
	--pc-font-accent: 'Cormorant Garamond', serif;
	--pc-font-body: 'Inter', 'Poppins', sans-serif;

	--pc-shadow-sm: 0 2px 10px rgba(29,29,29,0.06);
	--pc-shadow-md: 0 10px 40px rgba(29,29,29,0.08);
	--pc-shadow-lg: 0 30px 80px rgba(29,29,29,0.14);
	--pc-shadow-gold: 0 20px 50px rgba(200,155,90,0.25);

	--pc-radius-sm: 10px;
	--pc-radius-md: 18px;
	--pc-radius-lg: 28px;

	--pc-header-h: 88px;
	--pc-ease: cubic-bezier(.19,1,.22,1);
}

/* ---------- Reset / base ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.pc-site {
	font-family: var(--pc-font-body);
	color: var(--pc-text);
	background: var(--pc-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
.pc-site h1, .pc-site h2, .pc-site h3, .pc-site h4 {
	font-family: var(--pc-font-heading);
	color: var(--pc-charcoal);
	line-height: 1.15;
	margin: 0 0 .5em;
	font-weight: 600;
}
.pc-site img { max-width: 100%; display: block; }
.pc-site a { text-decoration: none; color: inherit; }
.pc-site ul { list-style: none; margin: 0; padding: 0; }
.pc-site .elementor { overflow-x: clip; }

.pc-container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.pc-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--pc-font-body); font-size: 13px; font-weight: 600;
	letter-spacing: .18em; text-transform: uppercase; color: var(--pc-gold-dark);
	margin-bottom: 18px;
}
.pc-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--pc-gold); display: inline-block; }
.pc-section-title { font-size: clamp(32px, 4vw, 48px); }
.elementor-widget-heading.pc-section-title .elementor-heading-title { font-size: clamp(32px, 4vw, 48px); }
.pc-section-sub { color: var(--pc-text-soft); font-size: 18px; max-width: 640px; line-height: 1.7; }
.pc-center { text-align: center; margin-left: auto; margin-right: auto; }

/* ---------- Reveal / scroll animations ---------- */
.reveal { opacity: 0; transform: translateY(36px); transition: opacity .9s var(--pc-ease), transform .9s var(--pc-ease); }
.pc-hero .reveal { filter: blur(8px); transition: opacity .9s var(--pc-ease), transform .9s var(--pc-ease), filter .9s var(--pc-ease); }
.pc-hero .reveal.is-visible { filter: blur(0); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1.is-visible { transition-delay: .1s; }
.reveal-delay-2.is-visible { transition-delay: .2s; }
.reveal-delay-3.is-visible { transition-delay: .3s; }
.reveal-delay-4.is-visible { transition-delay: .4s; }
.reveal-scale { opacity: 0; transform: scale(.92); transition: opacity .9s var(--pc-ease), transform .9s var(--pc-ease); }
.reveal-scale.is-visible { opacity: 1; transform: scale(1); }

@keyframes pcFloat { 0%,100% { transform: translateY(0) rotate(var(--r,0deg)); } 50% { transform: translateY(-9px) rotate(var(--r,0deg)); } }
@keyframes pcFloatSlow { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes pcGlow { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes pcSpin { to { transform: rotate(360deg); } }
@keyframes pcMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pcShimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes pcDrift { 0% { transform: translate(0,0); } 33% { transform: translate(24px,-30px); } 66% { transform: translate(-18px,18px); } 100% { transform: translate(0,0); } }
@keyframes pcPulseRing { 0% { transform: scale(.9); opacity: .6; } 100% { transform: scale(1.5); opacity: 0; } }

/* ==========================================================================
   Header
   ========================================================================== */
.pc-header {
	position: fixed; top: 18px; left: 18px; right: 18px; z-index: 999;
	transition: top .4s var(--pc-ease), left .4s var(--pc-ease), right .4s var(--pc-ease);
}
/* WordPress's own admin toolbar is fixed at top:0 for logged-in users (visitors never see it) —
   without this offset our floating header sits underneath/overlapping it. */
body.admin-bar .pc-header { top: calc(32px + 18px); }
body.admin-bar .pc-header.pc-scrolled { top: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar .pc-header { top: calc(46px + 18px); }
	body.admin-bar .pc-header.pc-scrolled { top: 46px; }
}
.pc-header-inner {
	max-width: 1320px; margin: 0 auto; padding: 0 28px;
	height: var(--pc-header-h); display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 24px;
	border-radius: 18px; background: rgba(255,255,255,.5); backdrop-filter: blur(16px) saturate(180%); -webkit-backdrop-filter: blur(16px) saturate(180%);
	border: 1px solid rgba(255,255,255,.5); box-shadow: 0 8px 32px rgba(29,29,29,.06);
	transition: height .35s var(--pc-ease), background .4s var(--pc-ease), box-shadow .4s var(--pc-ease), border-color .4s var(--pc-ease);
}
.pc-header.pc-scrolled { top: 0; left: 0; right: 0; }
.pc-header.pc-scrolled .pc-header-inner {
	max-width: 100%; border-radius: 0; height: 76px;
	background: rgba(255,255,255,.92); border-color: transparent; box-shadow: var(--pc-shadow-sm);
}

.pc-logo { display: inline-flex; align-items: center; gap: 10px; font-family: var(--pc-font-heading); }
.pc-logo-img { height: 44px; width: auto; max-width: 220px; display: block; object-fit: contain; transition: height .35s var(--pc-ease); }
.pc-header.pc-scrolled .pc-logo-img { height: 38px; }
.pc-footer-logo.pc-logo .pc-logo-img { height: 48px; background: #fff; border-radius: 10px; padding: 8px 14px; }
.pc-logo-mark {
	width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--pc-gold-light), var(--pc-gold-dark));
	color: var(--pc-white); font-weight: 700; font-size: 16px; letter-spacing: .02em; box-shadow: var(--pc-shadow-gold);
	flex-shrink: 0;
}
.pc-logo-text { font-size: 22px; font-weight: 600; color: var(--pc-charcoal); letter-spacing: .01em; white-space: nowrap; }

.pc-nav { display: contents; }
.pc-nav-list { display: flex; align-items: center; justify-content: center; gap: 34px; grid-column: 2; }
.pc-nav-list a {
	font-size: 15px; font-weight: 500; color: var(--pc-charcoal); position: relative; padding: 6px 0;
}
.pc-nav-list a::after {
	content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--pc-gold);
	transition: right .3s var(--pc-ease);
}
.pc-nav-list a:hover::after, .pc-nav-list li.current-menu-item a::after { right: 0; }
.pc-header-actions { grid-column: 3; display: flex; align-items: center; gap: 16px; }
.pc-header-cta {
	font-family: var(--pc-font-body);
}

.pc-nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; background: none; border: none; cursor: pointer; z-index: 20; }
.pc-nav-toggle span { width: 26px; height: 2px; background: var(--pc-charcoal); border-radius: 2px; transition: transform .3s var(--pc-ease), opacity .3s var(--pc-ease); }
.pc-nav-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.pc-nav-toggle.is-active span:nth-child(2) { opacity: 0; }
.pc-nav-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.pc-nav-overlay { position: fixed; inset: 0; background: rgba(29,29,29,.4); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity .35s; z-index: 900; }
.pc-nav-overlay.is-active { opacity: 1; visibility: visible; }

/* ---------- Buttons ---------- */
.pc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--pc-font-body); font-weight: 600; font-size: 15px;
	padding: 15px 32px; border-radius: 50px; border: 1px solid transparent; cursor: pointer;
	position: relative; overflow: hidden; transition: transform .35s var(--pc-ease), box-shadow .35s var(--pc-ease), background .35s, color .35s;
	white-space: nowrap;
}
.pc-btn span.pc-ripple {
	position: absolute; border-radius: 50%; background: rgba(255,255,255,.55); transform: scale(0); animation: pcRipple .6s ease-out;
	pointer-events: none;
}
@keyframes pcRipple { to { transform: scale(3.2); opacity: 0; } }
.pc-btn-primary {
	background: linear-gradient(135deg, var(--pc-gold-light), var(--pc-gold) 55%, var(--pc-gold-dark));
	color: var(--pc-white); box-shadow: var(--pc-shadow-gold);
}
.pc-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 26px 60px rgba(200,155,90,.38); }
.pc-btn-outline { background: transparent; border-color: var(--pc-charcoal); color: var(--pc-charcoal); }
.pc-btn-outline:hover { background: var(--pc-charcoal); color: var(--pc-white); transform: translateY(-3px); }
.pc-btn-outline.pc-on-dark { border-color: rgba(255,255,255,.55); color: var(--pc-white); }
.pc-btn-outline.pc-on-dark:hover { background: var(--pc-white); color: var(--pc-charcoal); }
.pc-btn-ghost { background: rgba(200,155,90,0.1); color: var(--pc-gold-dark); }
.pc-btn-ghost:hover { background: rgba(200,155,90,0.2); transform: translateY(-2px); }
.pc-btn-sm { padding: 11px 22px; font-size: 13px; }
.pc-btn-block { width: 100%; }

/* Elementor's Button widget puts our custom class on the .elementor-element
   wrapper, not the actual <a>. Neutralize the wrapper and push the real
   pc-btn treatment onto the inner .elementor-button link instead. */
.elementor-widget-button.pc-btn {
	display: inline-flex; background: none; box-shadow: none; padding: 0; border: none; border-radius: 0;
}
.elementor-widget-button.pc-btn > .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--pc-font-body); font-weight: 600; font-size: 15px;
	padding: 15px 32px; border-radius: 50px; border: 1px solid transparent; cursor: pointer;
	position: relative; overflow: hidden; transition: transform .35s var(--pc-ease), box-shadow .35s var(--pc-ease), background .35s, color .35s;
	white-space: nowrap; text-decoration: none;
}
.elementor-widget-button.pc-btn-primary > .elementor-button {
	background: linear-gradient(135deg, var(--pc-gold-light), var(--pc-gold) 55%, var(--pc-gold-dark));
	color: var(--pc-white); box-shadow: var(--pc-shadow-gold);
}
.elementor-widget-button.pc-btn-primary > .elementor-button:hover { transform: translateY(-3px); box-shadow: 0 26px 60px rgba(200,155,90,.38); }
.elementor-widget-button.pc-btn-outline > .elementor-button { background: transparent; border-color: var(--pc-charcoal); color: var(--pc-charcoal); }
.elementor-widget-button.pc-btn-outline > .elementor-button:hover { background: var(--pc-charcoal); color: var(--pc-white); transform: translateY(-3px); }
.elementor-widget-button.pc-btn-outline.pc-on-dark > .elementor-button { border-color: rgba(255,255,255,.55); color: var(--pc-white); }
.elementor-widget-button.pc-btn-outline.pc-on-dark > .elementor-button:hover { background: var(--pc-white); color: var(--pc-charcoal); }

.pc-badge {
	display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px 10px 10px; border-radius: 50px;
	background: rgba(255,255,255,.65); border: 1px solid rgba(200,155,90,.35); box-shadow: var(--pc-shadow-sm);
	font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--pc-charcoal);
	backdrop-filter: blur(8px);
}
.pc-badge .pc-badge-dot { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg,var(--pc-gold-light),var(--pc-gold-dark)); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; }

/* ==========================================================================
   Hero
   ========================================================================== */
.pc-hero {
	position: relative; min-height: 100vh; display: flex; align-items: center;
	overflow: hidden; padding-top: var(--pc-header-h);
	/* Warm sunset-gold tones echoing the "Unfulfilled Dreams" cover art, glowing softly
	   behind the book stack and settling into a calm cream on the reading side. */
	background:
		radial-gradient(ellipse 900px 720px at 82% 32%, rgba(232,161,92,.38), transparent 62%),
		radial-gradient(ellipse 720px 640px at 88% 78%, rgba(216,138,78,.22), transparent 65%),
		linear-gradient(160deg, #fbf3e6 0%, #f8ead8 32%, #f4e1cb 58%, #efe8de 82%, var(--pc-gray) 100%);
}
.pc-hero-particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.pc-particle {
	position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(200,155,90,.55), rgba(200,155,90,0));
	animation: pcDrift 14s ease-in-out infinite;
}
.pc-hero-blob { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .22; pointer-events: none; }
.pc-hero-blob.b1 { width: 440px; height: 440px; background: #e8a15c; top: -140px; right: -120px; opacity: .28; }
.pc-hero-blob.b2 { width: 360px; height: 360px; background: var(--pc-gold); bottom: -160px; left: -120px; opacity: .14; }

.pc-hero-grid {
	position: relative; z-index: 2; display: grid !important; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center;
	width: 100%; perspective: 1400px;
}
.pc-hero-heading { font-size: clamp(40px, 5.4vw, 74px); margin-bottom: 24px; }
.elementor-widget-heading.pc-hero-heading .elementor-heading-title { font-size: clamp(40px, 5.4vw, 74px); }
.pc-hero-heading em { font-style: italic; color: var(--pc-gold-dark); font-family: var(--pc-font-accent); }
.pc-hero-text { font-size: 19px; line-height: 1.8; color: var(--pc-text-soft); max-width: 540px; margin-bottom: 34px; }
.pc-hero-actions { display: flex !important; gap: 18px; flex-wrap: wrap !important; margin-bottom: 28px; }
.pc-showcase-head { flex-wrap: wrap !important; row-gap: 16px; }

.pc-hero-trust { display: flex; align-items: center; gap: 16px; margin-bottom: 6px; }
.pc-hero-trust-avatars { display: flex; }
.pc-mini-avatar {
	width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	color: #fff; font-size: 12px; font-weight: 700; font-family: var(--pc-font-heading); border: 2px solid var(--pc-beige);
	box-shadow: 0 3px 10px rgba(0,0,0,.14); margin-left: -12px;
}
.pc-mini-avatar:first-child { margin-left: 0; }
.pc-hero-trust-text { font-size: 13.5px; color: var(--pc-text-soft); line-height: 1.4; }
.pc-hero-trust-stars { color: var(--pc-gold); letter-spacing: 1px; margin-right: 4px; }
.pc-hero-trust-text strong { color: var(--pc-charcoal); font-weight: 600; }

.pc-scroll-indicator {
	position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%); z-index: 3;
	display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .18em;
	text-transform: uppercase; color: var(--pc-text-soft); transition: opacity .4s ease;
}
.pc-scroll-indicator .pc-mouse { width: 26px; height: 42px; border: 2px solid var(--pc-gold-dark); border-radius: 14px; position: relative; }
.pc-scroll-indicator .pc-mouse::before {
	content: ''; position: absolute; top: 8px; left: 50%; width: 4px; height: 8px; border-radius: 2px;
	background: var(--pc-gold-dark); transform: translateX(-50%); animation: pcScrollDot 1.8s infinite;
}
@keyframes pcScrollDot { 0% { opacity: 1; top: 8px; } 100% { opacity: 0; top: 22px; } }

.pc-hero-books {
	position: relative; height: 520px; width: 100%; display: flex; align-items: center; justify-content: center;
	transform-style: preserve-3d; transition: transform .5s cubic-bezier(.19,1,.22,1); will-change: transform;
}
.pc-hero-backdrop {
	position: absolute; width: 480px; height: 480px; left: 50%; top: 50%; transform: translate(-50%,-50%);
	border-radius: 50%; pointer-events: none; z-index: 0;
	background: radial-gradient(circle, rgba(255,250,240,.97) 0%, rgba(250,225,190,.65) 45%, rgba(232,161,92,.3) 68%, rgba(232,161,92,0) 78%);
	box-shadow: 0 50px 120px -20px rgba(216,138,78,.3);
}
.pc-hero-backdrop::before {
	content: ''; position: absolute; inset: 34px; border-radius: 50%; border: 1px solid rgba(216,138,78,.28);
}
.pc-hero-backdrop::after {
	content: ''; position: absolute; width: 340px; height: 340px; left: 50%; top: 46%; transform: translate(-50%,-50%);
	border-radius: 50%; background: radial-gradient(circle, rgba(216,138,78,.2), transparent 72%); filter: blur(2px);
}

/* Balanced, symmetrical three-book composition: one upright hero cover in front,
   two smaller covers fanned an equal amount behind either side. No random scatter. */
.pc-book-stack { position: relative; z-index: 1; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.pc-book-3d {
	position: absolute; border-radius: 6px 10px 10px 6px; box-shadow: var(--pc-shadow-lg);
	animation: pcFloat 8s ease-in-out infinite;
}
.pc-book-3d img { border-radius: 6px 10px 10px 6px; box-shadow: inset 4px 0 12px rgba(0,0,0,.25); }
.pc-book-3d::after {
	content: ''; position: absolute; left: 8%; right: 8%; bottom: -28px; height: 28px; border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(29,29,29,.24), transparent 72%); filter: blur(6px);
}
.pc-book-3d.main {
	width: 250px; left: 50%; top: 50%; margin-left: -125px; margin-top: -187px; z-index: 3; --r: -1.5deg; animation-duration: 8s;
	-webkit-box-reflect: below 8px linear-gradient(transparent, transparent 60%, rgba(29,29,29,.06));
}
.pc-book-3d.main::after { left: 4%; right: 4%; bottom: -32px; height: 34px; background: radial-gradient(ellipse at center, rgba(29,29,29,.3), transparent 72%); }
.pc-book-3d.side-a {
	width: 210px; left: 50%; top: 50%; margin-left: -233px; margin-top: -136px; z-index: 2; --r: -9deg;
	animation-duration: 7s; animation-delay: .3s; opacity: .88;
}
.pc-book-3d.side-b {
	width: 210px; left: 50%; top: 50%; margin-left: 23px; margin-top: -136px; z-index: 2; --r: 9deg;
	animation-duration: 9s; animation-delay: .6s; opacity: .88;
}
.pc-book-3d.side-a::before, .pc-book-3d.side-b::before {
	content: ''; position: absolute; inset: 0; border-radius: 6px 10px 10px 6px; background: rgba(29,29,29,.22); z-index: 1;
}

/* CSS-only book cover placeholders (used across the whole site for "unlimited" catalog) */
.pc-cover {
	position: relative; border-radius: 6px 10px 10px 6px; overflow: hidden; aspect-ratio: 2/3;
	display: flex; flex-direction: column; justify-content: space-between; padding: 22px 18px;
	color: #fff; box-shadow: inset -10px 0 20px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.08);
}
.pc-cover::before {
	content: ''; position: absolute; inset: 0; opacity: .5; mix-blend-mode: overlay;
	background-image: radial-gradient(circle at 20% 20%, rgba(255,255,255,.5), transparent 45%);
}
.pc-cover::after { content:''; position:absolute; left:0; top:0; bottom:0; width: 10px; background: rgba(0,0,0,.22); }
.pc-cover .pc-cover-eyebrow { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; opacity: .85; }
.pc-cover .pc-cover-title { font-family: var(--pc-font-heading); font-size: 22px; line-height: 1.25; font-weight: 700; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
.pc-cover .pc-cover-author { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; opacity: .9; }
.pc-cover.t-1 { background: linear-gradient(160deg, #d98a4e, #b45a2c 60%, #7a3a1a); }
.pc-cover.t-2 { background: linear-gradient(160deg, #4a5a6a, #24313e 60%, #141c24); }
.pc-cover.t-3 { background: linear-gradient(160deg, #8a6a9a, #5a3f70 60%, #33234a); }
.pc-cover.t-4 { background: linear-gradient(160deg, #c89b5a, #8a6633 60%, #4d3719); }
.pc-cover.t-5 { background: linear-gradient(160deg, #5c7a6b, #33473d 60%, #1c2721); }
.pc-cover-photo { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }

/* ---------- Interior page hero (small) ---------- */
.pc-page-hero {
	position: relative; padding: calc(var(--pc-header-h) + 90px) 0 90px; text-align: center; overflow: hidden;
	background: linear-gradient(160deg, var(--pc-beige) 0%, #fbf8f3 45%, var(--pc-gray) 100%);
}
.pc-page-hero .pc-hero-blob { opacity: .3; }
.pc-page-hero-title { font-size: clamp(38px, 5vw, 60px); position: relative; z-index: 1; }
.elementor-widget-heading.pc-page-hero-title .elementor-heading-title { font-size: clamp(38px, 5vw, 60px); }
.pc-breadcrumb { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-text-soft); margin-bottom: 18px; position: relative; z-index: 1; }
.pc-breadcrumb a { color: var(--pc-gold-dark); }
.pc-page-hero-sub { max-width: 620px; margin: 18px auto 0; color: var(--pc-text-soft); font-size: 17px; line-height: 1.8; position: relative; z-index: 1; }

/* ==========================================================================
   Generic sections / layout helpers
   ========================================================================== */
.pc-section { padding: 130px 0; position: relative; }
.pc-section-tight { padding: 90px 0; }
.pc-bg-beige { background: var(--pc-beige); }
.pc-bg-gray { background: var(--pc-gray); }
.pc-bg-charcoal { background: var(--pc-charcoal); color: rgba(255,255,255,.85); }
.pc-bg-charcoal h2, .pc-bg-charcoal h3, .pc-bg-charcoal h4 { color: #fff; }
.pc-grid { display: grid; gap: 32px; }
.pc-grid-2 { grid-template-columns: 1fr 1fr; }
.pc-grid-3 { grid-template-columns: repeat(3, 1fr); }
.pc-grid-4 { grid-template-columns: repeat(4, 1fr); }
.pc-grid-6 { grid-template-columns: repeat(6, 1fr); }

.pc-glass {
	background: rgba(255,255,255,.55); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%);
	border: 1px solid rgba(255,255,255,.6); box-shadow: var(--pc-shadow-md);
}
.pc-bg-charcoal .pc-glass { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }

/* ---------- About author ---------- */
.pc-about-grid { display: grid !important; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.pc-portrait-wrap { position: relative; }
.pc-portrait-frame {
	position: relative; border-radius: var(--pc-radius-lg); overflow: hidden; aspect-ratio: 4/5;
	background: linear-gradient(160deg, var(--pc-gold-light), var(--pc-gold-dark));
	box-shadow: var(--pc-shadow-lg); padding: 10px;
}
.pc-portrait-frame .pc-portrait-inner {
	width: 100%; height: 100%; border-radius: calc(var(--pc-radius-lg) - 8px); overflow: hidden; position: relative;
	background: linear-gradient(160deg, #efe6d6, #d8c9ab);
	display: flex; align-items: center; justify-content: center;
}
.pc-portrait-monogram { font-family: var(--pc-font-heading); font-size: 120px; color: rgba(29,29,29,.18); }
.pc-portrait-frame img.pc-portrait-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--pc-radius-lg) - 8px); }
.pc-portrait-badge {
	position: absolute; bottom: -22px; right: -22px; background: var(--pc-white); border-radius: var(--pc-radius-md);
	box-shadow: var(--pc-shadow-lg); padding: 18px 22px; text-align: center; min-width: 140px;
}
.pc-portrait-badge strong { display: block; font-family: var(--pc-font-heading); font-size: 26px; color: var(--pc-gold-dark); }
.pc-portrait-badge span { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-text-soft); }
.pc-signature { font-family: var(--pc-font-accent); font-style: italic; font-size: 34px; color: var(--pc-charcoal); margin-top: 18px; }

.pc-achievements { margin: 28px 0; display: flex; flex-direction: column; gap: 14px; }
.pc-achievement-item { display: flex; align-items: flex-start; gap: 14px; }
.pc-achievement-icon {
	width: 38px; height: 38px; border-radius: 50%; background: rgba(200,155,90,.14); color: var(--pc-gold-dark);
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}

/* ---------- Stats / counters ---------- */
.pc-stats-strip { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 0; border-radius: var(--pc-radius-lg); overflow: hidden; box-shadow: var(--pc-shadow-md); }
.pc-stats-strip.cols-4 { grid-template-columns: repeat(4, 1fr); }
.pc-stat {
	background: var(--pc-white); padding: 42px 20px; text-align: center; border-right: 1px solid var(--pc-line);
	position: relative;
}
.pc-stat:last-child { border-right: none; }
.pc-stat .elementor-counter-number-wrapper { font-family: var(--pc-font-heading); color: var(--pc-gold-dark); font-size: 42px; font-weight: 700; }
.pc-stat .elementor-counter-title { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-text-soft); margin-top: 6px; }

/* ---------- Book cards ---------- */
.pc-book-card {
	background: var(--pc-white); border-radius: var(--pc-radius-md); overflow: hidden; box-shadow: var(--pc-shadow-sm);
	transition: transform .5s var(--pc-ease), box-shadow .5s var(--pc-ease); position: relative; height: 100%;
	display: flex; flex-direction: column;
}
.pc-book-card:hover { transform: translateY(-14px); box-shadow: var(--pc-shadow-lg); }
.pc-book-card-cover { padding: 30px 30px 0; background: linear-gradient(180deg, var(--pc-beige), var(--pc-white)); }
.pc-book-card-cover .pc-cover { box-shadow: 0 20px 40px rgba(29,29,29,.22), inset -10px 0 20px rgba(0,0,0,.18); transition: transform .5s var(--pc-ease); }
.pc-book-card:hover .pc-book-card-cover .pc-cover { transform: translateY(-6px) rotate(-1deg) scale(1.03); }
.pc-book-card-body { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pc-book-card-body h3 { font-size: 21px; }
.pc-rating { display: flex; align-items: center; gap: 6px; color: var(--pc-gold); font-size: 14px; }
.pc-rating span.pc-rating-num { color: var(--pc-text-soft); font-size: 13px; margin-left: 4px; }
.pc-book-card-body p.pc-desc { color: var(--pc-text-soft); font-size: 14.5px; line-height: 1.7; flex: 1; }
.pc-book-card-actions { display: flex; gap: 10px; margin-top: 6px; }
.pc-book-card-actions .pc-btn { flex: 1; padding: 12px 16px; font-size: 13.5px; }

/* ---------- Showcase slider (horizontal scroll) ---------- */
.pc-showcase { position: relative; }
.pc-showcase-track {
	display: flex; gap: 26px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 4px 30px;
	scrollbar-width: none;
}
.pc-showcase-track::-webkit-scrollbar { display: none; }
.pc-showcase-track .pc-book-card { min-width: 260px; scroll-snap-align: start; }
.pc-showcase-controls { display: flex; justify-content: flex-end; gap: 12px; margin-bottom: 18px; }
.pc-showcase-arrow {
	width: 48px; height: 48px; border-radius: 50%; background: var(--pc-white); border: 1px solid var(--pc-line);
	box-shadow: var(--pc-shadow-sm); display: flex; align-items: center; justify-content: center; cursor: pointer;
	transition: background .3s, transform .3s;
}
.pc-showcase-arrow:hover { background: var(--pc-gold); color: #fff; transform: translateY(-2px); }

/* ---------- Spotlight ---------- */
.pc-spotlight {
	position: relative; border-radius: var(--pc-radius-lg); overflow: hidden; padding: 100px 60px;
	background: radial-gradient(circle at 20% 20%, #2a2a2a, #101010 70%); color: #fff;
}
.pc-spotlight::before {
	content: ''; position: absolute; inset: 0; background:
		radial-gradient(circle at 80% 30%, rgba(200,155,90,.28), transparent 55%),
		radial-gradient(circle at 10% 80%, rgba(200,155,90,.16), transparent 50%);
}
.pc-spotlight-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.pc-spotlight .pc-cover { width: 100%; max-width: 320px; margin: 0 auto; box-shadow: 0 40px 90px rgba(0,0,0,.5); }
.pc-spotlight-reviews { display: flex; gap: 22px; margin-top: 26px; flex-wrap: wrap; }
.pc-spotlight-review { max-width: 260px; font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.75); border-left: 2px solid var(--pc-gold); padding-left: 14px; }

/* ---------- Pricing ---------- */
.pc-pricing-card {
	background: var(--pc-white); border-radius: var(--pc-radius-md); padding: 40px 32px; text-align: center;
	box-shadow: var(--pc-shadow-sm); position: relative; transition: transform .4s var(--pc-ease), box-shadow .4s var(--pc-ease);
	border: 1px solid var(--pc-line); height: 100%; display: flex; flex-direction: column;
}
.pc-pricing-card:hover { transform: translateY(-10px); box-shadow: var(--pc-shadow-lg); }
.pc-pricing-card.is-popular { border: 2px solid var(--pc-gold); transform: scale(1.04); }
.pc-pricing-card.is-popular:hover { transform: scale(1.04) translateY(-10px); }
.pc-pricing-ribbon {
	position: absolute; top: 18px; right: -34px; transform: rotate(45deg); background: var(--pc-gold);
	color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; padding: 6px 40px; text-transform: uppercase;
	box-shadow: 0 6px 14px rgba(200,155,90,.4);
}
.pc-pricing-icon {
	width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 20px; display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, rgba(200,155,90,.16), rgba(200,155,90,.05)); color: var(--pc-gold-dark);
}
.pc-pricing-price { font-family: var(--pc-font-heading); font-size: 44px; color: var(--pc-charcoal); margin: 10px 0; }
.pc-pricing-price span { font-size: 15px; color: var(--pc-text-soft); font-family: var(--pc-font-body); }
.pc-pricing-features { text-align: left; margin: 22px 0; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.pc-pricing-features li { display: flex; gap: 10px; font-size: 14.5px; color: var(--pc-text-soft); align-items: flex-start; }
.pc-pricing-features li svg { flex-shrink: 0; margin-top: 3px; color: var(--pc-gold); }

/* ---------- Why read icon cards ---------- */
.pc-feature-card { padding: 40px 30px; border-radius: var(--pc-radius-md); background: var(--pc-white); box-shadow: var(--pc-shadow-sm); height: 100%; transition: transform .4s var(--pc-ease), box-shadow .4s var(--pc-ease); }
.pc-feature-card:hover { transform: translateY(-8px); box-shadow: var(--pc-shadow-md); }
.pc-feature-icon {
	width: 62px; height: 62px; border-radius: 18px; display: flex; align-items: center; justify-content: center; margin-bottom: 22px;
	background: linear-gradient(135deg, var(--pc-gold-light), var(--pc-gold-dark)); color: #fff; box-shadow: var(--pc-shadow-gold);
}

/* ---------- Testimonials ---------- */
.pc-testimonial-carousel { position: relative; max-width: 880px; margin: 0 auto; min-height: 320px; }
.pc-testimonial-slide {
	position: absolute; inset: 0; opacity: 0; transform: translateY(20px); transition: opacity .6s var(--pc-ease), transform .6s var(--pc-ease);
	pointer-events: none;
}
.pc-testimonial-slide.is-active { opacity: 1; transform: translateY(0); position: relative; pointer-events: auto; }
.pc-testimonial-card {
	padding: 52px; border-radius: var(--pc-radius-lg); text-align: center;
}
.pc-testimonial-quote { font-family: var(--pc-font-accent); font-size: 26px; line-height: 1.6; font-style: italic; color: var(--pc-charcoal); margin-bottom: 26px; }
.pc-testimonial-avatar {
	width: 66px; height: 66px; border-radius: 50%; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center;
	font-family: var(--pc-font-heading); font-weight: 700; color: #fff; font-size: 20px;
}
.pc-testimonial-name { font-weight: 600; }
.pc-testimonial-role { font-size: 13px; color: var(--pc-text-soft); }
.pc-testimonial-dots { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }
.pc-testimonial-dots button { width: 10px; height: 10px; border-radius: 50%; background: var(--pc-line); border: none; cursor: pointer; transition: background .3s, transform .3s; }
.pc-testimonial-dots button.is-active { background: var(--pc-gold); transform: scale(1.3); }

.pc-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.pc-review-card { padding: 32px; border-radius: var(--pc-radius-md); position: relative; transition: transform .4s var(--pc-ease); }
.pc-review-card:hover { transform: translateY(-8px); }
.pc-review-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.pc-review-quote { font-size: 15px; line-height: 1.75; color: var(--pc-text-soft); }

/* ---------- Marquee (press logos + can reuse) ---------- */
.pc-marquee-wrap { overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.pc-marquee-track { display: flex; width: max-content; gap: 70px; animation: pcMarquee 32s linear infinite; align-items: center; }
.pc-marquee-wrap:hover .pc-marquee-track { animation-play-state: paused; }
.pc-marquee-item { font-family: var(--pc-font-heading); font-size: 22px; font-weight: 600; color: var(--pc-text-soft); opacity: .7; letter-spacing: .03em; white-space: nowrap; }
.pc-marquee-item small { display: block; font-family: var(--pc-font-body); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; opacity: .7; font-weight: 600; }

/* ---------- Awards timeline ---------- */
.pc-timeline { position: relative; max-width: 800px; margin: 0 auto; }
.pc-timeline::before { content: ''; position: absolute; left: 27px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(var(--pc-gold-light), var(--pc-gold-dark)); }
.pc-timeline-item { position: relative; padding-left: 76px; margin-bottom: 44px; }
.pc-timeline-item:last-child { margin-bottom: 0; }
.pc-timeline-icon {
	position: absolute; left: 0; top: 0; width: 56px; height: 56px; border-radius: 50%; background: var(--pc-white);
	border: 2px solid var(--pc-gold); display: flex; align-items: center; justify-content: center; color: var(--pc-gold-dark);
	box-shadow: var(--pc-shadow-sm); z-index: 1;
}
.pc-timeline-year { font-family: var(--pc-font-heading); color: var(--pc-gold-dark); font-size: 14px; letter-spacing: .08em; }

/* ---------- Gallery masonry ---------- */
.pc-masonry { columns: 4 240px; column-gap: 22px; }
.pc-masonry-item { break-inside: avoid; margin-bottom: 22px; border-radius: var(--pc-radius-md); overflow: hidden; position: relative; box-shadow: var(--pc-shadow-sm); }
.pc-masonry-tile { width: 100%; display: block; position: relative; }
.pc-masonry-item:nth-child(6n+1) .pc-masonry-tile { aspect-ratio: 3/4; background: linear-gradient(160deg,#e7d9bd,#c89b5a); }
.pc-masonry-item:nth-child(6n+2) .pc-masonry-tile { aspect-ratio: 1/1; background: linear-gradient(160deg,#2a2a2a,#1d1d1d); }
.pc-masonry-item:nth-child(6n+3) .pc-masonry-tile { aspect-ratio: 4/5; background: linear-gradient(160deg,#8a6a9a,#5a3f70); }
.pc-masonry-item:nth-child(6n+4) .pc-masonry-tile { aspect-ratio: 3/4; background: linear-gradient(160deg,#5c7a6b,#33473d); }
.pc-masonry-item:nth-child(6n+5) .pc-masonry-tile { aspect-ratio: 1/1; background: linear-gradient(160deg,#c89b5a,#7a3a1a); }
.pc-masonry-item:nth-child(6n+6) .pc-masonry-tile { aspect-ratio: 4/5; background: linear-gradient(160deg,#4a5a6a,#141c24); }
.pc-masonry-caption {
	position: absolute; inset: auto 0 0 0; padding: 18px 20px; color: #fff; font-size: 13px; font-weight: 600;
	background: linear-gradient(0deg, rgba(0,0,0,.65), transparent); opacity: 0; transform: translateY(10px);
	transition: opacity .35s, transform .35s;
}
.pc-masonry-item:hover .pc-masonry-caption { opacity: 1; transform: translateY(0); }
.pc-masonry-item:hover .pc-masonry-tile { filter: brightness(1.08); }

/* ---------- Newsletter CTA ---------- */
.pc-newsletter-section {
	border-radius: var(--pc-radius-lg); padding: 80px 60px; text-align: center; position: relative; overflow: hidden;
	background: linear-gradient(135deg, #232323, #101010);
}
.pc-newsletter-section::before {
	content: ''; position: absolute; inset: 0;
	background: radial-gradient(circle at 30% 20%, rgba(200,155,90,.3), transparent 55%), radial-gradient(circle at 80% 90%, rgba(200,155,90,.18), transparent 50%);
}
.pc-newsletter-section > * { position: relative; z-index: 1; }
.pc-newsletter-form { display: flex; gap: 14px; max-width: 480px; margin: 30px auto 0; flex-wrap: wrap; position: relative; }
.pc-newsletter-form input[type="email"], .pc-newsletter-form input[type="text"]:not(.pc-hp-field) {
	flex: 1; min-width: 220px; padding: 16px 22px; border-radius: 50px; border: 1px solid rgba(255,255,255,.25);
	background: rgba(255,255,255,.08); color: #fff; font-size: 15px; font-family: var(--pc-font-body);
}
.pc-newsletter-form input::placeholder { color: rgba(255,255,255,.5); }
.pc-hp-field { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.pc-form-message { width: 100%; font-size: 13.5px; margin-top: 8px; min-height: 18px; }
.pc-form-message.is-success { color: #8fd19e; }
.pc-form-message.is-error { color: #e08b8b; }
.pc-footer-form .pc-form-message { color: var(--pc-text-soft); }
.pc-footer-form .pc-form-message.is-success { color: #4b8a5a; }
.pc-footer-form .pc-form-message.is-error { color: #b04b4b; }

/* ---------- FAQ / Accordion (styles the native Elementor Accordion widget) ---------- */
.pc-faq .elementor-accordion { border: none; }
.pc-faq .elementor-accordion-item { background: var(--pc-white); border: 1px solid var(--pc-line) !important; border-radius: var(--pc-radius-sm) !important; margin-bottom: 16px; overflow: hidden; box-shadow: var(--pc-shadow-sm); }
.pc-faq .elementor-tab-title { padding: 22px 26px !important; font-family: var(--pc-font-heading); font-size: 18px !important; font-weight: 600; }
.pc-faq .elementor-tab-title.elementor-active { color: var(--pc-gold-dark); }
.pc-faq .elementor-tab-content { padding: 0 26px 24px !important; color: var(--pc-text-soft); line-height: 1.8; border-top: none !important; }
.pc-faq .elementor-accordion-icon { color: var(--pc-gold); }

/* ---------- Contact page ---------- */
.pc-contact-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.pc-contact-form-card { padding: 46px; border-radius: var(--pc-radius-lg); background: var(--pc-white); box-shadow: var(--pc-shadow-lg); }
.pc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pc-field { margin-bottom: 20px; }
.pc-field label { display: block; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--pc-text-soft); margin-bottom: 8px; }
.pc-field input, .pc-field textarea {
	width: 100%; padding: 15px 18px; border-radius: var(--pc-radius-sm); border: 1px solid var(--pc-line); background: var(--pc-gray);
	font-family: var(--pc-font-body); font-size: 15px; color: var(--pc-text); transition: border-color .3s, background .3s;
}
.pc-field input:focus, .pc-field textarea:focus { outline: none; border-color: var(--pc-gold); background: #fff; }
.pc-contact-info-item { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 30px; }
.pc-contact-info-icon {
	width: 52px; height: 52px; border-radius: 16px; background: rgba(200,155,90,.12); color: var(--pc-gold-dark);
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pc-contact-map { border-radius: var(--pc-radius-lg); overflow: hidden; box-shadow: var(--pc-shadow-md); height: 320px; margin-top: 20px; }
.pc-contact-map iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.3) contrast(1.05); }
.pc-social-row { display: flex; gap: 12px; margin-top: 8px; }
.pc-social-icon {
	width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--pc-line); display: flex; align-items: center; justify-content: center;
	color: var(--pc-text-soft); transition: all .3s var(--pc-ease);
}
.pc-social-icon svg { width: 18px; height: 18px; }
.pc-social-icon:hover { background: var(--pc-gold); border-color: var(--pc-gold); color: #fff; transform: translateY(-3px); }

/* ==========================================================================
   Footer
   ========================================================================== */
.pc-footer { background: var(--pc-charcoal); color: rgba(255,255,255,.7); padding: 100px 0 0; position: relative; overflow: hidden; }
.pc-footer-glow { position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 800px; height: 400px; background: radial-gradient(ellipse, rgba(200,155,90,.18), transparent 70%); pointer-events: none; }
.pc-footer-top { position: relative; z-index: 1; display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 50px; padding-bottom: 70px; border-bottom: 1px solid rgba(255,255,255,.1); }
.pc-footer h4 { color: #fff; font-size: 16px; margin-bottom: 22px; letter-spacing: .03em; }
.pc-footer p { font-size: 14.5px; line-height: 1.8; }
.pc-footer-links { display: flex; flex-direction: column; gap: 12px; }
.pc-footer-links a { font-size: 14.5px; transition: color .3s, padding-left .3s; }
.pc-footer-links a:hover { color: var(--pc-gold-light); padding-left: 4px; }
.pc-footer .pc-social-icon { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.7); }
.pc-footer-logo .pc-logo-text { color: #fff; }
.pc-footer-bottom { display: flex; justify-content: space-between; align-items: center; padding: 26px 0; font-size: 13px; position: relative; z-index: 1; flex-wrap: wrap; gap: 10px; }

.pc-back-to-top {
	position: fixed; right: 30px; bottom: 30px; width: 52px; height: 52px; border-radius: 50%;
	background: linear-gradient(135deg, var(--pc-gold-light), var(--pc-gold-dark)); color: #fff; border: none; cursor: pointer;
	display: flex; align-items: center; justify-content: center; box-shadow: var(--pc-shadow-gold); z-index: 500;
	opacity: 0; visibility: hidden; transform: translateY(16px); transition: all .4s var(--pc-ease);
}
.pc-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.pc-back-to-top:hover { transform: translateY(-4px); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.pc-hero-grid { grid-template-columns: 1fr; text-align: center; }
	.pc-hero-text { margin-left: auto; margin-right: auto; }
	.pc-hero-actions { justify-content: center; }
	.pc-hero-trust { justify-content: center; }
	.pc-hero-books { height: 400px; margin-top: 20px; transform: none !important; }
	.pc-hero-backdrop, .pc-hero-backdrop::after { width: 380px; height: 380px; }
	.pc-book-3d.main { width: 210px; margin-left: -105px; margin-top: -158px; }
	.pc-book-3d.side-a { width: 175px; margin-left: -188px; margin-top: -113px; }
	.pc-book-3d.side-b { width: 175px; margin-left: 13px; margin-top: -113px; }
	.pc-about-grid, .pc-spotlight-grid, .pc-contact-grid { grid-template-columns: 1fr; }
	.pc-grid-4 { grid-template-columns: repeat(2, 1fr); }
	.pc-grid-3 { grid-template-columns: repeat(2, 1fr); }
	.pc-stats-strip { grid-template-columns: repeat(3, 1fr); }
	.pc-stat:nth-child(3) { border-right: none; }
	.pc-stats-strip.cols-4 { grid-template-columns: repeat(2, 1fr); }
	.pc-review-grid { grid-template-columns: 1fr; }
	.pc-footer-top { grid-template-columns: 1fr 1fr; }
	.pc-masonry { columns: 3 200px; }
}
@media (max-width: 860px) {
	.pc-header { top: 0; left: 0; right: 0; }
	.pc-header-inner { max-width: 100%; border-radius: 0; padding: 0 20px; }
	.pc-nav { display: flex; position: fixed; top: 0; right: -100%; height: 100vh; width: min(360px, 84vw); background: rgba(255,255,255,.98);
		backdrop-filter: blur(20px); flex-direction: column; justify-content: center; align-items: flex-start; gap: 30px;
		padding: 100px 40px 40px; transition: right .45s var(--pc-ease); box-shadow: -20px 0 60px rgba(0,0,0,.15); z-index: 910;
	}
	.pc-nav.is-open { right: 0; }
	.pc-nav-list { grid-column: auto; flex-direction: column; align-items: flex-start; gap: 22px; }
	.pc-nav-list a { font-size: 20px; }
	.pc-nav-toggle { display: flex; }
	.pc-header-actions { gap: 10px; }
	.pc-grid-2, .pc-grid-4, .pc-grid-6 { grid-template-columns: repeat(2, 1fr); }
	.pc-section { padding: 90px 0; }
	.pc-spotlight { padding: 60px 30px; }
	.pc-field-row { grid-template-columns: 1fr; }
	.pc-footer-top { grid-template-columns: 1fr; }
	.pc-masonry { columns: 2 180px; }
}
@media (max-width: 560px) {
	.pc-container { padding: 0 20px; }
	.pc-header-cta { padding: 10px 16px; font-size: 13px; }
	.pc-logo-text { font-size: 18px; }
	.pc-logo-img { height: 34px; }
	.pc-grid-3, .pc-grid-4, .pc-grid-6, .pc-grid-2 { grid-template-columns: 1fr; }
	.pc-stats-strip { grid-template-columns: repeat(2, 1fr); }
	.pc-stat:nth-child(3) { border-right: 1px solid var(--pc-line); }
	.pc-stat:nth-child(2n) { border-right: none; }
	.pc-stats-strip.cols-4 { grid-template-columns: repeat(2, 1fr); }
	.pc-stats-strip.cols-4 .pc-stat:nth-child(2n) { border-right: none; }
	.pc-hero-heading { font-size: 34px; }
	.elementor-widget-heading.pc-hero-heading .elementor-heading-title { font-size: 34px; }
	.pc-hero-books { height: 300px; margin-bottom: 4px; order: -1; }
	.pc-hero-backdrop, .pc-hero-backdrop::after { width: 280px; height: 280px; }
	.pc-hero-backdrop::before { inset: 20px; }
	.pc-book-3d.main { width: 165px; margin-left: -82px; margin-top: -124px; }
	.pc-book-3d.side-a { width: 138px; margin-left: -148px; margin-top: -89px; }
	.pc-book-3d.side-b { width: 138px; margin-left: 10px; margin-top: -89px; }
	.pc-hero-trust { flex-direction: column; gap: 8px; }
	.pc-back-to-top { right: 16px; bottom: 16px; }
	.pc-masonry { columns: 1 100%; }
	.pc-spotlight-grid { gap: 40px; }
}