/* ============================================================================
   Agence Rizz — Secondary pages styles
   Loads on every page EXCEPT the home (which uses rizz-home.css).
   ============================================================================ */


/* ============================================================================
   FOOTER (shared by all secondary pages)
   ============================================================================ */
.rz-foot {
	margin-top: 120px;
	padding: 60px 0 40px;
	border-top: 1px solid var(--line);
}
.rz-foot__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
	gap: 48px;
	margin-bottom: 60px;
	align-items: start;
}
@media (max-width: 900px) { .rz-foot__grid { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 520px) { .rz-foot__grid { grid-template-columns: 1fr; } }

.rz-foot__logo { display: block; height: 96px; width: auto; margin-bottom: 22px; margin-left: -4px; }
.rz-foot__pitch { font-size: 14px; line-height: 1.55; color: var(--ink-2); max-width: 300px; }
.rz-foot__pitch em { font-family: var(--display); font-style: italic; color: var(--accent); }
.rz-foot__col h4 { font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); margin: 0 0 16px; font-weight: 400; }
.rz-foot__col ul { list-style: none; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
.rz-foot__col li, .rz-foot__col a { font-size: 14px; color: var(--ink-2); text-decoration: none; transition: color .25s ease; }
.rz-foot__col a:hover { color: var(--ink); }
.rz-foot__col .v--strong { color: var(--ink); }
.rz-foot__col .coord { font-family: var(--mono); font-size: 11px; color: var(--muted); margin-top: 12px; }

.rz-foot__bottom {
	display: flex; justify-content: space-between; align-items: center;
	padding-top: 24px; border-top: 1px solid var(--line);
	flex-wrap: wrap; gap: 16px;
	font-family: var(--mono); font-size: 11px; color: var(--muted);
}

/* ============================================================================
   AGENCE PAGE (.ag-*)
   ============================================================================ */
.ag-hero { padding: 180px 0 60px; }
.ag-hero .crumb {
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--muted); margin-bottom: 24px;
}
.ag-hero h1 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(56px, 11vw, 184px);
	line-height: 0.9; letter-spacing: -0.045em;
	text-wrap: balance; max-width: 16ch;
}
.ag-hero h1 em { font-family: var(--display); font-style: italic; color: var(--accent); }
.ag-hero h1 p { margin: 0; }
.ag-hero .lead {
	max-width: 620px; margin-top: 36px;
	font-size: 20px; line-height: 1.55; color: var(--ink-2);
}

.ag-stats {
	display: grid; grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	margin-top: 80px;
}
@media (max-width: 760px) { .ag-stats { grid-template-columns: repeat(2, 1fr); } }
.ag-stat {
	padding: 36px 28px;
	border-right: 1px solid var(--line);
	display: flex; flex-direction: column; gap: 8px;
}
.ag-stat:last-child { border-right: 0; }
@media (max-width: 760px) {
	.ag-stat:nth-child(2) { border-right: 0; }
	.ag-stat:nth-child(1), .ag-stat:nth-child(2) { border-bottom: 1px solid var(--line); }
}
.ag-stat__num {
	font-family: var(--display); font-style: italic;
	font-size: clamp(48px, 6vw, 96px); line-height: 0.9;
	color: var(--accent); letter-spacing: -0.02em;
}
.ag-stat__lbl {
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--muted);
}

.ag-story {
	padding: 140px 0;
	background: var(--ink); color: var(--bg);
	position: relative; overflow: hidden;
}
.ag-story__inner { position: relative; z-index: 1; }
.ag-story .tag {
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--accent);
	display: inline-flex; align-items: center; gap: 10px;
	margin-bottom: 28px;
}
.ag-story .tag::before { content: ""; width: 28px; height: 1px; background: var(--accent); }
.ag-story h2 {
	font-family: var(--sans); font-weight: 300;
	font-size: clamp(34px, 4.8vw, 80px);
	line-height: 1.04; letter-spacing: -0.025em;
	max-width: 22ch; text-wrap: balance;
}
.ag-story h2 em, .ag-story h2 .accent { font-family: var(--display); font-style: italic; color: var(--accent); }
.ag-story h2 .mute { color: rgba(255,255,255,0.4); font-family: var(--sans); }

.ag-helmet {
	position: absolute; top: clamp(40px, 6vw, 110px);
	right: clamp(-40px, -3vw, 0px);
	width: clamp(280px, 32vw, 480px);
	pointer-events: none;
	transform: rotate(-8deg);
	filter: drop-shadow(0 30px 60px rgba(255,92,26,0.25)) drop-shadow(0 8px 18px rgba(0,0,0,0.35));
	z-index: 0;
}
@media (max-width: 760px) { .ag-helmet { opacity: 0.22; right: -50px; width: 320px; } }

.ag-values { padding: 120px 0; border-top: 1px solid var(--line); }
.ag-values__head { display: flex; align-items: baseline; gap: 18px; margin-bottom: 60px; }
.ag-values__head .num {
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--accent);
}
.ag-values__head h2 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(40px, 6.4vw, 96px);
	line-height: 0.95; letter-spacing: -0.035em;
	text-wrap: balance;
}
.ag-values__head h2 em { font-family: var(--display); font-style: italic; color: var(--accent); }
.ag-grid4 {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 0;
	border-top: 1px solid var(--line);
}
@media (max-width: 760px) { .ag-grid4 { grid-template-columns: 1fr; } }
.ag-val { padding: 40px 0; border-bottom: 1px solid var(--line); padding-right: 32px; }
.ag-val:nth-child(odd)  { border-right: 1px solid var(--line); padding-right: 40px; }
.ag-val:nth-child(even) { padding-left: 40px; }
@media (max-width: 760px) {
	.ag-val { padding: 32px 0; border-right: 0; padding-left: 0; padding-right: 0; }
}
.ag-val__num { font-family: var(--display); font-style: italic; font-size: 24px; color: var(--accent); margin-bottom: 12px; }
.ag-val h3 {
	font-family: var(--sans); font-weight: 500;
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: 1.15; letter-spacing: -0.015em;
	margin-bottom: 12px;
}
.ag-val p { color: var(--muted); line-height: 1.55; font-size: 15px; text-wrap: pretty; }

.ag-process { padding: 120px 0; background: var(--bg-soft); }
.ag-process h2 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(40px, 6vw, 88px);
	line-height: 0.95; letter-spacing: -0.035em;
	max-width: 16ch; margin-bottom: 64px;
}
.ag-process h2 em { font-family: var(--display); font-style: italic; color: var(--accent); }
.ag-timeline {
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 0;
	border-top: 1px solid var(--line);
}
@media (max-width: 900px) { .ag-timeline { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .ag-timeline { grid-template-columns: 1fr; } }
.ag-step {
	padding: 28px 24px 36px;
	border-right: 1px solid var(--line);
	display: flex; flex-direction: column; gap: 12px;
	min-height: 220px;
	transition: background .25s ease;
}
.ag-step:last-child { border-right: 0; }
.ag-step:hover { background: var(--bg); }
.ag-step__num { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; color: var(--accent); }
.ag-step h4 {
	font-family: var(--sans); font-weight: 500;
	font-size: 20px; line-height: 1.15; letter-spacing: -0.015em;
}
.ag-step p { font-size: 13.5px; color: var(--muted); line-height: 1.55; text-wrap: pretty; }
.ag-step__week { margin-top: auto; font-family: var(--display); font-style: italic; color: var(--ink-2); font-size: 18px; }

.ag-specialty {
	padding: 120px 0;
	background: var(--accent); color: var(--accent-ink);
	position: relative; overflow: hidden;
}
.ag-specialty h2 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(40px, 6.4vw, 104px);
	line-height: 0.92; letter-spacing: -0.04em;
	max-width: 18ch; text-wrap: balance;
}
.ag-specialty h2 em { font-family: var(--display); font-style: italic; }
.ag-specialty .lead {
	margin-top: 32px; font-size: 19px; line-height: 1.55;
	max-width: 600px; color: rgba(12,11,9,0.78);
}
.ag-specialty__chips { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 10px; }
.ag-specialty__chip {
	padding: 11px 18px; border-radius: 999px;
	background: var(--ink); color: var(--bg);
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.1em; text-transform: uppercase;
}

.ag-cta {
	padding: 120px 0 140px;
	text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 28px;
}
.ag-cta .label {
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--accent);
}
.ag-cta h2 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(40px, 7vw, 120px);
	line-height: 0.95; letter-spacing: -0.04em;
	max-width: 18ch; text-wrap: balance;
}
.ag-cta h2 em { font-family: var(--display); font-style: italic; color: var(--accent); }


/* ============================================================================
   WORK PAGE (.wk-*)
   ============================================================================ */
.wk-hero { padding: 180px 0 60px; }
.wk-hero .crumb {
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--muted); margin-bottom: 24px;
}
.wk-hero h1 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(56px, 11vw, 184px);
	line-height: 0.9; letter-spacing: -0.045em;
	text-wrap: balance; max-width: 14ch;
}
.wk-hero h1 em { font-family: var(--display); font-style: italic; color: var(--accent); }
.wk-hero .lead { max-width: 620px; margin-top: 36px; font-size: 20px; line-height: 1.55; color: var(--ink-2); }

.wk-stats {
	display: grid; grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	margin-top: 80px;
}
@media (max-width: 760px) { .wk-stats { grid-template-columns: repeat(2, 1fr); } }
.wk-stat { padding: 36px 28px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.wk-stat:last-child { border-right: 0; }
.wk-stat__num { font-family: var(--display); font-style: italic; font-size: clamp(48px, 6vw, 96px); line-height: 0.9; color: var(--accent); letter-spacing: -0.02em; }
.wk-stat__lbl { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }

.wk-filters { padding: 60px 0 24px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.wk-filter-label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); margin-right: 14px; }
.wk-chip {
	padding: 10px 16px;
	border: 1px solid var(--line);
	border-radius: 999px;
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--ink-2);
	cursor: pointer; user-select: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.wk-chip:hover { border-color: var(--ink); }
.wk-chip.is-on { background: var(--ink); color: var(--bg); border-color: var(--ink); }

.wk-featured { padding: 24px 0 80px; }
.wk-featured__card {
	display: grid; grid-template-columns: 1.25fr 1fr; gap: 0;
	border: 1px solid var(--line); border-radius: 28px;
	overflow: hidden;
	background: #0c0b09; color: #f6f4ef;
	min-height: 540px; position: relative;
}
@media (max-width: 900px) { .wk-featured__card { grid-template-columns: 1fr; min-height: auto; } }
.wk-featured__visual { position: relative; min-height: 320px; }
.wk-featured__body { padding: 56px 48px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.wk-featured__tag { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.wk-featured__h {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(32px, 3.8vw, 56px);
	line-height: 1.04; letter-spacing: -0.025em;
	margin-top: 20px;
}
.wk-featured__h em { font-family: var(--display); font-style: italic; color: var(--accent); }
.wk-featured__sub { margin-top: 22px; font-size: 16px; line-height: 1.55; color: rgba(246,244,239,.78); text-wrap: pretty; }
.wk-featured__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.16); }
.wk-featured__metric-n { font-family: var(--display); font-style: italic; font-size: clamp(28px, 3.4vw, 44px); color: var(--accent); }
.wk-featured__metric-l { font-family: var(--mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(246,244,239,0.55); margin-top: 8px; }
.wk-featured__cta {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 12px 18px;
	background: rgba(255,255,255,0.08);
	border-radius: 999px;
	font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
	color: #f6f4ef; text-decoration: none;
	transition: background .25s ease, transform .25s ease;
	width: max-content;
}
.wk-featured__cta:hover { background: var(--accent); color: var(--accent-ink); transform: translateY(-1px); }
.wk-featured__cta__dot { width: 22px; height: 22px; border-radius: 50%; background: var(--accent); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; }

/* Project grid */
.wk-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 22px;
	padding-bottom: 80px;
}
.wk-card {
	display: flex; flex-direction: column;
	border: 1px solid var(--line);
	border-radius: 20px;
	overflow: hidden;
	text-decoration: none;
	color: var(--ink);
	transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .25s ease;
}
.wk-card:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -22px rgba(0,0,0,.30); border-color: var(--ink); }
.wk-card__visual { min-height: 240px; }
.wk-card__body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 8px; }
.wk-card__meta {
	display: flex; justify-content: space-between;
	font-family: var(--mono); font-size: 10px;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--muted);
}
.wk-card__client {
	font-family: var(--sans); font-weight: 500;
	font-size: 22px; letter-spacing: -0.015em;
}
.wk-card__tag { color: var(--muted); font-size: 13.5px; }
.wk-card__metric {
	margin-top: 8px;
	font-family: var(--display); font-style: italic;
	font-size: 24px; color: var(--accent);
}
.wk-card__metric span {
	font-family: var(--mono); font-style: normal; font-size: 11px;
	color: var(--muted); letter-spacing: 0.12em;
	text-transform: uppercase; margin-left: 8px;
}

.wk-card.is-hidden { display: none; }

.wk-cta {
	padding: 140px 0; text-align: center;
	border-top: 1px solid var(--line);
}
.wk-cta .tag { font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); margin-bottom: 26px; display: inline-block; }
.wk-cta h2 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(50px, 7.5vw, 132px);
	line-height: 0.92; letter-spacing: -0.04em;
	text-wrap: balance; max-width: 14ch; margin: 0 auto;
}
.wk-cta h2 em { font-family: var(--display); font-style: italic; color: var(--accent); }
.wk-cta__btn {
	display: inline-flex; align-items: center; gap: 14px;
	margin-top: 48px;
	padding: 20px 26px 20px 30px;
	background: var(--ink); color: var(--bg);
	border-radius: 999px;
	font-family: var(--sans); font-size: 16px; font-weight: 500;
	text-decoration: none;
	transition: transform .25s ease;
	box-shadow: 0 18px 40px -16px rgba(0,0,0,.45);
}
.wk-cta__btn:hover { transform: translateY(-2px); }
.wk-cta__btn__dot { width: 32px; height: 32px; border-radius: 50%; background: var(--accent); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; }


/* ============================================================================
   CONTACT PAGE (.ct-*)
   ============================================================================ */
.ct-hero { padding: 180px 0 60px; }
.ct-hero .crumb { font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); margin-bottom: 24px; }
.ct-hero h1 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(56px, 11vw, 184px);
	line-height: 0.9; letter-spacing: -0.045em;
	text-wrap: balance;
}
.ct-hero h1 em { font-family: var(--display); font-style: italic; color: var(--accent); }
.ct-hero .lead { max-width: 580px; margin-top: 32px; font-size: 20px; line-height: 1.5; color: var(--ink-2); }

.ct-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 80px;
	padding: 60px 0 120px;
	border-top: 1px solid var(--line);
}
@media (max-width: 960px) { .ct-grid { grid-template-columns: 1fr; gap: 48px; } }

.ct-form { display: flex; flex-direction: column; gap: 22px; }
.ct-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 600px) { .ct-form__row { grid-template-columns: 1fr; } }
.ct-field { display: flex; flex-direction: column; gap: 8px; }
.ct-field label {
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--muted);
}
.ct-field input, .ct-field textarea, .ct-field select {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--line);
	padding: 12px 0 14px;
	font-family: var(--sans);
	font-size: 17px;
	color: var(--ink);
	transition: border-color .25s ease;
	outline: none;
}
.ct-field input::placeholder, .ct-field textarea::placeholder {
	color: color-mix(in oklab, var(--muted) 70%, transparent);
}
.ct-field input:focus, .ct-field textarea:focus, .ct-field select:focus {
	border-bottom-color: var(--accent);
}
.ct-field textarea { resize: vertical; min-height: 120px; font-family: var(--sans); }

.ct-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.ct-chip {
	padding: 9px 14px;
	border: 1px solid var(--line);
	border-radius: 999px;
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--ink-2);
	cursor: pointer; user-select: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ct-chip:hover { border-color: var(--ink); }
.ct-chip.is-on { background: var(--ink); color: var(--bg); border-color: var(--ink); }

.ct-budget {
	display: flex; flex-wrap: wrap;
	border: 1px solid var(--line);
	border-radius: 999px;
	overflow: hidden;
	width: max-content; max-width: 100%;
}
.ct-budget__opt {
	padding: 11px 18px;
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.1em; text-transform: uppercase;
	border-right: 1px solid var(--line);
	color: var(--ink-2); cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.ct-budget__opt:last-child { border-right: 0; }
.ct-budget__opt.is-on { background: var(--accent); color: var(--accent-ink); }

.ct-submit {
	display: inline-flex; align-items: center; gap: 14px;
	align-self: flex-start;
	padding: 18px 22px 18px 28px;
	border: 0;
	background: var(--ink); color: var(--bg);
	border-radius: 999px;
	font-family: var(--sans); font-size: 15px; font-weight: 500;
	cursor: pointer;
	margin-top: 12px;
	transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
	box-shadow: 0 14px 34px -14px rgba(0,0,0,.45);
}
.ct-submit:hover { transform: translateY(-2px); box-shadow: 0 22px 44px -16px rgba(0,0,0,.55); }
.ct-submit__dot {
	width: 30px; height: 30px; border-radius: 50%;
	background: var(--accent); color: var(--ink);
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform .25s ease;
}
.ct-submit:hover .ct-submit__dot { transform: rotate(-45deg); }

.ct-note { font-size: 12px; color: var(--muted); margin-top: 4px; }

.ct-aside { display: flex; flex-direction: column; gap: 28px; }
.ct-card {
	background: var(--ink); color: var(--bg);
	border-radius: 22px;
	padding: 36px;
	display: flex; flex-direction: column; gap: 24px;
	position: relative; overflow: hidden;
}
.ct-card::after {
	content: ""; position: absolute;
	right: -60px; bottom: -60px; width: 220px; height: 220px;
	background: var(--accent); border-radius: 50%;
	opacity: 0.18; filter: blur(2px);
}
.ct-card__tag { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.ct-card__h {
	font-family: var(--sans); font-weight: 400;
	font-size: 28px; line-height: 1.1; letter-spacing: -0.02em;
}
.ct-card__h em { font-family: var(--display); font-style: italic; color: var(--accent); }
.ct-list { list-style: none; display: flex; flex-direction: column; gap: 14px; position: relative; z-index: 1; }
.ct-list li {
	display: flex; flex-direction: column; gap: 4px;
	padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.12);
}
.ct-list li:first-child { padding-top: 0; border-top: 0; }
.ct-list .k { font-family: var(--mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.ct-list .v { font-size: 17px; }
.ct-list .v a { color: var(--bg); transition: color .2s ease; }
.ct-list .v a:hover { color: var(--accent); }

.ct-availability {
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 28px;
	display: flex; flex-direction: column; gap: 16px;
}
.ct-availability__dot {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--mono); font-size: 11px;
	letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--ink-2);
}
.ct-availability__dot::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%;
	background: #2ec27e; box-shadow: 0 0 0 4px rgba(46,194,126,0.18);
	animation: ct-pulse 1.8s ease-in-out infinite;
}
@keyframes ct-pulse {
	0%,100% { box-shadow: 0 0 0 4px rgba(46,194,126,0.18); }
	50%     { box-shadow: 0 0 0 7px rgba(46,194,126,0.10); }
}
.ct-availability__line { font-size: 18px; line-height: 1.4; text-wrap: pretty; }
.ct-availability__line em { font-family: var(--display); font-style: italic; color: var(--accent); }

.ct-success {
	display: none;
	flex-direction: column; gap: 18px;
	padding: 32px;
	background: var(--bg-soft);
	border-radius: 18px;
	border: 1px solid var(--line);
}
.ct-success.is-on { display: flex; }
.ct-success h3 { font-family: var(--display); font-style: italic; font-size: 28px; color: var(--accent); }
.ct-success p { font-size: 15px; color: var(--ink-2); line-height: 1.5; }

.ct-error {
	display: none;
	color: #b3261e;
	font-size: 14px;
	padding: 12px 16px;
	background: #fdecea;
	border-radius: 8px;
	border: 1px solid #f4b6b0;
}
.ct-error.is-on { display: block; }


/* ============================================================================
   PHONE REEL (also used on /work) — reuse home classes
   ============================================================================ */
.pr-section { background:#0c0c0a; color:#f6f4ef; padding:96px 0 104px; border-top:1px solid #1a1a18; border-bottom:1px solid #1a1a18; overflow:hidden; position:relative; }
.pr-head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:48px; flex-wrap:wrap; gap:16px; }
.pr-head .mono { color: rgba(246,244,239,.55); }
.pr-track { display:flex; gap:32px; width:max-content; padding-inline:32px; animation:pr-scroll 52s linear infinite; }
.pr-track:hover { animation-play-state: paused; }
.pr-track[data-paused="true"] { animation-play-state: paused; }
@keyframes pr-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .pr-track { animation: none; } }


/* ============================================================================
   PAGE HERO (generic — used for single posts, archives, etc)
   ============================================================================ */
.page-hero { padding: 160px 0 60px; border-bottom: 1px solid var(--line); }
.page-hero .crumb { font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); margin-bottom: 24px; }
.page-hero h1 {
	font-family: var(--sans); font-weight: 400;
	font-size: clamp(48px, 9vw, 140px);
	line-height: 0.95; letter-spacing: -0.04em;
	margin-bottom: 32px;
}
.page-hero h1 em { font-family: var(--display); font-style: italic; color: var(--accent); }
.page-hero .lead { font-size: 20px; line-height: 1.5; max-width: 640px; color: var(--ink-2); }
