/* All Pro Exterior & Interior House Painting — design-a (golden-section, remapped) */

[data-design="a"] {
  --design-a-primary: #BE3A1D;
  --gs-parchment: #F2EDDF;
  --gs-plaster: #E8E1CD;
  --gs-vellum: #F9F6EB;
  --gs-ink: #2B2620;
  --gs-sepia: #6E6355;
  --gs-vermillion: #BE3A1D;
  --gs-prussian: #2C4A66;
  --gs-chalk: #F9F6EB;
  --gs-critical: #8A2410;
  --gs-laurel: #4C5D3A;
  --gs-point: 4px; --gs-tick: 8px; --gs-module: 16px; --gs-interval: 24px;
  --gs-quadrat: 40px; --gs-bay: 64px; --gs-major: 96px; --gs-canon: 128px;
  background: var(--gs-parchment);
  color: var(--gs-ink);
  font-family: "Crimson Pro", Georgia, "Times New Roman", serif;
  display: block;
}

/* ————— Header ————— */
[data-design="a"] .gs-header {
  position: sticky; top: 0; z-index: 40; background: var(--gs-parchment);
  border-bottom: 1px solid var(--gs-ink); overflow: hidden;
}
[data-design="a"] .gs-header__bar {
  position: relative; z-index: 2; max-width: 1320px; margin-inline: auto;
  padding: 14px clamp(20px, 5vw, 48px);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
[data-design="a"] .gs-logo { text-decoration: none; }
[data-design="a"] .gs-logo__mark {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: 1.35rem; color: var(--gs-ink); letter-spacing: 0.01em;
  display: inline-block; max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
[data-design="a"] .gs-header__atmo { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
[data-design="a"] .gs-header__pivot {
  position: absolute; left: clamp(8px, 2vw, 20px); top: 50%; width: 5px; height: 5px; margin-top: -2.5px;
  background: var(--gs-vermillion); border-radius: 50%; opacity: 0.7;
}
[data-design="a"] .gs-header__radius {
  position: absolute; left: clamp(10px, 2.2vw, 22px); top: 50%; width: min(64vw, 760px); height: 1px;
  background: var(--gs-sepia); opacity: 0.4; transform-origin: left center;
  transform: rotate(-7deg);
  animation: gs-radius-turn 26s ease-in-out infinite;
}
@keyframes gs-radius-turn {
  0%, 100% { transform: rotate(-7deg); }
  50%      { transform: rotate(7deg); }
}
[data-design="a"] .gs-header__trace {
  position: absolute; left: clamp(10px, 2.2vw, 22px); top: 50%;
  width: min(64vw, 760px); aspect-ratio: 1; margin-top: calc(min(64vw, 760px) / -2);
  border: 1px solid var(--gs-sepia); border-radius: 50%; opacity: 0.12;
  clip-path: inset(42% 0 42% 50%);
}
[data-design="a"] .gs-burger {
  width: 44px; height: 44px; background: none; border: 1px solid var(--gs-ink);
  border-radius: 0; cursor: pointer; display: grid; place-content: center; gap: 6px; padding: 0;
}
[data-design="a"] .gs-burger__rule { width: 18px; height: 1.5px; background: var(--gs-ink); display: block; }
[data-design="a"] .gs-burger:focus-visible { outline: 2px solid var(--gs-prussian); outline-offset: 2px; }
[data-design="a"] .gs-drawer { position: absolute; inset-inline: 0; top: 100%; z-index: 3; }
[data-design="a"] .gs-drawer__sheet {
  background: var(--gs-plaster); border-bottom: 1px solid var(--gs-ink);
  box-shadow: 0 0 0 1px var(--gs-ink);
  padding: 24px clamp(20px, 5vw, 48px) 40px; display: grid; gap: 8px;
  transform-origin: top left; transform: rotate(-0.5deg) translateY(-8px); opacity: 0;
  transition: transform 420ms cubic-bezier(0.33, 0, 0.15, 1), opacity 420ms cubic-bezier(0.33, 0, 0.15, 1);
}
[data-design="a"] .gs-drawer[data-open="true"] .gs-drawer__sheet { transform: rotate(0deg) translateY(0); opacity: 1; }
[data-design="a"] .gs-index {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.1rem; color: var(--gs-ink);
  text-decoration: none; padding: 10px 0; border-bottom: 1px solid rgba(43, 38, 32, 0.4); display: block;
}
[data-design="a"] .gs-index:focus-visible { outline: 2px solid var(--gs-prussian); outline-offset: 2px; }
[data-design="a"] .gs-drawer__ctas { margin-top: 16px; display: grid; gap: 8px; }
[data-design="a"] .gs-index--funnel { border-bottom: 2px solid var(--gs-vermillion); font-weight: 600; }
@media (max-width: 560px) {
  [data-design="a"] .gs-logo__mark {
    white-space: normal; max-width: 70vw; font-size: 1.1rem;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .gs-header__radius { animation: none; transform: rotate(0deg); }
  [data-design="a"] .gs-drawer__sheet { transition: none; }
}

/* ————— CTA (Element 2) ————— */
[data-design="a"] .gs-cta {
  position: relative; display: inline-flex; align-items: center; gap: 12px;
  min-height: 56px; padding: 14px 28px; background: var(--gs-vellum);
  border: 1px solid var(--gs-ink); border-radius: 0; text-decoration: none;
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: 1.15rem; color: var(--gs-ink);
  transition: transform 90ms cubic-bezier(0.4, 0, 0.6, 1);
}
[data-design="a"] .gs-cta::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px;
  background: var(--gs-vermillion); transform-origin: left center;
  animation: gs-cta-consider 5s ease-in-out infinite;
}
@keyframes gs-cta-consider {
  0%, 100% { transform: scaleX(0.86); opacity: 0.75; }
  50%      { transform: scaleX(1);    opacity: 1; }
}
[data-design="a"] .gs-cta__arc {
  position: absolute; right: -7px; top: -7px; width: 14px; height: 14px;
  border: 2px solid var(--gs-vermillion); border-radius: 50%;
  clip-path: inset(0 0 50% 50%);
  opacity: 0; transform: rotate(6deg);
  transition: opacity 240ms cubic-bezier(0.2, 0.6, 0.3, 1), transform 240ms cubic-bezier(0.2, 0.6, 0.3, 1);
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .gs-cta:hover::after { animation: none; transform: scaleX(1); opacity: 1; }
  [data-design="a"] .gs-cta:hover .gs-cta__arc { opacity: 1; transform: rotate(0deg); }
}
[data-design="a"] .gs-cta:focus-visible { outline: 2px solid var(--gs-prussian); outline-offset: 3px; }
[data-design="a"] .gs-cta:focus-visible .gs-cta__arc { opacity: 1; transform: rotate(0deg); }
[data-design="a"] .gs-cta__point {
  width: 5px; height: 5px; border-radius: 50%; background: var(--gs-vermillion);
  opacity: 0.4; flex: none; transition: opacity 90ms ease-out;
}
[data-design="a"] .gs-cta:active { transform: scale(0.985); }
[data-design="a"] .gs-cta:active .gs-cta__point { opacity: 1; }
[data-design="a"] .gs-cta--repeat, [data-design="a"] .gs-cta--footer { margin-top: 32px; }
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .gs-cta::after { animation: none; transform: scaleX(1); opacity: 1; }
  [data-design="a"] .gs-cta, [data-design="a"] .gs-cta__arc,
  [data-design="a"] .gs-cta__point { transition: none; }
}

/* ————— Hero (Element 3) ————— */
[data-design="a"] .gs-hero {
  position: relative; min-height: 88vh; background: var(--gs-parchment);
  overflow: hidden; display: grid; align-items: center; padding-block: 128px 96px;
  isolation: isolate;
}
[data-design="a"] .gs-hero__armature { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
[data-design="a"] .gs-arm__diagonal {
  position: absolute; left: -6%; top: 50%; width: 115%; height: 1px;
  background: var(--gs-ink); opacity: 0.3;
  transform: rotate(-27deg) scaleX(0); transform-origin: left center;
  animation: gs-strike-x 300ms cubic-bezier(0.3, 0, 0.2, 1) 150ms forwards;
}
@keyframes gs-strike-x { to { transform: rotate(-27deg) scaleX(1); } }
[data-design="a"] .gs-arm__circle {
  position: absolute; right: -8%; top: 50%; width: clamp(280px, 46vw, 640px); aspect-ratio: 1;
  transform: translateY(-50%) scale(0.96); border: 1px solid var(--gs-ink); border-radius: 50%;
  opacity: 0;
  animation: gs-circle-bloom 420ms cubic-bezier(0.33, 0, 0.15, 1) 500ms forwards;
}
@keyframes gs-circle-bloom { to { opacity: 0.42; transform: translateY(-50%) scale(1); } }
[data-design="a"] .gs-arm__radius {
  position: absolute; right: calc(-8% + clamp(140px, 23vw, 320px)); top: 50%;
  width: clamp(140px, 23vw, 320px); height: 1px;
  background: var(--gs-vermillion); opacity: 0;
  transform-origin: left center; transform: rotate(0deg);
  animation: gs-radius-arrive 420ms ease-out 900ms forwards,
             gs-radius-revolve 40s linear 1.4s infinite;
}
@keyframes gs-radius-arrive { to { opacity: 0.55; } }
@keyframes gs-radius-revolve { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
[data-design="a"] .gs-arm__rect {
  position: absolute; border: 1px solid var(--gs-sepia); opacity: 0;
  animation: gs-rect-resolve 240ms cubic-bezier(0.2, 0.6, 0.3, 1) forwards;
}
[data-design="a"] .gs-arm__rect--major {
  left: 5%; top: 16%; width: 52%; height: 62%; animation-delay: 1s;
}
[data-design="a"] .gs-arm__rect--minor {
  left: 5%; top: 16%; width: calc(52% / 1.618); height: 62%; animation-delay: 1.2s;
}
@keyframes gs-rect-resolve { from { opacity: 0; transform: scale(0.985); } to { opacity: 0.35; transform: scale(1); } }
[data-design="a"] .gs-arm__quadrant {
  position: absolute; left: calc(5% + 52% / 1.618); top: 16%; width: clamp(64px, 9vw, 128px); aspect-ratio: 1;
  border: 2px solid var(--gs-vermillion); border-radius: 50%;
  clip-path: inset(0 0 50% 50%); opacity: 0; transform: rotate(8deg);
  animation: gs-color-settle 240ms cubic-bezier(0.2, 0.6, 0.3, 1) 1.5s forwards;
}
[data-design="a"] .gs-arm__chord {
  position: absolute; right: 4%; top: 30%; width: clamp(120px, 18vw, 260px); height: 1.5px;
  background: var(--gs-prussian); opacity: 0; transform: rotate(63deg) scaleX(0.9);
  transform-origin: left center;
  animation: gs-chord-settle 240ms cubic-bezier(0.2, 0.6, 0.3, 1) 1.7s forwards;
}
@keyframes gs-color-settle { to { opacity: 0.8; transform: rotate(0deg); } }
@keyframes gs-chord-settle { to { opacity: 0.6; transform: rotate(63deg) scaleX(1); } }
[data-design="a"] .gs-arm__pivot {
  position: absolute; right: calc(-8% + clamp(140px, 23vw, 320px)); top: 50%;
  width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%;
  background: var(--gs-vermillion); opacity: 0;
  animation: gs-radius-arrive 240ms ease-out 900ms forwards;
}
[data-design="a"] .gs-hero__content {
  position: relative; z-index: 2; max-width: 1320px; width: 100%;
  margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="a"] .gs-hero__headline {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: clamp(2.1rem, 5.5vw, 3.5rem); line-height: 1.12; color: var(--gs-ink);
  margin: 0 0 24px; max-width: 20ch; opacity: 1;
}
[data-design="a"] .gs-hero__subtitle {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.125rem; line-height: 1.6;
  color: var(--gs-ink); margin: 0 0 16px; max-width: 55ch; opacity: 1;
}
[data-design="a"] .gs-hero__subtitle:empty, [data-design="a"] .gs-hero__proof:empty { display: none; }
[data-design="a"] .gs-hero__proof {
  font-family: "Space Mono", "Courier New", monospace; font-size: 0.875rem; line-height: 1.6;
  color: var(--gs-sepia); margin: 0 0 40px; max-width: 72ch; opacity: 1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
[data-design="a"] .gs-hero .gs-cta { position: relative; z-index: 2; opacity: 1; }
@media (max-width: 560px) {
  [data-design="a"] .gs-hero { min-height: 92vh; padding-block: 96px 64px; }
  [data-design="a"] .gs-arm__circle { right: -30%; }
  [data-design="a"] .gs-arm__radius, [data-design="a"] .gs-arm__pivot { right: calc(-30% + clamp(140px, 23vw, 320px)); }
  [data-design="a"] .gs-hero__proof { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .gs-arm__diagonal { animation: none; transform: rotate(-27deg) scaleX(1); }
  [data-design="a"] .gs-arm__circle { animation: none; opacity: 0.42; transform: translateY(-50%) scale(1); }
  [data-design="a"] .gs-arm__radius { animation: none; opacity: 0.55; transform: rotate(34deg); }
  [data-design="a"] .gs-arm__pivot { animation: none; opacity: 0.55; }
  [data-design="a"] .gs-arm__rect { animation: none; opacity: 0.35; transform: scale(1); }
  [data-design="a"] .gs-arm__quadrant { animation: none; opacity: 0.8; transform: rotate(0deg); }
  [data-design="a"] .gs-arm__chord { animation: none; opacity: 0.6; transform: rotate(63deg) scaleX(1); }
}

/* ————— Pointer (Element 6) ————— */
[data-design="a"] .gs-pointer {
  position: relative; display: grid; justify-items: center; gap: 8px;
  padding-block: 40px 24px; background: var(--gs-parchment); opacity: 1;
}
[data-design="a"] .gs-pointer__point {
  width: 6px; height: 6px; border-radius: 50%; background: var(--gs-vermillion); opacity: 0.9;
}
[data-design="a"] .gs-pointer__line {
  width: 1px; height: 80px; background: var(--gs-ink);
  transform-origin: top center; transform: scaleY(0);
  animation: gs-plumb-drop 5s cubic-bezier(0.33, 0, 0.15, 1) infinite;
}
@keyframes gs-plumb-drop {
  0%       { transform: scaleY(0); }
  24%, 86% { transform: scaleY(1); }
  100%     { transform: scaleY(1); }
}
[data-design="a"] .gs-pointer__datum {
  width: 32px; height: 1.5px; background: var(--gs-ink); opacity: 0;
  transform: scaleX(0); transform-origin: center;
  animation: gs-datum-strike 5s cubic-bezier(0.3, 0, 0.2, 1) infinite; animation-delay: 1.2s;
}
@keyframes gs-datum-strike {
  0%, 4%    { opacity: 0; transform: scaleX(0); }
  12%, 82%  { opacity: 0.7; transform: scaleX(1); }
  92%, 100% { opacity: 0; transform: scaleX(0); }
}
[data-design="a"] .gs-pointer__arc {
  position: absolute; bottom: 44px; left: 50%; width: 28px; height: 28px; margin-left: -14px;
  border: 1.5px solid var(--gs-vermillion); border-radius: 50%;
  clip-path: inset(50% 0 0 50%); opacity: 0; transform: rotate(-40deg);
  animation: gs-level-sweep 5s cubic-bezier(0.33, 0, 0.15, 1) infinite; animation-delay: 1.8s;
}
@keyframes gs-level-sweep {
  0%, 4%    { opacity: 0; transform: rotate(-40deg); }
  14%, 80%  { opacity: 0.85; transform: rotate(0deg); }
  90%, 100% { opacity: 0; transform: rotate(-40deg); }
}
[data-design="a"] .gs-pointer__label {
  font-family: "Cormorant Garamond", Garamond, serif; font-size: 0.95rem;
  color: var(--gs-sepia); letter-spacing: 0.08em; font-style: italic;
  white-space: nowrap; max-width: 16ch; overflow: hidden; text-overflow: ellipsis; opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .gs-pointer__line { animation: none; transform: scaleY(1); }
  [data-design="a"] .gs-pointer__datum { animation: none; opacity: 0.7; transform: scaleX(1); }
  [data-design="a"] .gs-pointer__arc { animation: none; opacity: 0.85; transform: rotate(0deg); }
}

/* ————— Funnel (Element 5 / tactile artifact: the Drafting Compass) ————— */
[data-design="a"] .gs-funnel { padding-block: var(--gs-major, 96px); background: var(--gs-parchment); }
[data-design="a"] .gs-funnel__col { max-width: 880px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
[data-design="a"] .gs-funnel__title {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: clamp(1.55rem, 3.2vw, 2.18rem); line-height: 1.2; color: var(--gs-ink); margin: 0 0 8px;
}
[data-design="a"] .gs-funnel__count {
  font-family: "Space Mono", monospace; font-size: 0.875rem; color: var(--gs-vermillion);
  margin: 0 0 32px; border-bottom: 1px solid var(--gs-ink); padding-bottom: 12px;
}
[data-design="a"] .gs-step {
  border: 0; padding: 40px clamp(20px, 4vw, 40px); margin: 0; background: var(--gs-vellum);
  box-shadow: 0 0 0 1px var(--gs-ink), 0 0 0 5px var(--gs-parchment), 0 0 0 6px rgba(43, 38, 32, 0.35);
}
[data-design="a"] .gs-step[data-entering] { animation: gs-plate-sweep 420ms cubic-bezier(0.33, 0, 0.15, 1); }
@keyframes gs-plate-sweep {
  from { opacity: 0; transform: rotate(-0.5deg) translateY(12px); }
  to   { opacity: 1; transform: rotate(0deg) translateY(0); }
}
[data-design="a"] .gs-step__q {
  font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.35rem;
  line-height: 1.3; color: var(--gs-ink); padding: 0 0 24px;
}
[data-design="a"] .gs-dial { position: relative; display: grid; justify-items: center; gap: 24px; }
[data-design="a"] .gs-dial__face {
  position: relative; width: clamp(240px, 56vw, 360px); aspect-ratio: 1;
}
[data-design="a"] .gs-dial__ring {
  position: absolute; inset: 0; border: 1px solid var(--gs-sepia); border-radius: 50%; opacity: 0.5;
}
[data-design="a"] .gs-dial__pivot {
  position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px;
  background: var(--gs-ink); border-radius: 50%;
}
[data-design="a"] .gs-dial__leg {
  position: absolute; left: 50%; top: 50%; width: 50%; height: 2px; margin-top: -1px;
  transform-origin: left center; transform: rotate(-90deg);
  transition: transform 120ms cubic-bezier(0.33, 0, 0.15, 1);
}
[data-design="a"] .gs-dial__leg .gs-dial__needle {
  position: absolute; inset: 0; background: var(--gs-ink);
  clip-path: polygon(0 0, 96% 0, 100% 50%, 96% 100%, 0 100%);
}
[data-design="a"] .gs-dial__dashes span {
  position: absolute; left: 50%; top: 50%; width: 8px; height: 2px; margin: -1px 0 0 0;
  background: var(--gs-vermillion); opacity: 0;
  transform-origin: 0 0;
  transition: opacity 90ms ease-out;
}
[data-design="a"] .gs-dial__dashes span[data-inked="true"] { opacity: 0.85; }
[data-design="a"] .gs-dial__handle {
  position: absolute; width: 44px; height: 44px; border-radius: 50%;
  left: 50%; top: 50%; margin: -22px;
  background: var(--gs-vellum); border: 2px solid var(--gs-ink); cursor: grab; padding: 0;
  transition: transform 120ms cubic-bezier(0.33, 0, 0.15, 1);
  touch-action: none; z-index: 2;
}
[data-design="a"] .gs-dial__handle:active { cursor: grabbing; }
[data-design="a"] .gs-dial__handle::after {
  content: ""; position: absolute; inset: 14px; border-radius: 50%; background: var(--gs-vermillion);
  opacity: 0.5; transition: opacity 90ms ease-out;
}
[data-design="a"] .gs-dial__handle:focus-visible { outline: 2px solid var(--gs-prussian); outline-offset: 3px; }
[data-design="a"] .gs-dial__handle[data-engaged="true"]::after { opacity: 1; }
[data-design="a"] .gs-dial__points { display: contents; }
[data-design="a"] .gs-point {
  position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; margin: -22px;
  background: none; border: 0; border-radius: 50%; cursor: pointer; padding: 0; z-index: 1;
}
[data-design="a"] .gs-point__tick {
  position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px;
  border: 2px solid var(--gs-ink); border-radius: 50%; background: var(--gs-vellum);
  transition: transform 90ms ease-out;
}
[data-design="a"] .gs-point__label {
  position: absolute; left: 50%; top: 100%; transform: translateX(-50%);
  font-family: "Crimson Pro", Georgia, serif; font-size: 0.95rem; color: var(--gs-ink);
  white-space: nowrap; max-width: 22ch; overflow: hidden; text-overflow: ellipsis; padding-top: 2px; opacity: 1;
}
[data-design="a"] .gs-point:focus-visible .gs-point__tick { outline: 2px solid var(--gs-prussian); outline-offset: 2px; }
[data-design="a"] .gs-point[data-chosen="true"] .gs-point__tick {
  background: var(--gs-vermillion); border-color: var(--gs-vermillion);
  animation: gs-point-bloom 240ms cubic-bezier(0.2, 0.6, 0.3, 1);
}
[data-design="a"] .gs-point[data-chosen="true"] .gs-point__label { color: var(--gs-prussian); font-weight: 600; }
@keyframes gs-point-bloom { from { transform: scale(0.95) rotate(-3deg); } to { transform: scale(1) rotate(0deg); } }
[data-design="a"] .gs-contact { display: grid; gap: 24px; margin-bottom: 32px; }
[data-design="a"] .gs-field { display: grid; gap: 4px; }
[data-design="a"] .gs-field__label {
  font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 0.8125rem;
  text-transform: uppercase; letter-spacing: 0.12em; color: var(--gs-sepia);
}
[data-design="a"] .gs-field__input {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.0625rem; color: var(--gs-ink);
  background: none; border: 0; border-bottom: 1px solid var(--gs-ink); border-radius: 0;
  padding: 8px 0; width: 100%; transition: border-color 120ms ease-out;
}
[data-design="a"] .gs-field__input:focus { outline: none; border-bottom: 2px solid var(--gs-prussian); }
[data-design="a"] .gs-funnel__submit {
  min-height: 56px; padding: 14px 28px; width: 100%;
  background: var(--gs-ink); color: var(--gs-chalk); border: 1px solid var(--gs-ink); border-radius: 0;
  font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.15rem; cursor: pointer;
  transition: transform 90ms cubic-bezier(0.4, 0, 0.6, 1);
}
[data-design="a"] .gs-funnel__submit:active { transform: scale(0.99); }
[data-design="a"] .gs-funnel__submit:focus-visible { outline: 2px solid var(--gs-prussian); outline-offset: 3px; }
[data-design="a"] .gs-funnel__nav { margin-top: 24px; }
[data-design="a"] .gs-funnel__back {
  background: none; border: 0; border-bottom: 1px solid var(--gs-sepia); border-radius: 0;
  font-family: "Crimson Pro", Georgia, serif; font-size: 0.95rem; color: var(--gs-sepia);
  padding: 8px 0; cursor: pointer; min-height: 44px;
}
[data-design="a"] .gs-funnel__back:focus-visible { outline: 2px solid var(--gs-prussian); outline-offset: 2px; }
[data-design="a"] .gs-funnel__footnote {
  font-family: "Space Mono", monospace; font-size: 0.875rem; line-height: 1.6;
  color: var(--gs-sepia); margin: 24px 0 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
[data-design="a"] .gs-funnel__footnote:empty { display: none; }
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .gs-step[data-entering] { animation: none; }
  [data-design="a"] .gs-dial__leg, [data-design="a"] .gs-dial__handle,
  [data-design="a"] .gs-funnel__submit { transition: none; }
  [data-design="a"] .gs-point[data-chosen="true"] .gs-point__tick { animation: none; }
}

/* ————— Scroll handoff (Element 7) ————— */
[data-design="a"] .gs-handoff { padding-block: var(--gs-major, 96px); background: var(--gs-parchment); }
[data-design="a"] .gs-handoff__col { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
[data-design="a"] .gs-handoff__title {
  position: relative; font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: clamp(1.55rem, 3.2vw, 2.18rem); line-height: 1.2; color: var(--gs-ink);
  margin: 0 0 24px; padding-bottom: 14px; max-width: 28ch;
}
[data-design="a"] .gs-handoff__baseline {
  position: absolute; left: 0; bottom: 0; width: 160px; height: 2px;
  background: var(--gs-vermillion); transform-origin: left center;
}
[data-design="a"] .gs-handoff__body {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.0625rem; line-height: 1.65;
  color: var(--gs-ink); max-width: 65ch;
}
@supports (animation-timeline: view()) {
  [data-design="a"] .gs-arm__circle {
    animation: gs-withdraw-circle linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }
  [data-design="a"] .gs-arm__diagonal {
    animation: gs-withdraw-diagonal linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }
  [data-design="a"] .gs-arm__rect--major, [data-design="a"] .gs-arm__rect--minor {
    animation: gs-withdraw-rect linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }
  [data-design="a"] .gs-handoff__title {
    animation: gs-title-setout linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 60%;
    transform-origin: 0 100%;
  }
  [data-design="a"] .gs-handoff__baseline {
    animation: gs-baseline-strike linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 70%;
  }
}
@keyframes gs-withdraw-circle   { to { transform: translateY(-40%) rotate(6deg) scale(0.97); opacity: 0.18; } }
@keyframes gs-withdraw-diagonal { to { transform: rotate(-27deg) scaleX(1) translateX(60px); opacity: 0.12; } }
@keyframes gs-withdraw-rect     { to { opacity: 0.14; } }
@keyframes gs-title-setout {
  from { transform: rotate(0.5deg) translateY(12px); opacity: 0.2; }
  to   { transform: rotate(0deg) translateY(0); opacity: 1; }
}
@keyframes gs-baseline-strike { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .gs-arm__circle,
  [data-design="a"] .gs-arm__diagonal,
  [data-design="a"] .gs-arm__rect--major,
  [data-design="a"] .gs-arm__rect--minor,
  [data-design="a"] .gs-handoff__title,
  [data-design="a"] .gs-handoff__baseline { animation: none; }
}

/* ————— Plate / proportion-diagram (Element 4, process section) ————— */
[data-design="a"] .gs-plate {
  padding-block: var(--gs-major, 96px); background: var(--gs-plaster);
  border-block: 1px solid var(--gs-ink);
}
[data-design="a"] .gs-plate__col {
  max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px);
  display: grid; gap: 40px; grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  [data-design="a"] .gs-plate__col { grid-template-columns: 1.618fr 1fr; align-items: start; }
}
[data-design="a"] .gs-plate__title {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: clamp(1.55rem, 3.2vw, 2.18rem); line-height: 1.2; color: var(--gs-ink);
  margin: 0 0 16px; border-bottom: 1px solid var(--gs-ink); padding-bottom: 12px; max-width: 30ch;
}
[data-design="a"] .gs-plate__intro {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.0625rem; line-height: 1.65;
  color: var(--gs-ink); margin: 0 0 40px; max-width: 65ch;
}
[data-design="a"] .gs-plate__intro:empty { display: none; }
[data-design="a"] .gs-plate__entries {
  list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; counter-reset: gs-prop;
}
[data-design="a"] .gs-plate__entry {
  display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding-bottom: 16px;
  border-bottom: 1px solid rgba(43, 38, 32, 0.35); counter-increment: gs-prop;
}
[data-design="a"] .gs-plate__entry::before {
  content: counter(gs-prop, upper-roman) "."; font-family: "Cormorant Garamond", serif;
  font-weight: 600; font-size: 1.35rem; color: var(--gs-sepia);
}
[data-design="a"] .gs-plate__entry-title {
  display: block; font-family: "Cormorant Garamond", serif; font-weight: 600;
  font-size: 1.35rem; line-height: 1.3; color: var(--gs-ink);
}
[data-design="a"] .gs-plate__entry-body {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.0625rem; line-height: 1.55; color: var(--gs-ink);
}
[data-design="a"] .gs-plate__figure {
  position: relative; aspect-ratio: 1.618; background: var(--gs-vellum);
  box-shadow: 0 0 0 1px var(--gs-ink), 0 0 0 5px var(--gs-plaster), 0 0 0 6px rgba(43, 38, 32, 0.35);
  cursor: pointer;
}
[data-design="a"] .gs-fig__rect { position: absolute; border: 1px solid var(--gs-sepia); opacity: 0.5; }
[data-design="a"] .gs-fig__rect[style*="--i:0"] { inset: 8%; }
[data-design="a"] .gs-fig__rect[style*="--i:1"] { top: 8%; bottom: 8%; left: 8%; width: 51.9%; }
[data-design="a"] .gs-fig__rect[style*="--i:2"] { top: 8%; left: 59.9%; right: 8%; height: 51.9%; }
[data-design="a"] .gs-fig__rect[style*="--i:3"] { bottom: 8%; left: 59.9%; width: 19.8%; height: 32.1%; }
[data-design="a"] .gs-fig__arc {
  position: absolute; border: 2px solid var(--gs-vermillion); border-radius: 50%; opacity: 0.12;
}
[data-design="a"] .gs-fig__arc[style*="--i:0"] { left: 8%; top: 8%; clip-path: inset(0 0 50% 50%); transform: rotate(90deg); transform-origin: 25% 25%; width: 51.9%; }
[data-design="a"] .gs-fig__arc[style*="--i:1"] { left: 59.9%; top: 8%; width: 32.1%; aspect-ratio: 1; clip-path: inset(0 50% 50% 0); }
[data-design="a"] .gs-fig__arc[style*="--i:2"] { left: 59.9%; top: 40.1%; width: 19.8%; aspect-ratio: 1; clip-path: inset(50% 0 0 0); }
[data-design="a"] .gs-fig__arc[style*="--i:3"] { left: 59.9%; bottom: 8%; width: 12.3%; aspect-ratio: 1; clip-path: inset(25% 50% 25% 0); }
[data-design="a"] .gs-plate[data-live="true"] .gs-fig__arc {
  animation: gs-arc-illuminate 12s cubic-bezier(0.33, 0, 0.15, 1) infinite;
  animation-delay: calc(var(--i) * 1.4s);
}
@keyframes gs-arc-illuminate {
  0%, 4%    { opacity: 0.12; }
  10%, 78%  { opacity: 0.9; }
  88%, 100% { opacity: 0.12; }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .gs-plate .gs-fig__arc { animation: none !important; opacity: 0.9; }
}

/* ————— The Figures (before/after — no-photo armature fallback) ————— */
[data-design="a"] .gs-plate--figures { background: var(--gs-parchment); }
[data-design="a"] .gs-plate__col--figures { display: block; }
[data-design="a"] .gs-figure-grid {
  display: grid; grid-template-columns: 1fr; gap: 32px; margin-top: 40px;
}
@media (min-width: 760px) {
  [data-design="a"] .gs-figure-grid { grid-template-columns: 1fr 1fr; }
}
[data-design="a"] .gs-figure {
  position: relative; margin: 0; background: var(--gs-vellum);
  box-shadow: 0 0 0 1px var(--gs-ink), 0 0 0 5px var(--gs-parchment), 0 0 0 6px rgba(43, 38, 32, 0.35);
}
[data-design="a"] .gs-figure__armature {
  position: relative; aspect-ratio: 1.618; overflow: hidden;
}
[data-design="a"] .gs-figure__circle {
  position: absolute; left: 50%; top: 50%; width: 62%; aspect-ratio: 1;
  transform: translate(-50%, -50%); border: 1px solid var(--gs-ink); border-radius: 50%; opacity: 0.3;
}
[data-design="a"] .gs-figure__diagonal {
  position: absolute; left: -6%; top: 50%; width: 112%; height: 1px;
  background: var(--gs-sepia); opacity: 0.35; transform: rotate(-18deg);
}
[data-design="a"] .gs-figure__rect {
  position: absolute; inset: 14%; border: 1px solid var(--gs-sepia); opacity: 0.4;
}
[data-design="a"] .gs-figure__caption {
  display: block; padding: 24px clamp(20px, 4vw, 32px) 32px;
  font-family: "Crimson Pro", Georgia, serif; font-size: 1rem; line-height: 1.6; color: var(--gs-ink);
}
[data-design="a"] .gs-figure__annot {
  display: block; font-family: "Space Mono", monospace; font-size: 0.8125rem;
  color: var(--gs-vermillion); letter-spacing: 0.04em; margin-bottom: 8px;
}

/* ————— Services (Propositions list) ————— */
[data-design="a"] .gs-services { padding-block: var(--gs-major, 96px); background: var(--gs-plaster); border-block: 1px solid var(--gs-ink); }
[data-design="a"] .gs-services__col { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
[data-design="a"] .gs-services__title {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: clamp(1.55rem, 3.2vw, 2.18rem); line-height: 1.2; color: var(--gs-ink);
  margin: 0 0 40px; border-bottom: 1px solid var(--gs-ink); padding-bottom: 12px; max-width: 30ch;
}
[data-design="a"] .gs-services__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; }
[data-design="a"] .gs-services__entry {
  display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding-bottom: 24px;
  border-bottom: 1px solid rgba(43, 38, 32, 0.35);
}
[data-design="a"] .gs-services__num {
  font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.35rem; color: var(--gs-sepia);
}
[data-design="a"] .gs-services__name {
  font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.35rem; line-height: 1.3;
  color: var(--gs-ink); margin: 0 0 6px;
}
[data-design="a"] .gs-services__body {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.0625rem; line-height: 1.6; color: var(--gs-ink); margin: 0; max-width: 65ch;
}
@media (min-width: 760px) {
  [data-design="a"] .gs-services__list { grid-template-columns: 1fr 1fr; gap: 32px; }
}

/* ————— About ————— */
[data-design="a"] .gs-about { padding-block: var(--gs-major, 96px); background: var(--gs-parchment); }
[data-design="a"] .gs-about__col { max-width: 880px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
[data-design="a"] .gs-about__title {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: clamp(1.55rem, 3.2vw, 2.18rem); line-height: 1.2; color: var(--gs-ink); margin: 0 0 24px;
}
[data-design="a"] .gs-about__plate {
  position: relative; padding: 40px clamp(20px, 4vw, 40px); background: var(--gs-vellum);
  box-shadow: 0 0 0 1px var(--gs-ink), 0 0 0 5px var(--gs-parchment), 0 0 0 6px rgba(43, 38, 32, 0.35);
}
[data-design="a"] .gs-about__pivot {
  position: absolute; left: clamp(20px, 4vw, 40px); top: 40px; width: 6px; height: 6px; border-radius: 50%;
  background: var(--gs-vermillion); opacity: 0.8;
}
[data-design="a"] .gs-about__body {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.0625rem; line-height: 1.65; color: var(--gs-ink);
  margin: 0 0 16px; max-width: 65ch; padding-left: 24px;
}
[data-design="a"] .gs-about__annot {
  font-family: "Space Mono", monospace; font-size: 0.875rem; color: var(--gs-sepia); margin: 0; padding-left: 24px;
}

/* ————— Service area ————— */
[data-design="a"] .gs-area { padding-block: var(--gs-major, 96px); background: var(--gs-plaster); border-block: 1px solid var(--gs-ink); }
[data-design="a"] .gs-area__col { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
[data-design="a"] .gs-area__title {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600;
  font-size: clamp(1.55rem, 3.2vw, 2.18rem); line-height: 1.2; color: var(--gs-ink); margin: 0 0 16px;
}
[data-design="a"] .gs-area__body {
  font-family: "Crimson Pro", Georgia, serif; font-size: 1.0625rem; line-height: 1.6; color: var(--gs-ink); margin: 0 0 24px; max-width: 65ch;
}
[data-design="a"] .gs-area__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
[data-design="a"] .gs-area__chip {
  font-family: "Space Mono", monospace; font-size: 0.8125rem; color: var(--gs-ink);
  padding: 8px 16px; background: var(--gs-vellum); box-shadow: 0 0 0 1px var(--gs-ink);
}

/* ————— Footer (Colophon) ————— */
[data-design="a"] .gs-footer { padding-block: var(--gs-major, 96px) var(--gs-bay, 64px); background: var(--gs-parchment); }
[data-design="a"] .gs-footer__col { max-width: 720px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); text-align: center; }
[data-design="a"] .gs-footer__rule { display: block; height: 1px; background: var(--gs-ink); opacity: 0.4; margin: 0 auto 32px; max-width: 240px; }
[data-design="a"] .gs-footer__firm {
  font-family: "Cormorant Garamond", Garamond, serif; font-weight: 600; font-size: 1.35rem; color: var(--gs-ink); margin: 0 0 8px;
}
[data-design="a"] .gs-footer__line { font-family: "Crimson Pro", Georgia, serif; font-size: 1rem; color: var(--gs-sepia); margin: 0 0 8px; }
[data-design="a"] .gs-footer__phone { color: var(--gs-prussian); text-decoration: none; border-bottom: 1px solid var(--gs-prussian); }
[data-design="a"] .gs-footer__phone:focus-visible { outline: 2px solid var(--gs-prussian); outline-offset: 2px; }
[data-design="a"] .gs-footer .gs-cta { margin: 24px auto 32px; }
[data-design="a"] .gs-footer__colophon {
  font-family: "Space Mono", monospace; font-size: 0.75rem; color: var(--gs-sepia); letter-spacing: 0.04em; margin: 0;
}

/* ————— Mobile-safety floor (mandatory, appended last, scoped to .dq-design only) ————— */
[data-design="a"].dq-design,
[data-design="a"] .dq-design { max-width: 100%; overflow-x: clip; }
[data-design="a"].dq-design * { min-width: 0; }
[data-design="a"].dq-design img,
[data-design="a"].dq-design svg:not([data-keep-size]) { max-width: 100%; height: auto; }

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="a"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="a"] [data-mf-role="cta"] { opacity: 1 !important; }
