/* ============================================================
   WOODYER CAPITAL — RETAIN US
   Uses tokens + hero helpers from base.css.
============================================================ */
#wc-retain{ background:var(--wc-onyx); display:block; }
#wc-retain [data-r]{ will-change:opacity,transform; }

/* ===== 01 . HERO ===== */
.wc-rh{
  position:relative; overflow:hidden; background:var(--wc-ink);
  padding:calc(var(--wc-h) + clamp(70px,11vh,140px)) 0 clamp(80px,11vh,140px);
}
.wc-rh__bg{
  position:absolute; inset:-10% -6%; z-index:0;
  background-image:
    radial-gradient(92% 80% at 86% 6%, rgba(201,169,97,.15) 0%, rgba(201,169,97,0) 46%),
    radial-gradient(72% 62% at 4% 100%, rgba(92,31,38,.22) 0%, rgba(92,31,38,0) 55%),
    conic-gradient(from 215deg at 70% 34%, #050505 0deg,#100f0d 72deg,#070707 150deg,#141210 220deg,#050505 300deg,#050505 360deg);
}
.wc-rh__grain{
  position:absolute; inset:0; z-index:1; opacity:.5; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wc-rh__in{ position:relative; z-index:2; }
.wc-rh__eyebrow{ margin-bottom:26px; }
.wc-rh__h1{
  margin:0; font-family:var(--wc-serif); font-weight:350; letter-spacing:-.025em;
  font-size:clamp(50px,9vw,116px); line-height:1.0; color:var(--wc-white); max-width:16ch;
}
.wc-rh__h1 em{ font-style:italic; color:var(--wc-brass); }
.wc-rh__lede{
  margin:34px 0 0; max-width:54ch; font-family:var(--wc-sans); font-weight:300;
  font-size:clamp(17px,1.6vw,21px); line-height:1.64; color:rgba(246,243,238,.78);
}
.wc-rh__ctas{ margin-top:44px; display:flex; flex-wrap:wrap; gap:16px; }

/* ===== 02 . THREE ROUTES (Bone) ===== */
.wc-routes{ background:var(--wc-bone); padding:clamp(90px,12vw,168px) 0; }
.wc-routes__head{ max-width:640px; margin-bottom:clamp(44px,5vw,68px); }
.wc-routes__h{ margin-top:22px; }
.wc-routes__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px); }
.wc-route{ display:flex; flex-direction:column; align-items:flex-start; text-align:left;
  padding:clamp(28px,3vw,40px); background:#fff; border:1px solid rgba(58,58,61,.18); cursor:pointer;
  font:inherit; color:inherit; transition:border-color .25s ease, transform .3s ease, box-shadow .3s ease; }
.wc-route:hover{ border-color:var(--wc-brass-d); transform:translateY(-4px);
  box-shadow:0 30px 60px -40px rgba(10,10,10,.55); }
.wc-route--hot{ background:var(--wc-graphite); border-color:var(--wc-graphite); }
.wc-route__k{ font-family:var(--wc-sans); font-size:12px; font-weight:600; letter-spacing:.18em;
  color:var(--wc-brass-d); }
.wc-route--hot .wc-route__k{ color:var(--wc-brass); }
.wc-route__t{ margin:clamp(28px,4vw,52px) 0 0; font-family:var(--wc-serif); font-weight:500;
  font-size:clamp(22px,2.2vw,29px); line-height:1.1; color:var(--wc-graphite); }
.wc-route--hot .wc-route__t{ color:var(--wc-bone); }
.wc-route__d{ margin:14px 0 0; font-family:var(--wc-sans); font-size:14.5px; font-weight:400;
  line-height:1.62; color:rgba(34,31,28,.68); }
.wc-route--hot .wc-route__d{ color:rgba(246,243,238,.7); }
.wc-route__go{ margin-top:auto; padding-top:26px; display:inline-flex; align-items:center; gap:10px;
  font-family:var(--wc-sans); font-size:11.5px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--wc-brass-d); }
.wc-route--hot .wc-route__go{ color:var(--wc-brass); }
.wc-route__go i{ transition:transform .25s ease; }
.wc-route:hover .wc-route__go i{ transform:translateX(5px); }

/* ===== 03 . THE FORM (Onyx) ===== */
.wc-enquire{ background:var(--wc-onyx); padding:clamp(90px,12vw,168px) 0;
  border-top:1px solid rgba(246,243,238,.06); }
.wc-enquire__in{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(36px,6vw,90px);
  align-items:start; }
.wc-enquire__aside{ position:sticky; top:calc(var(--wc-h) + 8vh); align-self:start; }
.wc-enquire__h{ margin:24px 0 0; font-family:var(--wc-serif); font-weight:370; letter-spacing:-.02em;
  font-size:clamp(32px,4.2vw,54px); line-height:1.05; color:var(--wc-white); }
.wc-enquire__h em{ font-style:italic; color:var(--wc-brass); }
.wc-enquire__sub{ margin:24px 0 0; max-width:38ch; font-family:var(--wc-sans); font-weight:300;
  font-size:16px; line-height:1.66; color:rgba(246,243,238,.64); }
.wc-enquire__pts{ list-style:none; margin:32px 0 0; padding:0; }
.wc-enquire__pts li{ position:relative; padding:12px 0 12px 26px; font-family:var(--wc-sans);
  font-size:14.5px; color:rgba(246,243,238,.7); border-top:1px solid rgba(246,243,238,.1); }
.wc-enquire__pts li::before{ content:''; position:absolute; left:0; top:19px; width:12px; height:1px;
  background:var(--wc-brass); }

/* Form controls */
.wc-form{ display:flex; flex-direction:column; gap:clamp(18px,2vw,24px); }
.wc-field{ display:flex; flex-direction:column; gap:10px; }
.wc-field__l{ font-family:var(--wc-sans); font-size:11.5px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--wc-brass); }
.wc-field__i{ width:100%; background:rgba(246,243,238,.03); border:1px solid rgba(246,243,238,.16);
  border-radius:0; padding:16px 18px; font-family:var(--wc-sans); font-size:16px; font-weight:400;
  color:var(--wc-white); transition:border-color .2s ease, background-color .2s ease; }
.wc-field__i::placeholder{ color:rgba(246,243,238,.34); }
.wc-field__i:focus{ outline:none; border-color:var(--wc-brass); background:rgba(246,243,238,.05); }
.wc-field__i--ta{ resize:vertical; min-height:120px; line-height:1.55; }
.wc-field.is-err .wc-field__i{ border-color:#b0574b; }
.wc-select{ position:relative; }
.wc-field__i--sel{ appearance:none; -webkit-appearance:none; -moz-appearance:none; cursor:pointer;
  padding-right:44px; }
.wc-field__i--sel option{ background:var(--wc-ink); color:var(--wc-white); }
.wc-select__a{ position:absolute; right:18px; top:50%; transform:translateY(-50%) rotate(90deg);
  font-size:22px; line-height:1; color:var(--wc-brass); pointer-events:none; }
.wc-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.wc-form__foot{ display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; margin-top:6px; }
.wc-form__btn{ border:none; }
.wc-form__fine{ margin:0; max-width:34ch; font-family:var(--wc-sans); font-size:12px; font-weight:400;
  line-height:1.5; color:rgba(246,243,238,.45); }
.wc-form__fine a{ color:rgba(246,243,238,.7); text-decoration:underline; text-underline-offset:2px; }
.wc-form__msg{ margin:6px 0 0; font-family:var(--wc-sans); font-size:14.5px; line-height:1.5;
  min-height:1px; }
.wc-form__msg.is-ok{ color:var(--wc-brass); }
.wc-form__msg.is-bad{ color:#d98675; }

/* ===== 04 . WHAT HAPPENS NEXT (Bone) ===== */
.wc-next{ background:var(--wc-bone); padding:clamp(90px,12vw,168px) 0; }
.wc-next__head{ max-width:680px; margin-bottom:clamp(44px,5vw,72px); }
.wc-next__h{ margin-top:22px; }
.wc-next__steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3vw,44px); border-top:1px solid rgba(58,58,61,.24); }
.wc-next__step{ padding-top:clamp(30px,3vw,44px); }
.wc-next__k{ font-family:var(--wc-serif); font-weight:300; font-size:clamp(40px,5vw,64px);
  line-height:.8; letter-spacing:-.03em; color:var(--wc-brass-d); }
.wc-next__t{ margin:24px 0 0; font-family:var(--wc-serif); font-weight:500;
  font-size:clamp(20px,2vw,26px); line-height:1.12; color:var(--wc-graphite); }
.wc-next__p{ margin:12px 0 0; font-family:var(--wc-sans); font-size:15px; font-weight:400;
  line-height:1.64; color:rgba(34,31,28,.7); }

/* ===== 05 . DIRECT (Onyx) ===== */
.wc-direct{ background:var(--wc-onyx); padding:clamp(96px,13vw,180px) 0;
  border-top:1px solid rgba(246,243,238,.06); text-align:center; }
.wc-direct__in{ display:flex; flex-direction:column; align-items:center; }
.wc-direct__h{ margin:26px 0 0; font-family:var(--wc-serif); font-weight:360; letter-spacing:-.02em;
  font-size:clamp(36px,5.6vw,78px); line-height:1.04; color:var(--wc-white); }
.wc-direct__h em{ font-style:italic; color:var(--wc-brass); }
.wc-direct__mail{ margin-top:36px; font-family:var(--wc-serif); font-weight:400; font-style:italic;
  font-size:clamp(20px,2.4vw,32px); color:var(--wc-brass); text-decoration:none;
  border-bottom:1px solid rgba(201,169,97,.4); padding-bottom:6px; transition:border-color .25s ease; }
.wc-direct__mail:hover{ border-color:var(--wc-brass); }
.wc-direct__addr{ margin:40px 0 0; font-family:var(--wc-sans); font-size:14px; font-weight:300;
  line-height:1.8; color:rgba(246,243,238,.6); }
.wc-direct__reg{ margin:26px 0 0; font-family:var(--wc-sans); font-size:11.5px; font-weight:500;
  letter-spacing:.06em; color:rgba(246,243,238,.4); }

/* ===== Responsive ===== */
@media (max-width:980px){
  .wc-routes__grid{ grid-template-columns:1fr; }
  .wc-enquire__in{ grid-template-columns:1fr; gap:40px; }
  .wc-enquire__aside{ position:static; }
  .wc-next__steps{ grid-template-columns:1fr; gap:0; }
  .wc-next__step{ border-bottom:1px solid rgba(58,58,61,.16); padding-bottom:clamp(24px,4vw,36px); }
  .wc-next__step:last-child{ border-bottom:0; }
}
@media (max-width:560px){
  .wc-rh__ctas .wc-btn{ width:100%; justify-content:center; }
  .wc-form__foot{ flex-direction:column; align-items:flex-start; }
  .wc-form__btn{ width:100%; justify-content:center; }
}
