/* chairtaichiseniors.com — colours drawn from the book cover */
:root{
  --navy:#1b2a5c; --navy-dark:#12203f;
  --green:#1e6b3c; --green-dark:#165230; --green-soft:#e6f0e8;
  --gold:#c8922b; --gold-dark:#a8771f; --gold-soft:#fbf1dc;
  --cream:#fdf8ee; --white:#fff; --ink:#1f2430; --muted:#5b6170;
  --radius:14px; --shadow:0 8px 30px rgba(27,42,92,.12);
  --font: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:19px;line-height:1.6;color:var(--ink);background:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-dark)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);line-height:1.15;color:var(--navy);margin:0 0 .5em}
h1{font-size:clamp(2.1rem,4.6vw,3.3rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.center{text-align:center}
.small{font-size:.9rem;color:var(--muted)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6em 1em;z-index:99}
.skip:focus{left:8px;top:8px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.85rem;color:var(--green);margin-bottom:.8em}
.eyebrow.light{color:var(--gold)}
.accent{color:var(--green)}
.lead{font-size:1.2rem;color:#2b3140}
.section-title{text-align:center;margin-bottom:.4em}
.section-title.left{text-align:left}
.section-intro{text-align:center;max-width:760px;margin:0 auto 2.2em;font-size:1.1rem;color:var(--muted)}
section{padding:72px 0}

/* Buttons — big, high-contrast targets */
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:700;text-decoration:none;border-radius:999px;padding:.8em 1.5em;font-size:1.05rem;border:3px solid transparent;cursor:pointer;font-family:var(--font);transition:transform .15s,background .15s,box-shadow .15s;line-height:1.2}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.15)}
.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-dark:hover{background:var(--navy-dark)}
.btn-lg{font-size:1.15rem;padding:.95em 1.8em}
.btn-xl{font-size:1.35rem;padding:1em 2.4em}
.btn-nav{font-size:.95rem;padding:.55em 1.2em}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:1.6em 0}
.cta-row.center{justify-content:center}
.text-link{font-weight:700;font-size:1.1rem}

/* Header */
.site-header{background:var(--white);border-bottom:1px solid #e9e4d8;position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:1.3rem;font-weight:700;line-height:1.1}
.brand em{font-style:italic;color:var(--green);font-weight:400}
.brand-mark{width:38px;height:38px;flex:none}
.nav{display:flex;align-items:center;gap:6px}
.nav a{text-decoration:none;color:var(--navy);font-weight:600;padding:.5em .8em;border-radius:8px;font-size:1rem}
.nav a:hover,.nav a[aria-current]{background:var(--green-soft);color:var(--green-dark)}
.nav a.btn{color:#fff;margin-left:8px}
.nav a.btn:hover{background:var(--gold-dark);color:#fff}
.nav-toggle{display:none;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:.6em 1.1em;font-size:1rem;font-weight:700;cursor:pointer}

/* Hero */
.hero{background:linear-gradient(180deg,var(--cream) 0%,#fff 100%);padding:56px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-copy h1{margin-bottom:.5em}
.hero-points{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 26px;color:var(--muted);font-weight:600}
.hero-points li::before{content:"✔";color:var(--green);margin-right:.5em}
.hero-cover img{border-radius:6px;box-shadow:0 24px 50px rgba(27,42,92,.28);transform:rotate(-2deg);max-width:420px;margin:0 auto}
.cover-caption{text-align:center;margin-top:1.4em;color:var(--muted);font-weight:600}

/* Cards */
.cards{display:grid;gap:26px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid #ece7dc;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card p{margin:0;color:var(--muted)}
.card-icon{width:72px;height:72px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;margin-bottom:1em}
.card-link{text-decoration:none;color:inherit;padding:0;overflow:hidden;transition:transform .15s}
.card-link:hover{transform:translateY(-4px)}
.card-link img{aspect-ratio:1;object-fit:cover;background:#f6f4ee}
.card-link h3,.card-link p{padding:0 24px}
.card-link h3{margin-top:1em}
.card-link p{padding-bottom:24px}
.benefits{background:#fff}

/* Inside the book */
.inside{background:var(--green-soft)}
.inside-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.inside-img img{border-radius:6px;box-shadow:var(--shadow);max-width:380px;margin:0 auto}
.checklist{list-style:none;padding:0;margin:0 0 1.5em}
.checklist li{position:relative;padding-left:2.1em;margin-bottom:.7em}
.checklist li::before{content:"";position:absolute;left:0;top:.2em;width:1.35em;height:1.35em;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/70% no-repeat}
.quote{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--navy);border-left:4px solid var(--gold);padding-left:1em;margin:1.5em 0}

/* Sample */
.sample{background:#fff}
.sample .center{margin-top:2.2em}

/* Signup */
.signup{background:var(--navy);color:#fff}
.signup h2{color:#fff}
.signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.signup-form{background:#fff;color:var(--ink);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow)}
.signup-form label{display:block;font-weight:700;margin:0 0 .35em;color:var(--navy)}
.signup-form .opt{font-weight:400;color:var(--muted)}
.signup-form input[type=text],.signup-form input[type=email]{width:100%;font-size:1.1rem;padding:.75em .9em;border:2px solid #cfd3dc;border-radius:10px;margin-bottom:1.1em;font-family:inherit}
.signup-form input:focus{border-color:var(--green)}
.signup-form .btn{width:100%;justify-content:center}
.signup-form .small{margin:1em 0 0}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.notice{padding:1em 1.2em;border-radius:10px;margin-bottom:1em;font-size:1.05rem}
.notice.success{background:#dff3e4;color:#14502b;border:2px solid #63b47e}
.notice.error{background:#fde8e8;color:#7a1c1c;border:2px solid #e08a8a}

/* Author */
.author{background:var(--cream)}
.author-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.author-img{border-radius:var(--radius);box-shadow:var(--shadow)}

/* TikTok */
.tiktok{background:#fff;padding:56px 0}
.tiktok-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;border:2px solid #ece7dc;border-radius:var(--radius);padding:34px 40px}
.tiktok h2{margin-bottom:.3em}
.tiktok p{margin:0;color:var(--muted)}

/* Final CTA */
.final-cta{background:linear-gradient(180deg,#fff,var(--gold-soft))}
.cta-cover{max-width:180px;margin:0 auto 1.4em;border-radius:4px;box-shadow:var(--shadow)}

/* Inner pages */
.page-hero{background:linear-gradient(180deg,var(--cream),#fff);padding:56px 0 40px}
.page-hero .lead{max-width:820px}
.exercise-list{padding-top:20px}
.exercise{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center;padding:44px 0;border-bottom:1px solid #ece7dc;scroll-margin-top:96px}
.exercise:last-child{border-bottom:0}
.exercise img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:1;object-fit:cover;background:#f6f4ee}
.ex-number{color:var(--gold-dark);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;margin-bottom:.4em}
.steps{padding-left:0;list-style:none;counter-reset:step;margin:1.2em 0}
.steps li{counter-increment:step;position:relative;padding-left:3em;margin-bottom:.9em}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:2.1em;height:2.1em;border-radius:50%;background:var(--green);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.tip{background:var(--gold-soft);border-left:4px solid var(--gold);padding:.8em 1em;border-radius:0 10px 10px 0;margin:0}
.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:start}
.about-grid img{border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;top:100px}
.prose h2{font-size:1.5rem;margin-top:1.4em}
.prose.narrow{max-width:800px}

/* Footer */
.site-footer{background:var(--navy-dark);color:#d8dde8;padding:56px 0 24px;font-size:1rem}
.site-footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:40px}
.footer-title{font-family:var(--serif);color:#fff;font-size:1.25rem;font-weight:700;margin-bottom:.6em}
.site-footer .small{color:#a9b1c4}
.social{display:inline-flex;align-items:center;gap:.5em;font-weight:700}
.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;font-size:.9rem;color:#a9b1c4}

/* Responsive */
@media (max-width:900px){
  .hero-grid,.inside-grid,.signup-grid,.author-grid,.exercise,.about-grid{grid-template-columns:1fr}
  .cards.three{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero{padding-top:36px}
  .hero-cover{order:-1}
  .hero-cover img{max-width:280px}
  .about-grid img{position:static;max-width:320px}
  .inside-img img{max-width:300px}
  section{padding:56px 0}
}
@media (max-width:640px){
  body{font-size:18px}
  .cards.three,.footer-grid{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:12px 18px 18px;border-bottom:1px solid #e9e4d8;box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{padding:.8em;font-size:1.1rem}
  .nav a.btn{margin:8px 0 0;justify-content:center}
  .brand{font-size:1.1rem}
  .btn-xl{font-size:1.15rem;padding:.9em 1.8em}
  .cta-row .btn{width:100%;justify-content:center}
  .tiktok-inner{padding:26px}
  .exercise{padding:34px 0}
}
