@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap");

.apa-viewport,
.apa-viewport * { box-sizing: border-box; }

.apa-viewport {
  --apa-gold: #d4a452;
  --apa-pale: #f3d9a1;
  --apa-ivory: #f4ecdf;
  --apa-ink: #08070a;
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  color: var(--apa-ivory);
  background: #09080b;
  font-family: "Cormorant Garamond", Garamond, Georgia, serif;
}

.apa-hero {
  position: relative;
  isolation: isolate;
  min-height: max(720px, 94svh);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #09070a;
}

.apa-hero-image {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% 42%;
  filter: saturate(.91) contrast(1.06) brightness(.83);
  transform: scale(1.015);
  animation: apaHeroBreathe 14s ease-in-out infinite alternate;
}

.apa-hero-veil {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,3,5,.97) 0%, rgba(5,4,6,.88) 27%, rgba(5,4,6,.36) 49%, rgba(5,4,6,.05) 70%),
    linear-gradient(0deg, rgba(5,4,6,.94) 0%, transparent 25%, transparent 72%, rgba(4,3,5,.34) 100%),
    radial-gradient(ellipse at 68% 44%, transparent 0 23%, rgba(0,0,0,.24) 62%, rgba(0,0,0,.72) 100%);
}

.apa-hero::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 15px;
  border: 1px solid rgba(226,185,108,.17);
  pointer-events: none;
}

.apa-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 38px;
  bottom: 38px;
  left: 50%;
  width: 1px;
  opacity: .22;
  background: linear-gradient(transparent, rgba(229,191,119,.62), transparent);
  pointer-events: none;
}

.apa-dust {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.apa-dust i {
  position: absolute;
  left: calc((var(--i) * 8.1%) - 5%);
  bottom: -12px;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  opacity: 0;
  background: rgba(255,219,148,.8);
  box-shadow: 0 0 7px rgba(229,172,76,.64), 0 0 16px rgba(229,172,76,.2);
  animation: apaDustRise calc(13s + var(--i) * .8s) linear calc(var(--i) * -1.7s) infinite;
}

.apa-hero-copy {
  position: relative;
  z-index: 4;
  width: min(50%, 700px);
  margin-left: clamp(36px, 8vw, 140px);
  padding: 86px 0 100px;
}

.apa-kicker {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin: 0 0 19px;
  color: #d3a455;
  font: 500 clamp(8px, .75vw, 11px)/1.25 "Cinzel", Georgia, serif;
  letter-spacing: .32em;
  text-transform: uppercase;
}

.apa-kicker span {
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(221,177,98,.8));
}

.apa-kicker span:last-child { transform: rotate(180deg); }

.apa-hero h1 {
  margin: 0;
  color: #f6ecdb;
  font: 500 clamp(62px, 7.2vw, 116px)/.78 "Cormorant Garamond", Garamond, Georgia, serif;
  letter-spacing: -.035em;
  text-shadow: 0 5px 28px rgba(0,0,0,.65);
}

.apa-hero h1 em {
  display: inline-block;
  margin-left: clamp(30px, 4vw, 72px);
  color: transparent;
  font-weight: 400;
  background: linear-gradient(95deg, #a76d25, #f1d398 35%, #fff5dc 51%, #cca05c 78%, #92601f);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.5));
}

.apa-hero-lede {
  max-width: 520px;
  margin: 31px 0 0;
  color: rgba(241,231,218,.72);
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.45;
  letter-spacing: .015em;
}

.apa-enter,
.apa-enter:hover,
.apa-enter:focus,
.apa-enter:focus-visible,
.apa-enter:active {
  -webkit-tap-highlight-color: transparent !important;
  appearance: none !important;
  min-height: 50px;
  display: inline-flex !important;
  align-items: center;
  gap: 28px;
  margin: 34px 0 0 !important;
  padding: 0 24px !important;
  border: 1px solid rgba(234,199,133,.42) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  color: #f2ddb1 !important;
  background: rgba(8,6,8,.48) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25), 0 10px 25px rgba(0,0,0,.22) !important;
  font: 500 9px/1 "Cinzel", Georgia, serif !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .3s ease, border-color .3s ease, transform .3s ease;
}

.apa-enter:hover,
.apa-enter:focus-visible {
  border-color: rgba(244,216,160,.78) !important;
  background: rgba(172,116,39,.18) !important;
  transform: translateY(-2px);
}

.apa-enter i { font: 18px/1 Georgia, serif; animation: apaArrow 2s ease-in-out infinite; }

.apa-hero-signature {
  position: absolute;
  z-index: 4;
  right: clamp(32px, 5vw, 80px);
  bottom: 34px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: rgba(239,217,177,.53);
  font: 500 7px/1 "Cinzel", Georgia, serif;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.apa-hero-signature i { width: 4px; height: 4px; border: 1px solid #d5a95f; transform: rotate(45deg); }

.apa-journeys {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  padding: clamp(80px, 10vw, 145px) clamp(22px, 5vw, 78px) clamp(88px, 10vw, 140px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(177,119,40,.15), transparent 38%),
    radial-gradient(circle at 0% 80%, rgba(86,42,66,.18), transparent 30%),
    radial-gradient(circle at 100% 72%, rgba(43,59,75,.15), transparent 28%),
    linear-gradient(145deg, #100b12, #08070a 52%, #0d0a0f);
}

.apa-journeys::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .24;
  background: repeating-linear-gradient(115deg, transparent 0 90px, rgba(255,255,255,.012) 91px 92px);
}

.apa-section-heading {
  width: min(94%, 850px);
  margin: 0 auto clamp(48px, 6vw, 78px);
  text-align: center;
}

.apa-section-heading .apa-kicker { justify-content: center; }

.apa-section-heading h2 {
  margin: 0;
  color: #f1e5d2;
  font: 500 clamp(38px, 5vw, 70px)/1 "Cormorant Garamond", Garamond, Georgia, serif;
  letter-spacing: -.02em;
}

.apa-section-heading > p:last-child {
  max-width: 640px;
  margin: 17px auto 0;
  color: rgba(236,225,210,.6);
  font-size: clamp(16px, 1.55vw, 21px);
  line-height: 1.45;
}

.apa-journey-grid {
  width: min(100%, 1260px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(13px, 2vw, 27px);
}

.apa-journey,
.apa-journey:hover,
.apa-journey:focus,
.apa-journey:focus-visible,
.apa-journey:active {
  -webkit-tap-highlight-color: transparent !important;
  appearance: none !important;
  position: relative;
  min-width: 0;
  min-height: 480px;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  margin: 0 !important;
  padding: clamp(28px, 3vw, 46px) clamp(22px, 2.7vw, 40px) 34px !important;
  overflow: hidden;
  border: 1px solid rgba(218,176,98,.18) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  color: #f0e5d4 !important;
  background: linear-gradient(155deg, rgba(255,255,255,.045), rgba(255,255,255,.014)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 20px 48px rgba(0,0,0,.18) !important;
  text-align: center;
  cursor: pointer;
  transition: transform .5s cubic-bezier(.22,1,.36,1), border-color .35s ease, background .35s ease, box-shadow .35s ease;
}

.apa-journey::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid transparent;
  pointer-events: none;
  transition: border-color .35s ease;
}

.apa-journey::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background: linear-gradient(118deg, transparent 20%, rgba(244,211,151,.07) 48%, transparent 72%);
  transform: translateX(-75%);
  transition: opacity .3s ease, transform .8s ease;
  pointer-events: none;
}

.apa-journey:hover,
.apa-journey:focus-visible,
.apa-journey.is-selected {
  z-index: 2;
  border-color: rgba(229,190,117,.58) !important;
  background: linear-gradient(155deg, rgba(177,122,43,.105), rgba(255,255,255,.018)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 26px 58px rgba(0,0,0,.28), 0 0 28px rgba(190,132,48,.08) !important;
  transform: translateY(-8px);
}

.apa-journey:hover::before,
.apa-journey:focus-visible::before,
.apa-journey.is-selected::before { border-color: rgba(222,181,103,.17); }

.apa-journey:hover::after,
.apa-journey:focus-visible::after,
.apa-journey.is-selected::after { opacity: 1; transform: translateX(70%); }

.apa-card-number {
  position: absolute;
  top: 19px;
  left: 21px;
  color: rgba(222,179,101,.47);
  font: 500 8px/1 "Cinzel", Georgia, serif;
  letter-spacing: .12em;
}

.apa-card-art {
  width: clamp(94px, 10vw, 128px);
  height: clamp(94px, 10vw, 128px);
  display: grid;
  place-items: center;
  margin-bottom: 25px;
  border: 1px solid rgba(221,179,101,.18);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(190,132,46,.08), transparent 68%);
  transition: border-color .4s ease, box-shadow .4s ease, transform .5s ease;
}

.apa-journey:hover .apa-card-art,
.apa-journey.is-selected .apa-card-art {
  border-color: rgba(233,197,128,.4);
  box-shadow: 0 0 25px rgba(204,148,58,.12);
  transform: scale(1.045) rotate(2deg);
}

.apa-card-art svg {
  width: 67%;
  height: 67%;
  fill: none;
  stroke: #d9b36f;
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px rgba(218,170,83,.22));
}

.apa-journey small {
  color: #c39248 !important;
  font: 500 8px/1.25 "Cinzel", Georgia, serif !important;
  letter-spacing: .23em;
  text-transform: uppercase;
}

.apa-journey strong {
  margin-top: 10px;
  color: #f0e3ce !important;
  font: 500 clamp(23px, 2.25vw, 32px)/1 "Cormorant Garamond", Garamond, Georgia, serif !important;
}

.apa-card-copy {
  max-width: 320px;
  margin-top: 18px;
  color: rgba(235,224,209,.58) !important;
  font: 400 clamp(15px, 1.25vw, 18px)/1.45 "Cormorant Garamond", Garamond, Georgia, serif !important;
}

.apa-card-action {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 26px;
  color: #ddbd80 !important;
  font: 500 8px/1 "Cinzel", Georgia, serif !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.apa-card-action i { font: 18px/1 Georgia, serif; transition: transform .3s ease; }
.apa-journey:hover .apa-card-action i,
.apa-journey.is-selected .apa-card-action i { transform: translateX(5px); }

.apa-chosen[hidden] { display: none !important; }

.apa-chosen {
  width: min(100%, 980px);
  display: grid;
  grid-template-columns: 70px 1fr auto;
  align-items: center;
  gap: 25px;
  margin: 45px auto 0;
  padding: 24px 30px;
  border-top: 1px solid rgba(220,179,103,.3);
  border-bottom: 1px solid rgba(220,179,103,.16);
  opacity: 0;
  transform: translateY(18px);
  background: rgba(255,255,255,.022);
  transition: opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1);
}

.apa-chosen.is-visible { opacity: 1; transform: translateY(0); }

.apa-chosen-jewel {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: #e4be76;
  border: 1px solid rgba(227,188,116,.35);
  transform: rotate(45deg);
  font-size: 25px;
  text-shadow: 0 0 12px rgba(226,175,84,.32);
}

.apa-chosen-jewel::first-letter { transform: rotate(-45deg); }
.apa-chosen small { color:#c59249; font:500 7px/1 "Cinzel",serif; letter-spacing:.2em; text-transform:uppercase; }
.apa-chosen h3 { margin:5px 0 4px; color:#f0e2cb; font:500 clamp(23px,2.5vw,34px)/1 "Cormorant Garamond",serif; }
.apa-chosen p { margin:0; color:rgba(235,224,208,.56); font-size:16px; line-height:1.35; }
.apa-next-marker { color:rgba(226,193,133,.65); font:500 8px/1 "Cinzel",serif; letter-spacing:.15em; text-transform:uppercase; white-space:nowrap; }

@keyframes apaHeroBreathe {
  from { transform: scale(1.015); }
  to { transform: scale(1.055); }
}

@keyframes apaDustRise {
  0% { opacity:0; transform:translate3d(0,0,0) scale(.4); }
  14% { opacity:.55; }
  60% { transform:translate3d(24px,-60vh,0) scale(1); }
  86% { opacity:.28; }
  100% { opacity:0; transform:translate3d(-14px,-104vh,0) scale(.3); }
}

@keyframes apaArrow {
  0%,100% { transform:translateY(-2px); }
  50% { transform:translateY(3px); }
}

@media (max-width: 900px) {
  .apa-hero { min-height: 900px; align-items:flex-end; }
  .apa-hero-image { object-position: 54% 20%; }
  .apa-hero-veil {
    background:
      linear-gradient(0deg,rgba(5,4,6,.99) 0%,rgba(5,4,6,.91) 28%,rgba(5,4,6,.34) 57%,rgba(5,4,6,.08) 78%),
      linear-gradient(90deg,rgba(4,3,5,.34),transparent 50%,rgba(4,3,5,.16));
  }
  .apa-hero::after { display:none; }
  .apa-hero-copy { width:100%; margin:0; padding:470px 32px 105px; text-align:center; }
  .apa-hero-copy .apa-kicker { justify-content:center; }
  .apa-hero h1 { font-size:clamp(64px,13vw,100px); }
  .apa-hero h1 em { margin-left:0; }
  .apa-hero-lede { margin:25px auto 0; }
  .apa-hero-signature { right:50%; transform:translateX(50%); }
  .apa-journey-grid { grid-template-columns:1fr; max-width:650px; }
  .apa-journey { min-height:400px; }
  .apa-card-copy { max-width:440px; }
}

@media (max-width: 600px) {
  .apa-hero { min-height: 780px; }
  .apa-hero::before { inset:7px; }
  .apa-hero-image { object-position:52% 12%; }
  .apa-hero-copy { padding:390px 23px 94px; }
  .apa-kicker { gap:8px; margin-bottom:13px; font-size:7px; letter-spacing:.22em; }
  .apa-kicker span { width:18px; }
  .apa-hero h1 { font-size:clamp(52px,17vw,76px); line-height:.82; }
  .apa-hero-lede { margin-top:21px; font-size:15px; line-height:1.38; }
  .apa-enter { min-height:46px; margin-top:27px !important; padding:0 18px !important; font-size:8px !important; }
  .apa-hero-signature { width:100%; justify-content:center; bottom:23px; font-size:6px; }
  .apa-journeys { padding:67px 13px 78px; }
  .apa-section-heading { width:calc(100% - 20px); margin-bottom:35px; }
  .apa-section-heading h2 { font-size:clamp(35px,10.5vw,48px); }
  .apa-section-heading > p:last-child { margin-top:13px; font-size:15px; line-height:1.38; }
  .apa-journey-grid { gap:12px; }
  .apa-journey { min-height:350px; padding:28px 20px 25px !important; }
  .apa-journey:hover,.apa-journey:focus-visible,.apa-journey.is-selected { transform:translateY(-3px); }
  .apa-card-art { width:88px; height:88px; margin-bottom:18px; }
  .apa-journey strong { font-size:25px !important; }
  .apa-card-copy { margin-top:13px; font-size:15px !important; }
  .apa-card-action { padding-top:20px; font-size:7px !important; }
  .apa-chosen { grid-template-columns:48px 1fr; gap:15px; margin-top:27px; padding:20px 13px; }
  .apa-chosen-jewel { width:39px; height:39px; font-size:19px; }
  .apa-chosen h3 { font-size:23px; }
  .apa-chosen p { font-size:14px; }
  .apa-next-marker { grid-column:2; margin-top:2px; font-size:7px; }
}

@media (prefers-reduced-motion: reduce) {
  .apa-hero-image,.apa-dust i,.apa-enter i { animation:none !important; }
  .apa-journey,.apa-chosen { transition-duration:.01ms !important; }
}

/* =========================================================
   STEP 2 — GUIDED PRIVATE DESIGN CONSULTATION
========================================================= */

.apa-begin,
.apa-begin:hover,
.apa-begin:focus,
.apa-begin:focus-visible,
.apa-begin:active,
.apa-next,
.apa-next:hover,
.apa-next:focus,
.apa-next:focus-visible,
.apa-next:active {
  -webkit-tap-highlight-color: transparent !important;
  appearance: none !important;
  min-height: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid rgba(248,221,170,.34) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  color: #271706 !important;
  background: linear-gradient(105deg,#a66d27,#e7c17a 48%,#b47a31) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34),0 8px 22px rgba(0,0,0,.22) !important;
  font: 600 8px/1 "Cinzel",Georgia,serif !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .25s ease,transform .25s ease;
}

.apa-begin:hover,
.apa-begin:focus-visible,
.apa-next:hover,
.apa-next:focus-visible { filter:brightness(1.1); transform:translateY(-2px); }
.apa-begin i,.apa-next i { font:18px/1 Georgia,serif; transition:transform .25s ease; }
.apa-begin:hover i,.apa-next:hover i { transform:translateX(4px); }

.apa-builder[hidden] { display:none !important; }

.apa-builder {
  width:min(100%,1260px);
  margin:clamp(65px,8vw,105px) auto 0;
  padding:0 0 clamp(25px,4vw,50px);
  opacity:0;
  transform:translateY(25px);
  transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1);
}

.apa-builder.is-visible { opacity:1; transform:translateY(0); }

.apa-builder-header {
  display:grid;
  grid-template-columns:170px 1fr 90px;
  align-items:center;
  gap:25px;
  padding:25px 0;
  border-top:1px solid rgba(222,181,104,.28);
  border-bottom:1px solid rgba(222,181,104,.15);
}

.apa-return-journeys,
.apa-return-journeys:hover,
.apa-return-journeys:focus,
.apa-return-journeys:focus-visible,
.apa-return-journeys:active,
.apa-back,
.apa-back:hover,
.apa-back:focus,
.apa-back:focus-visible,
.apa-back:active {
  -webkit-tap-highlight-color:transparent !important;
  appearance:none !important;
  min-height:40px;
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  color:rgba(235,215,180,.62) !important;
  background:transparent !important;
  box-shadow:none !important;
  font:500 8px/1 "Cinzel",Georgia,serif !important;
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer;
}

.apa-return-journeys:hover,
.apa-return-journeys:focus-visible,
.apa-back:hover,
.apa-back:focus-visible { color:#edcf96 !important; }
.apa-return-journeys i,.apa-back i { font:17px/1 Georgia,serif; transition:transform .25s ease; }
.apa-return-journeys:hover i,.apa-back:hover i { transform:translateX(-4px); }

.apa-builder-title { text-align:center; }
.apa-builder-title small { color:#bd8c43; font:500 7px/1 "Cinzel",serif; letter-spacing:.24em; text-transform:uppercase; }
.apa-builder-title h2 { margin:7px 0 0; color:#efe1ca; font:500 clamp(24px,2.5vw,36px)/1 "Cormorant Garamond",serif; }

.apa-step-count { justify-self:end; display:flex; align-items:center; gap:8px; color:rgba(230,207,168,.62); font:500 9px/1 "Cinzel",serif; }
.apa-step-count i { width:22px; height:1px; background:rgba(214,169,91,.38); }
.apa-step-count span:first-child { color:#e5bd75; font-size:16px; }

.apa-progress { position:relative; margin:35px auto 0; }
.apa-progress::before { content:""; position:absolute; top:15px; left:6%; right:6%; height:1px; background:rgba(255,255,255,.11); }
.apa-progress > i { position:absolute; z-index:1; top:15px; left:6%; width:0; height:1px; background:linear-gradient(90deg,#9c6624,#edcb89); box-shadow:0 0 8px rgba(218,169,82,.3); transition:width .5s cubic-bezier(.22,1,.36,1); }
.apa-progress ol { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; }
.apa-progress li { display:flex; flex-direction:column; align-items:center; gap:7px; color:rgba(230,219,203,.38); transition:color .35s ease; }
.apa-progress li span { width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(224,183,106,.18); border-radius:50%; background:#0b090d; font:500 7px/1 "Cinzel",serif; transition:border-color .35s ease,background .35s ease,box-shadow .35s ease; }
.apa-progress li small { font:500 7px/1 "Cinzel",serif; letter-spacing:.15em; text-transform:uppercase; }
.apa-progress li.is-current,.apa-progress li.is-complete { color:#e2bd7a; }
.apa-progress li.is-current span { border-color:rgba(238,202,135,.78); background:#6e461b; box-shadow:0 0 0 4px #0b090d,0 0 0 5px rgba(225,178,94,.2),0 0 14px rgba(210,158,68,.22); }
.apa-progress li.is-complete span { border-color:rgba(218,175,97,.44); background:rgba(151,98,30,.28); }

.apa-design-form { margin-top:clamp(42px,5vw,68px); }
.apa-design-form[hidden] { display:none !important; }
.apa-form-step[hidden] { display:none !important; }
.apa-form-step { animation:apaStepIn .55s cubic-bezier(.22,1,.36,1) both; }

.apa-step-heading { width:min(94%,790px); margin:0 auto clamp(38px,4.5vw,58px); text-align:center; }
.apa-step-heading > p { margin:0 0 10px; color:#bd8a3e; font:500 7px/1.2 "Cinzel",serif; letter-spacing:.24em; text-transform:uppercase; }
.apa-step-heading h3 { margin:0; color:#f0e3cf; font:500 clamp(34px,4.2vw,58px)/1 "Cormorant Garamond",serif; letter-spacing:-.018em; }
.apa-step-heading > span { display:block; max-width:650px; margin:13px auto 0; color:rgba(235,223,207,.56); font-size:17px; line-height:1.4; }

.apa-choice-group,.apa-budget { min-width:0; margin:0 0 32px; padding:0; border:0; }
.apa-choice-group legend,.apa-budget legend { display:flex; align-items:center; gap:9px; margin-bottom:12px; color:rgba(238,218,184,.7); font:500 8px/1.2 "Cinzel",serif; letter-spacing:.17em; text-transform:uppercase; }
.apa-choice-group legend small { color:rgba(230,217,198,.37); font:400 12px/1 "Cormorant Garamond",serif; letter-spacing:.02em; text-transform:none; }

.apa-choice-grid { display:grid; gap:8px; }
.apa-choice-grid--six { grid-template-columns:repeat(6,minmax(0,1fr)); }
.apa-choice-grid--seven { grid-template-columns:repeat(7,minmax(0,1fr)); }
.apa-choice-grid label,.apa-gem-grid label,.apa-style-grid label,.apa-budget label { position:relative; min-width:0; cursor:pointer; }
.apa-choice-grid input,.apa-gem-grid input,.apa-style-grid input,.apa-budget input,.apa-jewel-grid input,.apa-metal-grid input { position:absolute; opacity:0; pointer-events:none; }

.apa-choice-grid label > span,
.apa-gem-grid label > span,
.apa-style-grid label > span,
.apa-budget label > span {
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border:1px solid rgba(218,178,105,.17);
  color:rgba(237,226,210,.67);
  background:rgba(255,255,255,.018);
  font-size:15px;
  line-height:1.1;
  text-align:center;
  transition:border-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease;
}

.apa-choice-grid input:checked + span,
.apa-gem-grid input:checked + span,
.apa-style-grid input:checked + span,
.apa-budget input:checked + span {
  border-color:rgba(232,195,124,.62);
  color:#f3dba9;
  background:rgba(174,116,38,.17);
  box-shadow:inset 0 0 18px rgba(194,137,49,.08),0 0 12px rgba(185,130,46,.06);
}

.apa-choice-grid input:focus-visible + span,
.apa-gem-grid input:focus-visible + span,
.apa-style-grid input:focus-visible + span,
.apa-budget input:focus-visible + span { outline:1px solid #e7c47f; outline-offset:2px; }

.apa-field-error { margin:8px 0 0; color:#e4a37f; font-size:13px; }
.apa-choice-group.has-error,.apa-budget.has-error { padding:10px; outline:1px solid rgba(209,122,84,.48); outline-offset:3px; }

.apa-input-grid { display:grid; grid-template-columns:2fr 1fr; gap:15px; margin:34px 0; }
.apa-input-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.apa-input-field { min-width:0; display:flex; flex-direction:column; gap:8px; }
.apa-input-field--wide { grid-row:span 2; }
.apa-input-field > span { color:rgba(238,218,184,.7); font:500 8px/1.2 "Cinzel",serif; letter-spacing:.15em; text-transform:uppercase; }
.apa-input-field > small { color:rgba(230,218,201,.38); font-size:12px; font-style:italic; }

.apa-input-field input,
.apa-input-field select,
.apa-input-field textarea {
  width:100%;
  min-height:47px;
  margin:0 !important;
  padding:11px 14px !important;
  border:1px solid rgba(219,179,106,.2) !important;
  border-radius:0 !important;
  outline:0 !important;
  color:#f0e6d7 !important;
  color-scheme:dark;
  background:rgba(3,3,5,.3) !important;
  box-shadow:none !important;
  font:500 15px/1.25 "Cormorant Garamond",serif !important;
  transition:border-color .25s ease,background .25s ease;
}

.apa-input-field textarea { min-height:118px; resize:vertical; line-height:1.4 !important; }
.apa-input-field input::placeholder,.apa-input-field textarea::placeholder { color:rgba(227,216,201,.34); opacity:1; }
.apa-input-field input:focus,.apa-input-field select:focus,.apa-input-field textarea:focus { border-color:rgba(234,199,133,.62) !important; background:rgba(3,3,5,.5) !important; }
.apa-input-field input.has-error,.apa-input-field textarea.has-error { border-color:rgba(216,127,87,.66) !important; }

.apa-jewel-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.apa-jewel-grid label { position:relative; min-width:0; cursor:pointer; }
.apa-jewel-grid label > span { min-height:92px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:11px 7px; border:1px solid rgba(218,178,105,.16); color:rgba(237,226,210,.66); background:rgba(255,255,255,.017); font-size:14px; text-align:center; transition:border-color .25s ease,color .25s ease,background .25s ease; }
.apa-jewel-grid label > span i { color:#d7ad62; font:normal 23px/1 Georgia,serif; text-shadow:0 0 9px rgba(218,169,81,.2); }
.apa-jewel-grid input:checked + span { border-color:rgba(232,195,124,.62); color:#f3dba9; background:rgba(174,116,38,.17); }
.apa-jewel-grid input:focus-visible + span { outline:1px solid #e7c47f; outline-offset:2px; }

.apa-materials { margin-top:10px; }
.apa-metal-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.apa-metal-grid label { position:relative; min-width:0; cursor:pointer; }
.apa-metal-grid label > span { min-height:81px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(218,178,105,.15); color:rgba(237,226,210,.62); background:rgba(255,255,255,.015); font-size:13px; }
.apa-metal-grid span i { width:25px; height:25px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.34); border-radius:50%; background:linear-gradient(135deg,#efc55f,#a66c18); box-shadow:inset 0 0 7px rgba(255,255,255,.28); font:500 12px/1 "Cinzel",serif; }
.apa-metal-grid .is-white i { background:linear-gradient(135deg,#f2f2f0,#959ca4); }
.apa-metal-grid .is-rose i { background:linear-gradient(135deg,#efc0a6,#a9614e); }
.apa-metal-grid .is-platinum i { background:linear-gradient(135deg,#f5f7f8,#7e8995); }
.apa-metal-grid .is-mixed i { background:linear-gradient(90deg,#dfac43 0 34%,#dce1e6 34% 67%,#c67d64 67%); }
.apa-metal-grid .is-guided i { color:#e5c27f; background:#171218; }
.apa-metal-grid input:checked + span { border-color:rgba(232,195,124,.6); color:#f3dba9; background:rgba(174,116,38,.15); }
.apa-metal-grid input:checked + span i { box-shadow:inset 0 0 7px rgba(255,255,255,.3),0 0 0 3px #0b090d,0 0 0 4px rgba(234,198,130,.5),0 0 13px rgba(213,159,67,.2); }

.apa-gem-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; }
.apa-style-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }

.apa-range-budget { display:grid; grid-template-columns:.8fr 1.5fr; gap:22px; margin:36px 0 5px; }
.apa-carat,.apa-budget { padding:21px; border:1px solid rgba(218,178,105,.14); background:rgba(0,0,0,.12); }
.apa-carat > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.apa-carat > div span,.apa-budget legend { color:rgba(238,218,184,.7); font:500 8px/1.2 "Cinzel",serif; letter-spacing:.14em; text-transform:uppercase; }
.apa-carat output { color:#edcf94; font-size:14px; }
.apa-carat input[type="range"] { width:100%; height:4px; margin:26px 0 19px; accent-color:#d2a153; cursor:pointer; }
.apa-carat > label { display:inline-flex; align-items:center; gap:8px; color:rgba(234,222,205,.55); font-size:13px; cursor:pointer; }
.apa-carat > label input { accent-color:#c89647; }
.apa-carat input[type="range"]:disabled { opacity:.25; }
.apa-budget { margin:0; }
.apa-budget > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.apa-budget label > span { min-height:40px; font-size:13px; }

.apa-engraving { display:grid; grid-template-columns:1fr 2fr; align-items:end; gap:25px; margin:32px 0; padding:21px; border-top:1px solid rgba(218,178,105,.15); border-bottom:1px solid rgba(218,178,105,.1); }
.apa-switch { display:flex; align-items:center; gap:11px; min-height:47px; color:rgba(238,226,210,.7); font-size:16px; cursor:pointer; }
.apa-switch input { position:absolute; opacity:0; }
.apa-switch i { position:relative; width:40px; height:21px; border:1px solid rgba(222,183,111,.27); border-radius:99px; background:rgba(255,255,255,.045); }
.apa-switch i::after { content:""; position:absolute; top:3px; left:3px; width:13px; height:13px; border-radius:50%; background:#8f8d8b; transition:transform .25s ease,background .25s ease; }
.apa-switch input:checked + i { background:rgba(170,112,36,.27); }
.apa-switch input:checked + i::after { transform:translateX(19px); background:#edca88; }
.apa-switch input:focus-visible + i { outline:1px solid #e5c17b; outline-offset:3px; }
.apa-engraving [hidden] { display:none !important; }
.apa-final-notes { margin-top:26px; }

.apa-step-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:48px; padding-top:25px; border-top:1px solid rgba(219,178,102,.13); }
.apa-step-nav--end { justify-content:flex-end; }

.apa-direction-ready[hidden] { display:none !important; }
.apa-direction-ready { max-width:760px; margin:55px auto 20px; padding:50px 35px; opacity:0; transform:translateY(18px); border-top:1px solid rgba(227,187,113,.34); border-bottom:1px solid rgba(227,187,113,.18); background:rgba(255,255,255,.02); text-align:center; transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1); }
.apa-direction-ready.is-visible { opacity:1; transform:translateY(0); }
.apa-ready-jewel { width:67px; height:67px; display:grid; place-items:center; margin:0 auto 27px; border:1px solid rgba(233,197,129,.48); transform:rotate(45deg); box-shadow:0 0 25px rgba(212,157,66,.13); }
.apa-ready-jewel span { color:#efcb85; font-size:31px; transform:rotate(-45deg); text-shadow:0 0 12px rgba(224,174,84,.35); }
.apa-direction-ready > p { margin:0 0 11px; color:#c28d42; font:500 8px/1.2 "Cinzel",serif; letter-spacing:.25em; text-transform:uppercase; }
.apa-direction-ready h3 { margin:0; color:#f0e2cc; font:500 clamp(35px,4vw,52px)/1 "Cormorant Garamond",serif; }
.apa-direction-ready > span { display:block; max-width:610px; margin:17px auto 26px; color:rgba(235,223,206,.58); font-size:17px; line-height:1.45; }
.apa-edit-direction { margin-inline:auto !important; }
.apa-builder.is-complete .apa-progress { opacity:.34; }

@keyframes apaStepIn {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}

@media (max-width: 1000px) {
  .apa-choice-grid--six { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .apa-choice-grid--seven { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .apa-jewel-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .apa-metal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .apa-gem-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .apa-style-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .apa-range-budget { grid-template-columns:1fr; }
}

@media (max-width: 700px) {
  .apa-chosen { grid-template-columns:45px 1fr; }
  .apa-begin { grid-column:2; justify-self:start; margin-top:6px !important; }
  .apa-builder { margin-top:58px; }
  .apa-builder-header { grid-template-columns:1fr auto; gap:12px; padding:18px 4px; }
  .apa-builder-title { grid-column:1/-1; grid-row:1; padding:0 35px; }
  .apa-return-journeys { grid-column:1; grid-row:2; }
  .apa-step-count { grid-column:2; grid-row:2; }
  .apa-progress { margin-top:27px; }
  .apa-progress li small { font-size:6px; letter-spacing:.09em; }
  .apa-design-form { margin-top:40px; }
  .apa-step-heading { margin-bottom:34px; }
  .apa-step-heading h3 { font-size:clamp(32px,9.8vw,44px); }
  .apa-step-heading > span { font-size:15px; }
  .apa-choice-grid--six,.apa-choice-grid--seven { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apa-choice-grid label > span { min-height:40px; font-size:14px; }
  .apa-input-grid,.apa-input-grid--three { grid-template-columns:1fr; margin:27px 0; }
  .apa-input-field--wide { grid-row:auto; }
  .apa-jewel-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .apa-jewel-grid label > span { min-height:82px; font-size:12px; }
  .apa-metal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .apa-metal-grid label > span { min-height:75px; font-size:11px; }
  .apa-gem-grid,.apa-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apa-budget > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apa-carat,.apa-budget { padding:16px 12px; }
  .apa-engraving { grid-template-columns:1fr; gap:13px; padding:17px 5px; }
  .apa-step-nav { margin-top:37px; }
  .apa-next { min-height:44px; padding:0 14px !important; font-size:7px !important; }
  .apa-direction-ready { margin-top:35px; padding:40px 18px; }
  .apa-direction-ready > span { font-size:15px; }
}

@media (max-width: 430px) {
  .apa-jewel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apa-metal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apa-progress::before,.apa-progress > i { left:8%; right:8%; }
  .apa-step-nav { gap:11px; }
  .apa-back span { display:none; }
  .apa-next { flex:1; }
}

@media (prefers-reduced-motion: reduce) {
  .apa-form-step { animation:none !important; }
  .apa-builder,.apa-progress > i,.apa-direction-ready { transition-duration:.01ms !important; }
}

/* Journey-card copy isolation: prevents Elementor button rules clipping text. */
.apa-journey .apa-card-copy {
  display:block !important;
  width:100% !important;
  max-width:330px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:5px !important;
  padding-right:5px !important;
  overflow:visible !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  text-overflow:clip !important;
}

.apa-journey,.apa-journey span,.apa-journey strong,.apa-journey small {
  white-space:normal !important;
}

/* =========================================================
   COMPLETE DESIGN DOSSIER, PRIVATE SUBMISSION & TRACKER
========================================================= */

.apa-ready-actions { display:flex; align-items:center; justify-content:center; gap:28px; margin-top:29px; }
.apa-ready-actions .apa-edit-direction { margin:0 !important; }

.apa-dossier-stage[hidden],.apa-submission-success[hidden] { display:none !important; }
.apa-dossier-stage { opacity:0; transform:translateY(20px); transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1); }
.apa-dossier-stage.is-visible { opacity:1; transform:translateY(0); }

.apa-dossier-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.78fr); align-items:start; gap:clamp(22px,3vw,42px); }
.apa-dossier-entry { min-width:0; display:flex; flex-direction:column; gap:22px; }

.apa-upload-box,.apa-contact-card {
  padding:clamp(24px,3vw,38px);
  border:1px solid rgba(220,180,105,.16);
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.013));
}

.apa-upload-box { text-align:center; }
.apa-upload-icon { width:59px; height:59px; display:grid; place-items:center; margin:0 auto 18px; border:1px solid rgba(229,191,118,.4); transform:rotate(45deg); background:rgba(171,112,36,.08); box-shadow:0 0 20px rgba(207,153,61,.08); }
.apa-upload-icon span { color:#e3bd76; font:300 25px/1 Georgia,serif; transform:rotate(-45deg); }
.apa-upload-box h4,.apa-contact-card h4 { margin:0; color:#efe1cb; font:500 clamp(24px,2.4vw,33px)/1 "Cormorant Garamond",serif; }
.apa-upload-box > p { max-width:470px; margin:9px auto 19px; color:rgba(235,222,204,.53); font-size:15px; line-height:1.4; }
.apa-upload-button { position:relative; display:inline-flex; cursor:pointer; }
.apa-upload-button input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.apa-upload-button > span { min-height:43px; display:flex; align-items:center; justify-content:center; padding:0 19px; border:1px solid rgba(231,194,124,.42); color:#e5c488; background:rgba(160,102,29,.08); font:500 8px/1 "Cinzel",serif; letter-spacing:.14em; text-transform:uppercase; transition:border-color .25s ease,background .25s ease; }
.apa-upload-button:hover > span,.apa-upload-button input:focus-visible + span { border-color:rgba(242,211,150,.8); background:rgba(174,116,38,.17); }
.apa-upload-box > small { display:block; margin-top:11px; color:rgba(229,216,198,.37); font-size:11px; }

.apa-file-list[hidden] { display:none !important; }
.apa-file-list { display:grid; gap:7px; margin-top:18px; text-align:left; }
.apa-file-list > span { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:9px 12px; border-left:2px solid rgba(216,172,93,.46); color:rgba(239,226,209,.72); background:rgba(0,0,0,.16); }
.apa-file-list strong { min-width:0; overflow:hidden; font-size:13px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.apa-file-list small { color:rgba(230,214,191,.4); white-space:nowrap; }
.apa-file-list.has-error { padding:10px; color:#e8aa87; border:1px solid rgba(213,123,83,.45); font-size:13px; }

.apa-card-heading { margin-bottom:23px; text-align:center; }
.apa-card-heading small { display:block; margin-bottom:6px; color:#bf8c41; font:500 7px/1 "Cinzel",serif; letter-spacing:.21em; text-transform:uppercase; }
.apa-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.apa-consent { display:flex; align-items:flex-start; gap:10px; margin-top:20px; color:rgba(236,224,207,.56); font-size:13px; line-height:1.38; cursor:pointer; }
.apa-consent input { position:absolute; opacity:0; }
.apa-consent i { flex:0 0 17px; width:17px; height:17px; margin-top:1px; display:grid; place-items:center; border:1px solid rgba(226,184,107,.35); background:rgba(255,255,255,.02); }
.apa-consent input:checked + i::after { content:"✓"; color:#e9c77f; font:11px/1 Georgia,serif; }
.apa-consent input:focus-visible + i { outline:1px solid #e7c47f; outline-offset:3px; }
.apa-consent input.has-error + i { border-color:rgba(222,122,80,.72); }
.apa-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.apa-submit-area { padding:22px 25px; border-top:1px solid rgba(219,177,100,.2); border-bottom:1px solid rgba(219,177,100,.12); background:rgba(0,0,0,.13); }
.apa-submit-area > p:first-child { margin:0 0 17px; color:rgba(233,220,201,.5); font-size:13px; line-height:1.4; }
.apa-submit-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.apa-submit-message[hidden] { display:none !important; }
.apa-submit-message { margin:14px 0 0 !important; padding:10px 12px; color:#edb08f !important; border-left:2px solid rgba(218,127,88,.72); background:rgba(132,53,30,.13); font-size:13px !important; }
.apa-submit-brief:disabled { opacity:.62; cursor:wait; }

.apa-dossier { position:sticky; top:25px; min-width:0; padding:30px; border:1px solid rgba(230,191,118,.28); background:radial-gradient(circle at 100% 0%,rgba(176,118,39,.11),transparent 35%),linear-gradient(150deg,#151017,#0b090d 68%); box-shadow:0 25px 60px rgba(0,0,0,.3); }
.apa-dossier::before { content:""; position:absolute; inset:7px; border:1px solid rgba(225,184,108,.08); pointer-events:none; }
.apa-dossier-top { position:relative; display:flex; align-items:center; gap:15px; padding-bottom:21px; border-bottom:1px solid rgba(219,177,101,.18); }
.apa-dossier-top > span { width:37px; height:37px; display:grid; place-items:center; color:#e1b870; border:1px solid rgba(226,185,108,.4); transform:rotate(45deg); font:500 17px/1 "Cinzel",serif; }
.apa-dossier-top > span::first-letter { transform:rotate(-45deg); }
.apa-dossier-top div { display:flex; flex-direction:column; gap:4px; }
.apa-dossier-top small { color:#bd8940; font:500 6px/1 "Cinzel",serif; letter-spacing:.18em; text-transform:uppercase; }
.apa-dossier-top strong { color:#efdfc6; font:500 25px/1 "Cormorant Garamond",serif; }
.apa-dossier-reference { margin:17px 0; color:rgba(225,209,184,.4); font:500 7px/1 "Cinzel",serif; letter-spacing:.12em; text-transform:uppercase; }
.apa-dossier dl { display:grid; grid-template-columns:125px 1fr; margin:0; border-top:1px solid rgba(255,255,255,.06); }
.apa-dossier dt,.apa-dossier dd { margin:0; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.apa-dossier dt { color:rgba(209,173,108,.58); font:500 7px/1.3 "Cinzel",serif; letter-spacing:.08em; text-transform:uppercase; }
.apa-dossier dd { min-width:0; padding-left:12px; color:rgba(239,228,211,.75); font-size:14px; line-height:1.25; overflow-wrap:anywhere; }
.apa-dossier-seal { display:flex; align-items:center; gap:12px; margin-top:20px; }
.apa-dossier-seal i { color:#dcb46c; font:22px/1 Georgia,serif; }
.apa-dossier-seal span { color:rgba(226,212,191,.38); font-size:11px; font-style:italic; line-height:1.35; }

.apa-submission-success { max-width:780px; margin:55px auto 20px; padding:55px 35px; opacity:0; transform:translateY(18px); border-top:1px solid rgba(227,187,113,.38); border-bottom:1px solid rgba(227,187,113,.18); background:rgba(255,255,255,.02); text-align:center; transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1); }
.apa-submission-success.is-visible { opacity:1; transform:translateY(0); }
.apa-submission-success > p { margin:0 0 10px; color:#c59044; font:500 8px/1.2 "Cinzel",serif; letter-spacing:.23em; text-transform:uppercase; }
.apa-submission-success h3 { margin:0; color:#f0e2cc; font:500 clamp(36px,4vw,54px)/1 "Cormorant Garamond",serif; }
.apa-submission-success > span { display:block; margin:17px 0 13px; color:rgba(235,223,206,.58); font-size:16px; }
.apa-submission-success > strong { display:block; width:max-content; max-width:100%; margin:0 auto 15px; padding:13px 20px; border:1px solid rgba(227,188,115,.38); color:#f0cd8b; font:500 clamp(15px,2vw,21px)/1 "Cinzel",serif; letter-spacing:.08em; }
.apa-submission-success > small { display:block; color:rgba(230,216,196,.43); font-size:12px; }

/* Public commission tracker shortcode */
.apa-tracker,.apa-tracker * { box-sizing:border-box; }
.apa-tracker { width:100vw; max-width:none; min-height:75svh; margin-left:calc(50% - 50vw); padding:clamp(70px,9vw,120px) clamp(18px,5vw,70px); color:#f2e7d7; background:radial-gradient(ellipse at 50% 0%,rgba(179,121,41,.15),transparent 40%),linear-gradient(145deg,#100b12,#08070a 55%,#0d0a0f); font-family:"Cormorant Garamond",serif; }
.apa-tracker .apa-section-heading { margin-bottom:42px; }
.apa-tracker-form { width:min(100%,780px); display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:12px; margin:0 auto; }
.apa-tracker-form .apa-next { min-height:47px; }
.apa-tracker-result[hidden] { display:none !important; }
.apa-tracker-result { width:min(100%,850px); margin:42px auto 0; padding:30px; border-top:1px solid rgba(223,181,105,.3); border-bottom:1px solid rgba(223,181,105,.15); background:rgba(255,255,255,.02); }
.apa-tracker-head small { color:#bd8940; font:500 7px/1 "Cinzel",serif; letter-spacing:.16em; }
.apa-tracker-head h3 { margin:7px 0 5px; color:#f0dfc5; font:500 clamp(27px,3vw,40px)/1 "Cormorant Garamond",serif; }
.apa-tracker-head span { color:rgba(231,217,197,.42); font-size:12px; }
.apa-status-timeline { display:grid; grid-template-columns:repeat(8,1fr); margin:34px 0 0; padding:0; list-style:none; }
.apa-status-timeline li { position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(230,216,197,.34); text-align:center; }
.apa-status-timeline li::before { content:""; position:absolute; z-index:0; top:13px; left:-50%; width:100%; height:1px; background:rgba(255,255,255,.09); }
.apa-status-timeline li:first-child::before { display:none; }
.apa-status-timeline i { position:relative; z-index:1; width:27px; height:27px; display:grid; place-items:center; border:1px solid rgba(219,178,102,.2); border-radius:50%; background:#0c090d; font:normal 11px/1 Georgia,serif; }
.apa-status-timeline span { font:500 6px/1.3 "Cinzel",serif; letter-spacing:.06em; text-transform:uppercase; }
.apa-status-timeline .is-complete,.apa-status-timeline .is-current { color:#e1bb75; }
.apa-status-timeline .is-complete i { border-color:rgba(218,175,97,.45); background:rgba(154,100,29,.3); }
.apa-status-timeline .is-current i { border-color:#e4bd75; color:#f1cf8e; background:#70481c; box-shadow:0 0 0 3px #0b090d,0 0 0 4px rgba(226,182,103,.22),0 0 12px rgba(212,158,66,.2); }
.apa-tracker-error { margin:0; padding:12px; color:#ebb08f; border-left:2px solid rgba(218,126,86,.65); background:rgba(130,53,31,.12); }

@media (max-width:900px) {
  .apa-dossier-layout { grid-template-columns:1fr; }
  .apa-dossier { position:relative; top:auto; grid-row:1; }
  .apa-tracker-form { grid-template-columns:1fr 1fr; }
  .apa-tracker-form .apa-next { grid-column:1/-1; justify-self:center; }
  .apa-status-timeline { grid-template-columns:repeat(4,1fr); row-gap:28px; }
  .apa-status-timeline li:nth-child(5)::before { display:none; }
}

@media (max-width:600px) {
  .apa-ready-actions { flex-direction:column-reverse; gap:16px; }
  .apa-dossier-stage .apa-step-heading { margin-bottom:28px; }
  .apa-upload-box,.apa-contact-card { padding:22px 14px; }
  .apa-contact-grid { grid-template-columns:1fr; gap:12px; }
  .apa-submit-area { padding:18px 13px; }
  .apa-submit-actions { flex-direction:column-reverse; align-items:stretch; }
  .apa-submit-actions .apa-back { justify-content:center; }
  .apa-dossier { padding:25px 20px; }
  .apa-dossier dl { grid-template-columns:105px 1fr; }
  .apa-dossier dt { font-size:6px; }
  .apa-submission-success { padding:42px 16px; }
  .apa-tracker { padding-inline:13px; }
  .apa-tracker-form { grid-template-columns:1fr; }
  .apa-tracker-form .apa-next { grid-column:auto; width:100%; }
  .apa-tracker-result { padding:22px 12px; }
  .apa-status-timeline { grid-template-columns:repeat(2,1fr); row-gap:27px; }
  .apa-status-timeline li:nth-child(odd)::before { display:none; }
  .apa-status-timeline li:nth-child(5)::before { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .apa-dossier-stage,.apa-submission-success { transition-duration:.01ms!important; }
}
