/* home.css — styles for home-wilson.php (HW) */

.hw-home {
  --hw-bg:#0b0f14;
  --hw-surface:rgba(255,255,255,.05);
  --hw-surface-2:rgba(255, 255, 255, .08);
  --hw-border:rgba(255, 255, 255, .12);
  --hw-text:rgba(244, 241, 232, .92);
  --hw-muted:rgba(244, 241, 232, .72);
  --hw-muted-2:rgba(244, 241, 232, .58);
  --hw-accent:rgba(var(--primary-rgb, 184, 149, 95), 1);
  color:var(--hw-text);
  background:radial-gradient(1100px 520px at 20% -10%,rgba(var(--primary-rgb,184,149,95),.18),transparent 60%),radial-gradient(820px 440px at 90% 10%,rgba(99,102,241,.14),transparent 58%),linear-gradient(180deg,var(--hw-bg),#070a0d)
}

.hw-home .container {
  width:min(1120px,calc(100% - 40px));
  margin:0 auto
}

.hw-sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.hw-kicker {
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--hw-muted);
  margin:0 0 12px
}

.hw-h2 {
  margin:0;
  font-size:clamp(26px,3vw,40px);
  line-height:1.1
}

.hw-h3 {
  margin:0;
  font-size:18px;
  line-height:1.2
}

.hw-text {
  margin:12px 0 0;
  color:var(--hw-muted);
  max-width:62ch
}

.hw-btn {
  -webkit-tap-highlight-color:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--hw-border);
  background:rgba(255,255,255,.06);
  color:var(--hw-text);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.02em;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease
}

.hw-btn:hover {
  transform:translateY(-1px);
  background:rgba(255,255,255,.085);
  border-color:rgba(255,255,255,.22)
}

.hw-btn:active {
  transform:translateY(0)
}

.hw-btn--primary {
  background:linear-gradient(180deg,rgba(var(--primary-rgb,184,149,95),.98),rgba(var(--primary-rgb,184,149,95),.68));
  border-color:rgba(var(--primary-rgb,184,149,95),.46);
  color:rgba(8,10,14,.92)
}

.hw-btn--primary:hover {
  box-shadow:0 16px 50px rgba(var(--primary-rgb,184,149,95),.18);
  border-color:rgba(var(--primary-rgb,184,149,95),.65)
}

.hw-btn--ghost {
  background:rgba(0,0,0,.22)
}

.hw-btn--accent {
  background:rgba(99,102,241,.18);
  border-color:rgba(99,102,241,.28)
}

.hw-btn--accent:hover {
  background:rgba(99,102,241,.26);
  border-color:rgba(99,102,241,.36)
}

.hw-btn--full {
  width:100%
}

.hw-hero {
  position:relative;
  min-height:clamp(640px,88vh,940px);
  display:flex;
  align-items:center;
  isolation:isolate
}

.hw-hero__bg {
  position:absolute;
  inset:0;
  z-index:-2
}

.hw-hero__bg img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.06) contrast(1.08)
}

.hw-hero__overlay {
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(900px 520px at 20% 10%,rgba(var(--primary-rgb,184,149,95),.18),transparent 55%),radial-gradient(700px 420px at 85% 18%,rgba(99,102,241,.2),transparent 60%),linear-gradient(90deg,rgba(8,10,14,.94),rgba(8,10,14,.54) 55%,rgba(8,10,14,.86)),linear-gradient(180deg,rgba(8,10,14,.6),rgba(8,10,14,.92))
}

.hw-hero__grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(18px,4vw,48px);
  align-items:center;
  padding:clamp(56px,6vw,86px) 0
}

.hw-hero__title {
  margin:0;
  font-size:clamp(38px,5.3vw,64px);
  line-height:1.02;
  letter-spacing:-.02em
}

.hw-hero__lead {
  margin:14px 0 0;
  color:var(--hw-muted);
  max-width:58ch;
  font-size:16px
}

.hw-hero__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px
}

.hw-hero__trust {
  list-style:none;
  padding:0;
  margin:26px 0 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px
}

.hw-pill {
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:var(--hw-muted);
  font-size:13px
}

.hw-hero__panel {
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  border-radius:22px;
  padding:18px;
  box-shadow:0 18px 55px rgba(0,0,0,.45)
}

.hw-panel__head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px
}

.hw-panel__title {
  margin:0;
  font-size:16px;
  font-weight:900;
  letter-spacing:.02em
}

.hw-panel__subtitle {
  color:var(--hw-muted-2);
  font-size:12px;
  letter-spacing:.01em
}

.hw-search {
  display:flex;
  gap:10px;
  align-items:stretch;
  margin-top:14px
}

.hw-search input {
  flex:1;
  min-width:0;
  height:48px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:var(--hw-text)
}

.hw-search input::placeholder {
  color:rgba(244,241,232,.58)
}

.hw-search button {
  height:48px;
  white-space:nowrap
}

.hw-panel__links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px
}

.hw-panel__link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.22);
  color:var(--hw-text);
  text-decoration:none;
  font-weight:900;
  font-size:14px
}

.hw-panel__link:hover {
  background:rgba(0,0,0,.32);
  border-color:rgba(255,255,255,.18)
}

.hw-panel__note {
  margin-top:14px;
  color:var(--hw-muted);
  font-size:13px
}

.hw-panel__noteStrong {
  color:rgba(244,241,232,.88);
  font-weight:900
}

.hw-scroll {
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  color:rgba(244,241,232,.7);
  text-decoration:none;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22)
}

.hw-scroll__line {
  width:34px;
  height:1px;
  background:rgba(255,255,255,.35);
  position:relative;
  overflow:hidden
}

.hw-scroll__line::after {
  content:"";
  position:absolute;
  left:-30%;
  top:0;
  width:30%;
  height:100%;
  background:rgba(255,255,255,.75);
  animation:hwScrollLine 1.5s ease-in-out infinite
}

@keyframes hwScrollLine {
  0% {
    left:-30%;
    opacity:.1
  }
  40% {
    opacity:1
  }
  100% {
    left:100%;
    opacity:.1
  }
}

.hw-section {
  padding:clamp(54px,6.2vw,86px) 0
}

.hw-section__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px
}

.hw-split {
  padding:clamp(54px,6.2vw,86px) 0
}

.hw-split__grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(18px,3.6vw,48px);
  align-items:center
}

.hw-check {
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:var(--hw-muted)
}

.hw-check li {
  position:relative;
  padding-left:28px
}

.hw-check li::before {
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:18px;
  height:18px;
  border-radius:6px;
  background:rgba(var(--primary-rgb,184,149,95),.22);
  border:1px solid rgba(var(--primary-rgb,184,149,95),.35)
}

.hw-check li::after {
  content:"";
  position:absolute;
  left:6px;
  top:9px;
  width:7px;
  height:3px;
  border-left:2px solid rgba(244,241,232,.92);
  border-bottom:2px solid rgba(244,241,232,.92);
  transform:rotate(-45deg)
}

.hw-split__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px
}

.hw-split__media {
  border-radius:26px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  overflow:hidden;
  box-shadow:0 22px 70px rgba(0,0,0,.46);
  margin:0
}

.hw-split__media img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover
}

.hw-split__caption {
  padding:12px 14px;
  color:rgba(244,241,232,.72);
  font-size:13px;
  background:rgba(0,0,0,.32);
  border-top:1px solid rgba(255,255,255,.1)
}

.hw-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}

.hw-card {
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,background-color .22s ease
}

.hw-card:hover {
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.045)
}

.hw-card__link {
  color:inherit;
  text-decoration:none;
  display:block;
  height:100%
}

.hw-card__media {
  position:relative
}

.hw-card__media img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover
}

.hw-badge {
  position:absolute;
  top:12px;
  left:12px;
  padding:8px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.36)
}

.hw-badge--sold {
  background:rgba(255,0,60,.18);
  border-color:rgba(255,0,60,.35)
}

.hw-card__body {
  padding:14px 14px 16px
}

.hw-card__title {
  margin:0;
  font-size:16px;
  line-height:1.25
}

.hw-card__meta {
  margin:10px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:var(--hw-muted);
  font-size:13px
}

.hw-meta {
  display:inline-flex;
  gap:8px;
  align-items:baseline
}

.hw-meta__k {
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(244,241,232,.6)
}

.hw-card__foot {
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}

.hw-price {
  font-size:18px;
  font-weight:900;
  letter-spacing:.01em
}

.hw-card__cta {
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,241,232,.72);
  border-bottom:1px dashed rgba(255,255,255,.28)
}

.hw-empty {
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  border-radius:26px;
  padding:22px
}

.hw-empty__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px
}

.hw-chips {
  list-style:none;
  padding:0;
  margin:14px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px
}

.hw-chip {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:var(--hw-text);
  text-decoration:none;
  font-weight:900
}

.hw-chip__count {
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--hw-muted);
  font-size:12px;
  font-weight:900
}

.hw-chip:hover {
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.18)
}

.hw-news {
  position:relative;
  padding:clamp(54px,6.2vw,86px) 0;
  background-image:var(--hw-news-bg);
  background-size:cover;
  background-position:center;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06)
}

.hw-news::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(700px 380px at 10% 20%,rgba(var(--primary-rgb,184,149,95),.16),transparent 60%),linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.7))
}

.hw-news .container {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(18px,3.6vw,48px);
  align-items:start
}

.hw-news__card {
  border:1px solid rgba(255,255,255,.16);
  background:rgba(10,12,16,.58);
  border-radius:26px;
  padding:clamp(18px,3vw,28px);
  box-shadow:0 26px 90px rgba(0,0,0,.55)
}

.hw-inputGroup {
  display:flex;
  gap:12px;
  align-items:stretch
}

.hw-inputGroup .hw-input {
  flex:1;
  min-width:0
}

.hw-help {
  margin:10px 0 0;
  color:rgba(244,241,232,.68);
  font-size:13px
}

.hw-contact {
  padding:clamp(54px,6.2vw,86px) 0
}

.hw-contact__grid {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:clamp(18px,3.6vw,48px);
  align-items:start
}

.hw-info {
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  border-radius:26px;
  padding:clamp(18px,2.4vw,26px);
  margin-top:18px
}

.hw-info__grid {
  display:grid;
  gap:12px
}

.hw-info__row {
  display:grid;
  gap:4px
}

.hw-info__k {
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,241,232,.62)
}

.hw-info__v {
  color:rgba(244,241,232,.9);
  text-decoration:none;
  border-bottom:1px dashed rgba(255,255,255,.24)
}

.hw-info__v:hover {
  border-bottom-color:rgba(255,255,255,.48)
}

.hw-hours {
  margin-top:18px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.18)
}

.hw-hours__title {
  font-weight:900;
  color:rgba(244,241,232,.86)
}

.hw-hours__rows {
  margin-top:10px;
  display:grid;
  gap:8px;
  color:var(--hw-muted)
}

.hw-hours__rows span {
  color:rgba(244,241,232,.86);
  font-weight:900
}

.hw-hours__fine {
  margin-top:12px;
  color:rgba(244,241,232,.62);
  font-size:13px
}

.hw-contact__formCard {
  border-radius:26px
}

.hw-form {
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  border-radius:26px;
  padding:clamp(18px,2.4vw,26px)
}

.hw-form__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}

.hw-form__row {
  display:grid;
  gap:8px
}

.hw-form__row--full {
  grid-column:1/-1
}

.hw-label {
  font-weight:900;
  color:rgba(244,241,232,.86)
}

.hw-input, .hw-select, .hw-textarea {
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:var(--hw-text);
  padding:12px 12px
}

.hw-input {
  height:48px
}

.hw-textarea {
  resize:vertical;
  min-height:130px
}

.hw-input::placeholder, .hw-textarea::placeholder {
  color:rgba(244,241,232,.58)
}

.hw-input:focus, .hw-select:focus, .hw-textarea:focus {
  outline:0;
  border-color:rgba(var(--primary-rgb,184,149,95),.7);
  box-shadow:0 0 0 4px rgba(var(--primary-rgb,184,149,95),.18)
}

.hw-phone {
  display:flex;
  align-items:stretch
}

.hw-phone .dag-phone-prefix {
  border:1px solid rgba(255,255,255,.14);
  border-right:0;
  border-radius:14px 0 0 14px;
  background:rgba(255,255,255,.06);
  color:rgba(244,241,232,.92);
  padding:0 14px;
  font-weight:900
}

.hw-phone input {
  border-radius:0 14px 14px 0
}

.hw-checkbox {
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--hw-muted)
}

.hw-checkbox input {
  margin-top:3px
}

.hw-fineprint {
  margin:10px 0 0;
  color:rgba(244,241,232,.62);
  font-size:13px
}

.hw-hp {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden
}

@media (max-width:980px) {
  .hw-hero__grid {
    grid-template-columns:1fr
  }
  .hw-panel__links {
    grid-template-columns:1fr
  }
  .hw-split__grid {
    grid-template-columns:1fr
  }
  .hw-cards {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .hw-news .container {
    grid-template-columns:1fr
  }
  .hw-contact__grid {
    grid-template-columns:1fr
  }
}

@media (max-width:640px) {
  .hw-home .container {
    width:calc(100% - 28px)
  }
  .hw-cards {
    grid-template-columns:1fr
  }
  .hw-inputGroup {
    flex-direction:column
  }
  .hw-form__grid {
    grid-template-columns:1fr
  }
  .hw-scroll {
    display:none
  }
}
