:root{
  color-scheme:light;
  --paper:#fdfcf9; --oat:#f7f4ef; --ink:#332e2a; --muted:#61584f;
  --gold:#9b7554; --accent:#6f4a3b; --line:#dfd4c7; --dark:#332c29;
  --serif:"Noto Serif TC","Songti TC","PMingLiU",serif;
  --sans:"PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.78}
img{display:block;max-width:100%}
a{color:var(--accent);text-underline-offset:.23em}
:focus-visible{outline:2px solid #a66648;outline-offset:4px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.42}
h1,h2{font-family:var(--serif);font-weight:700;letter-spacing:.035em}
h1{font-size:clamp(2.05rem,4.4vw,4.25rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.75rem)}
h3{font-size:1.16rem}
p{color:var(--muted)}
p+p{margin-top:.8rem}
[id]{scroll-margin-top:1.35rem}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.skip{position:absolute;left:1rem;top:-5rem;background:var(--paper);padding:.7rem;z-index:3}
.skip:focus{top:.5rem}
.masthead{border-bottom:1px solid var(--line)}
.topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.75rem}
.brand b{font:700 1.45rem var(--serif);letter-spacing:.16em}
.brand span,.quiet-link{font-size:.84rem}
.brand span{padding-left:.65rem;border-left:1px solid var(--line)}
.quiet-link{font-weight:650;color:var(--accent)}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,6vw,5rem);align-items:center;padding-block:clamp(2.8rem,7vw,6rem) 2.6rem}
.eyebrow{margin-bottom:.8rem;font-size:.73rem;letter-spacing:.14em;font-weight:740;color:var(--accent)}
.lead{max-width:37rem;margin-top:1.4rem;font-size:1.06rem}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.2rem;margin-top:1.65rem}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.58rem 1.2rem;border:1px solid var(--accent);border-radius:3px;font-weight:700;text-decoration:none}
.primary{background:var(--accent);color:white}
.primary:hover{background:#53392f}
.secondary,.text-link{color:var(--accent)}
.text-link{font-weight:700}
.hero-note{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}
.hero-note span{font-size:.86rem;padding:.22rem .65rem;border:1px solid var(--line);border-radius:99px;color:var(--muted)}
.hero-figure{max-width:490px}
.portrait{background:radial-gradient(ellipse at 67% 42%,#f6e8dd,#e0cec2);height:clamp(340px,43vw,480px);position:relative;overflow:hidden;border-radius:46% 46% 4px 4px / 32% 32% 4px 4px;isolation:isolate}
.portrait span{position:absolute;inset:auto 0 20px;text-align:center;font-family:var(--serif);font-size:clamp(.76rem,2vw,1.36rem);letter-spacing:.24em;color:#f9f2ea;z-index:1;text-shadow:0 1px 3px #4b3634}
.portrait img{position:absolute;inset:10px 0 0;margin:auto;height:100%;width:100%;object-fit:contain;object-position:center top}
.hero-figure figcaption{display:flex;flex-wrap:wrap;gap:.15rem .7rem;align-items:baseline;padding:.8rem .1rem 0;font-size:.83rem;color:var(--muted)}
.hero-figure figcaption strong{color:var(--ink)}
.section-nav{display:flex;flex-wrap:wrap;gap:.45rem 1.55rem;padding-block:1rem;border-block:1px solid var(--line)}
.section-nav a{font-size:.9rem;font-weight:680;min-height:36px;display:flex;align-items:center;text-decoration:none}
.section-nav a:hover{text-decoration:underline}
.band{padding-block:clamp(2.8rem,6vw,5rem)}
.intro{max-width:48rem;margin-bottom:1.85rem}
.intro>p:last-child{margin-top:.85rem}
.two,.three{display:grid;gap:1rem}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:clamp(1.18rem,2.6vw,1.8rem)}
.card h3{margin:.44rem 0 .7rem}
.marker{font-size:.77rem;font-weight:740;letter-spacing:.06em;color:var(--accent)}
.note{margin-top:1.2rem;padding:1rem 1.2rem;border-left:3px solid #b08b67;background:var(--oat)}
.note h3,.note strong{margin-bottom:.35rem}
.tone{background:var(--oat)}
.tech-figure{display:grid;grid-template-columns:1fr 1.28fr;gap:1.4rem;align-items:center;padding:1.3rem;margin-top:1.1rem;background:#eee1d7;border-radius:6px}
.tech-diagram svg{display:block;width:100%;max-height:160px}
.tech-figure h3{margin-bottom:.4rem}
.subgrid{margin-top:1.6rem;gap:1.4rem 2rem}
.subgrid h3{margin-bottom:.55rem}
.comparison{width:100%;border-collapse:collapse;table-layout:fixed}
.comparison caption{text-align:left;font-weight:700;margin-bottom:.55rem}
.comparison th,.comparison td{overflow-wrap:anywhere;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.8rem .65rem}
.comparison thead th{background:#eee3d7;color:var(--ink)}
.comparison th:first-child{width:21%}
.comparison tbody th{color:var(--accent);font-weight:700}
.dark{background:var(--dark);color:#fff9f2}
.dark p{color:#eaded2}
.dark .eyebrow,.timeline span{color:#e4c3a4}
.dark a{color:#ffe5ca}
.price-points article,.quote-options article{border:1px solid #79655d;padding:1rem;border-radius:4px}
.quote-options{margin-top:1rem}
.price-points h3,.quote-options h3,.timeline h3{margin-bottom:.4rem}
.timeline-heading{margin-top:2.1rem}
.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;gap:1rem;margin:1rem 0 0}
.timeline li{border-top:2px solid #b58e74;padding-top:.85rem}
.timeline span{display:block;font-size:.82rem;margin-bottom:.4rem;font-weight:700}
.doctor{background:var(--oat);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.doctor img{width:100%;height:auto;aspect-ratio:4/4.15;object-fit:cover;object-position:50% 25%;background:#e4d6cc}
.doctor div{padding:1rem}
.doctor h3{margin-bottom:.25rem}
.questions{border-top:1px solid var(--line)}
.questions details{border-bottom:1px solid var(--line)}
.questions summary{cursor:pointer;font-weight:700;list-style:none;padding:1rem 1.9rem 1rem .1rem;position:relative}
.questions summary::-webkit-details-marker{display:none}
.questions summary::after{content:"＋";position:absolute;right:.25rem;color:var(--accent)}
.questions details[open] summary::after{content:"−"}
.questions details p{margin:0 0 1rem;background:var(--paper);padding:1rem;border-radius:4px}
.booking{text-align:center;padding-block:clamp(3rem,8vw,6rem)}
.booking>p:not(.eyebrow){max-width:39rem;margin:.7rem auto 0}
.booking .actions{justify-content:center}
.booking .address{font-size:.92rem;margin-top:1rem}
.references{background:#f4ede4;border-top:1px solid var(--line)}
.references .band{padding-block:2.4rem}
.references h2{font-size:1.65rem}
.references ol{padding-inline-start:1.7rem;margin-bottom:0}
.references li{padding:.5rem 0;overflow-wrap:anywhere}
.return-links{display:inline-flex;flex-wrap:wrap;gap:.15rem .6rem;font-size:.82rem;margin-left:.5rem}
.citation{vertical-align:super;font-size:.7em;font-weight:700;padding-left:.16em;line-height:0}
:target{scroll-margin-top:1rem}
.references li:target,.citation:target{background:#f0dbb9}
footer{border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
@media(max-width:700px){
  .wrap{width:calc(100% - 36px)}
  .topbar{min-height:64px}
  .brand{gap:.35rem}
  .brand span,.quiet-link{font-size:.75rem}
  .brand span{padding-left:.35rem}
  .hero{grid-template-columns:1fr;gap:1.75rem;padding-block:2.35rem 1.6rem}
  .desktop-break{display:none}
  .hero-figure{width:100%;max-width:370px;margin-inline:auto}
  .portrait{height:264px}
  .lead{font-size:1rem;margin-top:1rem}
  .section-nav{gap:.25rem .9rem;padding-block:.65rem}
  .section-nav a{font-size:.85rem;min-height:39px}
  .two,.three,.timeline{grid-template-columns:1fr}
  .tech-figure{grid-template-columns:1fr;gap:.5rem}
  .tech-diagram svg{max-height:117px}
  .comparison th,.comparison td{font-size:.87rem;padding:.65rem .35rem}
  .comparison th:first-child{width:22%}
  .doctors{gap:.8rem}
  .doctor{display:grid;grid-template-columns:minmax(90px,35%) 1fr;align-items:center}
  .doctor img{aspect-ratio:3/4}
  .doctor div{padding:.75rem}
  .timeline li{border-top:0;border-left:2px solid #b58e74;padding:.15rem 0 .4rem 1rem}
  .booking .actions .button{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Equipment and comparison layout */
.hero.equipment-hero{grid-template-columns:1.1fr .9fr}
.equipment-hero .hero-figure{width:100%;max-width:none}
.equipment-shot{
  display:grid;
  place-items:center;
  min-height:360px;
  padding:1rem 1.3rem;
  border:1px solid #e6d8cd;
  border-radius:52% 52% 8px 8px / 28% 28% 8px 8px;
  background:radial-gradient(ellipse at 53% 40%,#f9eee6 0,#e9d5c8 73%);
}
.equipment-shot img{width:auto;height:clamp(330px,42vw,490px);max-width:100%;object-fit:contain}
.device-card{display:grid;grid-template-columns:90px 1fr;gap:1rem;align-items:center}
.device-card img{width:90px}
.table-frame{overflow-x:auto;margin-top:1.35rem}
.table-frame .comparison{min-width:660px}
.table-frame .comparison th:first-child{width:16%}
.scroll-help{display:none}
.scenarios{display:grid;gap:1rem}
.scenario{display:grid;grid-template-columns:125px 1fr;gap:1.45rem;align-items:center}
.scenario:nth-child(even){grid-template-columns:1fr 125px}
.scenario:nth-child(even) .scene-number{grid-column:2;grid-row:1}
.scenario:nth-child(even) .scene-text{grid-column:1;grid-row:1}
.scene-number{
  display:grid;
  place-items:center;
  min-height:114px;
  border:1px solid #e5d4c7;
  border-radius:48% 48% 5px 5px;
  background:#f0e2d9;
  color:#805c50;
  font:2.7rem var(--serif);
}
.scene-text h3{margin-bottom:.45rem}
@media(max-width:700px){
  .hero.equipment-hero{grid-template-columns:1fr}
  .equipment-shot{min-height:240px}
  .equipment-shot img{height:255px}
  .scroll-help{display:block;margin-top:.6rem;font-size:.83rem}
  .scenario,.scenario:nth-child(even){grid-template-columns:1fr;gap:.6rem}
  .scenario:nth-child(even) .scene-number,.scenario:nth-child(even) .scene-text{grid-column:auto;grid-row:auto}
  .scene-number{min-height:0;width:3.1rem;padding:.25rem;font-size:1.35rem}
  .device-card{grid-template-columns:66px 1fr;gap:.7rem}
  .device-card img{width:66px}
}
.scroll-caption{color:var(--muted);font-size:.83rem;margin-top:.65rem}
