:root{--ink:#352b3e;--muted:#65586d;--plum:#5e5066;--paper:#fffcfa;--pink:#f8edeb;--lilac:#e6e0f8;--line:#e5dbe8;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif}*{box-sizing:border-box}html{scroll-padding-top:1.5rem}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 system-ui,"PingFang TC","Microsoft JhengHei",sans-serif}a{color:inherit;text-underline-offset:.25em}img,svg{display:block;max-width:100%}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:1rem;top:-10rem;background:white;padding:1rem;z-index:10}.skip:focus{top:1rem}:focus-visible{outline:3px solid #79528d;outline-offset:4px}.top{border-bottom:1px solid var(--line);background:#fffcfa}.bar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{line-height:1.28;text-decoration:none;display:inline-flex;flex-direction:column;flex-shrink:0}.brand strong{font:700 24px var(--serif);letter-spacing:.15em}.brand small,.kicker{font-size:11px;letter-spacing:.19em;font-weight:700;text-transform:uppercase;color:var(--plum)}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:14px;white-space:nowrap}nav a:hover,nav [aria-current]{color:#744d85;text-decoration:underline}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--plum);padding:8px 20px;border-radius:999px;background:var(--plum);color:white;text-decoration:none;font-weight:650;font-size:14px;gap:9px}.btn:hover{background:#44354e;color:white}.btn.alt{background:transparent;color:var(--ink);border-color:#aa96b2}.btn.alt:hover{background:#f1e9f5}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center;padding:61px 0 57px}.hero h1{font-size:clamp(42px,5.2vw,76px);line-height:1.2;margin:.3em 0 .32em;letter-spacing:.035em}.hero h1 span{display:block;color:#715b7c}.hero p,.lead{font-size:18px;color:var(--muted);max-width:43em}.hero .lead{max-width:30em}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}.art{min-height:390px;position:relative;border-radius:240px 240px 22px 22px;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#f2d8e1,#e2d8f6 66%,#f1e8f7);display:grid;place-items:center}.art svg{position:absolute;inset:0;width:100%;height:100%}.art-caption{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.26em;color:#564561}.ribbon{border-block:1px solid var(--line);background:#f7eff6}.ribbon .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-block:15px;font-size:14px;color:#584660}.section{padding:65px 0}.tint{background:#f7f1f8}.section-head{margin-bottom:24px}.section-head h2,.inner h1{margin:.15em 0 .3em}h1,h2,h3{font-family:var(--serif);line-height:1.35}h1{font-size:clamp(36px,5vw,62px)}h2{font-size:clamp(26px,3.5vw,43px)}h3{font-size:23px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:20px;padding:23px;text-decoration:none}.card:hover{border-color:#a88db5;background:#fffcff}.card h3{margin:.45rem 0}.card p{margin:0 0 1rem;color:var(--muted)}.card b{margin-top:auto;font-size:14px;color:#694976}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,40px)}.panel h2,.panel h3{margin-top:0}.inner{padding:43px 0 46px;background:var(--banner-background)}.crumb{font-size:13px;margin-bottom:22px;color:var(--muted)}.body{max-width:810px}.body section+section{margin-top:38px}.body p,.body li{max-width:75ch}.body h2{margin:.65em 0 .45em}.tablebox{overflow:auto;border:1px solid var(--line);border-radius:14px;margin:1rem 0 1.4rem;background:white}.tablebox:focus-visible{outline-offset:0}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:15px}caption{text-align:left;font-weight:700;padding:14px;background:#eee5f3}th,td{text-align:left;vertical-align:top;padding:10px 13px;border-bottom:1px solid var(--line)}thead th{background:#f9f3fa}tbody tr:last-child td{border-bottom:0}details{border-bottom:1px solid var(--line);padding:0 .25rem}summary{cursor:pointer;font-weight:650;padding:13px 0}details p:first-of-type{margin-top:0}.toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}.toc a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:14px;text-decoration:none}.toc a:hover{background:var(--lilac)}.foot{padding:42px 0;background:#eee5f2;border-top:1px solid var(--line)}.foot .split{gap:20px}.foot p{margin:.55rem 0}.foot-links{display:flex;flex-wrap:wrap;gap:5px 18px}.photo{border-radius:22px;object-fit:cover;width:100%;max-height:430px}.note{border-left:3px solid #aa8ab9;padding:10px 15px;background:#f6eff8}.mobile-cta{display:none}
@media(max-width:960px){.hero{gap:28px}.bar{gap:14px}nav{gap:13px}.bar>.btn{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.bar{min-height:69px;flex-wrap:wrap}.brand strong{font-size:21px}.menu{display:block;background:transparent;border:1px solid #aa96b2;border-radius:999px;padding:7px 13px;color:var(--ink);font:inherit;cursor:pointer}.bar nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding-bottom:14px}.bar nav[hidden]{display:none}nav a{padding:7px 0}.hero{grid-template-columns:1fr;padding:37px 0 32px;gap:25px}.hero .lead,.lead{font-size:16px}.art{min-height:265px;width:100%}.section{padding:40px 0}.cards,.split{grid-template-columns:1fr;gap:13px}.inner{padding:25px 0}.foot{padding-bottom:102px}.mobile-cta{display:flex;position:fixed;z-index:5;right:12px;bottom:max(10px,env(safe-area-inset-bottom));box-shadow:0 3px 16px #3d204342}.tablebox td,.tablebox th{padding:8px;font-size:14px}.ribbon .wrap{display:grid;grid-template-columns:1fr;gap:2px}}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.active-section{color:#744d85}.foot-links+.foot-links{margin-top:8px}

/* The original Morningbliss palette and centered landing page. */
:root {
  --paper: #fffcfd;
  --plum: #5e5066;
  --old-lavender: #ded8f8;
  --old-pink: #edbed6;
}
html { scroll-padding-top: 7rem; }
.top {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fffcfdeb;
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 12px #5e506611;
}
.brand-star { color: #806395; }
.bar > .btn { background: var(--old-lavender); color: var(--plum); border-color: transparent; }
.bar > .btn:hover { background: #d0c7ef; }
.foot { background: var(--banner-background); text-align: center; }
.foot .split { grid-template-columns: 1fr; justify-items: center; }
.foot-links { justify-content: center; }
.hero.classic-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  place-items: center;
  min-height: min(690px,78svh);
  padding: clamp(52px,7vw,100px) 0;
  text-align: center;
  background: var(--banner-background);
}
.classic-hero-content { max-width: 840px; }
.hero-badge {
  display: inline-block;
  padding: 4px 16px;
  border: 1px solid #ae99b8;
  border-radius: 999px;
  color: var(--plum);
  background: #ffffffb8;
  font: 600 14px/1.6 var(--serif);
  letter-spacing: .1em;
}
.classic-hero .hero-location { margin: 16px auto 0; font-size: 14px; letter-spacing: .12em; }
.classic-hero h1 { margin: .3em 0 .42em; font-size: clamp(38px,6vw,68px); }
.classic-hero h1 span { font-size: .68em; margin-top: .25em; }
.hero-glass {
  max-width: 475px;
  margin-inline: auto;
  padding: 18px clamp(18px,4vw,34px);
  border: 1px solid #fff;
  border-radius: 20px;
  background: #ffffffaa;
  box-shadow: 0 6px 22px #5e506616;
}
.hero-glass .hero-motto {
  width: fit-content;
  margin: 0 auto 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #b39fc2;
  color: var(--plum);
  font-family: var(--serif);
  letter-spacing: .16em;
}
.hero-glass .lead { margin: 0 auto; font-size: 15px; }
.classic-hero .actions, .classic-story .actions { justify-content: center; }
.announcement { display: flex; align-items: center; gap: 8px; background: #fafafa; border-block: 1px solid var(--line); padding: 5px 12px; }
.announcement-view { flex: 1; min-width: 0; overflow: hidden; }
.announcement-track { padding: 9px 0; color: var(--plum); font: 600 14px/1.6 var(--serif); }
.announcement-track span { padding-inline: 1em; }
.announcement-track span[aria-hidden] { display: none; }
.announcement-toggle {
  flex-shrink: 0;
  background: white;
  border: 1px solid #aa96b2;
  border-radius: 999px;
  color: var(--plum);
  padding: 5px 10px;
  min-height: 38px;
  font: 600 13px/1.4 system-ui,sans-serif;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
  .announcement.is-playing .announcement-track {
    display: flex;
    width: max-content;
    min-width: 200%;
    white-space: nowrap;
    animation: announcement-scroll 35s linear infinite;
  }
  .announcement.is-playing .announcement-track span {
    flex: 1 0 auto;
    text-align: center;
  }
  .announcement.is-playing .announcement-track span[aria-hidden] { display: block; }
}
@keyframes announcement-scroll { to { transform: translateX(-50%); } }
.home-classic .section-head { text-align: center; }
.home-classic .section-head::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  margin: 18px auto 30px;
  border-radius: 999px;
  background: #bca8da;
}
.home-classic .tint { background: linear-gradient(130deg,#f8edeb,#f3ebf0); }
.home-classic .card { border-radius: 24px; box-shadow: 0 6px 20px #5e50660b; }
.classic-about { align-items: stretch; }
.classic-about-art {
  min-height: 250px;
  border-radius: 24px;
  background: url('/assets/texture.svg') center / cover no-repeat;
}
.classic-story { max-width: 660px; margin: auto; text-align: center; }
@media (max-width: 680px) {
  .hero.classic-hero { min-height: auto; padding: 40px 0; }
  .classic-about-art { min-height: 160px; }
  .announcement-track { font-size: 13px; }
  .announcement-track span { padding-inline: .35em; }
}

.brand:has(.site-logo) { flex-direction: row; align-items: center; gap: 9px; }
.site-logo { width: 48px; height: 48px; flex: none; border-radius: 50%; object-fit: contain; }
.brand-wordmark { display: grid; gap: 2px; text-align: left; }
.classic-about { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; }
.portrait-pair { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); align-items: start; gap: clamp(12px,3vw,24px); padding: 10px 10px 16px; }
.portrait-card {
  position: relative;
  margin: 0;
  padding: 7px;
  border: 1px solid #fff;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 26px #5e506626;
  transform: rotate(var(--tilt));
}
.portrait-brand { --tilt: -3deg; }
.portrait-nurse { --tilt: 3deg; margin-top: clamp(18px,5vw,64px); }
.portrait-card img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; object-position: center 25%; border-radius: 12px; }
.portrait-card figcaption { color: var(--plum); text-align: center; font-size: 13px; letter-spacing: .08em; padding-top: 4px; }
.portrait-sticker { position: absolute; z-index: 1; font-size: 29px; line-height: 1; text-shadow: 0 1px 2px #5e506642; }
.portrait-brand .portrait-sticker { top: -11px; left: -9px; color: #e8b84d; }
.portrait-nurse .portrait-sticker { bottom: -9px; right: -9px; color: #cd729d; }
.profile-panel { background: #fffcff; box-shadow: 0 8px 28px #5e506610; }
.profile-panel .profile-title, .body .profile-panel h2 { margin: 0 0 18px; font-size: clamp(23px,3vw,33px); }
.profile-title span, .profile-panel h2 span { box-shadow: inset 0 -.24em #e6dcf7; }
.profile-item + .profile-item, .profile-more { border-top: 1px solid var(--line); padding-top: 13px; margin-top: 13px; }
.profile-item h3, .profile-item h4 { margin: 0 0 5px; font: 700 17px/1.5 var(--serif); }
.profile-item h3 span, .profile-item h4 span { color: #98609f; margin-right: 4px; }
.profile-item p { margin: 0; color: var(--muted); }
.about-page-profile { margin-bottom: 44px; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .portrait-card:hover { animation: portrait-wiggle .48s ease-in-out; }
}
@keyframes portrait-wiggle {
  0%, 100% { transform: rotate(var(--tilt)); }
  30% { transform: translateY(-3px) rotate(calc(var(--tilt) + 3deg)); }
  65% { transform: translateY(-1px) rotate(calc(var(--tilt) - 1.5deg)); }
}
@media (max-width: 680px) {
  .site-logo { width: 40px; height: 40px; }
  .classic-about { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .portrait-pair { width: min(100%,430px); margin-inline: auto; }
}

/* Keep headings together while letting prose wrap naturally. */
.heading-line { display: inline-block; white-space: nowrap; line-height: inherit; }
.classic-hero-content { max-width: 1030px; }
.classic-hero h1 span:not(.heading-line) { display: inline; margin: 0; font-size: .68em; }
.classic-hero h1 .heading-line { display: inline-block; margin: 0; font-size: inherit; color: inherit; }
.profile-title span:not(.heading-line), .profile-panel h2 span:not(.heading-line) { box-shadow: inset 0 -.24em #e6dcf7; }
.profile-title .heading-line, .profile-panel h2 .heading-line { box-shadow: none; }
main p { text-wrap: pretty; }
.body { max-width: 930px; }
.body p, .body li { max-width: 85ch; }
.inner .lead { max-width: 52em; }
.classic-story { max-width: 760px; }
.classic-about { grid-template-columns: minmax(0,1.23fr) minmax(0,1fr); }
.about-page-profile { width: min(1080px, calc(100vw - 64px)); margin-inline: calc((100% - min(1080px, 100vw - 64px)) / 2); }
@media (max-width: 680px) {
  .classic-about { grid-template-columns: minmax(0,1fr); }
  .about-page-profile { width: auto; margin-inline: 0; }
  .portrait-pair { width: min(100%,520px); padding-inline: 6px; }
}
.split { grid-template-columns: repeat(2,minmax(0,1fr)); }
.split.classic-about { grid-template-columns: minmax(0,1.23fr) minmax(0,1fr); }
.foot .split { grid-template-columns: minmax(0,1fr); }
@media (max-width: 680px) {
  .split, .split.classic-about, .cards { grid-template-columns: minmax(0,1fr); }
}

.split.story-layout { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); align-items: center; }
.story-emblem {
  position: relative;
  display: grid;
  justify-items: center;
  padding: clamp(24px,5vw,60px) 20px 24px;
  background: radial-gradient(ellipse at top,#fff8e9,#f7edf7 68%);
  border: 1px solid white;
  border-radius: 28px;
  color: var(--plum);
}
.story-emblem img { width: min(100%,220px); height: auto; border-radius: 50%; }
.story-emblem p { margin: 16px 0 0; font: 600 16px/1.6 var(--serif); letter-spacing: .1em; }
.story-spark { position: absolute; top: 12px; right: 22px; color: #98609f; font-size: 28px; }
.story-panel { background: #fffcff; }
.story-panel .story-opening { margin: 0 0 18px; font-weight: 650; }
.story-part + .story-part { margin-top: 15px; }
.story-part h3, .story-finale h3 { margin: 0 0 5px; font-size: 19px; }
.story-part p, .story-finale p { margin: 0; }
.story-finale { margin-top: 20px; padding: 16px; border-left: 3px solid #ae95cb; border-radius: 14px; background: #f1e8f8; }
.story-finale p + p { margin-top: 9px; }
.story-layout + .classic-story { margin-top: 26px; }
.story-return { padding-bottom: 40px; }
@media (max-width: 680px) {
  .split.story-layout { grid-template-columns: minmax(0,1fr); }
  .story-emblem img { width: min(100%,140px); }
}

/* Content cards shared by service, teaching, story and booking pages. */
.body > section,
.body > p,
.inner .lead,
.home-classic .section > .wrap > p,
.home-classic #faq .split > div:first-child,
.classic-story {
  border: 1px solid #dfd2e9;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 5px 20px #5e50660a;
  padding: clamp(18px,3vw,28px);
}
.body > section + section { margin-top: 20px; }
.body > section > h2:first-child { margin-top: 0; font-size: clamp(23px,3vw,32px); }
.body > section > :last-child { margin-bottom: 0; }
.body > p { max-width: none; }
.inner .lead { background: #fffcffb8; margin-bottom: 0; font-size: 16px; }
.body > section > p {
  margin: 12px 0;
  padding: 14px 16px;
  border: 1px solid #ede4f2;
  border-radius: 14px;
  background: #faf6fc;
}
.body > section > ol, .body > section > ul {
  margin: 14px 0 0;
  padding: 0;
  list-style-position: inside;
}
.body > section > ol > li, .body > section > ul > li {
  max-width: none;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #e7ddeb;
  border-radius: 14px;
  background: #faf6fc;
}
.body > section > ol > li::marker, .body > section > ul > li::marker {
  color: #765683;
  font-weight: 700;
}
details {
  padding: 0 16px;
  margin: 12px 0;
  border: 1px solid #e3d6ec;
  border-radius: 14px;
  background: white;
}
details[open] { background: #faf6fc; border-color: #b79cc6; }
summary { padding: 15px 0; }
details p { color: var(--muted); margin-bottom: 16px; }
.profile-item, .story-part {
  margin: 12px 0 0;
  padding: 14px 16px;
  border: 1px solid #e6daee;
  border-radius: 16px;
  background: #faf6fc;
}
.profile-item + .profile-item { margin-top: 12px; padding-top: 14px; }
.story-panel .story-opening {
  padding: 16px;
  border: 1px solid #e6daee;
  border-radius: 16px;
  background: #faf6fc;
}
.story-finale p + p {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #d8c9e6;
}
.tablebox { box-shadow: 0 5px 20px #5e50660a; margin: 20px 0; }
.body > .cards + .tablebox { margin-top: 26px; }
.body > .tablebox + section, .body > .cards + section { margin-top: 20px; }
.foot .split > div {
  width: min(100%,650px);
  border: 1px solid #fff;
  border-radius: 20px;
  padding: 20px;
  background: #ffffff87;
}
@media (max-width: 680px) {
  .body > section, .body > p, .inner .lead, .classic-story,
  .home-classic .section > .wrap > p,
  .home-classic #faq .split > div:first-child { padding: 18px; border-radius: 18px; }
  .body > section > p, .body > section > ol > li,
  .body > section > ul > li, .profile-item, .story-part { padding: 12px; }
}

.classic-hero .hero-subtitle {
  margin: 0 auto 24px;
  color: var(--plum);
  font-size: clamp(18px,2.6vw,28px);
  letter-spacing: .02em;
}

:root { --banner-background: linear-gradient(110deg,#f8edeb,#eee8fa); }
.home-classic { --banner-background: linear-gradient(135deg,#fdf7f9e6,#f1ecfaf2),url('/assets/texture.svg') center 63% / cover no-repeat; }

/* The lavender-to-white-to-pink background from the original website. */
:root {
  --site-gradient: linear-gradient(135deg,#ded8f8 0%,#fff 50%,#edbed6 100%);
  --banner-background: var(--site-gradient);
}
body { background: var(--site-gradient) fixed; }
.home-classic { --banner-background: var(--site-gradient); }
.section, .tint, .home-classic .tint { background: transparent; }
.inner, .hero.classic-hero, .foot { background: var(--site-gradient); }
.panel, .card, .inner .lead, .hero-glass, .hero-badge,
.body > section, .body > p, .body > section > p,
.body > section > ol > li, .body > section > ul > li,
.profile-item, .story-part, .story-panel .story-opening,
.story-finale, .story-emblem, .classic-story, details, details[open],
.home-classic .section > .wrap > p,
.home-classic #faq .split > div:first-child,
.foot .split > div, .tablebox, table, caption, thead th { background: #fff; }
nav { gap: 14px; }
.service-list { display: grid; gap: 24px; }
.service-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.service-jump a { padding: 8px 17px; border: 1px solid #cbbbd9; background: #fff; border-radius: 999px; text-decoration: none; font-size: 14px; }
.service-jump a:hover { border-color: var(--plum); }
.service-feature {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  border: 1px solid #d6c6e1;
  border-radius: 28px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 8px 25px #5e50660b;
}
.service-feature:nth-of-type(even) { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); }
.service-feature:nth-of-type(even) .service-art { order: 2; border-right: 0; border-left: 1px solid #ece3f2; }
.service-art {
  position: relative;
  min-height: 350px;
  padding: 55px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  color: var(--plum);
  background: #fff;
  border-right: 1px solid #ece3f2;
}
.service-art svg { width: 140px; height: 140px; padding: 30px; border: 1px solid #ddcdea; border-radius: 50%; }
.service-number { position: absolute; top: 23px; left: 28px; color: #8c719c; font-size: 12px; letter-spacing: .15em; }
.service-art-name { font: 600 18px/1.5 var(--serif); letter-spacing: .08em; text-align: center; }
.service-copy { padding: clamp(24px,4.5vw,56px); min-width: 0; }
.service-copy h2 { margin: 8px 0 14px; font-size: clamp(25px,3vw,36px); }
.service-copy p { margin: 0 0 18px; color: var(--muted); }
.service-copy ul { padding: 0; margin: 0; list-style: none; display: grid; gap: 9px; }
.service-copy li { position: relative; padding-left: 16px; color: var(--muted); font-size: 15px; }
.service-copy li::before { content: '·'; position: absolute; left: 1px; color: var(--plum); font-weight: bold; }
.service-links { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-top: 24px; }
.service-links a { font-weight: 650; color: var(--plum); font-size: 14px; }
.service-consult { padding: clamp(24px,5vw,48px); }
.service-consult h2 { font-size: clamp(26px,3vw,38px); margin: 10px 0; }
.service-consult p { color: var(--muted); }
.tablebox[id], tr[id], .service-feature[id] { scroll-margin-top: 120px; }
@media (max-width: 1200px) { .bar > .btn { display: none; } }
@media (min-width: 681px) and (max-width: 1060px) {
  .bar { min-height: 76px; flex-wrap: wrap; }
  .menu { display: block; background: #fff; border: 1px solid #aa96b2; border-radius: 999px; padding: 7px 13px; color: var(--ink); font: inherit; cursor: pointer; }
  .bar nav { width: 100%; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding-bottom: 16px; }
  .bar nav[hidden] { display: none; }
  .bar nav a { padding: 6px 0; }
}
@media (max-width: 680px) {
  .service-feature, .service-feature:nth-of-type(even) { grid-template-columns: minmax(0,1fr); border-radius: 22px; }
  .service-art, .service-feature:nth-of-type(even) .service-art { order: 0; min-height: 185px; padding: 30px 20px 22px; border: 0; border-bottom: 1px solid #ece3f2; gap: 12px; }
  .service-art svg { width: 90px; height: 90px; padding: 16px; }
  .service-art-name { font-size: 16px; }
  .service-number { top: 20px; left: 20px; }
  .service-copy { padding: 23px; }
  .service-copy h2 { font-size: 27px; }
}
.service-list { grid-template-columns: minmax(0,1fr); }
.card:hover { background: #fff; }
