/* ============================================================
   CC26 — Refined Automotive Luxury design system
   Self-hosted fonts, dark cinematic palette, no external calls.
   ============================================================ */

/* ---------- @font-face (self-hosted woff2) ---------- */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/inter-400.woff2") format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/inter-500.woff2") format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/inter-600.woff2") format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/inter-700.woff2") format("woff2");
}
@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/fraunces-400.woff2") format("woff2");
}
@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/fraunces-600.woff2") format("woff2");
}
@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/fraunces-700.woff2") format("woff2");
}

/* ---------- Type scale ---------- */
h1, h2, h3, h4 {
	font-family: "Fraunces", Georgia, "Times New Roman", serif;
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.01em;
	margin: 0 0 .5em;
	color: var(--cc-text);
}
p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

.cc-display {
	font-size: clamp(2.2rem, 5.2vw, 4rem);
	font-weight: 700;
}
.cc-eyebrow {
	font-family: Inter, system-ui, sans-serif;
	text-transform: uppercase;
	letter-spacing: .26em;
	font-size: .72rem;
	font-weight: 600;
	color: var(--cc-accent);
	margin: 0 0 1rem;
}
.cc-lead {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	color: var(--cc-muted);
	max-width: 60ch;
}
.cc-prose { max-width: 70ch; }
.cc-prose h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-top: 1.6em; }

/* ---------- Layout ---------- */
.cc-container {
	width: 100%;
	max-width: var(--cc-maxw);
	margin-inline: auto;
	padding-inline: var(--cc-pad);
}
.cc-section {
	padding-block: clamp(3.5rem, 8vw, 7rem);
}
.cc-section--tight { padding-block: clamp(2.5rem, 5vw, 4rem); }
.cc-section--alt { background: var(--cc-surface); }
.cc-section--center { text-align: center; }
.cc-section--center .cc-lead,
.cc-section--center .cc-eyebrow { margin-inline: auto; }

.cc-divider {
	height: 1px;
	border: 0;
	background: linear-gradient(90deg, transparent, var(--cc-line) 20%, var(--cc-line) 80%, transparent);
	margin: 0;
}

.cc-section-head { max-width: 64ch; margin-bottom: clamp(2rem, 4vw, 3rem); }
.cc-section-head.cc-section--center { margin-inline: auto; }

/* ---------- Buttons ---------- */
.cc-btn {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	font-family: Inter, system-ui, sans-serif;
	font-weight: 600;
	font-size: .95rem;
	letter-spacing: .02em;
	padding: .85em 1.7em;
	border-radius: 2px;
	background: var(--cc-accent);
	color: #14110a;
	border: 1px solid var(--cc-accent);
	cursor: pointer;
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
}
.cc-btn:hover {
	background: var(--cc-accent-hi);
	color: #14110a;
	transform: translateY(-2px);
	box-shadow: 0 10px 30px -12px rgba(201, 163, 91, .6);
}
.cc-btn--ghost {
	background: transparent;
	color: var(--cc-text);
	border-color: var(--cc-line);
}
.cc-btn--ghost:hover {
	background: rgba(201, 163, 91, .08);
	color: var(--cc-accent-hi);
	border-color: var(--cc-accent);
}

/* ---------- Hero ---------- */
.cc-hero {
	position: relative;
	min-height: min(88vh, 760px);
	padding-top: calc(var(--cc-headh) + 1.5rem);
	display: grid;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
}
.cc-hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.cc-hero__media video,
.cc-hero__media img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cc-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(10, 11, 13, .6);
}
.cc-hero__inner { max-width: 40ch; }
.cc-hero h1 {
	font-size: clamp(2.6rem, 6.4vw, 5rem);
	font-weight: 700;
}
.cc-hero__tagline {
	font-family: "Fraunces", serif;
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.2rem, 2.6vw, 1.7rem);
	color: var(--cc-accent-hi);
	margin: 0 0 1.8rem;
}
.cc-hero__cta { margin-top: .5rem; }

/* Page hero strip (inner pages) */
.cc-pagehero {
	position: relative;
	padding-top: calc(var(--cc-headh) + clamp(2.25rem, 5vw, 4rem));
	padding-bottom: clamp(3rem, 7vw, 5.5rem);
	background:
		radial-gradient(120% 140% at 80% -20%, rgba(201, 163, 91, .14), transparent 55%),
		var(--cc-surface);
	border-bottom: 1px solid var(--cc-line);
}
.cc-pagehero h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); }

/* ---------- Grids ---------- */
.cc-grid {
	display: grid;
	gap: clamp(1rem, 2.4vw, 1.75rem);
}
.cc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.cc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.cc-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* ---------- Cards / features ---------- */
.cc-card {
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 4px;
	padding: clamp(1.4rem, 2.4vw, 2rem);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.cc-card:hover {
	transform: translateY(-4px);
	border-color: var(--cc-accent);
	box-shadow: 0 24px 48px -28px rgba(0, 0, 0, .8);
}
.cc-card h3 { font-size: 1.25rem; }
.cc-card p { color: var(--cc-muted); font-size: .98rem; }
.cc-card--link { display: block; color: inherit; }
.cc-card--link:hover h3 { color: var(--cc-accent-hi); }
.cc-card__more {
	display: inline-block;
	margin-top: 1rem;
	font-size: .85rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--cc-accent);
}

.cc-feature { padding-top: 1.5rem; border-top: 1px solid var(--cc-line); }
.cc-feature__num {
	font-family: "Fraunces", serif;
	font-size: 1rem;
	color: var(--cc-accent);
	letter-spacing: .1em;
}
.cc-feature h3 { font-size: 1.2rem; margin-top: .4rem; }
.cc-feature p { color: var(--cc-muted); font-size: .96rem; }

/* ---------- Checklists ---------- */
.cc-check {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}
.cc-check li {
	position: relative;
	padding-left: 2rem;
	color: var(--cc-text);
}
.cc-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .35em;
	width: 1.05rem;
	height: 1.05rem;
	background: var(--cc-accent);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
}
.cc-check li strong { color: var(--cc-text); font-weight: 600; }
.cc-check li span { color: var(--cc-muted); }

/* ---------- CTA band ---------- */
.cc-band {
	position: relative;
	background:
		radial-gradient(80% 160% at 50% 0%, rgba(201, 163, 91, .16), transparent 60%),
		var(--cc-surface);
	border-block: 1px solid var(--cc-line);
	text-align: center;
}
.cc-band .cc-display { font-size: clamp(1.8rem, 4vw, 3rem); }
.cc-band .cc-lead { margin-inline: auto; }
.cc-band__cta { margin-top: 2rem; }

/* ---------- Header ---------- */
.cc-head {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 100;
	transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
	background: transparent;
	border-bottom: 1px solid transparent;
}
.cc-head.is-solid {
	background: rgba(14, 15, 18, .9);
	backdrop-filter: blur(10px);
	border-bottom-color: var(--cc-line);
	box-shadow: 0 10px 30px -20px rgba(0, 0, 0, .9);
}
.cc-head__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 1rem;
}
.cc-brand {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	color: var(--cc-text);
	font-family: "Fraunces", serif;
	font-weight: 600;
	font-size: 1.05rem;
	letter-spacing: .02em;
	line-height: 1.1;
}
.cc-brand:hover { color: var(--cc-text); }
.cc-brand__logo {
	width: 46px;
	height: 46px;
	object-fit: contain;
	filter: invert(1) brightness(1.6);
}
.cc-brand__name span { display: block; }
.cc-brand__name small {
	display: block;
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: .62rem;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--cc-accent);
}

/* ---------- Nav ---------- */
.cc-nav {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cc-nav a {
	color: var(--cc-text);
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: .92rem;
	letter-spacing: .03em;
	padding: .4rem 0;
	position: relative;
}
.cc-nav a:hover,
.cc-nav .current-menu-item > a { color: var(--cc-accent-hi); }
.cc-nav .menu-item-has-children { position: relative; }
.cc-nav .menu-item-has-children > a::after {
	content: "▾";
	font-size: .7em;
	margin-left: .4em;
	color: var(--cc-accent);
}
.cc-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: -1rem;
	min-width: 230px;
	list-style: none;
	margin: 0;
	padding: .6rem 0;
	background: rgba(21, 23, 28, .98);
	backdrop-filter: blur(10px);
	border: 1px solid var(--cc-line);
	border-radius: 4px;
	box-shadow: 0 24px 48px -24px rgba(0, 0, 0, .9);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.cc-nav .menu-item-has-children:hover > .sub-menu,
.cc-nav .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.cc-nav .sub-menu a {
	display: block;
	padding: .55rem 1.25rem;
	font-size: .9rem;
}

/* Hamburger */
.cc-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 10px;
}
.cc-burger span {
	height: 2px;
	width: 100%;
	background: var(--cc-text);
	transition: transform .25s ease, opacity .25s ease;
}
.cc-head.is-open .cc-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.cc-head.is-open .cc-burger span:nth-child(2) { opacity: 0; }
.cc-head.is-open .cc-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Footer ---------- */
.cc-foot {
	background: #0a0b0d;
	border-top: 1px solid var(--cc-line);
	padding-block: clamp(3rem, 6vw, 4.5rem) 2rem;
}
.cc-foot__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-bottom: 2.5rem;
}
.cc-foot__brand { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.cc-foot__brand img { width: 52px; height: 52px; object-fit: contain; filter: invert(1) brightness(1.6); }
.cc-foot__tag {
	font-family: "Fraunces", serif;
	font-style: italic;
	color: var(--cc-accent-hi);
	font-size: 1.1rem;
}
.cc-foot h4 {
	font-family: Inter, sans-serif;
	font-size: .72rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--cc-accent);
	margin-bottom: 1rem;
}
.cc-foot__nav { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.cc-foot__nav a { color: var(--cc-text); font-size: .92rem; }
.cc-foot__nav a:hover { color: var(--cc-accent-hi); }
.cc-foot__meta { color: var(--cc-muted); font-size: .9rem; }
.cc-foot__meta a { color: var(--cc-text); }
.cc-foot__bottom {
	border-top: 1px solid var(--cc-line);
	padding-top: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .75rem;
	color: var(--cc-muted);
	font-size: .82rem;
}

/* ---------- Contact ---------- */
.cc-contact-grid {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}
.cc-formcard {
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 4px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.cc-contact-detail { margin-bottom: 1.5rem; }
.cc-contact-detail h4 {
	font-family: Inter, sans-serif;
	font-size: .72rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--cc-accent);
	margin-bottom: .35rem;
}
.cc-contact-detail a { font-size: 1.1rem; }

/* WPForms theming — override WPForms' own CSS custom properties so the
   modern-markup fields inherit our dark palette with legible contrast. */
.cc-formcard .wpforms-container,
.cc-formcard .wpforms-container-full {
	--wpforms-field-background-color: #10131a;
	--wpforms-field-text-color: #E8E6E1;
	--wpforms-field-border-color: rgba(201, 163, 91, .35);
	--wpforms-field-border-color-spare: rgba(201, 163, 91, .5);
	--wpforms-field-menu-color: #15171C;
	--wpforms-label-color: #E8E6E1;
	--wpforms-label-sublabel-color: #8A8F98;
	--wpforms-label-error-color: #ff6b6b;
	--wpforms-button-background-color: #C9A35B;
	--wpforms-button-text-color: #14110a;
	--wpforms-button-border-color: #C9A35B;
	--wpforms-page-break-color: #C9A35B;
}
/* Belt-and-suspenders explicit rules (in case variables are unsupported). */
.cc-formcard .wpforms-field-label,
.cc-formcard .wpforms-field-label-inline { color: var(--cc-text); font-family: Inter, sans-serif; font-weight: 600; }
.cc-formcard .wpforms-field-sublabel { color: var(--cc-muted); }
.cc-formcard .wpforms-field input,
.cc-formcard .wpforms-field textarea,
.cc-formcard .wpforms-field select {
	background-color: #10131a;
	color: var(--cc-text);
	border: 1px solid rgba(201, 163, 91, .35);
	border-radius: 3px;
	font-size: 17px; /* ≥16px so iOS Safari never auto-zooms on focus */
}
.cc-formcard .wpforms-field input::placeholder,
.cc-formcard .wpforms-field textarea::placeholder { color: var(--cc-muted); opacity: 1; }
.cc-formcard .wpforms-field input:focus,
.cc-formcard .wpforms-field textarea:focus,
.cc-formcard .wpforms-field select:focus { border-color: var(--cc-accent); outline: none; }
.cc-formcard button[type="submit"],
.cc-formcard .wpforms-submit {
	background-color: var(--cc-accent);
	color: #14110a;
	border: 1px solid var(--cc-accent);
	border-radius: 2px;
	font-weight: 600;
	font-family: Inter, sans-serif;
	letter-spacing: .02em;
	transition: background .2s ease, transform .2s ease;
}
.cc-formcard button[type="submit"]:hover,
.cc-formcard .wpforms-submit:hover { background-color: var(--cc-accent-hi); transform: translateY(-1px); }

/* ---------- Images / media ---------- */
.cc-media {
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid var(--cc-line);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9);
}
.cc-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.cc-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}
.cc-split--media-left .cc-split__media { order: -1; }
.cc-split__media { aspect-ratio: 4 / 3; }

/* Photo band (full-bleed strip of images) */
.cc-photoband { padding-block: 0; }
.cc-photostrip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}
.cc-photostrip img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	filter: saturate(.95) contrast(1.02);
	transition: transform .5s ease, filter .5s ease;
}
.cc-photostrip a { overflow: hidden; display: block; }
.cc-photostrip a:hover img { transform: scale(1.05); filter: none; }

/* Gallery grid */
.cc-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(.5rem, 1.5vw, 1rem);
}
.cc-gallery figure { margin: 0; border-radius: 4px; overflow: hidden; border: 1px solid var(--cc-line); }
.cc-gallery img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.cc-gallery figure:hover img { transform: scale(1.06); }

/* Card media (image atop a card) */
.cc-card--photo { padding: 0; overflow: hidden; }
.cc-card--photo .cc-card__media { aspect-ratio: 16 / 10; overflow: hidden; }
.cc-card--photo .cc-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.cc-card--photo:hover .cc-card__media img { transform: scale(1.05); }
.cc-card--photo .cc-card__body { padding: clamp(1.3rem, 2.2vw, 1.75rem); }
.cc-card--photo .cc-card__body h3 { font-size: 1.2rem; }
.cc-card--photo .cc-card__body p { color: var(--cc-muted); font-size: .95rem; }

/* Page hero background-image variant (image passed via inline style) */
.cc-pagehero--img { background-size: cover; background-position: center; border-bottom: 3px solid var(--cc-accent); }
.cc-pagehero--img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(14, 15, 18, .92) 0%, rgba(14, 15, 18, .6) 55%, rgba(14, 15, 18, .35) 100%);
	z-index: 0;
}
.cc-pagehero--img .cc-container { position: relative; z-index: 1; }

/* ---------- Scroll reveal ---------- */
.reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .7s ease, transform .7s ease;
	will-change: opacity, transform;
}
.reveal.in {
	opacity: 1;
	transform: none;
}

/* ---------- Accessibility ---------- */
.cc-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--cc-accent);
	color: #14110a;
	padding: .6rem 1rem;
	z-index: 200;
	border-radius: 0 0 4px 0;
}
.cc-skip:focus { left: 0; }

:focus-visible {
	outline: 2px solid var(--cc-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.cc-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.cc-foot__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
	.cc-photostrip { grid-template-columns: repeat(2, 1fr); }
	.cc-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
	.cc-grid--2,
	.cc-grid--3,
	.cc-grid--4 { grid-template-columns: 1fr; }
	.cc-contact-grid { grid-template-columns: 1fr; }
	.cc-foot__grid { grid-template-columns: 1fr; }
	.cc-split { grid-template-columns: 1fr; }
	.cc-split--media-left .cc-split__media { order: 0; }

	:root { --cc-headh: 89px; }

	/* Slimmer page hero so content lands sooner on small screens */
	.cc-pagehero { padding-top: calc(var(--cc-headh) + 1.75rem); padding-bottom: 2.25rem; }

	/* Contact: form first when stacked, compact card so it ~fits one screen */
	.cc-contact-grid .cc-formcard { order: -1; }
	.cc-formcard { padding: 1.25rem; }
	.cc-formcard .wpforms-container .wpforms-field { padding: 5px 0; }
	.cc-formcard .wpforms-field textarea { height: 96px !important; min-height: 96px; }
	.cc-formcard .wpforms-submit-container { padding-top: .5rem !important; }
	.cc-formcard .wpforms-submit,
	.cc-formcard button[type="submit"] { width: 100%; }

	/* Contact page only: slim hero + section so the card fits one screen */
	.page-id-32 .cc-pagehero { padding-top: calc(var(--cc-headh) + 1.25rem); padding-bottom: 1.25rem; }
	.page-id-32 .cc-pagehero h1 { font-size: 1.55rem; margin-bottom: 0; }
	.page-id-32 .cc-pagehero .cc-lead { display: none; }
	.page-id-32 .cc-section { padding-block: 1.5rem 3rem; }

	.cc-head__bar { padding-top: 1.85rem; padding-bottom: .85rem; gap: 1rem; }
	.cc-head.is-open { background: rgba(14, 15, 18, .98); }
	.cc-burger { display: flex; }
	.cc-nav {
		position: fixed;
		inset: var(--cc-headh) 0 auto 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: rgba(14, 15, 18, .98);
		backdrop-filter: blur(12px);
		border-bottom: 1px solid var(--cc-line);
		padding: 1rem var(--cc-pad) 1.5rem;
		max-height: calc(100vh - var(--cc-headh));
		overflow-y: auto;
		transform: translateY(calc(-100% - var(--cc-headh) - 40px));
		visibility: hidden;
		transition: transform .3s ease, visibility 0s .3s;
	}
	.cc-head.is-open .cc-nav { transform: translateY(0); visibility: visible; transition: transform .3s ease, visibility 0s; }
	.cc-nav > li { border-bottom: 1px solid var(--cc-line); }
	.cc-nav > li > a { display: block; padding: .9rem 0; }
	.cc-nav .menu-item-has-children > a::after { float: right; }
	.cc-nav .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		background: transparent;
		padding: 0 0 .6rem .8rem;
		display: none;
	}
	.cc-nav .menu-item-has-children.is-open > .sub-menu { display: block; }
}
@media (max-width: 480px) {
	:root { --cc-headh: 87px; }
	.cc-brand { gap: .6rem; font-size: .95rem; }
	.cc-brand__logo { width: 38px; height: 38px; }
	.cc-brand__name small { font-size: .58rem; letter-spacing: .24em; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.reveal { opacity: 1; transform: none; transition: none; }
	.cc-card:hover,
	.cc-btn:hover { transform: none; }
	* { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Account for fixed header on first section */
.cc-hero,
.cc-pagehero { scroll-margin-top: 80px; }
body { padding-top: 0; }
