/*
Theme Name: Tixora
Theme URI: https://gettixora.com/
Author: Tixora
Description: Custom premium RSVP & Guest Management theme.
Version: 3.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: tixora
*/

:root {
  --tx-bg:#fbf8f6;
  --tx-white:#fff;
  --tx-ink:#272427;
  --tx-muted:#777176;
  --tx-rose:#c97984;
  --tx-rose-light:#e6a8aa;
  --tx-blush:#f3dcd8;
  --tx-cream:#f8eee9;
  --tx-line:#e9dfdb;
  --tx-green:#4e8966;
  --tx-red:#a95860;
  --tx-shadow:0 24px 70px rgba(49,32,29,.09);
  --tx-radius:24px;
  --tx-max:1180px;
}

*,
*::before,
*::after { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  margin:0;
  background:var(--tx-bg);
  color:var(--tx-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
  overflow-x:hidden;
}

img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }

.container {
  width:min(calc(100% - 42px),var(--tx-max));
  margin-inline:auto;
}

.tx-section { padding:100px 0; }

.tx-eyebrow {
  margin:0 0 12px;
  color:var(--tx-rose);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.tx-title {
  margin:0 0 18px;
  font-size:clamp(2.25rem,5vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.055em;
}

.tx-lead { max-width:700px; color:var(--tx-muted); font-size:1.08rem; }

.tx-center {
  width:100%;
  max-width:900px;
  margin-inline:auto;
  text-align:center;
}

.tx-center .tx-lead { margin-inline:auto; }

.tx-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:50px;
  padding:0 22px;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:850;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}

.tx-btn-primary {
  color:#fff;
  background:var(--tx-ink);
  box-shadow:0 12px 25px rgba(39,36,39,.13);
}

.tx-btn-primary:hover { transform:translateY(-2px); background:#111012; }

.tx-btn-secondary {
  background:#fff;
  border-color:var(--tx-line);
}

.tx-btn-secondary:hover { transform:translateY(-2px); box-shadow:var(--tx-shadow); }

.tx-card {
  background:rgba(255,255,255,.82);
  border:1px solid var(--tx-line);
  border-radius:var(--tx-radius);
  box-shadow:var(--tx-shadow);
}

.tx-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.tx-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }

.tx-pill {
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:var(--tx-cream);
  color:var(--tx-rose);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
}

.tx-muted { color:var(--tx-muted); }

.tx-reveal {
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease;
}

.tx-reveal.is-visible { opacity:1; transform:none; }

/* HEADER */

.tx-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(250,248,246,.96);
  border-bottom:1px solid rgba(39,36,39,.07);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.tx-nav {
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.tx-brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:1.5rem;
  font-weight:900;
  letter-spacing:-.055em;
}

.tx-logo-mark { width:37px; height:37px; flex:0 0 37px; }

.tx-menu {
  display:flex;
  align-items:center;
  gap:25px;
  font-size:.88rem;
  font-weight:800;
}

.tx-menu a:not(.tx-btn) { transition:color .25s ease; }
.tx-menu a:not(.tx-btn):hover { color:var(--tx-rose); }

.tx-mobile-toggle {
  display:none;
  border:0;
  background:transparent;
  font-size:1.5rem;
}

/* HERO */

.tx-hero {
  position:relative;
  overflow:hidden;
  padding:92px 0 75px;
}

.tx-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:70px;
  align-items:center;
}

.tx-hero h1 {
  margin:0 0 28px;
  font-size:clamp(3.3rem,7.5vw,6.8rem);
  line-height:.9;
  letter-spacing:-.075em;
}

.tx-hero h1 span { color:var(--tx-rose); }

.tx-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

.tx-hero-note {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:25px;
  color:var(--tx-muted);
  font-size:.8rem;
  font-weight:700;
}

.tx-dot { width:7px; height:7px; border-radius:50%; background:var(--tx-rose); }

.tx-hero-art { position:relative; min-height:550px; }

.tx-orbit {
  position:absolute;
  top:25px;
  right:4%;
  width:430px;
  height:430px;
  border:1px solid rgba(201,121,132,.25);
  border-radius:50%;
  animation:tx-spin 30s linear infinite;
}

.tx-orbit::after {
  content:"";
  position:absolute;
  top:60px;
  left:32px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--tx-rose);
}

.tx-blob {
  position:absolute;
  top:60px;
  right:10%;
  width:400px;
  height:440px;
  border-radius:48% 52% 46% 54%;
  background:linear-gradient(145deg,#f6e3df,#efc2bd);
}

.tx-rsvp-device {
  position:absolute;
  top:42px;
  right:19%;
  width:295px;
  padding:8px;
  border:9px solid #242124;
  border-radius:38px;
  background:#242124;
  box-shadow:0 38px 90px rgba(43,29,26,.2);
  transform:rotate(4deg);
  animation:tx-float 5s ease-in-out infinite;
}

.tx-screen { overflow:hidden; border-radius:27px; background:#fffaf8; }
.tx-screen-top { height:30px; background:#242124; }

.tx-demo { padding:30px 22px; text-align:center; }

.tx-demo-mark { width:52px; height:52px; margin:0 auto 15px; }

.tx-demo h3 { margin:0; font:600 1.55rem/1.1 Georgia,serif; }
.tx-demo p { color:var(--tx-muted); font-size:.75rem; }

.tx-demo-input {
  margin:25px 0 10px;
  padding:12px;
  border:1px solid var(--tx-line);
  border-radius:12px;
  color:#aaa;
  text-align:left;
  font-size:.72rem;
}

.tx-demo-btn {
  padding:11px;
  border-radius:12px;
  background:var(--tx-ink);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
}

.tx-floating {
  position:absolute;
  bottom:70px;
  left:0;
  padding:17px 20px;
  border:1px solid var(--tx-line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--tx-shadow);
  font-size:.83rem;
  font-weight:850;
}

.tx-floating small {
  display:block;
  margin-top:3px;
  color:var(--tx-muted);
  font-weight:600;
}

@keyframes tx-float {
  0%,100% { transform:translateY(0) rotate(4deg); }
  50% { transform:translateY(-12px) rotate(4deg); }
}

@keyframes tx-spin { to { transform:rotate(360deg); } }

/* TRUST / FEATURES / FLOW */

.tx-trust {
  padding:20px 0;
  border-top:1px solid var(--tx-line);
  border-bottom:1px solid var(--tx-line);
}

.tx-trust-row {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:38px;
  color:var(--tx-muted);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.04em;
}

.tx-feature-card { padding:30px; }

.tx-number {
  color:var(--tx-rose);
  font-size:.73rem;
  font-weight:950;
  letter-spacing:.1em;
}

.tx-feature-card h3 { margin:15px 0 8px; font-size:1.22rem; }

.tx-demo-flow {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:45px;
}

.tx-flow-step { padding:24px 18px; text-align:center; }
.tx-flow-line { align-self:center; height:1px; background:var(--tx-line); }

.tx-flow-icon {
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  margin:0 auto 15px;
  border-radius:16px;
  background:var(--tx-cream);
  color:var(--tx-rose);
}

.tx-flow-icon svg { width:24px; height:24px; }

/* EVENT TYPES */

.tx-event-types {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.tx-event-type {
  padding:24px 10px;
  border:1px solid var(--tx-line);
  border-radius:18px;
  background:#fff;
  text-align:center;
  transition:.25s ease;
}

.tx-event-type:hover {
  transform:translateY(-5px);
  border-color:#dec7c2;
  box-shadow:var(--tx-shadow);
}

.tx-event-type-icon { height:32px; margin-bottom:10px; color:var(--tx-rose); }
.tx-event-type-icon svg { width:28px; height:28px; }
.tx-event-type span { font-size:.77rem; font-weight:850; }

/* PACKAGES */

.tx-packages-page { width:100%; overflow:hidden; }

.tx-packages-page .tx-page-hero {
  padding:90px 0 55px;
  text-align:center;
}

.tx-packages-page .tx-page-hero .tx-title,
.tx-packages-page .tx-page-hero .tx-eyebrow,
.tx-packages-page .tx-page-hero .tx-lead {
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.tx-packages-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  width:100%;
  align-items:stretch;
}

.tx-package {
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  min-height:590px;
  padding:38px;
  overflow:hidden;
  background:rgba(255,255,255,.82);
  border:1px solid var(--tx-line);
  border-radius:var(--tx-radius);
  box-shadow:var(--tx-shadow);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}

.tx-package:hover {
  transform:translateY(-8px);
  box-shadow:0 30px 80px rgba(49,32,29,.13);
}

.tx-package h2 { margin:22px 0 10px; font-size:1.55rem; letter-spacing:-.04em; }

.tx-package-description {
  min-height:75px;
  margin:0;
  color:var(--tx-muted);
  font-size:.92rem;
  line-height:1.65;
}

.tx-package-price {
  margin-top:25px;
  font-size:2.8rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.06em;
}

.tx-package-price small {
  display:block;
  margin-top:7px;
  color:var(--tx-muted);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:0;
}

.tx-package-note { margin:9px 0 0; color:var(--tx-muted); font-size:.75rem; }

.tx-package-divider {
  width:100%;
  height:1px;
  margin:28px 0 17px;
  background:var(--tx-line);
}

.tx-package ul { margin:0 0 30px; padding:0; list-style:none; }

.tx-package li {
  padding:8px 0;
  color:var(--tx-muted);
  font-size:.87rem;
}

.tx-package li::before {
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin:0 10px 2px 0;
  border-radius:50%;
  background:var(--tx-rose);
}

.tx-package-btn { width:100%; margin-top:auto; }

.tx-package-featured {
  border:2px solid var(--tx-rose);
  background:radial-gradient(circle at 100% 0%,rgba(230,168,170,.18),transparent 35%),#fff;
  transform:translateY(-8px);
}

.tx-package-featured:hover { transform:translateY(-14px); }

.tx-package-badge {
  position:absolute;
  top:20px;
  right:20px;
  padding:7px 11px;
  border-radius:999px;
  background:var(--tx-rose);
  color:#fff;
  font-size:.61rem;
  font-weight:950;
  letter-spacing:.08em;
}

/* SMS ESTIMATOR */

.tx-sms-estimator {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:50px;
  align-items:center;
  width:100%;
  margin-top:28px;
  padding:38px;
  background:linear-gradient(135deg,rgba(248,238,233,.9),rgba(255,255,255,.95));
  border:1px solid var(--tx-line);
  border-radius:var(--tx-radius);
  box-shadow:var(--tx-shadow);
}

.tx-sms-estimator-copy h2 { margin:5px 0 10px; font-size:1.8rem; letter-spacing:-.045em; }

.tx-sms-estimator-copy p:not(.tx-eyebrow) {
  max-width:500px;
  margin:0;
  color:var(--tx-muted);
  font-size:.92rem;
}

.tx-sms-calculator {
  width:100%;
  padding:25px;
  border:1px solid var(--tx-line);
  border-radius:20px;
  background:rgba(255,255,255,.9);
}

.tx-sms-calculator label {
  display:block;
  margin-bottom:9px;
  font-size:.78rem;
  font-weight:850;
}

.tx-sms-input-wrap {
  display:flex;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--tx-line);
  border-radius:13px;
  background:#fff;
}

.tx-sms-input-wrap input {
  width:100%;
  min-width:0;
  padding:14px;
  border:0;
  outline:0;
  background:transparent;
  font-size:1rem;
  font-weight:800;
}

.tx-sms-input-wrap span {
  padding-right:14px;
  color:var(--tx-muted);
  font-size:.78rem;
  font-weight:700;
}

.tx-sms-result {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--tx-line);
}

.tx-sms-result span { color:var(--tx-muted); font-size:.78rem; }
.tx-sms-result strong { font-size:1.45rem; letter-spacing:-.04em; }

.tx-sms-calculator small {
  display:block;
  margin-top:9px;
  color:var(--tx-muted);
  font-size:.7rem;
}

.tx-pricing-note {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:760px;
  margin:30px auto 0;
  text-align:center;
}

.tx-pricing-note p { margin:0; color:var(--tx-muted); font-size:.76rem; }

.tx-pricing-note svg {
  flex:0 0 19px;
  width:19px;
  height:19px;
  fill:none;
  stroke:var(--tx-rose);
  stroke-width:1.7;
}

/* CTA */

.tx-cta {
  position:relative;
  overflow:hidden;
  padding:80px 30px;
  border-radius:32px;
  background:linear-gradient(135deg,#f8e8e3,#f0cfca);
  text-align:center;
}

.tx-cta::after {
  content:"";
  position:absolute;
  top:-80px;
  right:-60px;
  width:240px;
  height:240px;
  border:1px solid rgba(201,121,132,.25);
  border-radius:50%;
}

.tx-cta > * { position:relative; z-index:1; }

.tx-packages-page .tx-cta .tx-title,
.tx-packages-page .tx-cta .tx-lead {
  margin-left:auto;
  margin-right:auto;
}

.tx-packages-page .tx-cta .tx-lead { margin-bottom:25px; }

/* CONTACT / FORMS */

.tx-page-hero { padding:90px 0 55px; text-align:center; }
.tx-page-hero .tx-lead { margin-inline:auto; }

.tx-contact-grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:25px;
}

.tx-contact-info,.tx-form-card { padding:34px; }

.tx-form-row {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.tx-field { margin-bottom:15px; }

.tx-field label {
  display:block;
  margin-bottom:7px;
  font-size:.8rem;
  font-weight:850;
}

.tx-field input,.tx-field textarea,.tx-field select {
  width:100%;
  padding:13px 14px;
  border:1px solid var(--tx-line);
  border-radius:12px;
  outline:none;
  background:#fff;
}

.tx-field textarea { min-height:150px; }

.tx-field input:focus,
.tx-field textarea:focus,
.tx-field select:focus {
  border-color:var(--tx-rose);
  box-shadow:0 0 0 4px rgba(201,121,132,.08);
}

/* RSVP */

.tx-rsvp-wrap {
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:center;
  padding:60px 0;
}

.tx-rsvp-shell { width:min(700px,100%); margin:auto; }
.tx-rsvp-card { padding:38px; }
.tx-rsvp-event { margin-bottom:30px; text-align:center; }

.tx-rsvp-event h1 {
  margin:0 0 8px;
  font:600 2.4rem/1.05 Georgia,serif;
}

.tx-rsvp-search { display:flex; gap:10px; }
.tx-rsvp-search input { flex:1; padding:14px; border:1px solid var(--tx-line); border-radius:13px; }
.tx-rsvp-results { display:none; margin-top:20px; }

.tx-guest-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:15px 0;
  border-bottom:1px solid var(--tx-line);
}

.tx-guest-name { font-weight:850; }
.tx-guest-actions { display:flex; gap:7px; }

.tx-status-btn {
  padding:7px 11px;
  border:1px solid var(--tx-line);
  border-radius:999px;
  background:#fff;
  font-size:.72rem;
  font-weight:850;
}

.tx-status-btn.active-yes { border-color:#bfddc7; background:#eaf5ed; color:var(--tx-green); }
.tx-status-btn.active-no { border-color:#e2b8bc; background:#fae9ea; color:var(--tx-red); }

.tx-confirm { width:100%; margin-top:22px; }
.tx-confirmation { display:none; text-align:center; }

.tx-success-icon {
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin:0 auto 15px;
  border-radius:50%;
  background:#eaf5ed;
  color:var(--tx-green);
}

/* 404 */

.tx-404 { padding:130px 0; text-align:center; }

.tx-404-number {
  color:var(--tx-rose);
  font-size:clamp(7rem,18vw,13rem);
  line-height:.8;
  font-weight:950;
  letter-spacing:-.09em;
}

/* FOOTER */

.tx-footer {
  position:relative;
  overflow:hidden;
  padding:82px 0 0;
  border:0;
  background:#272427;
  color:#fff;
}

.tx-footer::before {
  content:"";
  position:absolute;
  top:-330px;
  right:-220px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(201,121,132,.10);
  pointer-events:none;
}

.tx-footer .container {
  position:relative;
  z-index:2;
  width:min(calc(100% - 42px),1180px);
  margin-inline:auto;
}

.tx-footer-grid {
  display:grid;
  grid-template-columns:minmax(280px,1.8fr) repeat(3,minmax(0,1fr));
  gap:60px;
  padding-bottom:70px;
}

.tx-footer-brand .tx-brand { display:inline-flex; color:#fff; }
.tx-footer-brand .tx-logo-mark { width:34px; height:34px; }

.tx-footer-brand .tx-brand span {
  color:#fff;
  font-size:22px;
  font-weight:900;
  letter-spacing:-.05em;
}

.tx-footer-description {
  max-width:360px;
  margin:20px 0 0;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.7;
}

.tx-footer-note {
  max-width:360px;
  margin:8px 0 0;
  color:rgba(255,255,255,.40);
  font-size:13px;
  line-height:1.6;
}

.tx-footer-column h4 {
  margin:3px 0 20px;
  color:#fff;
  font-size:12px;
  font-weight:850;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.tx-footer-links {
  display:flex;
  flex-direction:column;
  gap:13px;
}

.tx-footer-links a {
  display:inline-block;
  width:fit-content;
  color:rgba(255,255,255,.60);
  font-size:14px;
  line-height:1.4;
  transition:color .25s ease,transform .25s ease;
}

.tx-footer-links a:hover {
  color:var(--tx-rose-light);
  transform:translateX(4px);
}

.tx-footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:72px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.38);
  font-size:12px;
}

.tx-footer-tagline { color:rgba(255,255,255,.48); }

/* SVG SAFETY */

.tx-flow-icon svg { width:24px; height:24px; }
.tx-event-type-icon svg { width:28px; height:28px; }
.tx-pricing-note svg { width:19px; height:19px; }

/* RESPONSIVE */

@media (max-width:950px) {
  .tx-menu { display:none; }
  .tx-mobile-toggle { display:block; }
  .tx-hero-grid,.tx-contact-grid { grid-template-columns:1fr; }
  .tx-hero-art { min-height:470px; }
  .tx-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tx-event-types { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tx-demo-flow { grid-template-columns:1fr 1fr; }
  .tx-flow-line { display:none; }
  .tx-footer-grid { grid-template-columns:1fr 1fr; gap:45px 35px; }
  .tx-footer-brand { grid-column:1 / -1; }
  .tx-packages-grid { grid-template-columns:1fr; max-width:680px; margin-inline:auto; }
  .tx-package-featured { transform:none; }
  .tx-package-featured:hover { transform:translateY(-8px); }
  .tx-sms-estimator { grid-template-columns:1fr; gap:25px; }
}

@media (max-width:680px) {
  .container { width:calc(100% - 28px); }
  .tx-section { padding:68px 0; }
  .tx-hero { padding:58px 0; }
  .tx-hero-art { min-height:370px; }
  .tx-blob { width:300px; height:330px; right:4%; }
  .tx-rsvp-device { width:230px; right:12%; top:25px; }
  .tx-orbit { width:330px; height:330px; right:1%; }
  .tx-floating { bottom:15px; }
  .tx-grid-3,.tx-grid-4 { grid-template-columns:1fr; }
  .tx-event-types { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tx-form-row { grid-template-columns:1fr; }
  .tx-footer { padding-top:55px; }
  .tx-footer .container { width:calc(100% - 28px); }
  .tx-footer-grid { grid-template-columns:1fr; gap:35px; padding-bottom:45px; }
  .tx-footer-brand { grid-column:auto; }
  .tx-footer-bottom { flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:20px 0; }
  .tx-package { min-height:auto; padding:28px; }
  .tx-package-description { min-height:auto; }
  .tx-sms-estimator { padding:25px; }
  .tx-sms-result { flex-direction:column; align-items:flex-start; gap:5px; }
  .tx-pricing-note { align-items:flex-start; }
  .tx-rsvp-card { padding:23px; }
  .tx-rsvp-search { flex-direction:column; }
  .tx-guest-row { flex-direction:column; align-items:flex-start; }
  .tx-demo-flow { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
/* =========================================================
   TIXORA — GET STARTED PAGE
   CLEAN PREMIUM FORM
========================================================= */

.tx-get-started-page {
    width: 100%;
    overflow: hidden;
}

/* ---------- HERO ---------- */

.tx-get-started-page .tx-page-hero {
    padding: 90px 0 55px;
    text-align: center;
}

.tx-get-started-page .tx-page-hero .container {
    width: min(1180px, calc(100% - 42px));
    margin: 0 auto;
}

.tx-get-started-page .tx-page-hero .tx-eyebrow,
.tx-get-started-page .tx-page-hero .tx-title,
.tx-get-started-page .tx-page-hero .tx-lead {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.tx-get-started-page .tx-page-hero .tx-lead {
    max-width: 650px;
}


/* ---------- MAIN SECTION ---------- */

.tx-get-started-section {
    padding-top: 30px !important;
    padding-bottom: 90px !important;
}

.tx-get-started-section > .container {
    width: min(1080px, calc(100% - 42px));
    max-width: 1080px;
    margin: 0 auto;
}


/* ---------- TWO COLUMN LAYOUT ---------- */

.tx-get-started-layout {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: 55px;
    align-items: start;
}


/* ---------- LEFT INTRO ---------- */

.tx-get-started-intro {
    padding: 28px 0;
    position: sticky;
    top: 110px;
}

.tx-get-started-intro h2 {
    margin: 8px 0 18px;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    line-height: 1.02;
    letter-spacing: -0.055em;
}

.tx-get-started-intro > p:not(.tx-eyebrow) {
    max-width: 410px;
    margin: 0;
    color: var(--tx-muted);
    font-size: 0.95rem;
    line-height: 1.75;
}


/* ---------- STEPS ---------- */

.tx-started-points {
    margin-top: 38px;
    display: grid;
    gap: 22px;
}

.tx-started-point {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 14px;
    align-items: start;
}

.tx-started-point > span {
    color: var(--tx-rose);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    padding-top: 3px;
}

.tx-started-point strong {
    display: block;
    margin-bottom: 3px;
    font-size: 0.9rem;
}

.tx-started-point p {
    margin: 0;
    color: var(--tx-muted);
    font-size: 0.78rem;
    line-height: 1.6;
}


/* ---------- FORM CARD ---------- */

.tx-get-started-card {
    width: 100%;
    padding: 42px !important;
    background: rgba(255,255,255,0.92);
    border: 1px solid var(--tx-line);
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(49,32,29,.08);
}


/* ---------- FORM HEADING ---------- */

.tx-form-heading {
    padding-bottom: 27px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--tx-line);
}

.tx-form-heading .tx-eyebrow {
    margin-bottom: 8px;
}

.tx-form-heading h2 {
    margin: 0 0 7px;
    font-size: 1.7rem;
    letter-spacing: -0.04em;
}

.tx-form-heading p:not(.tx-eyebrow) {
    margin: 0;
    color: var(--tx-muted);
    font-size: 0.86rem;
}


/* ---------- FORM SECTIONS ---------- */

.tx-started-form {
    width: 100%;
}

.tx-form-section {
    margin-bottom: 30px;
}

.tx-form-section h3 {
    margin: 0 0 17px;
    font-size: 0.9rem;
    font-weight: 900;
    letter-spacing: -0.01em;
}


/* ---------- FORM ROW ---------- */

.tx-started-form .tx-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}


/* ---------- FIELDS ---------- */

.tx-started-form .tx-field {
    margin-bottom: 16px;
}

.tx-started-form .tx-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--tx-ink);
    font-size: 0.72rem;
    font-weight: 850;
}

.tx-started-form input,
.tx-started-form select,
.tx-started-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--tx-line);
    border-radius: 13px;
    background: #fff;
    color: var(--tx-ink);
    padding: 13px 14px;
    outline: none;
    font-size: 0.86rem;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.tx-started-form input,
.tx-started-form select {
    height: 49px;
}

.tx-started-form textarea {
    min-height: 145px;
    resize: vertical;
    line-height: 1.6;
}

.tx-started-form input::placeholder,
.tx-started-form textarea::placeholder {
    color: #aaa3a5;
}

.tx-started-form input:focus,
.tx-started-form select:focus,
.tx-started-form textarea:focus {
    border-color: var(--tx-rose);
    box-shadow: 0 0 0 4px rgba(201,121,132,.08);
    background: #fff;
}


/* ---------- SUBMIT ---------- */

.tx-form-submit {
    padding-top: 5px;
    margin-top: 5px;
    border-top: 1px solid var(--tx-line);
}

.tx-form-submit .tx-btn {
    margin-top: 25px;
    min-width: 190px;
}

.tx-form-submit p {
    margin: 10px 0 0;
    color: var(--tx-muted);
    font-size: 0.72rem;
}


/* ---------- BOTTOM CTA ---------- */

.tx-get-started-page .tx-cta {
    max-width: 1080px;
    margin: 0 auto;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .tx-get-started-layout {
        grid-template-columns: 1fr;
        gap: 25px;
        max-width: 720px;
        margin: 0 auto;
    }

    .tx-get-started-intro {
        position: static;
        padding: 0 0 10px;
    }

    .tx-get-started-intro h2 {
        font-size: 2.8rem;
    }

    .tx-started-points {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }

    .tx-started-point {
        grid-template-columns: 1fr;
        gap: 5px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 680px) {

    .tx-get-started-page .tx-page-hero {
        padding: 65px 0 35px;
    }

    .tx-get-started-section {
        padding-top: 20px !important;
        padding-bottom: 65px !important;
    }

    .tx-get-started-section > .container {
        width: calc(100% - 28px);
    }

    .tx-get-started-intro h2 {
        font-size: 2.45rem;
    }

    .tx-started-points {
        grid-template-columns: 1fr;
        gap: 17px;
        margin-top: 28px;
    }

    .tx-started-point {
        grid-template-columns: 32px 1fr;
        gap: 12px;
    }

    .tx-get-started-card {
        padding: 25px !important;
        border-radius: 22px;
    }

    .tx-started-form .tx-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .tx-form-heading {
        padding-bottom: 22px;
        margin-bottom: 24px;
    }

    .tx-form-section {
        margin-bottom: 25px;
    }

    .tx-form-submit .tx-btn {
        width: 100%;
    }

}