@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --phx-void:#070809; --phx-panel:#101214; --phx-panel2:#15181b; --phx-line:#2a2e33;
  --phx-text:#f2f4f7; --phx-muted:#8e969f; --phx-acid:#d8ff3e; --phx-max:1320px;
  --phx-cond:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;
  --phx-body:'Inter',Arial,sans-serif; --phx-mono:'IBM Plex Mono',monospace;
}
.phx-block,.phx-block *,.phx-global-part,.phx-global-part *{box-sizing:border-box}.phx-block,.phx-global-part{background:var(--phx-void);color:var(--phx-text);font-family:var(--phx-body)}
.phx-block a,.phx-global-part a{color:inherit;text-decoration:none}.phx-shell{width:min(calc(100% - 40px),var(--phx-max));margin:auto}
.phx-line{border-top:1px solid var(--phx-line)}
.phx-kicker{font:600 11px/1.2 var(--phx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--phx-acid)}
.phx-display{font-family:var(--phx-cond);font-weight:800;line-height:.83;letter-spacing:-.035em;text-transform:uppercase;margin:0}
.phx-section-title{font:700 clamp(42px,6vw,78px)/.9 var(--phx-cond);letter-spacing:-.025em;text-transform:uppercase;margin:0}
.phx-btn{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--phx-acid);background:var(--phx-acid);color:#070809!important;padding:14px 18px;font:600 12px/1 var(--phx-mono);letter-spacing:.06em;text-transform:uppercase;transition:.2s}
.phx-btn:hover{background:transparent;color:var(--phx-acid)}.phx-btn--ghost{background:transparent;color:var(--phx-text)!important;border-color:var(--phx-line)}.phx-btn--ghost:hover{border-color:var(--phx-acid);color:var(--phx-acid)}
.phx-nav{position:relative;z-index:5;border-bottom:1px solid var(--phx-line);background:rgba(7,8,9,.94);backdrop-filter:blur(12px)}
.phx-nav__in{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.phx-logo{font:800 26px/1 var(--phx-cond);letter-spacing:.02em;text-transform:uppercase}.phx-logo b{color:var(--phx-acid)}
.phx-nav__links{display:flex;gap:24px;font:500 11px/1 var(--phx-mono);letter-spacing:.08em;text-transform:uppercase}.phx-nav__links a{color:#bcc2c9}.phx-nav__links a:hover{color:var(--phx-acid)}
.phx-hero{position:relative;min-height:calc(100vh - 72px);display:flex;align-items:end;padding:70px 0 48px;background-image:linear-gradient(rgba(216,255,62,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(216,255,62,.045) 1px,transparent 1px);background-size:42px 42px}
.phx-hero:before{content:'PHX';position:absolute;right:-.03em;top:.02em;font:800 min(33vw,510px)/.8 var(--phx-cond);color:transparent;-webkit-text-stroke:1px rgba(242,244,247,.08);pointer-events:none}
.phx-hero__grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.55fr);gap:48px;align-items:end}.phx-hero h1{font-size:clamp(72px,11.5vw,190px);max-width:none;width:100%;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.phx-hero__sub{margin:22px 0 0;max-width:680px;font-size:clamp(18px,2.2vw,27px);line-height:1.35;color:#c7ccd1}.phx-hero__meta{border-left:1px solid var(--phx-line);padding-left:26px}.phx-hero__meta p{margin:10px 0 0;font:400 13px/1.7 var(--phx-mono);color:var(--phx-muted)}
.phx-marquee{border-top:1px solid var(--phx-line);border-bottom:1px solid var(--phx-line);overflow:hidden;background:var(--phx-acid);color:#070809}.phx-marquee__track{display:flex;width:max-content;animation:phxmarq 24s linear infinite}.phx-marquee span{display:block;padding:12px 22px;font:700 13px/1 var(--phx-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}@keyframes phxmarq{to{transform:translateX(-50%)}}
.phx-section{padding:86px 0}.phx-section__head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:34px}.phx-section__index{font:500 11px/1 var(--phx-mono);color:var(--phx-muted);letter-spacing:.12em}
.phx-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--phx-line);border-left:1px solid var(--phx-line)}.phx-event{grid-column:auto!important;width:100%;min-width:0;min-height:360px;padding:24px;display:flex;flex-direction:column;border-right:1px solid var(--phx-line);border-bottom:1px solid var(--phx-line);background:var(--phx-panel);transition:.2s}.phx-event:hover{background:#161a1d}.phx-event__top{display:flex;justify-content:space-between;gap:20px}.phx-date{font:700 50px/.9 var(--phx-cond);text-transform:uppercase}.phx-date small{display:block;font:500 11px/1.2 var(--phx-mono);color:var(--phx-acid);margin-top:6px}.phx-event__tag{font:500 10px/1.3 var(--phx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--phx-muted);text-align:right}.phx-event h3{margin:auto 0 6px;font:700 38px/.92 var(--phx-cond);text-transform:uppercase}.phx-event p{margin:0;color:var(--phx-muted);font-size:14px}.phx-event__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--phx-line);margin-top:20px;padding-top:14px;font:500 10px/1 var(--phx-mono);letter-spacing:.08em;text-transform:uppercase}.phx-event__foot strong{color:var(--phx-acid);font-weight:500}
.phx-machine{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--phx-line);background:var(--phx-panel)}.phx-machine__copy{padding:clamp(34px,6vw,76px)}.phx-machine__copy h2{font:800 clamp(62px,9vw,120px)/.78 var(--phx-cond);text-transform:uppercase;margin:10px 0 24px;letter-spacing:-.04em}.phx-machine__copy p{max-width:650px;font-size:18px;line-height:1.6;color:#c7ccd1}.phx-genres{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.phx-genres span{border:1px solid var(--phx-line);padding:8px 10px;font:500 10px/1 var(--phx-mono);text-transform:uppercase;color:var(--phx-muted)}.phx-machine__visual{min-height:520px;display:grid;place-items:center;position:relative;overflow:hidden;border-left:1px solid var(--phx-line);background:radial-gradient(circle at center,rgba(216,255,62,.2),transparent 35%),repeating-radial-gradient(circle at center,#16191c 0 2px,#0b0d0f 3px 10px)}.phx-machine__disc{width:min(72%,390px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(216,255,62,.45);display:grid;place-items:center;box-shadow:0 0 0 30px rgba(216,255,62,.03),0 0 0 60px rgba(216,255,62,.02);animation:spin 16s linear infinite}.phx-machine__disc:after{content:'TECHNO MACHINE';font:700 14px/1 var(--phx-mono);letter-spacing:.18em;color:var(--phx-acid)}@keyframes spin{to{transform:rotate(360deg)}}
.phx-artists{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--phx-line)}.phx-artist{display:grid;grid-template-columns:110px 1fr;min-height:220px;border-bottom:1px solid var(--phx-line);padding:26px 0;gap:26px}.phx-artist:nth-child(odd){border-right:1px solid var(--phx-line);padding-right:28px}.phx-artist:nth-child(even){padding-left:28px}.phx-artist__num{font:700 74px/.8 var(--phx-cond);color:transparent;-webkit-text-stroke:1px var(--phx-line)}.phx-artist h3{font:700 clamp(38px,4vw,58px)/.9 var(--phx-cond);text-transform:uppercase;margin:0 0 12px}.phx-artist p{margin:0;color:var(--phx-muted);line-height:1.6}.phx-textlink{display:inline-block;margin-top:18px;color:var(--phx-acid);font:600 10px/1 var(--phx-mono);letter-spacing:.08em;text-transform:uppercase}
.phx-mag{display:grid;grid-template-columns:1.3fr .7fr .7fr;border-top:1px solid var(--phx-line);border-left:1px solid var(--phx-line)}.phx-story{min-height:360px;border-right:1px solid var(--phx-line);border-bottom:1px solid var(--phx-line);padding:26px;display:flex;flex-direction:column;background:linear-gradient(180deg,#121416,#0c0e10)}.phx-story--lead{min-height:520px;background:linear-gradient(145deg,rgba(216,255,62,.08),transparent 42%),#101214}.phx-story__meta{font:500 10px/1.3 var(--phx-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--phx-acid)}.phx-story h3{margin:auto 0 14px;font:700 clamp(34px,4.3vw,62px)/.92 var(--phx-cond);text-transform:uppercase}.phx-story:not(.phx-story--lead) h3{font-size:36px}.phx-story p{margin:0;color:var(--phx-muted);line-height:1.55}.phx-story__by{margin-top:18px;padding-top:14px;border-top:1px solid var(--phx-line);font:400 10px/1.2 var(--phx-mono);color:#9da4ac;text-transform:uppercase}
.phx-promoters{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--phx-line);border-top:1px solid var(--phx-line)}.phx-promoter{padding:26px;min-height:220px;border-right:1px solid var(--phx-line);border-bottom:1px solid var(--phx-line);display:flex;flex-direction:column;justify-content:space-between}.phx-promoter h3{font:700 36px/.9 var(--phx-cond);text-transform:uppercase;margin:0}.phx-promoter p{color:var(--phx-muted);font-size:13px;line-height:1.5;margin:20px 0 0}.phx-promoter--featured{background:var(--phx-acid);color:#070809}.phx-promoter--featured p,.phx-promoter--featured .phx-kicker{color:#070809}.phx-promoter--featured .phx-textlink{color:#070809}
.phx-cta{padding:90px 0 100px;border-top:1px solid var(--phx-line)}.phx-cta__grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.phx-cta h2{font:800 clamp(64px,10vw,150px)/.8 var(--phx-cond);text-transform:uppercase;letter-spacing:-.04em;margin:0;max-width:8ch}.phx-cta p{max-width:440px;color:var(--phx-muted);line-height:1.65}
.phx-footer{border-top:1px solid var(--phx-line);padding:28px 0 40px}.phx-footer__grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font:400 10px/1.5 var(--phx-mono);color:var(--phx-muted);text-transform:uppercase;letter-spacing:.06em}
@media(max-width:1024px){.phx-hero__grid,.phx-machine,.phx-cta__grid{grid-template-columns:1fr}.phx-hero__meta{border-left:0;border-top:1px solid var(--phx-line);padding:22px 0 0}.phx-events{grid-template-columns:repeat(2,minmax(0,1fr))}.phx-event{grid-column:auto!important}.phx-machine__visual{border-left:0;border-top:1px solid var(--phx-line);min-height:380px}.phx-mag{grid-template-columns:1fr 1fr}.phx-story--lead{grid-column:1/-1}.phx-promoters{grid-template-columns:1fr 1fr}.phx-nav__links{display:none}}
@media(max-width:700px){.phx-shell{width:min(calc(100% - 28px),var(--phx-max))}.phx-nav__in{min-height:62px}.phx-hero{min-height:760px;padding-top:54px}.phx-hero h1{font-size:clamp(66px,25vw,108px)}.phx-section{padding:66px 0}.phx-section__head{grid-template-columns:1fr}.phx-events,.phx-artists,.phx-mag,.phx-promoters{grid-template-columns:1fr}.phx-event{grid-column:auto!important}.phx-story--lead{grid-column:auto}.phx-artist{grid-template-columns:68px 1fr}.phx-artist:nth-child(odd){border-right:0;padding-right:0}.phx-artist:nth-child(even){padding-left:0}.phx-artist__num{font-size:52px}.phx-story--lead{min-height:420px}.phx-machine__copy{padding:34px 24px}.phx-machine__visual{min-height:300px}.phx-cta__grid{align-items:start}.phx-marquee span{padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.phx-marquee__track,.phx-machine__disc{animation:none}}



/* =========================================================
   UPCOMING EVENTS — BALANCED CARD TYPOGRAPHY
   ========================================================= */
.phx-event{
	min-height:430px;
}

.phx-event__body{
	display:flex;
	flex:1 1 auto;
	min-height:0;
	flex-direction:column;
	padding-top:22px;
}

.phx-event .phx-event__title{
	margin:0 0 12px;
	font-family:var(--phx-cond);
	font-size:38px;
	font-weight:700;
	line-height:.94;
	letter-spacing:-.015em;
	text-transform:uppercase;
	overflow-wrap:break-word;
	word-break:normal;
	hyphens:none;
}

/* Reduce only the display size; long titles are never truncated. */
.phx-event--title-medium .phx-event__title{font-size:34px;}
.phx-event--title-long .phx-event__title{font-size:30px;line-height:.97;}
.phx-event--title-xlong .phx-event__title{font-size:27px;line-height:1;}

.phx-event .phx-event__description{
	margin:0;
	color:var(--phx-muted);
	font-size:13px;
	line-height:1.5;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
	overflow:hidden;
}

.phx-event__artists{
	margin-top:12px;
	font:500 10px/1.4 var(--phx-mono);
	letter-spacing:.06em;
	text-transform:uppercase;
	color:#b8bec5;
}

.phx-event .phx-event__foot{
	margin-top:auto;
	padding-top:14px;
}

.phx-event__foot strong a{
	color:inherit;
	text-decoration:none;
}

.phx-event__foot strong a:hover{
	text-decoration:underline;
}

@media(max-width:1024px){
	.phx-event{min-height:410px;}
	.phx-event .phx-event__title{font-size:36px;}
	.phx-event--title-medium .phx-event__title{font-size:33px;}
	.phx-event--title-long .phx-event__title{font-size:30px;}
	.phx-event--title-xlong .phx-event__title{font-size:27px;}
}

@media(max-width:700px){
	.phx-event{min-height:0;}
	.phx-event .phx-event__title,
	.phx-event--title-medium .phx-event__title,
	.phx-event--title-long .phx-event__title,
	.phx-event--title-xlong .phx-event__title{
		font-size:clamp(30px,10vw,42px);
		line-height:.96;
	}
	.phx-event .phx-event__description{-webkit-line-clamp:4;}
}

/* =========================================================
   ELEMENTOR / GLOBAL INTEGRATION
   ========================================================= */
body.elementor-page{background:var(--phx-void);}
.elementor-widget-html:has(.phx-block),
.elementor-widget-html:has(.phx-global-part){width:100%;}
.elementor-widget-html > .elementor-widget-container:has(> .phx-block),
.elementor-widget-html > .elementor-widget-container:has(> .phx-global-part){width:100%;}
.phx-block,.phx-global-part{width:100%;margin:0;overflow:hidden;}
.phx-block img,.phx-global-part img{max-width:100%;height:auto;}

/* Global header mobile navigation. */
.phx-nav__mobile{display:none;position:relative;margin-left:auto;}
.phx-nav__mobile summary{list-style:none;cursor:pointer;border:1px solid var(--phx-line);padding:12px 14px;font:600 11px/1 var(--phx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--phx-text);}
.phx-nav__mobile summary::-webkit-details-marker{display:none;}
.phx-nav__mobile[open] summary{border-color:var(--phx-acid);color:var(--phx-acid);}
.phx-nav__mobile-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(310px,calc(100vw - 28px));background:var(--phx-panel);border:1px solid var(--phx-line);box-shadow:0 18px 50px rgba(0,0,0,.35);z-index:100;}
.phx-nav__mobile-panel a{display:block;padding:15px 16px;border-bottom:1px solid var(--phx-line);font:500 11px/1.2 var(--phx-mono);letter-spacing:.08em;text-transform:uppercase;color:#bcc2c9;}
.phx-nav__mobile-panel a:last-child{border-bottom:0;background:var(--phx-acid);color:#070809;font-weight:600;}
.phx-nav__mobile-panel a:hover{color:var(--phx-acid);}
.phx-nav__mobile-panel a:last-child:hover{color:#070809;}

@media(max-width:1024px){
  .phx-nav__mobile{display:block;}
}
@media(max-width:700px){
  .phx-nav__desktop-cta{display:none;}
  .phx-nav__in{gap:12px;}
  .phx-logo{font-size:23px;}
}



/* =========================================================
   PHXTECHNO — SINGLE NEWSLETTER
   Full theme reset + editorial article layout.
   ========================================================= */

body.single-phx_newsletter {
	background: var(--phx-void, #070809) !important;
	color: var(--phx-text, #f2f4f7);
	overflow-x: hidden;
}

/* Astra opens its normal content wrapper around plugin templates. Let the
 * PHXTechno shell control the width instead of Astra's blog container. */
body.single-phx_newsletter .site-content,
body.single-phx_newsletter #content,
body.single-phx_newsletter #page {
	background: var(--phx-void, #070809) !important;
}

body.single-phx_newsletter .site-content > .ast-container,
body.single-phx_newsletter #content > .ast-container {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.phx-newsletter-page {
	width: 100%;
	min-height: 70vh;
	margin: 0;
	padding: 0 0 110px;
	background: var(--phx-void, #070809) !important;
	color: var(--phx-text, #f2f4f7);
}

.phx-newsletter-page__shell {
	width: min(calc(100% - 40px), var(--phx-max, 1320px));
	margin: 0 auto;
}

/* Astra's .ast-article-single is added through post_class(). This reset is
 * deliberately strong so its white card/padding never reaches newsletters. */
body.single-phx_newsletter article.phx-newsletter-article,
body.single-phx_newsletter article.phx-newsletter-article.ast-article-single,
body.single-phx_newsletter .ast-separate-container article.phx-newsletter-article,
body.single-phx_newsletter .ast-plain-container article.phx-newsletter-article {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--phx-text, #f2f4f7) !important;
}

.phx-newsletter-article__back {
	display: flex;
	align-items: center;
	min-height: 64px;
	margin: 0;
	border-bottom: 1px solid var(--phx-line, #2a2e33);
	font: 600 10px/1 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--phx-muted, #8e969f) !important;
	text-decoration: none !important;
}

.phx-newsletter-article__back:hover {
	color: var(--phx-acid, #d8ff3e) !important;
}

.phx-newsletter-article__header {
	position: relative;
	isolation: isolate;
	padding: clamp(46px, 6vw, 78px) 0 46px;
	border-bottom: 1px solid var(--phx-line, #2a2e33);
	background-image:
		linear-gradient(rgba(216,255,62,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(216,255,62,.025) 1px, transparent 1px);
	background-size: 42px 42px;
}

.phx-newsletter-article__header::after {
	content: 'READ';
	position: absolute;
	right: -0.02em;
	top: .12em;
	z-index: -1;
	font: 800 min(22vw, 300px)/.8 var(--phx-cond, "Barlow Condensed", Impact, sans-serif);
	letter-spacing: -.04em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(242,244,247,.045);
	pointer-events: none;
}

.phx-newsletter-article__eyebrow {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 22px;
	font: 600 11px/1.25 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--phx-acid, #d8ff3e) !important;
}

.phx-newsletter-article__eyebrow span:nth-child(2) {
	color: var(--phx-muted, #8e969f) !important;
}

.phx-newsletter-article__title {
	max-width: 13ch;
	margin: 0 !important;
	font-family: var(--phx-cond, "Barlow Condensed", Impact, sans-serif) !important;
	font-size: clamp(62px, 7.5vw, 118px);
	font-weight: 800 !important;
	line-height: .86 !important;
	letter-spacing: -.035em !important;
	text-transform: uppercase;
	color: var(--phx-text, #f2f4f7) !important;
	text-wrap: balance;
	overflow-wrap: normal;
	word-break: normal;
}

/* Keep long editorial headlines commanding without letting them dominate
 * multiple viewports. The class is assigned from title length in PHP. */
.phx-newsletter-article__title--medium {
	max-width: 14ch;
	font-size: clamp(60px, 7vw, 108px);
}

.phx-newsletter-article__title--long {
	max-width: 15ch;
	font-size: clamp(56px, 6.3vw, 96px);
	line-height: .89 !important;
}

.phx-newsletter-article__title--xlong {
	max-width: 16ch;
	font-size: clamp(52px, 5.6vw, 86px);
	line-height: .91 !important;
}

.phx-newsletter-article__dek {
	max-width: 780px;
	margin: 28px 0 0 !important;
	font: 400 clamp(18px, 1.55vw, 23px)/1.5 var(--phx-body, Inter, sans-serif) !important;
	color: #c7ccd1 !important;
}

.phx-newsletter-article__meta {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	max-width: 100%;
	margin-top: 34px;
	padding-top: 18px;
	border-top: 1px solid var(--phx-line, #2a2e33);
	font: 500 10px/1.3 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--phx-muted, #8e969f) !important;
}

.phx-newsletter-article__image {
	margin: 42px 0 0;
	border: 1px solid var(--phx-line, #2a2e33);
	background: var(--phx-panel, #101214);
	overflow: hidden;
}

.phx-newsletter-article__image img {
	display: block;
	width: 100%;
	max-height: 720px;
	margin: 0;
	object-fit: cover;
}

.phx-newsletter-article__layout {
	display: grid;
	grid-template-columns: minmax(170px, 210px) minmax(0, 760px);
	gap: clamp(48px, 7vw, 110px);
	max-width: 1100px;
	padding: 64px 0 20px;
}

.phx-newsletter-article__rail {
	position: sticky;
	top: 110px;
	align-self: start;
}

.phx-newsletter-article__rail-label {
	padding-bottom: 13px;
	border-bottom: 1px solid var(--phx-line, #2a2e33);
	font: 600 10px/1.2 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--phx-acid, #d8ff3e) !important;
}

.phx-newsletter-article__rail dl,
.phx-newsletter-article__rail dd {
	margin: 0;
}

.phx-newsletter-article__rail dl > div {
	padding: 15px 0;
	border-bottom: 1px solid var(--phx-line, #2a2e33);
}

.phx-newsletter-article__rail dt {
	margin: 0 0 5px;
	font: 500 9px/1.2 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--phx-muted, #8e969f) !important;
}

.phx-newsletter-article__rail dd {
	font: 500 12px/1.5 var(--phx-mono, "IBM Plex Mono", monospace);
	text-transform: uppercase;
	color: var(--phx-text, #f2f4f7) !important;
}

.phx-newsletter-article__content.entry-content {
	min-width: 0;
	width: auto !important;
	max-width: 760px;
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--phx-body, Inter, sans-serif) !important;
	font-size: clamp(17px, 1.15vw, 19px) !important;
	line-height: 1.78 !important;
	color: #c7ccd1 !important;
}

.phx-newsletter-article__content > *:first-child {
	margin-top: 0 !important;
}

.phx-newsletter-article__content p {
	margin: 0 0 1.5em !important;
	color: #c7ccd1 !important;
}

.phx-newsletter-article__content h2,
.phx-newsletter-article__content h3,
.phx-newsletter-article__content h4 {
	font-family: var(--phx-cond, "Barlow Condensed", Impact, sans-serif) !important;
	font-weight: 700 !important;
	line-height: .95 !important;
	letter-spacing: -.02em !important;
	text-transform: uppercase;
	color: var(--phx-text, #f2f4f7) !important;
}

.phx-newsletter-article__content h2 {
	margin: 1.35em 0 .45em !important;
	font-size: clamp(40px, 4.5vw, 62px) !important;
}

.phx-newsletter-article__content h3 {
	margin: 1.4em 0 .45em !important;
	font-size: clamp(30px, 3.2vw, 44px) !important;
}

.phx-newsletter-article__content h4 {
	margin: 1.5em 0 .5em !important;
	font-size: 27px !important;
}

.phx-newsletter-article__content a {
	color: var(--phx-acid, #d8ff3e) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.phx-newsletter-article__content strong {
	color: var(--phx-text, #f2f4f7) !important;
}

.phx-newsletter-article__content blockquote {
	margin: 42px 0 !important;
	padding: 8px 0 8px 26px !important;
	border-left: 2px solid var(--phx-acid, #d8ff3e) !important;
	font: 600 clamp(25px, 2.7vw, 38px)/1.1 var(--phx-cond, "Barlow Condensed", Impact, sans-serif) !important;
	text-transform: uppercase;
	color: var(--phx-text, #f2f4f7) !important;
}

.phx-newsletter-article__content ul,
.phx-newsletter-article__content ol {
	margin: 0 0 1.6em !important;
	padding-left: 1.3em !important;
}

.phx-newsletter-article__content li {
	margin-bottom: .55em;
}

.phx-newsletter-article__content hr {
	margin: 48px 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--phx-line, #2a2e33) !important;
}

.phx-newsletter-article__content img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--phx-line, #2a2e33);
}

.phx-newsletter-article__content figcaption {
	margin-top: 9px;
	font: 400 10px/1.5 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--phx-muted, #8e969f) !important;
}

.phx-newsletter-article__footer {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	max-width: 1100px;
	margin-top: 70px;
	padding-top: 24px;
	border-top: 1px solid var(--phx-line, #2a2e33);
}

.phx-newsletter-article__footer a {
	font: 600 10px/1.2 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--phx-acid, #d8ff3e) !important;
	text-decoration: none !important;
}

@media (max-width: 900px) {
	.phx-newsletter-article__layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.phx-newsletter-article__rail {
		display: none;
		position: static;
	}

	.phx-newsletter-article__content.entry-content {
		max-width: 820px;
	}
}

@media (max-width: 700px) {
	.phx-newsletter-page {
		padding-bottom: 78px;
	}

	.phx-newsletter-page__shell {
		width: min(calc(100% - 28px), var(--phx-max, 1320px));
	}

	.phx-newsletter-article__back {
		min-height: 56px;
	}

	.phx-newsletter-article__header {
		padding: 38px 0 32px;
		background-size: 34px 34px;
	}

	.phx-newsletter-article__header::after {
		display: none;
	}

	.phx-newsletter-article__eyebrow {
		margin-bottom: 17px;
		font-size: 9px;
	}

	.phx-newsletter-article__title,
	.phx-newsletter-article__title--medium,
	.phx-newsletter-article__title--long,
	.phx-newsletter-article__title--xlong {
		max-width: none;
		font-size: clamp(48px, 15vw, 76px);
		line-height: .9 !important;
	}

	.phx-newsletter-article__dek {
		margin-top: 20px !important;
		font-size: 17px !important;
	}

	.phx-newsletter-article__meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
		margin-top: 26px;
		padding-top: 15px;
	}

	.phx-newsletter-article__image {
		margin-top: 28px;
	}

	.phx-newsletter-article__layout {
		padding-top: 38px;
	}

	.phx-newsletter-article__footer {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 52px;
	}
}

/* =========================================================
   PHXTECHNO SITE MANAGER - TECHNO MACHINE CURRENT VIDEO
   ========================================================= */
.phx-machine__visual[data-phx-machine]{
	position:relative;
	min-width:0;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:center;
	gap:12px;
	padding:clamp(18px,3vw,34px);
}
.phx-machine__stage{
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	background:#080808;
	border:1px solid rgba(255,255,255,.18);
	overflow:hidden;
}
.phx-machine__slide{
	position:absolute;
	inset:0;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .45s ease,visibility .45s ease;
}
.phx-machine__slide.is-active{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}
.phx-machine__poster{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	padding:0;
	border:0;
	background:#080808;
	color:inherit;
	cursor:pointer;
	text-align:left;
}
.phx-machine__poster img{
	position:absolute;
	/* 1px overscan prevents a sub-pixel seam on hover without changing layout. */
	inset:-1px;
	display:block;
	width:calc(100% + 2px);
	height:calc(100% + 2px);
	max-width:none;
	object-fit:cover;
	object-position:center;
	/*
	 * Keep the thumbnail bitmap completely static on hover.
	 * CSS transform/filter compositing can expose a one-pixel acid seam
	 * along the clipped edge in Chromium/WebKit. Hover feedback remains
	 * on the play control instead.
	 */
	transform:none;
	filter:none;
	transition:none;
}
.phx-machine__poster:hover img{
	transform:none;
	filter:none;
}
.phx-machine__shade{
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg,rgba(7,8,9,.16) 0%,rgba(7,8,9,.08) 34%,rgba(7,8,9,.82) 100%),
		linear-gradient(90deg,rgba(7,8,9,.25),transparent 55%);
	pointer-events:none;
}
.phx-machine__genre{
	position:absolute;
	top:18px;
	left:18px;
	z-index:2;
	border:1px solid rgba(216,255,62,.65);
	background:rgba(7,8,9,.76);
	backdrop-filter:blur(7px);
	padding:8px 10px;
	color:var(--phx-acid);
	font:600 9px/1 var(--phx-mono);
	letter-spacing:.08em;
	text-transform:uppercase;
}
.phx-machine__play{
	position:absolute;
	inset:0;
	z-index:2;
	display:grid;
	place-items:center;
	pointer-events:none;
}
.phx-machine__play span{
	display:grid;
	place-items:center;
	width:72px;
	aspect-ratio:1;
	border:1px solid rgba(216,255,62,.75);
	border-radius:50%;
	background:rgba(7,8,9,.62);
	box-shadow:0 0 0 12px rgba(216,255,62,.035);
	color:var(--phx-acid);
	font-size:20px;
	line-height:1;
	padding-left:4px;
	backdrop-filter:blur(8px);
	transition:transform .2s ease,background .2s ease;
}
.phx-machine__poster:hover .phx-machine__play span{
	transform:scale(1.06);
	background:rgba(7,8,9,.82);
}
.phx-machine__meta{
	position:absolute;
	left:18px;
	right:18px;
	bottom:18px;
	z-index:3;
	display:flex;
	flex-direction:column;
	gap:7px;
	max-width:calc(100% - 36px);
	pointer-events:none;
}
.phx-machine__meta small{
	color:var(--phx-acid);
	font:600 9px/1 var(--phx-mono);
	letter-spacing:.12em;
	text-transform:uppercase;
}
.phx-machine__meta strong{
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	overflow:hidden;
	max-width:20ch;
	color:var(--phx-text);
	font:700 clamp(24px,3vw,42px)/.92 var(--phx-cond);
	letter-spacing:-.015em;
	text-transform:uppercase;
	text-shadow:0 2px 18px rgba(0,0,0,.75);
}
.phx-machine__iframe{
	position:absolute;
	inset:0;
	z-index:5;
	display:block;
	width:100%;
	height:100%;
	border:0;
	background:#080808;
}
.phx-machine__slide.is-playing .phx-machine__poster{
	opacity:0;
	visibility:hidden;
	pointer-events:none;
}
.phx-machine__switcher{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	border:1px solid var(--phx-line);
	background:rgba(7,8,9,.8);
}
.phx-machine__switcher button{
	appearance:none;
	min-width:0;
	border:0;
	background:transparent;
	color:var(--phx-muted);
	padding:13px 14px;
	font:500 9px/1.25 var(--phx-mono);
	letter-spacing:.06em;
	text-align:left;
	text-transform:uppercase;
	cursor:pointer;
	transition:background .2s ease,color .2s ease;
}
.phx-machine__switcher button + button{
	border-left:1px solid var(--phx-line);
}
.phx-machine__switcher button span{
	display:block;
	margin-bottom:5px;
	color:#6f767d;
	font-size:8px;
}
.phx-machine__switcher button:hover,
.phx-machine__switcher button.is-active{
	background:rgba(216,255,62,.055);
	color:var(--phx-acid);
}
.phx-machine__switcher button.is-active span{
	color:var(--phx-acid);
}
.phx-machine__fallback{
	display:flex;
	min-height:300px;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:13px;
	border:1px solid var(--phx-line);
	background:radial-gradient(circle at center,rgba(216,255,62,.14),transparent 40%),#0b0d0f;
	text-align:center;
}
.phx-machine__fallback span{
	color:var(--phx-acid);
	font:700 13px/1 var(--phx-mono);
	letter-spacing:.16em;
}
.phx-machine__fallback strong{
	color:var(--phx-text);
	font:600 10px/1 var(--phx-mono);
	letter-spacing:.08em;
	text-transform:uppercase;
}
@media(max-width:700px){
	.phx-machine__visual[data-phx-machine]{padding:14px;}
	.phx-machine__genre{top:12px;left:12px;padding:7px 8px;}
	.phx-machine__meta{left:12px;right:12px;bottom:12px;max-width:calc(100% - 24px);}
	.phx-machine__meta strong{font-size:clamp(21px,7.5vw,34px);}
	.phx-machine__play span{width:58px;font-size:16px;}
	.phx-machine__switcher{grid-template-columns:1fr;}
	.phx-machine__switcher button + button{border-left:0;border-top:1px solid var(--phx-line);}
}
@media(prefers-reduced-motion:reduce){
	.phx-machine__slide,
	.phx-machine__poster img,
	.phx-machine__play span{transition:none;}
}

/* =========================================================
   PHXTECHNO MAGAZINE ARCHIVE
   ========================================================= */
body.post-type-archive-phx_newsletter{
	background:var(--phx-void);
	color:var(--phx-text);
}
body.post-type-archive-phx_newsletter .site-content,
body.post-type-archive-phx_newsletter #content,
body.post-type-archive-phx_newsletter #page{
	background:var(--phx-void);
}
.phx-newsletter-archive{
	min-height:70vh;
	padding:76px 0 110px;
}
.phx-newsletter-archive__header{
	padding-bottom:42px;
	border-bottom:1px solid var(--phx-line);
}
.phx-newsletter-archive__header p{
	max-width:680px;
	margin:20px 0 0;
	color:var(--phx-muted);
	font-size:17px;
	line-height:1.6;
}
.phx-newsletter-archive__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	border-left:1px solid var(--phx-line);
}
.phx-newsletter-archive__card{
	min-height:390px;
	padding:28px;
	display:flex;
	flex-direction:column;
	border-right:1px solid var(--phx-line);
	border-bottom:1px solid var(--phx-line);
	background:var(--phx-panel);
}
.phx-newsletter-archive__card h2{
	margin:auto 0 16px;
	font:700 clamp(32px,3.3vw,48px)/.94 var(--phx-cond);
	letter-spacing:-.02em;
	text-transform:uppercase;
}
.phx-newsletter-archive__card h2 a{color:var(--phx-text)!important;text-decoration:none!important;}
.phx-newsletter-archive__card h2 a:hover{color:var(--phx-acid)!important;}
.phx-newsletter-archive__card p{
	margin:0;
	color:var(--phx-muted);
	line-height:1.55;
}
.phx-newsletter-archive__pagination{
	padding-top:34px;
	font-family:var(--phx-mono);
}
.phx-newsletter-archive__pagination a,
.phx-newsletter-archive__pagination span{
	color:var(--phx-text)!important;
	margin-right:12px;
}
.phx-newsletter-archive__pagination .current{color:var(--phx-acid)!important;}
@media(max-width:1024px){.phx-newsletter-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){
	.phx-newsletter-archive{padding:58px 0 80px;}
	.phx-newsletter-archive__grid{grid-template-columns:1fr;}
	.phx-newsletter-archive__card{min-height:320px;}
}

/* =========================================================
   INSTAGRAM-INGESTED NEWSLETTER SOURCE
   ========================================================= */

.phxsm-instagram-source {
	margin: 54px 0 0;
	padding: 22px 24px;
	border: 1px solid var(--phx-line, #2a2e33);
	background: var(--phx-panel, #101214);
}

.phxsm-instagram-source__label {
	margin-bottom: 9px;
	font: 600 9px/1.2 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--phx-acid, #d8ff3e);
}

.phx-newsletter-article__content .phxsm-instagram-source p {
	margin: 0;
	font: 500 11px/1.7 var(--phx-mono, "IBM Plex Mono", monospace);
	letter-spacing: .035em;
	text-transform: uppercase;
	color: var(--phx-muted, #8e969f);
}

.phx-newsletter-article__rail dd a {
	color: var(--phx-acid, #d8ff3e) !important;
	text-decoration: none !important;
}

.phx-newsletter-article__rail dd a:hover {
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.phx-newsletter-article__footer {
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

@media (max-width: 700px) {
	.phxsm-instagram-source {
		margin-top: 40px;
		padding: 18px;
	}

	.phx-newsletter-article__footer {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* =========================================================
   MAGAZINE INDEX / ALL NEWSLETTERS — v1.2.3
   ========================================================= */
.phx-magazine__index{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:9px;
}
.phx-magazine__index > span{
	display:block;
}
.phx-magazine__index > a{
	color:var(--phx-acid)!important;
	font:600 9px/1.2 var(--phx-mono);
	letter-spacing:.1em;
	text-decoration:none!important;
	text-transform:uppercase;
	white-space:nowrap;
}
.phx-magazine__index > a:hover{
	text-decoration:underline!important;
}

body.post-type-archive-phx_newsletter .ast-container,
body.post-type-archive-phx_newsletter .content-area,
body.post-type-archive-phx_newsletter .site-main{
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
}
.phx-newsletter-archive{
	min-height:70vh;
	/* 84px archive spacing + ~72px global header clearance. */
	padding:156px 0 112px;
	background:
		linear-gradient(rgba(216,255,62,.025) 1px,transparent 1px),
		linear-gradient(90deg,rgba(216,255,62,.025) 1px,transparent 1px),
		var(--phx-void);
	background-size:42px 42px;
}
.phx-newsletter-archive__header{
	padding:0 0 48px;
	border-bottom:0;
}
.phx-newsletter-archive__head-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:40px;
	align-items:end;
}
.phx-newsletter-archive__header .phx-section-title{
	margin-top:8px;
	font-size:clamp(72px,9vw,132px);
}
.phx-newsletter-archive__header p{
	max-width:720px;
	margin:28px 0 0;
	font-size:clamp(16px,1.6vw,20px);
}
.phx-newsletter-archive__count{
	dis:flex;
	flex-direction:column;
	align-items:flex-end;
	padding-bottom:8px;
	font-family:var(--phx-mono);
	text-transform:uppercase;
}
.phx-newsletter-archive__count span{
	color:var(--phx-muted);
	font-size:10px;
	letter-spacing:.12em;
}
.phx-newsletter-archive__count strong{
	margin-top:7px;
	color:var(--phx-text);
	font-size:30px;
	font-weight:500;
	letter-spacing:-.04em;
}
.phx-newsletter-archive__grid{
	dis:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	border-top:1px solid var(--phx-line);
	border-left:1px solid var(--phx-line);
}
.phx-newsletter-archive__card{
	position:relative;
	min-height:430px;
	padding:28px;
	display:flex;
	flex-direction:column;
	border-right:1px solid var(--phx-line);
	border-bottom:1px solid var(--phx-line);
	background:linear-gradient(180deg,#121416,#0c0e10);
	transition:background .2s ease;
}
.phx-newsletter-archive__card:nth-child(6n+1){
	background:linear-gradient(145deg,rgba(216,255,62,.055),transparent 48%),#101214;
}
.phx-newsletter-archive__card:hover{
	background:linear-gradient(145deg,rgba(216,255,62,.08),transparent 50%),#101214;
}
.phx-newsletter-archive__card-top{
	display:flex;
	justify-content:space-between;
	gap:20px;
	align-items:flex-start;
}
.phx-newsletter-archive__number{
	flex:0 0 auto;
	color:#555d65;
	font:500 10px/1 var(--phx-mono);
	letter-spacing:.08em;
}
.phx-newsletter-archive__card-copy{
	margin-top:auto;
	padding-top:58px;
}
.phx-newsletter-archive__card h2,
.phx-newsletter-archive__title{
	margin:0 0 16px;
	font:700 clamp(35px,3.2vw,50px)/.92 var(--phx-cond);
	letter-spacing:-.025em;
	text-transform:uppercase;
	text-wrap:balance;
}
.phx-newsletter-archive__title--medium{
	font-size:clamp(32px,2.8vw,44px)!important;
}
.phx-newsletter-archive__title--long{
	font-size:clamp(29px,2.5vw,40px)!important;
}
.phx-newsletter-archive__title--xlong{
	font-size:clamp(26px,2.25vw,36px)!important;
}
.phx-newsletter-archive__card p{
	margin:0;
	color:var(--phx-muted);
	font-size:14px;
	line-height:1.6;
}
.phx-newsletter-archive__read{
	margin-top:22px;
}
.phx-newsletter-archive__empty{
	padding:80px 0;
	border-top:1px solid var(--phx-line);
}
.phx-newsletter-archive__empty h2{
	margin:12px 0 0;
	font:700 clamp(46px,7vw,94px)/.9 var(--phx-cond);
	text-transform:uppercase;
}

@media(max-width:1024px){
	.phx-newsletter-archive__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.phx-newsletter-archive__card{
		min-height:390px;
	}
}

@media(max-width:700px){
	.phx-magazine__index{
		align-items:flex-start;
		margin-top:12px;
	}
	.phx-newsletter-archive{
		/* Preserve the original mobile spacing plus header clearance. */
		padding:120px 0 80px;
	}
	.phx-newsletter-archive__head-grid{
		grid-template-columns:1fr;
		gap:22px;
	}
	.phx-newsletter-archive__count{
		align-items:flex-start;
	}
	.phx-newsletter-archive__header .phx-section-title{
		font-size:clamp(62px,22vw,100px);
	}
	.phx-newsletter-archive__grid{
		grid-template-columns:1fr;
	}
	.phx-newsletter-archive__card{
		min-height:340px;
		padding:24px;
	}
	.phx-newsletter-archive__card-copy{
		padding-top:42px;
	}
}

/* =========================================================
   MAGAZINE ARCHIVE BREATHING ROOM — v1.2.7
   The archive itself is #primary, so do not zero its padding in
   the Astra reset above. Apply spacing directly to that element.
   ========================================================= */
body.post-type-archive-phx_newsletter #primary.phx-newsletter-archive {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding-top: 72px !important;
	padding-bottom: 120px !important;
}

@media (max-width: 700px) {
	body.post-type-archive-phx_newsletter #primary.phx-newsletter-archive {
		padding-top: 48px !important;
		padding-bottom: 88px !important;
	}
}
