/**
 * PQOC global design system — v3 "Drag Up"
 * Applied across standard WordPress pages. The Coming Soon template retains
 * its purpose-built styles while sharing the same canonical tokens.
 */
:root {
	--pqoc-paper: #FBFAF6;
	--pqoc-paper-warm: #F4F1E8;
	--pqoc-paper-cool: #F2F3F5;
	--pqoc-ink: #1A1F2C;
	--pqoc-ink-soft: #454B5A;
	--pqoc-ink-mute: #7A8090;
	--pqoc-navy: #0F2540;
	--pqoc-navy-dark: #08172A;
	--pqoc-fuchsia: #E5197E;
	--pqoc-fuchsia-lt: #F764B0;
	--pqoc-fuchsia-dp: #B00F5F;
	--pqoc-fuchsia-neon: #FF3D9E;
	--pqoc-coral: #FF7A6B;
	--pqoc-apricot: #F9AE7A;
	--pqoc-lilac: #B885E0;
	--pqoc-teal: #1C6E7D;
	--pqoc-silver: #C8CCD1;
	--pqoc-silver-lt: #E4E7EB;
	--pqoc-silver-dp: #6B7280;
	--pqoc-mirror: #A7ADB5;
	--pqoc-mirror-gradient: linear-gradient(115deg, #6B7280 0%, #E4E7EB 35%, #A7ADB5 58%, #F2F3F5 78%, #6B7280 100%);
	--pqoc-hero-photo-op: .68;
	--pqoc-hero-veil-top: .30;
	--pqoc-hero-veil-bottom: .55;
	--pqoc-hero-tint-fuchsia: .18;
	--pqoc-hero-tint-lilac: .12;
	--pqoc-hero-tint-coral: .10;
	--pqoc-font-display: "Playfair Display", "Iowan Old Style", Georgia, serif;
	--pqoc-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--pqoc-font-script: "Great Vibes", "Snell Roundhand", cursive;
	--pqoc-radius-sm: 3px;
	--pqoc-radius-md: 12px;
	--pqoc-radius-lg: 24px;
	--pqoc-space-1: .5rem;
	--pqoc-space-2: 1rem;
	--pqoc-space-3: 1.5rem;
	--pqoc-space-4: 2rem;
	--pqoc-space-5: 3rem;
	--pqoc-space-6: 4.5rem;
	--pqoc-space-7: 7rem;
	--pqoc-content: 68rem;
	--pqoc-reading: 46rem;
	--pqoc-shadow: 0 18px 50px rgba(8, 23, 42, .10);
	--pqoc-transition: 180ms ease;
}

/* Foundations */
html { scroll-behavior: smooth; }
body:not(.pqoc-coming-soon) {
	background: var(--pqoc-paper);
	color: var(--pqoc-ink-soft);
	font-family: var(--pqoc-font-body);
	font-size: 17px;
	line-height: 1.7;
	font-feature-settings: "ss01", "cv11";
	-webkit-font-smoothing: antialiased;
}
::selection { background: var(--pqoc-fuchsia); color: #fff; }
body:not(.pqoc-coming-soon) .col-full { width: min(100%, var(--pqoc-content)); margin-inline: auto; padding-inline: clamp(1.5rem, 5vw, 4.5rem); }
body:not(.pqoc-coming-soon) .site-content { background: var(--pqoc-paper); }
body:not(.pqoc-coming-soon) .content-area { margin-bottom: var(--pqoc-space-7); }

body:not(.pqoc-coming-soon) h1,
body:not(.pqoc-coming-soon) h2,
body:not(.pqoc-coming-soon) h3,
body:not(.pqoc-coming-soon) h4,
body:not(.pqoc-coming-soon) h5,
body:not(.pqoc-coming-soon) h6 {
	color: var(--pqoc-ink);
	font-family: var(--pqoc-font-display);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.12;
}
body:not(.pqoc-coming-soon) h1 { max-width: 14ch; font-size: clamp(3rem, 7vw, 6.5rem); }
body:not(.pqoc-coming-soon) h2 { font-size: clamp(2.1rem, 4.5vw, 4rem); }
body:not(.pqoc-coming-soon) h3 { font-size: clamp(1.5rem, 3vw, 2.35rem); }
body:not(.pqoc-coming-soon) p,
body:not(.pqoc-coming-soon) li { color: var(--pqoc-ink-soft); }
body:not(.pqoc-coming-soon) #primary.content-area {
	float: none;
	width: 100%;
	margin-right: 0;
}
body:not(.pqoc-coming-soon) .entry-content {
	width: 100%;
	max-width: none;
}
body:not(.pqoc-coming-soon) .entry-content > .alignfull,
body:not(.pqoc-coming-soon) .entry-content > .alignwide {
	position: static;
	left: auto;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: none;
}
body:not(.pqoc-coming-soon) .entry-content a:not(.wp-block-button__link) {
	color: var(--pqoc-fuchsia-dp);
	text-decoration-color: rgba(176, 15, 95, .35);
	text-decoration-thickness: .08em;
	text-underline-offset: .18em;
}
body:not(.pqoc-coming-soon) .entry-content a:not(.wp-block-button__link):hover { color: var(--pqoc-navy); }
.pqoc-script { font-family: var(--pqoc-font-script); }
.pqoc-statement { max-width: 13ch; font-family: var(--pqoc-font-display); font-size: clamp(3.2rem, 8vw, 8rem); line-height: .98; }
.pqoc-eyebrow {
	color: var(--pqoc-fuchsia-dp);
	font-family: var(--pqoc-font-body);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

/* Header and navigation */
body:not(.pqoc-coming-soon) .site-header {
	margin: 0;
	padding: 1.2rem 0 0;
	border-bottom: 1px solid rgba(200, 204, 209, .48);
	background: rgba(251, 250, 246, .96);
	color: var(--pqoc-ink);
}
body:not(.pqoc-coming-soon) .site-branding {
	float: none;
	width: 100%;
	margin: 0 auto 1.35rem;
	text-align: center;
	background: transparent;
}
body:not(.pqoc-coming-soon) .site-branding .site-title { font-family: var(--pqoc-font-display); font-size: clamp(1.15rem, 2vw, 1.55rem); letter-spacing: -.01em; }
body:not(.pqoc-coming-soon) .site-branding .site-title a { color: var(--pqoc-ink); font-weight: 700; }
body:not(.pqoc-coming-soon) .site-branding .site-description { display: block; margin-top: .2rem; color: var(--pqoc-ink-mute); font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
body:not(.pqoc-coming-soon) .site-header .custom-logo-link img { display: block; width: min(100%, 380px); max-width: 380px; max-height: 108px; margin: 0 auto; object-fit: contain; object-position: center; background: transparent; }
body:not(.pqoc-coming-soon) .pqoc-header-logo { display: block; width: min(100%, 380px); margin: 0 auto; line-height: 0; background: transparent; }
body:not(.pqoc-coming-soon) .pqoc-header-logo svg { display: block; width: 100%; height: auto; max-height: 108px; background: transparent; }
body:not(.pqoc-coming-soon) .storefront-primary-navigation { border-top: 1px solid rgba(200, 204, 209, .35); background: var(--pqoc-navy-dark); }
body:not(.pqoc-coming-soon) .main-navigation ul.menu > li > a,
body:not(.pqoc-coming-soon) .main-navigation ul.nav-menu > li > a {
	padding: 1.1rem 1.25rem;
	color: var(--pqoc-paper);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	transition: color var(--pqoc-transition), background var(--pqoc-transition);
}
body:not(.pqoc-coming-soon) .main-navigation ul.menu > li > a:hover,
body:not(.pqoc-coming-soon) .main-navigation ul.nav-menu > li > a:hover,
body:not(.pqoc-coming-soon) .main-navigation ul.menu > li.current-menu-item > a {
	background: rgba(229, 25, 126, .12);
	color: var(--pqoc-fuchsia-lt);
}
body:not(.pqoc-coming-soon) .main-navigation ul ul { border-top: 2px solid var(--pqoc-fuchsia); background: var(--pqoc-navy); box-shadow: var(--pqoc-shadow); }
body:not(.pqoc-coming-soon) button.menu-toggle {
	border: 1px solid var(--pqoc-silver);
	border-radius: var(--pqoc-radius-sm);
	background: var(--pqoc-navy-dark);
	color: var(--pqoc-paper);
}
body:not(.pqoc-coming-soon) button.menu-toggle::before,
body:not(.pqoc-coming-soon) button.menu-toggle::after,
body:not(.pqoc-coming-soon) button.menu-toggle span::before { background-color: currentColor; }

/* Buttons and controls */
body:not(.pqoc-coming-soon) button,
body:not(.pqoc-coming-soon) input[type="button"],
body:not(.pqoc-coming-soon) input[type="reset"],
body:not(.pqoc-coming-soon) input[type="submit"],
body:not(.pqoc-coming-soon) .button,
body:not(.pqoc-coming-soon) .wp-block-button__link {
	min-height: 3.25rem;
	padding: .75rem 1.55rem;
	border: 1px solid var(--pqoc-fuchsia);
	border-radius: var(--pqoc-radius-sm);
	background: var(--pqoc-fuchsia);
	box-shadow: 0 10px 28px rgba(229, 25, 126, .16);
	color: #fff;
	font-family: var(--pqoc-font-body);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .09em;
	line-height: 1.35;
	text-transform: uppercase;
	transition: transform var(--pqoc-transition), background var(--pqoc-transition), border-color var(--pqoc-transition), box-shadow var(--pqoc-transition);
}
body:not(.pqoc-coming-soon) button:hover,
body:not(.pqoc-coming-soon) input[type="submit"]:hover,
body:not(.pqoc-coming-soon) .button:hover,
body:not(.pqoc-coming-soon) .wp-block-button__link:hover {
	border-color: var(--pqoc-fuchsia-dp);
	background: var(--pqoc-fuchsia-dp);
	color: #fff;
	box-shadow: 0 14px 34px rgba(176, 15, 95, .22);
	transform: translateY(-2px);
}
body:not(.pqoc-coming-soon) .is-style-outline > .wp-block-button__link,
body:not(.pqoc-coming-soon) .button.pqoc-button--secondary {
	border-color: var(--pqoc-navy);
	background: transparent;
	box-shadow: none;
	color: var(--pqoc-navy);
}
body:not(.pqoc-coming-soon) .is-style-outline > .wp-block-button__link:hover,
body:not(.pqoc-coming-soon) .button.pqoc-button--secondary:hover { background: var(--pqoc-navy); color: #fff; }
body:not(.pqoc-coming-soon) a:focus-visible,
body:not(.pqoc-coming-soon) button:focus-visible,
body:not(.pqoc-coming-soon) input:focus-visible,
body:not(.pqoc-coming-soon) textarea:focus-visible { outline: 3px solid var(--pqoc-lilac); outline-offset: 3px; }
body:not(.pqoc-coming-soon) input[type="text"],
body:not(.pqoc-coming-soon) input[type="email"],
body:not(.pqoc-coming-soon) input[type="url"],
body:not(.pqoc-coming-soon) input[type="tel"],
body:not(.pqoc-coming-soon) input[type="search"],
body:not(.pqoc-coming-soon) textarea {
	border: 1px solid var(--pqoc-silver);
	border-radius: var(--pqoc-radius-sm);
	background: #fff;
	box-shadow: none;
	color: var(--pqoc-ink);
}
body:not(.pqoc-coming-soon) input:focus,
body:not(.pqoc-coming-soon) textarea:focus { border-color: var(--pqoc-fuchsia); background: #fff; }

/* Content components */
body:not(.pqoc-coming-soon) .hentry { margin-bottom: var(--pqoc-space-6); }
body:not(.pqoc-coming-soon) .hentry .entry-header { margin-bottom: var(--pqoc-space-4); border: 0; }
body:not(.pqoc-coming-soon) .wp-block-quote {
	margin: var(--pqoc-space-5) 0;
	padding: var(--pqoc-space-3) var(--pqoc-space-4);
	border-left: 3px solid var(--pqoc-fuchsia);
	background: var(--pqoc-paper-warm);
}
body:not(.pqoc-coming-soon) .wp-block-group.has-background,
body:not(.pqoc-coming-soon) .pqoc-card { border-radius: var(--pqoc-radius-md); }
body:not(.pqoc-coming-soon) .pqoc-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--pqoc-silver-lt); background: #fff; box-shadow: var(--pqoc-shadow); }
body:not(.pqoc-coming-soon) hr { height: 1px; margin: var(--pqoc-space-5) 0; background: linear-gradient(90deg, var(--pqoc-fuchsia), var(--pqoc-silver), transparent); }

/* Footer */
body:not(.pqoc-coming-soon) .site-footer {
	padding: clamp(3.5rem, 8vw, 6.5rem) 0 2rem;
	border-top: 3px solid var(--pqoc-fuchsia);
	background:
		radial-gradient(circle at 82% 22%, rgba(229, 25, 126, .13), transparent 22rem),
		var(--pqoc-navy-dark);
	color: var(--pqoc-silver);
}
body:not(.pqoc-coming-soon) .site-footer h2,
body:not(.pqoc-coming-soon) .site-footer h3 { color: var(--pqoc-paper); }
body:not(.pqoc-coming-soon) .site-footer a { color: var(--pqoc-paper); text-decoration-color: var(--pqoc-fuchsia); text-underline-offset: .2em; }
body:not(.pqoc-coming-soon) .site-footer a:hover { color: var(--pqoc-fuchsia-lt); }
.pqoc-footer-brand { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(15rem, .8fr); gap: clamp(2rem, 7vw, 6rem); align-items: end; }
.pqoc-footer-kicker { margin: 0 0 .65rem; color: var(--pqoc-fuchsia-lt) !important; font-size: .72rem; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.pqoc-footer-name { margin: 0; color: var(--pqoc-paper) !important; font-family: var(--pqoc-font-display); font-size: clamp(1.75rem, 4vw, 3rem); line-height: 1.1; }
.pqoc-footer-meta { text-align: right; }
.pqoc-footer-meta p { margin: 0 0 .35rem; color: var(--pqoc-silver); font-size: .82rem; }
.pqoc-footer-meta .pqoc-footer-line { font-family: var(--pqoc-font-display); font-style: italic; color: var(--pqoc-silver-lt); }
body:not(.pqoc-coming-soon) .site-info { display: none; }

/* Responsive rules */
@media (max-width: 767px) {
	body:not(.pqoc-coming-soon) .site-header { padding-top: .9rem; }
	body:not(.pqoc-coming-soon) .site-branding { width: 100%; margin-bottom: 1rem; padding: 0 4.5rem; }
	body:not(.pqoc-coming-soon) .pqoc-header-logo,
	body:not(.pqoc-coming-soon) .site-header .custom-logo-link img { width: min(100%, 280px); max-width: 280px; max-height: 82px; }
	body:not(.pqoc-coming-soon) .site-branding .site-description { display: none; }
	body:not(.pqoc-coming-soon) .main-navigation ul.menu > li > a,
	body:not(.pqoc-coming-soon) .main-navigation ul.nav-menu > li > a { padding: .9rem 1rem; }
	.pqoc-footer-brand { grid-template-columns: 1fr; }
	.pqoc-footer-meta { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body:not(.pqoc-coming-soon) * { transition-duration: .01ms !important; }
}

/* Internal pages: the page content supplies its own accessible H1. */
body.page:not(.pqoc-coming-soon) article.type-page > .entry-header { display: none; }

/* Permanent homepage */
body:not(.pqoc-coming-soon) .page-id-14 .site-main,
body:not(.pqoc-coming-soon) .page-id-14 .hentry { margin-bottom: 0; }
body:not(.pqoc-coming-soon) .page-id-14 .entry-content { max-width: none; }
.pqoc-home-section { margin: 0 0 var(--pqoc-space-5); padding: clamp(2rem, 5vw, 4.75rem); overflow: hidden; }
.pqoc-home-hero {
	position: relative;
	min-height: 34rem;
	display: flex;
	align-items: center;
	background:
		radial-gradient(circle at 88% 18%, rgba(247,100,176,.24), transparent 24rem),
		linear-gradient(135deg, var(--pqoc-navy-dark), var(--pqoc-navy));
	color: var(--pqoc-paper);
}
.pqoc-home-hero::after {
	content: "";
	position: absolute;
	right: -5rem;
	bottom: -7rem;
	width: 24rem;
	height: 24rem;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 50%;
	box-shadow: 0 0 0 2rem rgba(229,25,126,.08), 0 0 0 5rem rgba(255,255,255,.035);
}
.pqoc-home-hero > .wp-block-group__inner-container { position: relative; z-index: 1; width: 100%; }
.pqoc-kicker { margin-bottom: 1rem !important; color: var(--pqoc-fuchsia-lt) !important; font-size: .76rem !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.pqoc-home-hero h1 { max-width: 12ch; margin-bottom: 1.25rem; color: var(--pqoc-paper) !important; font-size: clamp(3rem, 7vw, 6.7rem); line-height: .96; letter-spacing: -.045em; }
.pqoc-home-hero .pqoc-hero-queen { display: block; color: var(--pqoc-fuchsia-lt); font-family: var(--pqoc-font-script); font-size: .78em; font-weight: 400; letter-spacing: 0; line-height: 1.05; }
.pqoc-home-hero .pqoc-hero-copy { max-width: 39rem; color: var(--pqoc-silver-lt); font-size: clamp(1.08rem, 2vw, 1.35rem); line-height: 1.65; }
.pqoc-home-hero .pqoc-hero-line { margin-top: 2rem; color: var(--pqoc-paper); font-family: var(--pqoc-font-display); font-size: clamp(1.15rem, 2.2vw, 1.55rem); font-style: italic; }
.pqoc-home-section h2 { font-size: clamp(2.2rem, 5vw, 4.25rem); line-height: 1.06; }
.pqoc-home-section .wp-block-columns { margin-bottom: 0; gap: clamp(1.5rem, 4vw, 3.5rem); }
.pqoc-home-section .wp-block-column { min-width: 0; }
.pqoc-home-intro { background: var(--pqoc-paper-warm); }
.pqoc-home-intro .pqoc-card { height: 100%; border-top: 4px solid var(--pqoc-fuchsia); }
.pqoc-home-path { background: var(--pqoc-paper-cool); }
.pqoc-path-card { height: 100%; padding: 1.5rem; border: 1px solid var(--pqoc-silver-lt); border-radius: var(--pqoc-radius-sm); background: var(--pqoc-paper); }
.pqoc-path-card strong { display: block; margin-bottom: .4rem; color: var(--pqoc-fuchsia-dp); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.pqoc-home-latest { border: 1px solid var(--pqoc-silver-lt); background: #fff; }
.pqoc-latest-panel { min-height: 16rem; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--pqoc-radius-md); background: linear-gradient(145deg, var(--pqoc-navy), var(--pqoc-navy-dark)); color: var(--pqoc-paper); }
.pqoc-latest-panel h3 { color: var(--pqoc-paper); }
.pqoc-latest-panel p { color: var(--pqoc-silver-lt); }
.pqoc-home-map { background: linear-gradient(115deg, var(--pqoc-fuchsia-dp), var(--pqoc-fuchsia)); color: #fff; }
.pqoc-home-map h2, .pqoc-home-map p { color: #fff; }
.pqoc-map-mark { display: inline-flex; width: 4rem; height: 4rem; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-family: var(--pqoc-font-display); font-size: 2rem; }
.pqoc-home-community { background: var(--pqoc-navy-dark); color: var(--pqoc-paper); }
.pqoc-home-community h2 { color: var(--pqoc-paper); }
.pqoc-home-community p { color: var(--pqoc-silver-lt); }
/* Site footer */
.site-footer { padding: 0 !important; background: var(--pqoc-navy-dark) !important; color: var(--pqoc-silver-lt); }
.site-footer .col-full { max-width: 82rem; padding-top: clamp(3rem, 6vw, 5.5rem); padding-bottom: 1.5rem; }
.pqoc-footer-main { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(12rem, .8fr) minmax(12rem, .8fr); gap: clamp(2rem, 5vw, 5rem); }
.pqoc-footer-main h2, .pqoc-footer-main h3 { color: var(--pqoc-paper) !important; }
.pqoc-footer-main h2 { margin: .4rem 0 1rem; font-size: clamp(2rem, 4vw, 3.3rem); }
.pqoc-footer-main h3 { margin: 0 0 1rem; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.pqoc-footer-main p { max-width: 33rem; color: var(--pqoc-silver-lt); }
.pqoc-footer-kicker { margin: 0 !important; color: var(--pqoc-fuchsia-lt) !important; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.pqoc-footer-contact, .pqoc-footer-social-links { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.site-footer a { color: var(--pqoc-paper) !important; text-decoration: none; }
.site-footer a:hover, .site-footer a:focus { color: var(--pqoc-fuchsia-lt) !important; text-decoration: underline; text-underline-offset: .25rem; }
.pqoc-footer-social-links span { color: var(--pqoc-fuchsia-lt); }
.pqoc-footer-legal { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,.15); }
.pqoc-footer-legal a { color: var(--pqoc-silver-lt) !important; font-size: .82rem; }
.pqoc-footer-base { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 1.15rem; padding-top: 1.15rem; border-top: 1px solid rgba(255,255,255,.09); }
.pqoc-footer-base p { margin: 0; color: var(--pqoc-ink-mute); font-size: .82rem; }
body.pqoc-coming-soon .site-footer { display: none; }

@media (max-width: 767px) {
	.pqoc-home-section { padding: 2rem 1.25rem; }
	.pqoc-home-hero { min-height: 31rem; }
	.pqoc-home-hero::after { width: 15rem; height: 15rem; }
	.pqoc-home-hero h1 { font-size: clamp(2.75rem, 15vw, 4.5rem); }
	.pqoc-footer-main { grid-template-columns: 1fr; gap: 2rem; }
	.pqoc-footer-base { flex-direction: column; gap: .4rem; }
}
