:root{
  --bg: oklch(95% 0.013 80);
  --bg-warm: oklch(93% 0.018 78);
  --card: oklch(91% 0.020 78);
  --ink: oklch(18% 0.008 70);
  --ink-soft: oklch(38% 0.012 75);
  --ink-mute: oklch(56% 0.015 75);
  --line: oklch(86% 0.018 78);
  --rose: oklch(67% 0.075 78);
  --rose-deep: oklch(58% 0.075 72);
  --rose-soft: oklch(90% 0.035 80);
  --gold: oklch(67% 0.075 78);
  --gold-grad: oklch(67% 0.075 78);
  --gold-grad-soft: oklch(90% 0.035 80);
  --serif: "DM Serif Display", "Times New Roman", serif;
  --sans: "Inter", system-ui, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family: var(--sans);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.55;
  min-height: 100vh;
  display: flex; flex-direction: column;
  -webkit-font-smoothing: antialiased;
}
a{color: inherit; text-decoration: none;}
p{color: var(--ink-soft); text-wrap: pretty;}
.container{max-width: 1100px; margin: 0 auto; padding: 0 24px; width: 100%;}
.eyebrow{
  font-size: .72rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--rose-deep); font-weight: 500;
  display: inline-flex; align-items: center; gap: .6rem;
}
.eyebrow::before{content:""; width: 6px; height: 6px; border-radius: 50%; background: var(--rose);}

/* NAV */
nav.top{
  background: color-mix(in oklab, var(--bg) 88%, transparent);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid color-mix(in oklab, var(--line) 60%, transparent);
}
nav.top .inner{
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 24px; max-width: 1200px; margin: 0 auto;
}
.brand{display: flex; align-items: center; gap: 12px;}
.brand-logo{ display: block; height: 46px; width: auto; }
@media (max-width: 600px){ .brand-logo{ height: 38px; } }
.brand-mark{
  width: 34px; height: 34px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--rose-soft), var(--rose) 130%);
  display: grid; place-items: center;
  font-family: var(--serif); font-style: italic;
  color: white; font-size: .95rem;
}
.brand-name{font-family: var(--serif); font-size: 1.15rem; letter-spacing: .02em;}
.brand-name small{font-family: var(--sans); font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: var(--ink-mute); display: block; margin-top: 2px;}

.btn{
  display: inline-flex; align-items: center; gap: .6rem;
  padding: 14px 26px; border-radius: 999px;
  font-family: var(--sans); font-size: .92rem; font-weight: 500;
  cursor: pointer; border: none; transition: all .2s ease;
  white-space: nowrap;
}
.btn-primary{ background: var(--rose); color: #fff; font-weight: 600; box-shadow: 0 8px 24px -8px color-mix(in oklab, var(--rose) 80%, transparent);}
.btn-primary:hover{ background: var(--rose-deep); transform: translateY(-1px);}
.btn-ghost{ background: transparent; color: var(--ink); border: 1px solid var(--line);}
.btn-ghost:hover{ border-color: var(--ink);}
.arrow{ transition: transform .2s ease; }
.btn:hover .arrow{ transform: translateX(3px); }

main{ flex: 1; display: grid; place-items: center; padding: 80px 0;}
@media (max-width: 640px){ main{ padding: 48px 0;} }
.ty-grid{
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center;
}
@media (max-width: 860px){ .ty-grid{ grid-template-columns: 1fr; gap: 40px;} }

.badge{
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--rose); color: #fff;
  padding: 10px 18px; border-radius: 999px; font-size: .82rem; font-weight: 500;
  letter-spacing: .04em;
}
.check-circle{
  width: 20px; height: 20px; border-radius: 50%; background: #fff;
  display: grid; place-items: center; color: var(--rose); font-size: .7rem;
}

h1{
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: 1.05; letter-spacing: -0.015em;
  margin-top: 22px;
}
h1 .accent{ font-style: italic; color: var(--rose-deep);}
.lede{
  margin-top: 22px; font-size: 1.1rem; max-width: 52ch;
}

.next-steps{
  margin-top: 36px;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 24px 0;
}
.step-row{
  display: flex; gap: 18px; align-items: flex-start; padding: 14px 0;
}
.step-row + .step-row{ border-top: 1px solid var(--line);}
.step-num{
  flex: none; width: 34px; height: 34px; border-radius: 50%;
  background: var(--bg-warm); border: 1px solid var(--line);
  display: grid; place-items: center;
  font-family: var(--serif); font-style: italic; color: var(--rose-deep); font-size: 1.1rem;
}
.step-row h3{
  font-family: var(--serif); font-weight: 400; font-size: 1.2rem; color: var(--ink);
}
.step-row p{ font-size: .94rem; margin-top: 2px;}

.cta-row{ margin-top: 32px; display: flex; gap: 14px; flex-wrap: wrap;}

.ty-visual{
  position: relative;
}
.ty-card{
  background: var(--bg-warm); border: 1px solid var(--line);
  border-radius: 20px; padding: 36px;
  box-shadow: 0 40px 80px -30px oklch(30% 0.05 40 / .25);
  text-align: center;
}
.ty-emblem{
  width: 84px; height: 84px; margin: 0 auto;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--rose-soft), var(--rose) 130%);
  display: grid; place-items: center; color: #fff;
  box-shadow: 0 20px 40px -15px color-mix(in oklab, var(--rose) 60%, transparent);
}
.ty-emblem svg{ width: 40px; height: 40px;}
.ty-card h3{ font-family: var(--serif); font-weight: 400; font-size: 1.6rem; margin-top: 20px;}
.phone-list{
  display: flex; flex-direction: column; gap: 10px; margin-top: 18px;
}
.phone-list a{
  font-family: var(--serif); font-size: 1.7rem; color: var(--ink); line-height: 1.1;
  transition: color .2s;
}
.phone-list a:hover{ color: var(--rose-deep); }
.phone-list small{ font-family: var(--sans); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-mute); display: block; margin-bottom: 4px; font-weight: 500;}

.divider{ height: 1px; background: var(--line); margin: 24px 0;}
.addr{
  font-family: var(--serif); font-size: 1.05rem; color: var(--ink); line-height: 1.45;
}
.addr small{ font-family: var(--sans); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-mute); display: block; margin-bottom: 6px; font-weight: 500;}

footer{
  padding: 28px 0;
  border-top: 1px solid var(--line);
  background: var(--bg-warm);
  font-size: .82rem; color: var(--ink-mute);
  text-align: center;
}
