@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#143b36;--muted:#52635f;--paper:#f8f9f6;--white:#fff;--line:#dce4df;--accent:#c9954e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.025em}h1{font-size:clamp(3.1rem,5.4vw,5.5rem)}h2{font-size:clamp(2.5rem,4vw,4.2rem)}h3{font-size:1.3rem;line-height:1.35}p{color:var(--muted)}.topline{padding:8px 6%;background:var(--ink);color:#e5ede9;display:flex;justify-content:space-between;font-size:.875rem}.topline a{text-decoration:none}header{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:1.55rem;letter-spacing:.12em;line-height:1.2}.brandmark{font-family:Georgia,serif;border:1px solid var(--ink);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;letter-spacing:0}.brand-sub{display:block;font-size:.7rem;letter-spacing:.24em;margin-top:4px}nav{display:flex;align-items:center;gap:24px}nav a{font-size:.9rem;text-decoration:none}nav a:hover,nav a[aria-current]{text-decoration:underline}nav .nav-call{border:1px solid var(--ink);padding:10px 18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.15fr 1fr;max-width:1600px;margin:auto;padding:25px 6% 0;gap:5%}.hero-copy{padding:44px 0 35px}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;display:block;margin-bottom:24px}em{font-style:normal;color:#487268}.hero-copy>p{max-width:460px;font-size:1.1rem;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-block;background:var(--ink);border:1px solid var(--ink);color:white;text-decoration:none;padding:14px 23px;font-size:.95rem;font-weight:500;transition:background .2s}.button:hover{background:#285e53}.text-link{font-weight:500;text-decoration:underline}.hero-note{margin-top:60px;padding-top:20px;border-top:1px solid var(--line);max-width:400px}.hero-note span{font-size:.7rem;letter-spacing:.12em}.hero-note p{font-size:.9rem;margin:4px 0 0}.hero-photo{position:relative;min-height:610px}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center;border-radius:140px 0 0 0}.photo-caption{position:absolute;bottom:25px;left:28px;color:white;font-size:.75rem;letter-spacing:.2em;text-shadow:0 1px 5px #000}.principles{padding:28px 6%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;font-size:.9rem;max-width:1600px;margin:auto}.principles span:before{content:'✦';font-size:1rem;margin-right:12px;color:var(--accent)}.section{padding:100px 6%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:center}.section-heading .eyebrow{grid-column:1/-1}.section-heading p{max-width:460px;font-size:1.05rem}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line)}.service{padding:35px 32px 10px;text-decoration:none;border-right:1px solid var(--line)}.service:first-child{padding-left:0}.service:last-child{border-right:0}.number{font-size:.9rem;color:var(--accent);display:block;margin-bottom:34px}.service h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:2rem;font-weight:400}.service-link{display:inline-block;font-size:.9rem;border-bottom:1px solid var(--ink);margin-top:14px}.service:hover .service-link{color:#5b7a65}.about-band{display:grid;grid-template-columns:.65fr 1.35fr;gap:8%;padding:75px 10%;background:#e9eeea;align-items:center}.portrait{padding:20px;background:#fff;max-width:300px}.portrait img{width:100%;aspect-ratio:1/1.15;object-fit:cover}.about-band p{max-width:570px}blockquote{font-family:'Libre Caslon Display',Georgia,serif;font-size:1.8rem;margin:28px 0;border-left:2px solid var(--accent);padding-left:22px;max-width:600px}.visit-home{display:grid;grid-template-columns:1fr 1fr;gap:10%}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:28px;border-top:1px solid var(--line);padding:24px 0}.steps li>span{color:var(--accent);font-size:.9rem}.steps p{margin-bottom:0}.closing{background:var(--ink);color:white;padding:60px 6%;display:flex;align-items:center;justify-content:space-between;gap:35px}.closing h2{font-size:clamp(2.3rem,3.5vw,3.6rem);margin-bottom:18px}.closing p{color:#cbdcd5;margin:0}.closing .eyebrow{color:#d7b887}.light{background:#f5f7f2;color:var(--ink);border-color:#f5f7f2;white-space:nowrap}.light:hover{background:#e1e9df}.footer-top{padding:65px 6%;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px}.footer-brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:2rem;text-decoration:none}.footer-top h3{font-size:1rem}.footer-top a{font-size:.9rem;overflow-wrap:anywhere}.footer-top .footer-brand{font-size:2rem}.footer-bottom{margin:0 6%;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:.85rem}.footer-bottom div{display:flex;gap:20px;flex-wrap:wrap}.page-intro{background:#e9eeea;padding:70px 6% 65px}.page-intro h1{max-width:950px;margin-bottom:25px}.page-intro p{max-width:650px;font-size:1.1rem;margin-bottom:0}.article-layout{max-width:1400px;margin:auto;padding:65px 6% 90px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:8%}article{max-width:820px}article h2{font-size:2.4rem;margin:40px 0 18px}article h2:first-child{margin-top:0}article h3{margin-top:30px}article li{margin-bottom:12px;color:var(--muted)}article a{font-weight:500}aside{align-self:start;background:white;border:1px solid var(--line);padding:28px}aside .eyebrow{font-size:.72rem}aside .button{padding:12px 16px;font-size:.875rem}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.card{padding:25px;background:white;border:1px solid var(--line);text-decoration:none}.card h3{margin:0 0 12px}.card p{margin:0}.card:hover{border-color:var(--ink)}.notice{padding:22px;border-left:3px solid var(--accent);background:#edf1eb;margin:25px 0}.bio-photo{float:right;width:155px;margin:0 0 25px 30px;border-radius:2px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:1.1rem;font-weight:500;padding-right:20px}details p{margin:18px 0 0}.contact-actions{display:flex;gap:18px;flex-wrap:wrap;margin:25px 0}.skip{position:absolute;top:-100px;left:20px;background:white;z-index:100;padding:10px}.skip:focus{top:5px}:focus-visible{outline:3px solid #b98334;outline-offset:5px}@media(min-width:1600px){header,.closing,footer{padding-left:max(6%,calc((100vw - 1408px)/2));padding-right:max(6%,calc((100vw - 1408px)/2))}}@media(max-width:1100px){nav{gap:14px}nav .nav-call{display:none}.hero{gap:30px}.hero-photo{min-height:550px}.hero-note{margin-top:40px}}@media(max-width:760px){header{padding:20px 6%;position:relative;flex-wrap:wrap}.menu-toggle{display:block;background:transparent;border:1px solid var(--line);padding:8px 14px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:10px}nav.open{display:flex}nav a{padding:13px 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;padding-top:5px;gap:0}.hero-copy{padding-top:25px}.hero-copy h1{font-size:3.35rem}.hero-copy>p{font-size:1rem}.hero-note{margin-top:35px}.hero-photo{min-height:380px}.hero-photo img{border-radius:95px 0 0 0;object-position:center 40%}.principles{flex-direction:column;gap:10px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block}.section-heading p{margin-top:25px}.services{grid-template-columns:1fr;margin-top:30px}.service,.service:first-child{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.number{margin-bottom:15px}.about-band{grid-template-columns:1fr;padding:50px 6%;gap:35px}.portrait{max-width:190px;padding:12px}.visit-home{grid-template-columns:1fr;gap:35px}.closing{flex-direction:column;align-items:start;padding-top:45px;padding-bottom:45px}.footer-top{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:30px}.footer-bottom{flex-direction:column}.article-layout{grid-template-columns:1fr;gap:35px;padding-top:40px}.page-intro{padding-top:45px;padding-bottom:40px}.page-intro h1{font-size:3rem}.cards{grid-template-columns:1fr}.bio-photo{width:120px;margin-left:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Updated Lotus Acupuncture logo. */
.brand-logo {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  object-fit: contain;
}

@media (max-width: 760px) {
  .brand-logo {
    width: 64px;
    height: 64px;
  }
}

/* Consistent hero, navigation, and body alignment at every screen width. */
:root {
  --site-gutter: max(6vw, calc((100vw - 1408px) / 2));
}
header, .topline, .hero, .principles, .section, .page-intro,
.article-layout, .closing, .footer-top {
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
}
.hero, .principles, .section, .article-layout {
  max-width: none;
}
footer {
  padding-left: 0;
  padding-right: 0;
}
.footer-bottom {
  margin-left: var(--site-gutter);
  margin-right: var(--site-gutter);
}
