@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300..600;1,6..72,300..500&display=swap');
/* ========= whysice.studio :: enhanced experience ========= */
/* Hide native cursor everywhere except WP admin bar */
html, body {
	cursor: none !important;
}

#wpadminbar, #wpadminbar * {
	cursor: auto !important;
}

/* 3D cube cursor */
.ws-cursor-dot {
	position: fixed;
	top: 0;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ffeccf;
	pointer-events: none;
	z-index: 99999;
	transform: translate3d(-100px,-100px,0);
}

.ws-cursor-cube {
	position: fixed;
	top: 0;
	left: 0;
	width: 44px;
	height: 44px;
	pointer-events: none;
	z-index: 99998;
	transform-style: preserve-3d;
	transform: translate3d(-100px,-100px,0);
}

.ws-cursor-cube .face {
	position: absolute;
	border: 1.5px solid #d9a36a;
	background: rgba(217,163,106,0.06);
	box-shadow: 0 0 18px rgba(217,163,106,0.25) inset;
	transition: border-color .25s ease, background .25s ease;
}

.ws-cursor-cube .f-front {
	transform: translateZ(22px);
}

.ws-cursor-cube .f-back {
	transform: rotateY(180deg) translateZ(22px);
}

.ws-cursor-cube .f-right {
	transform: rotateY(90deg) translateZ(22px);
}

.ws-cursor-cube .f-left {
	transform: rotateY(-90deg) translateZ(22px);
}

.ws-cursor-cube .f-top {
	transform: rotateX(90deg) translateZ(22px);
}

.ws-cursor-cube .f-bottom {
	transform: rotateX(-90deg) translateZ(22px);
}

.ws-cursor-cube.hover .face {
	border-color: #ffeccf;
	background: rgba(255,236,207,0.10);
}

/* Particle canvas */
#ws-canvas {
	position: fixed;
	z-index: 0;
	pointer-events: none;
	opacity: .85;
}

body > :not(#ws-canvas):not(.ws-cursor-dot):not(.ws-cursor-cube):not(#wpadminbar) {
	position: relative;
	z-index: 1;
}

/* Animated gradient hero */
h1, .wp-block-post-title, .has-x-large-font-size {
	background: linear-gradient(110deg, #fff4dd 0%, #d9a36a 35%, #ffeccf 60%, #b97a3a 100%);
	background-size: 280% 280%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: ws-shimmer 8s ease-in-out infinite;
}

@keyframes ws-shimmer {
	0%,100% {
		background-position: 0 50%;
	}
	
	50% {
		background-position: 100% 50%;
	}
}

/* Magnetic word hover */
.ws-word {
	display: inline-block;
	transition: transform .5s cubic-bezier(.2,.9,.2,1), color .4s ease, text-shadow .4s ease;
}

.ws-word:hover {
	color: #ffeccf;
	text-shadow: 0 0 18px rgba(217,163,106,0.55);
	transform: translateY(-3px) scale(1.04);
}

/* Ambient orbs */
.ws-orb {
	position: fixed;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(60px);
	opacity: .35;
	z-index: 0;
	animation: ws-float 14s ease-in-out infinite;
}

@keyframes ws-float {
	0%,100% {
		transform: translate(0,0) scale(1);
	}
	
	50% {
		transform: translate(40px,-30px) scale(1.15);
	}
}

/* Scroll reveal */
.ws-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .9s ease, transform .9s cubic-bezier(.2,.9,.2,1);
}

.ws-reveal.in {
	opacity: 1;
	transform: translateY(0);
}

/* ========= About page :: professional polish ========= */
.page-id-1 .entry-content {
	  max-width: 680px;
	  margin-left: auto;
	  margin-right: auto;
	  line-height: 1.65;
}
.page-id-1 .entry-content > p {
	  margin-bottom: 1.6em;
	  font-size: 1.05rem;
}
/* Hero: first paragraph becomes the display headline */
.page-id-1 .entry-content > p:first-of-type {
	  font-size: clamp(2rem, 5vw, 3.25rem);
	  line-height: 1.12;
	  font-style: normal;
	  font-weight: 400;
	  font-family: Georgia, "Times New Roman", serif;
	  margin-bottom: 1em;
}
/* Lead paragraph just under the hero */
.page-id-1 .entry-content > p:nth-of-type(2) {
	  font-size: 1.2rem;
	  opacity: 0.92;
}
/* "Currently." callout block */
.page-id-1 .entry-content > p:nth-of-type(5) {
	  border-left: 2px solid rgba(200,160,110,0.6);
	  padding: 0.2em 0 0.2em 1.2em;
	  font-size: 1rem;
}


/* Footer link hover state */
.wp-block-template-part a {
	  transition: color 0.25s ease, opacity 0.25s ease;
}
.wp-block-template-part a:hover {
	  opacity: 0.7;
}


/* ========= About :: reset old callout (Currently is now a list) ========= */
.page-id-1 .entry-content > p:nth-of-type(5) {
	  border-left: none;
	  padding: 0;
	  font-size: 1.05rem;
}

/* 'Currently' heading + scannable list */
.page-id-1 .ws-now-heading {
	  font-size: 1.1rem;
	  text-transform: uppercase;
	  letter-spacing: 0.12em;
	  color: rgba(200,160,110,0.95);
	  margin: 2.4em 0 0.8em;
}
.page-id-1 .ws-now-list {
	  list-style: none;
	  margin: 0 0 1.6em;
	  padding: 0;
	  border-left: 2px solid rgba(200,160,110,0.5);
}
.page-id-1 .ws-now-list li {
	  padding: 0.45em 0 0.45em 1.2em;
	  line-height: 1.5;
}

/* Closing call-to-action */
.page-id-1 .ws-cta {
	  margin-top: 2.4em;
	  font-size: 1.15rem;
}
.page-id-1 .ws-cta a {
	  color: rgba(200,160,110,0.95);
	  text-decoration: underline;
	  text-underline-offset: 3px;
	  transition: opacity 0.25s ease;
}
.page-id-1 .ws-cta a:hover {
	  opacity: 0.7;
}


/* ================= Site-wide polish (all pages) ================= */
.entry-content {
	  max-width: 680px;
	  margin-left: auto;
	  margin-right: auto;
	  line-height: 1.65;
}
.entry-content > p {
	  margin-bottom: 1.5em;
}
/* Consistent content link hover across pages */
.entry-content a {
	  transition: opacity 0.25s ease;
}
.entry-content a:hover {
	  opacity: 0.7;
}

/* ================= Portfolio (page-id-6) ================= */
.page-id-6 .entry-content > p:first-of-type {
	  font-size: clamp(1.8rem, 4vw, 2.75rem);
	  line-height: 1.15;
	  font-family: Georgia, "Times New Roman", serif;
	  font-style: normal;
	  margin-bottom: 0.6em;
}
.page-id-6 .entry-content > p:nth-of-type(2) {
	  font-size: 1.15rem;
	  opacity: 0.9;
	  margin-bottom: 2.8em;
}
.page-id-6 .entry-content h3 {
	  margin-top: 2.6em;
	  padding-top: 2.2em;
	  border-top: 1px solid rgba(200,160,110,0.25);
}
.page-id-6 .entry-content h3:first-of-type {
	  border-top: none;
	  padding-top: 0;
}

/* ================= Contact (page-id-8) ================= */
.page-id-8 .entry-content > p:first-of-type {
	  font-size: clamp(2rem, 5vw, 3.25rem);
	  line-height: 1.12;
	  font-family: Georgia, "Times New Roman", serif;
	  font-weight: 400;
	  margin-bottom: 0.9em;
}
.page-id-8 .entry-content > p:nth-of-type(2) {
	  font-size: 1.2rem;
	  opacity: 0.92;
}
.page-id-8 .entry-content a {
	  color: rgba(200,160,110,0.95);
	  text-decoration: underline;
	  text-underline-offset: 3px;
}


/* ========= whysice typography refresh (Fraunces + Newsreader) ========= */

/* Body copy -> Newsreader for an editorial, literary feel */
body, p, li, blockquote, .entry-content, .wp-block-paragraph {
  font-family: 'Newsreader', Georgia, serif !important;
  font-optical-sizing: auto;
  letter-spacing: 0.1px;
}

/* Headings -> keep Fraunces but give it real weight + tighter tracking so it POPS */
h1, h2, h3, h4, .wp-block-heading {
  font-family: 'Fraunces', serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

h1, h2 {
  font-weight: 650 !important;
}
/* ===================================================================== */

/* whysice body font hard override */
html body, html body p, html body li, html body .entry-content, html body .wp-block-paragraph, html body .wp-block-post-content {
  font-family: 'Newsreader', Georgia, serif !important;
}


/* ========= whysice header restyle v2 ========= */
.wp-block-post-content > .wp-block-heading:first-of-type,
h2.wp-block-heading.ws-reveal:first-of-type {
  font-weight: 380 !important;
  letter-spacing: -0.01em !important;
}

h2.wp-block-heading.ws-reveal:not(:first-of-type) {
  font-family: 'Newsreader', Georgia, serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  opacity: 0.7;
}

h3.wp-block-heading.has-text-align-center {
  font-family: 'Newsreader', Georgia, serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  opacity: 0.7;
}

.wp-block-site-title, .wp-block-site-title a {
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

.ws-orb {
  position: fixed !important;
  pointer-events: none !important;
}
/* ============================================= */

/* === Left-alignment + overflow fix === */
html, body { overflow-x: hidden; }
.ws-orb { max-width: 100vw; }
.entry-content.has-global-padding {
	  padding-left: 48px;
	  padding-right: 48px;
}
.entry-content > * {
	  margin-left: 0;
	  margin-right: 0;
}

/* Force left alignment (override theme auto-centering) */
.entry-content.is-layout-constrained > *,
.entry-content > .wp-block-heading,
.entry-content > .wp-block-paragraph,
.entry-content > p,
.entry-content > h1,
.entry-content > h2,
.entry-content > h3 {
	  margin-left: 0 !important;
	  margin-right: auto !important;
}

/* Bulletproof left-align for constrained post content */
.wp-block-post-content-is-layout-constrained > *,
.entry-content.is-layout-constrained > *:not(.alignfull):not(.alignwide) {
	  margin-left: 0 !important;
	  margin-right: auto !important;
}
