﻿  :root{
    /* Laser & Me palette — warm cream + flat tan-gold + near-black */
    --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);
    /* gold family — muted, desaturated tan-gold, used as flat fills */
    --rose: oklch(67% 0.075 78);          /* primary gold accent */
    --rose-deep: oklch(58% 0.075 72);     /* deeper for hover / fine text */
    --rose-soft: oklch(90% 0.035 80);     /* pale wash for backgrounds */
    --gold: oklch(67% 0.075 78);          /* same as --rose for unity */
    --gold-grad: oklch(67% 0.075 78);     /* flat — no metallic gradient */
    --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;
  }
