/* Gilthund Motor Works — sub-brand overrides on the shared Gilthund Studios system */
body.motor { --racing: #b3261e; --navy: #16233f; --bp: #173a7a; --teal: #17463f; }
:root:has(body.motor), [data-theme='light']:has(body.motor) {
  --color-bg: #f2ede3;
  --color-surface: #f8f4ec;
  --color-surface-2: #fdfaf4;
  --color-surface-offset: #e9e2d4;
  --color-border: #d6ccba;
  --color-divider: #e2d9c9;
  --color-text: #161a24;
  --color-text-muted: #5e6170;
  --color-text-faint: #9a9aa3;
  --color-text-inverse: #f8f4ec;
  --color-primary: #a8231b;
  --color-primary-hover: #861b14;
  --color-primary-active: #6c150f;
  --color-primary-highlight: #f1d9d4;
  --color-gilt: #16233f;
}
[data-theme='dark']:has(body.motor) {
  --color-bg: #0e121b;
  --color-surface: #131926;
  --color-surface-2: #182031;
  --color-surface-offset: #1c2536;
  --color-border: #2b3549;
  --color-divider: #222b3d;
  --color-text: #e8e4da;
  --color-text-muted: #9ca2b1;
  --color-text-faint: #646b7c;
  --color-text-inverse: #10141d;
  --color-primary: #e2584b;
  --color-primary-hover: #ec7266;
  --color-primary-active: #cc4538;
  --color-primary-highlight: #3a1f22;
  --color-gilt: #d9b46a;
}
.motor .brand__mark { color: var(--color-primary); }
.brand__sub { font-family: var(--font-body); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-text-muted); margin-left: 0.35rem; vertical-align: 0.3em; }
.nav__cross { padding-left: var(--space-6); border-left: 1px solid var(--color-divider); }
.motor .hero__proof li::before, .motor .ticks li::before { content: '■'; font-size: 0.6em; vertical-align: 0.2em; color: var(--color-primary); }
.motor .eyebrow--light { color: #e9c27a; }
.motor .ticks li::before { color: #e9c27a; }

/* Hero */
.m-hero { padding-block: clamp(var(--space-10), 6vw, var(--space-20)) clamp(var(--space-12), 7vw, var(--space-24)); overflow: hidden; }
.m-hero__grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(var(--space-8), 5vw, var(--space-16)); align-items: center; }
.m-hero__art { position: relative; aspect-ratio: 7 / 6; }
.m-hero__photo { position: absolute; left: 0; top: 4%; width: 46%; margin: 0; transform: rotate(-4deg); z-index: 1; background: #fff; padding: 8px 8px 30px; box-shadow: var(--shadow-md); }
.m-hero__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.m-hero__photo figcaption { position: absolute; bottom: 7px; left: 0; right: 0; text-align: center; font-size: var(--text-xs); color: #5e6170; font-family: var(--font-display); font-style: italic; }
.m-hero__fan { position: absolute; inset: 0; }
.fan { position: absolute; box-shadow: var(--shadow-lg); outline: 6px solid var(--color-surface-2); transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1); }
.fan--1 { width: 34%; right: 2%; top: 0; transform: rotate(5deg); }
.fan--2 { width: 40%; left: 30%; top: 12%; z-index: 2; transform: rotate(-1.5deg); }
.fan--3 { width: 48%; right: 0; bottom: 0; z-index: 3; transform: rotate(2.5deg); }
.m-hero__art:hover .fan--1 { transform: rotate(7deg) translateX(8px); }
.m-hero__art:hover .fan--3 { transform: rotate(1deg) translateY(6px); }

/* Strip */
.m-strip { background: var(--navy); color: #f2ede3; overflow: hidden; border-block: 3px solid var(--racing); }
[data-theme='dark'] .m-strip { background: #0a0e16; }
.m-strip__track { display: flex; gap: var(--space-12); width: max-content; padding-block: var(--space-3); animation: strip 40s linear infinite; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
.m-strip__track span::after { content: '◆'; margin-left: var(--space-12); color: var(--racing); }
@keyframes strip { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .m-strip__track { animation: none; } }

/* Styles */
.m-styles { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(var(--space-6), 3vw, var(--space-10)); }
.m-style { display: grid; gap: var(--space-6); align-content: start; }
.m-style--race { grid-column: 1 / span 5; }
.m-style--blueprint { grid-column: 6 / span 7; align-self: center; }
.m-style--deco { grid-column: 4 / span 6; grid-template-columns: 1fr 1fr; align-items: center; margin-top: var(--space-8); }
.m-style__img { overflow: hidden; box-shadow: var(--shadow-lg); outline: 8px solid var(--color-surface-2); }
.m-style__img img { width: 100%; height: auto; display: block; transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1); }
.m-style:hover .m-style__img img { transform: scale(1.025); }
.m-style__num { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.2em; color: var(--color-primary); text-transform: uppercase; }
.m-style__name { font-family: var(--font-display); font-weight: 500; font-size: var(--text-xl); line-height: 1.1; margin-block: var(--space-1) var(--space-3); }
.m-style__body > p:not(.m-style__num) { color: var(--color-text-muted); max-width: 52ch; }
.m-spec { display: grid; gap: var(--space-2); margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--color-divider); font-size: var(--text-xs); }
.m-spec div { display: grid; grid-template-columns: 88px 1fr; gap: var(--space-3); }
.m-spec dt { color: var(--color-text-faint); text-transform: uppercase; letter-spacing: 0.12em; font-weight: 600; }
.m-spec dd { color: var(--color-text); }

/* Builder */
.m-builder { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(var(--space-8), 5vw, var(--space-16)); align-items: center; }
.m-builder__controls { display: grid; gap: var(--space-5); }
.chips--3 { grid-template-columns: repeat(3, 1fr); }
.chip img { aspect-ratio: 3 / 4; }
.field select { font: inherit; font-weight: 400; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-2); color: var(--color-text); }
.field select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-highlight); }

.m-builder__poster { position: relative; container-type: inline-size; justify-self: center; width: min(100%, 460px); box-shadow: var(--shadow-lg); outline: 10px solid var(--color-surface-2); overflow: hidden; }
.m-builder__poster[data-style='motor-blueprint'] { width: 100%; }
.m-builder__poster img { width: 100%; display: block; }
.m-builder__type { position: absolute; inset: 0; pointer-events: none; }
.m-builder__title, .m-builder__sub { position: absolute; display: flex; align-items: center; justify-content: center; text-align: center; white-space: nowrap; overflow: hidden; }

/* Title overlays sit on text-free versions of each poster */
[data-style='motor-race'] .m-builder__title { top: 1.6%; height: 13%; left: 3%; right: 3%; color: #c8312a; font-family: var(--font-body); font-weight: 700; font-size: 11cqw; letter-spacing: -0.03em; text-transform: uppercase; transform: scaleY(1.3); }
[data-style='motor-race'] .m-builder__sub { top: 86%; height: 11%; left: 33.5%; right: 33.5%; color: #c8312a; font-family: var(--font-body); font-weight: 700; font-size: 12cqw; letter-spacing: -0.01em; transform: scaleY(1.15); }

[data-style='motor-deco'] .m-builder__title { top: 83%; height: 11%; left: 16%; right: 16%; color: #f2d699; font-family: var(--font-display); font-weight: 500; font-size: 10.5cqw; letter-spacing: 0.14em; text-transform: uppercase; text-shadow: 0 0 1px #c9973f; }
[data-style='motor-deco'] .m-builder__sub { display: none; }

[data-style='motor-blueprint'] .m-builder__title { top: 88.2%; height: 3.9%; left: 73.4%; right: 3.8%; color: #eef3ff; font-family: var(--font-display); font-size: 1.85cqw; letter-spacing: 0.06em; text-transform: uppercase; border-bottom: 1px solid #c9d6f2; }
[data-style='motor-blueprint'] .m-builder__sub { top: 92.6%; height: 3.3%; left: 73.4%; right: 3.8%; color: #dfe7fb; font-size: 1.2cqw; letter-spacing: 0.14em; text-transform: uppercase; }

/* Feature */
.feature--motor { background: #10141d; }
.feature--motor .feature__img { object-position: 30% center; }

/* Tiers */
.tiers--4 { grid-template-columns: repeat(4, 1fr); }
.m-pricing-note { margin-top: var(--space-6); text-align: center; }

/* Join */
.m-join { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(var(--space-8), 5vw, var(--space-16)); align-items: start; }
.m-join .section__head { margin-bottom: 0; }
.m-join__form { background: var(--color-surface-2); border: 1px solid var(--color-divider); border-radius: var(--radius-md); padding: clamp(var(--space-6), 3vw, var(--space-10)); }

.footer__note a { color: inherit; }

@media (max-width: 1080px) { .tiers--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 960px) {
  .m-hero__grid, .m-builder, .m-join { grid-template-columns: 1fr; }
  .m-hero__art { max-width: 640px; width: 100%; justify-self: center; }
  .m-styles { grid-template-columns: 1fr; }
  .m-style--race, .m-style--blueprint, .m-style--deco { grid-column: auto; margin-top: 0; }
  .m-style--race .m-style__img, .m-style--deco .m-style__img { max-width: 440px; }
  .m-style--deco { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .tiers--4 { grid-template-columns: 1fr; }
  .nav__cross { display: none; }
  .brand__sub { display: none; }
}

/* Gallery Collection upsell */
.m-gallery { margin-top: var(--space-8); display: grid; grid-template-columns: 1fr auto; gap: var(--space-8); align-items: center; padding: clamp(var(--space-6), 3vw, var(--space-10)); border-radius: var(--radius-md); background: var(--navy); color: #ece6d8; border: 1px solid #2b3549; }
.m-gallery .eyebrow { color: #e9c27a; margin-bottom: var(--space-2); }
.m-gallery__title { font-family: var(--font-display); font-weight: 500; font-size: var(--text-xl); color: #f6f1e6; margin-bottom: var(--space-2); }
.m-gallery p:not(.eyebrow):not(.m-gallery__price) { color: #b9bccb; max-width: 60ch; font-size: var(--text-sm); }
.m-gallery__price { display: flex; flex-direction: column; align-items: flex-end; font-size: var(--text-sm); color: #b9bccb; }
.m-gallery__price strong { font-family: var(--font-display); font-weight: 500; font-size: var(--text-2xl); color: #f6f1e6; line-height: 1; }
.m-gallery__price small { font-size: var(--text-xs); margin-top: var(--space-2); }
@media (max-width: 760px) { .m-gallery { grid-template-columns: 1fr; } .m-gallery__price { align-items: flex-start; } }

/* Live waitlist version: formats without prices, style-page links, bot check, honeypot, mobile menu */
.m-formats { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: var(--space-4); list-style: none; padding: 0; margin: 0; }
.m-formats li { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg, 12px); padding: var(--space-5); }
.m-formats h3 { font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); margin: 0 0 var(--space-2); }
.m-formats p { margin: 0; color: var(--color-text-muted); font-size: var(--text-sm); }
.m-style__name a { color: inherit; text-decoration: none; }
.m-style__name a:hover { text-decoration: underline; text-underline-offset: 4px; }
.m-style__more { display: inline-block; margin-top: var(--space-3); font-size: var(--text-sm); font-weight: 600; color: var(--color-primary); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.m-ts:empty { display: none; }
.m-ts { margin-bottom: var(--space-3); }
@media (max-width: 1120px) {
  .motor .nav { display: flex; gap: var(--space-4); }
}
@media (max-width: 700px) {
  .motor .header__inner { flex-wrap: wrap; row-gap: var(--space-2); }
  .motor .nav { order: 3; width: 100%; justify-content: center; gap: var(--space-5); padding-bottom: var(--space-2); font-size: var(--text-sm); }
  .motor .nav .nav__cross { display: none; }
}
@media (max-width: 700px) {
  .motor .header__inner { height: auto; min-height: 60px; padding-block: var(--space-2); gap: var(--space-3); }
}
