/* Revisions 4–5: photographic direction and a continuous, compact consultation. */
:root {
  --care-accent: #d5b47d;
  --care-soft: #d5b47d24;
  --photo-tone: saturate(.78) sepia(.09) contrast(1.015);
}
body[data-care-mood="body"], [data-mood="body"] { --care-accent:#e8c38a; --care-soft:#e8c38a22; }
body[data-care-mood="beard"], [data-mood="beard"] { --care-accent:#d6aa8a; --care-soft:#d6aa8a26; }
body[data-care-mood="kids"], [data-mood="kids"] { --care-accent:#edc7a4; --care-soft:#edc7a424; }
body[data-care-mood="skin"], [data-mood="skin"] { --care-accent:#e3d3a7; --care-soft:#e3d3a726; }
body[data-care-mood="nails"], [data-mood="nails"] { --care-accent:#e6b1ba; --care-soft:#e6b1ba27; }

/* Retain the original photographs. Grade only their presentation, never the source. */
.hero-mosaic img, .page-hero-photo img, .audience-scene>img,
.care-panel-photo>img, .service-image>img, .result-photo img,
.gallery-tile img, .flow-photo img, .future-photo img {
  filter:var(--photo-tone);
}
.hero-mosaic { grid-template-columns:1.55fr 1fr; grid-template-rows:1.07fr 1fr; gap:1px; }
.hero-mosaic>div { position:relative; }
.hero-mosaic>div:after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(145deg,#f3d49e0d,transparent 55%,#6c473e18);
}
.hero-mosaic>div:nth-child(2) img { object-position:48% 50%; }
.hero-mosaic>div:nth-child(3) img { object-position:30% 27%; filter:saturate(.48) sepia(.11) brightness(.92); }
.hero-mosaic>div:nth-child(4) img { object-position:48% 45%; }
.hero-shade {
  background:linear-gradient(90deg,#23180fd6 0%,#3020177a 40%,#32251a19 75%),linear-gradient(0deg,#25190ed9,transparent 58%,#21170d26);
}
.hero h1 { font-size:clamp(52px,6.4vw,92px); letter-spacing:.025em; line-height:1.55; }
.hero .line>span { animation:hero-letter-set 1.15s cubic-bezier(.16,.75,.2,1) both; }
.hero .line:nth-child(2)>span { animation-delay:.13s; }
.hero-content .eyebrow { margin-bottom:22px; }
.hero-mosaic img { animation:hero-camera-set 4.5s cubic-bezier(.12,.68,.2,1) both; }
.hero-mosaic>div:nth-child(2) img { animation-delay:.1s; }
.hero-mosaic>div:nth-child(3) img { animation-delay:.18s; }
.hero-mosaic>div:nth-child(4) img { animation-delay:.26s; }
.hero-buttons .button { box-shadow:inset 0 1px 1px #fff,0 5px 0 #6b4e2c88,0 12px 40px #0d080c33; }
.hero-place { max-width:650px; }
.hero-sign { opacity:.14; }
.intro-copy p:not(.eyebrow) { max-width:36em; }
.owner-copy p:not(.eyebrow) { max-width:32em; }
.audience-scene { aspect-ratio:3/4.25; min-height:425px; }
.audience-scene>div { padding:27px; }
.audience-scene h3 { font-size:clamp(23px,2.05vw,29px); }

/* Carry each chosen care's light through the pearl, result and consultation controls. */
.care-check {
  background:radial-gradient(ellipse at 4% 16%,var(--care-soft),transparent 46%),linear-gradient(130deg,#32281f,#211915 70%,#443020);
}
.pearl-stage.lit .pearl { box-shadow:inset -12px -12px 30px #48302130,0 0 35px var(--care-soft),0 0 85px var(--care-soft); }
.check-row { transition:background .28s,border-color .28s,box-shadow .28s; }
.check-row.is-selected { background:linear-gradient(115deg,var(--care-soft),#d1b67e08); box-shadow:inset 3px 0 0 var(--care-accent); }
.check-row[data-effect="body"] { --care-accent:#e8c38a; --care-soft:#e8c38a20; }
.check-row[data-effect="beard"] { --care-accent:#d6aa8a; --care-soft:#d6aa8a20; }
.check-row[data-effect="kids"] { --care-accent:#edc7a4; --care-soft:#edc7a420; }
.check-row[data-effect="skin"] { --care-accent:#e3d3a7; --care-soft:#e3d3a720; }
.check-row[data-effect="nails"] { --care-accent:#e6b1ba; --care-soft:#e6b1ba20; }
.check-row.is-selected .check-number { color:var(--care-accent); }
.check-row.is-selected .check-mark { box-shadow:0 0 20px var(--care-soft); }
.check-result {
  background:radial-gradient(ellipse at 100% 0,var(--care-soft),transparent 64%),linear-gradient(125deg,#c8a66d12,#271e1980);
  border-color:var(--care-accent);
}
.result-care { grid-template-columns:112px minmax(0,1fr); gap:20px; }
.result-photo { aspect-ratio:3/4; border:1px solid var(--care-accent); }
.result-care .result-daily { color:var(--care-accent); font-family:var(--serif); font-size:17px; line-height:1.8; margin-top:10px; }
.result-care-links { gap:0 17px; }
.result-care-links .result-voice-link { color:var(--care-accent); }
.consultation-steps { padding:0; margin:20px 0 24px; list-style:none; display:flex; align-items:stretch; gap:8px; }
.consultation-steps li {
  position:relative; display:flex; align-items:center; gap:8px; flex:1; min-width:0;
  border-bottom:1px solid #b8a3825c; padding:10px 0; color:#b5a48e; font-size:12px; line-height:1.8;
}
.consultation-steps li>span { font:italic 20px var(--roman); color:#b5a48e; }
.consultation-steps li[aria-current="step"] { color:#fff0d7; border-bottom:2px solid var(--care-accent); }
.consultation-steps li[aria-current="step"]>span { color:var(--care-accent); }
.consultation-steps li.step-done { color:#e6d4b8; }
.consultation-steps li.step-done>span { color:var(--care-accent); }
.result-line.is-ready { background:linear-gradient(105deg,var(--care-soft),transparent); box-shadow:0 6px 25px var(--care-soft); padding-inline:15px; }
.saved-consultation { border-color:var(--care-accent); }
.saved-consultation .saved-count { color:#77553c; }
.mobile-dock .button { border-top-color:var(--care-accent); }
.check-progress-lights i:nth-child(1) { --care-accent:#e8c38a; }
.check-progress-lights i:nth-child(2) { --care-accent:#d6aa8a; }
.check-progress-lights i:nth-child(3) { --care-accent:#edc7a4; }
.check-progress-lights i:nth-child(4) { --care-accent:#e3d3a7; }
.check-progress-lights i:nth-child(5) { --care-accent:#e6b1ba; }
.check-progress-lights i.on { background:var(--care-accent); box-shadow:0 0 12px var(--care-accent); }
.care-explorer[data-care="nail"] { --care-accent:#b9808c; --care-soft:#b9808c20; }
.care-explorer[data-care="facial"] { --care-accent:#a08b5b; --care-soft:#a08b5b18; }
.care-explorer[data-care="light"] { --care-accent:#b18c4e; --care-soft:#b18c4e18; }
.care-explorer[data-care="lift"] { --care-accent:#a3816e; --care-soft:#a3816e18; }
.care-panel { background:radial-gradient(ellipse at 100% 0,var(--care-soft),transparent 65%),#f7f0e5; }
.care-choice[aria-pressed="true"] { border-color:var(--care-accent); }
.care-panel-count { color:var(--care-accent); }

/* Give factual customer voices a direct route from each matching concern. */
.voice-topics { display:flex; flex-wrap:wrap; gap:8px; margin-top:27px; }
.voice-topics button {
  position:relative; min-height:44px; padding:10px 16px; font-size:13px; color:#6e5746;
  border:1px solid #b79b7259; border-radius:2px 18px 2px 18px;
  background:linear-gradient(125deg,#fffaf1,#f1e4d2); box-shadow:inset 0 1px 0 #fff,0 2px 0 #ba9b6426;
}
.voice-topics button[aria-pressed="true"] { color:#fff1d9; background:linear-gradient(130deg,#795942,#3d2c23); border-color:#a18155; }
.voice-heading .quote-nav { margin-top:18px; }
.quote-slide { scroll-margin-top:120px; }
.quote-slide:not([hidden]) { animation:voice-arrive .65s var(--ease) both; }

/* Menu pages: photograph + key information, followed by optional detail. */
.service-image { isolation:isolate; overflow:hidden; }
.service-image:after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#24170fce); pointer-events:none; z-index:1; }
.service-photo-caption { position:absolute; z-index:2; bottom:26px; left:27px; right:24px; font:23px/1.7 var(--serif); color:#fff4df; text-shadow:0 2px 20px #24180c60; }
.service-photo-caption span { display:block; font:12px/1.9 var(--sans); letter-spacing:.12em; margin-bottom:8px; color:#f0d9b5; }
.service-copy .service-lead { max-width:35em; }
.service-points { margin-block:22px; }
.service-points li { padding-block:11px; }
.service-detail { border-block:1px solid #c6ad883d; margin:20px 0; }
.service-detail summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; min-height:54px; padding:13px 0; font-size:13px; color:#765a40; }
.service-detail summary::-webkit-details-marker { display:none; }
.service-detail summary>span { font:20px var(--sans); transition:transform .3s; }
.service-detail[open] summary>span { transform:rotate(45deg); }
.service-detail p { font-size:14px; line-height:2; padding:0 0 20px; color:#6c5746; }
.service-detail[open] p { animation:voice-arrive .4s var(--ease) both; }
.flow-list { gap:28px; }
.flow-list li { padding-top:0; border-top:0; }
.flow-photo { position:relative; overflow:hidden; margin:0 0 22px; aspect-ratio:1.7; }
.flow-photo img { object-position:center 38%; }
.flow-list li:first-child .flow-photo img { object-position:center 24%; }
.flow-photo:after { content:""; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,#201810b8); }
.flow-photo figcaption { position:absolute; z-index:1; left:15px; bottom:11px; font-size:11px; color:#fff3da; }
.flow-list li>span { font-size:30px; }
.flow-list h3 { font-size:22px; margin-top:10px; }
.flow-list p { font-size:14px; line-height:1.95; }
.service-index { z-index:2; top:19px; bottom:auto; right:24px; font-size:clamp(58px,7vw,95px); color:#fff0d68c; text-shadow:none; }
.service-copy .service-location { color:#855838; background:linear-gradient(100deg,#d1b38320,transparent); border-left:2px solid #b18a53; padding:10px 14px; margin-top:16px; font-size:13px!important; }
.menu-page-hero .page-hero-photo img { object-position:center 42%; }

/* More deliberate touch response; all navigation remains immediate. */
.button { -webkit-tap-highlight-color:transparent; }
.button:after { pointer-events:none; }
.button.is-pressing {
  transform:translateY(3px) scale(.976)!important;
  box-shadow:inset 0 3px 10px #26190e33,0 1px 0 #5b3b1f55!important;
  filter:brightness(.96);
}
.button.feedback-active:after {
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:radial-gradient(circle at var(--press-x,50%) var(--press-y,50%),#fff8de99,transparent 63%);
  animation:touch-luster .75s ease-out both;
}
.feedback-book.tap-wave { border-width:1px; box-shadow:0 0 0 7px #e8c99124,0 0 0 16px #e8c99113,0 0 36px #e8c99177; }
.button.is-rebounding { animation:reala-touch-return .44s cubic-bezier(.18,.75,.24,1)!important; }
.celebration-seal {
  position:fixed; z-index:1; pointer-events:none; width:230px; height:230px; margin:-115px;
  border:1px solid #f4dab98c; border-radius:50%; display:flex; align-items:center; justify-content:center;
  flex-direction:column; color:#fff3d3; text-align:center;
  background:radial-gradient(ellipse,#5a3e29dc,#2e2018b5 58%,transparent 72%);
  box-shadow:0 0 70px #edc8842b,inset 0 0 40px #f5ddb51a;
  animation:consultation-finale 2.8s cubic-bezier(.18,.7,.2,1) both;
}
.celebration-seal>span { font:italic 64px/1.2 var(--roman); }
.celebration-seal>small { font:12px/1.8 var(--sans); margin-top:8px; letter-spacing:.08em; }
.celebration-petal { box-shadow:0 0 12px #f2d2973b; }
.celebration-petal:nth-child(4n) { width:5px; height:13px; border-radius:100% 0 100% 0; }

@keyframes hero-camera-set { from{transform:scale(1.11)} to{transform:scale(1)} }
@keyframes hero-letter-set { from{transform:translateY(20px);letter-spacing:.055em} to{transform:none;letter-spacing:.025em} }
@keyframes portrait-unfold { from{transform:scale(1.07)} to{transform:scale(1)} }
@keyframes chapter-title { from{transform:translateY(17px);opacity:.5} to{transform:none;opacity:1} }
@keyframes daylight-title { from{transform:translateY(32px);letter-spacing:.1em} to{transform:none;letter-spacing:.03em} }
@keyframes care-welcome { from{box-shadow:0 0 0 #d7b47b00} 35%{box-shadow:0 0 65px #d7b47b18} to{box-shadow:0 0 0 #d7b47b00} }
@keyframes voice-arrive { from{opacity:.45;transform:translateY(9px)} to{opacity:1;transform:none} }
@keyframes touch-luster { from{opacity:.75} to{opacity:0} }
@keyframes reala-touch-return { 0%{transform:translateY(3px) scale(.976)} 45%{transform:translateY(-2px) scale(1.008)} 100%{transform:none} }
@keyframes consultation-finale { 0%{opacity:0;transform:scale(.5) rotate(-7deg)} 16%,72%{opacity:1;transform:scale(1) rotate(0)} 100%{opacity:0;transform:scale(1.13) rotate(3deg)} }
@keyframes first-action { from{translate:0 5px} to{translate:0 0} }

@media(prefers-reduced-motion:no-preference) {
  .hero-buttons a,.header-actions .button,.site-header .icon-button,.mobile-dock a { animation:first-action .6s var(--ease) both; }
  .js-motion .reveal.is-visible[data-scene="portrait"] img { animation:portrait-unfold 1.4s var(--ease) both; }
  .js-motion .reveal.is-visible[data-scene="story"] h2 { animation:chapter-title .85s var(--ease) both; }
  .js-motion .reveal.is-visible[data-scene="daylight"] h2 { animation:daylight-title 1.1s var(--ease) both; }
  .js-motion .check-panel.is-visible { animation:care-welcome 1.6s ease-out both; }
  .js-motion .reveal[data-scene="photo"] { transition-duration:.7s; }
}
@media(max-width:960px) {
  .hero h1 { font-size:clamp(45px,7vw,68px); }
  .audience-scene { min-height:420px; }
  .audience-scene>div { padding:19px; }
  .audience-scene h3 { font-size:22px; }
  .result-care { grid-template-columns:85px minmax(0,1fr); gap:14px; }
  .consultation-steps { gap:7px; }
  .consultation-steps li { font-size:11px; gap:5px; }
  .consultation-steps li>span { font-size:18px; }
  .service-photo-caption { font-size:20px; left:22px; bottom:22px; }
  .flow-list { gap:22px; }
  .flow-list h3 { font-size:20px; }
}
@media(max-width:650px) {
  .hero { min-height:640px; height:100svh; max-height:850px; }
  .hero-mosaic { grid-template-columns:1.15fr 1fr; grid-template-rows:1fr 1fr; }
  .hero-mosaic>div:nth-child(2) img { object-position:50% 48%; }
  .hero-mosaic>div:nth-child(3) img { object-position:35% 29%; }
  .hero-mosaic>div:nth-child(4) img { object-position:54% 46%; }
  .hero-shade { background:linear-gradient(90deg,#25190ed4,#2e1f168c 52%,#2f20183b),linear-gradient(0deg,#21150dda,transparent 72%); }
  .hero h1 { font-size:clamp(29px,8.25vw,52px); line-height:1.7; letter-spacing:.025em; }
  .hero-content { padding-top:12px; }
  .hero-content .eyebrow { margin-bottom:22px; }
  .hero-sub { margin-top:20px; font-size:14px; }
  .hero-place { font-size:11px; }
  .hero-bottom { bottom:29px; }
  .hero-sign { font-size:110px; }
  .section-pad { padding-block:58px; }
  .intro-layout { gap:30px; }
  .intro-visual { width:81%; }
  .audience { padding-top:5px; }
  .audience-grid { display:grid; gap:15px; }
  .audience-scene { min-height:286px; aspect-ratio:auto; margin:0; }
  .audience-scene>div { padding:24px; }
  .audience-scene h3 { font-size:25px; line-height:1.6; margin:9px 0; }
  .audience-scene p { font-size:14px; line-height:1.85; }
  .audience-scene .text-link { margin-top:8px; }
  .audience-scene:after { background:linear-gradient(90deg,#24180ee0,#291d1577),linear-gradient(0deg,#24170dc9,transparent 90%); }
  .care-check { padding-block:48px; }
  .check-row { min-height:80px; }
  .check-result { padding:22px 18px; }
  .result-care { grid-template-columns:72px minmax(0,1fr); gap:13px; padding:22px 0; }
  .result-photo { aspect-ratio:3/4.3; }
  .result-care h4 { font-size:16px; line-height:1.75; }
  .result-care .result-daily { font-size:15px; line-height:1.8; margin-top:8px; }
  .result-care p { font-size:13px; line-height:1.9; }
  .result-care-links { gap:0; }
  .result-care-links .text-link { font-size:12px; min-height:44px; }
  .consultation-steps { margin:16px 0 21px; gap:9px; }
  .consultation-steps li { display:block; font-size:11px; white-space:nowrap; padding:8px 0; }
  .consultation-steps li>span { display:block; font-size:22px; margin-bottom:3px; }
  .result-actions .result-line { width:100%; justify-content:space-between; padding:13px 15px; }
  .voice-topics { margin-top:22px; gap:8px; }
  .voice-topics button { font-size:13px; padding:10px 13px; }
  .voice-heading .quote-nav { margin-top:18px; }
  .voice-layout { gap:17px; }
  .quote-slide { min-height:0; }
  .owner-photo { width:75%; }
  .owner-layout { gap:26px; }
  .future-scene { min-height:540px; }
  .future-copy { padding-block:55px; }
  .service-section { padding-block:44px; }
  .service-layout { gap:24px; }
  .service-image>img { aspect-ratio:1.17; }
  .service-photo-caption { bottom:20px; left:21px; right:20px; font-size:21px; }
  .service-photo-caption span { font-size:11px; margin-bottom:6px; }
  .service-detail summary { min-height:56px; font-size:13px; gap:12px; }
  .service-detail p { font-size:14px; line-height:2; }
  .flow-list { display:grid; grid-template-columns:1fr; gap:25px; margin-block:25px; }
  .flow-list li { display:grid; grid-template-columns:90px 1fr; gap:5px 17px; padding:0 0 24px; border-bottom:1px solid #c9b48f69; }
  .flow-photo { grid-row:1/4; grid-column:1; aspect-ratio:3/4.7; margin:0; align-self:start; }
  .flow-photo figcaption { display:none; }
  .flow-list li>span { grid-column:2; grid-row:1; font-size:26px; line-height:1; }
  .flow-list h3 { grid-column:2; grid-row:2; font-size:21px; margin:5px 0; line-height:1.7; }
  .flow-list p { grid-column:2; grid-row:3; font-size:14px; line-height:1.9; }
  .celebration-seal { width:180px; height:180px; margin:-90px; }
  .celebration-seal>span { font-size:51px; }
  .celebration-seal>small { font-size:11px; letter-spacing:.02em; }
  .toast { bottom:calc(96px + env(safe-area-inset-bottom)); }
  .home-faq { padding-top:12px; }
  .service-detail,.faq-item,.check-result { overflow-wrap:anywhere; }
}
@media(max-width:360px) {
  .hero h1 { font-size:29px; }
  .hero-content .eyebrow>span { font-size:10px!important; }
  .hero { min-height:640px; }
  .check-result { padding-inline:14px; }
  .result-care { grid-template-columns:63px minmax(0,1fr); gap:12px; }
  .result-care h4 { font-size:15px; }
  .voice-topics button { padding-inline:10px; font-size:12px; }
  .flow-list li { grid-template-columns:76px 1fr; gap:5px 13px; }
  .flow-list h3 { font-size:19px; }
  .flow-list p { font-size:14px; }
}
@media(max-width:960px) and (max-height:550px) and (orientation:landscape) {
  .hero { height:auto; min-height:610px; }
  .mobile-dock { position:static; }
  .footer { padding-bottom:40px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero .line>span,.hero-mosaic img,.quote-slide:not([hidden]),.service-detail[open] p,
  .button.is-rebounding,.button.feedback-active:after { animation:none!important; }
  .celebration-seal { display:none!important; }
  .check-row,.service-detail summary>span { transition:none; }
  .hero .line>span { letter-spacing:.025em; }
}
@media print {
  .service-detail p { display:block!important; }
  .voice-topics,.consultation-steps { display:none; }
}

/* One preparation image, one factual seal; the room and owner have their own scenes. */
.intro-visual { padding-bottom:38px; }
.intro .photo-arch { aspect-ratio:4/5; border-radius:44% 44% 2px 2px; }
.intro .photo-arch img { object-position:46% center; filter:saturate(.8) sepia(.06); }
.privacy-seal {
  position:absolute; left:-13px; bottom:8px; width:174px; height:174px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  border-radius:50%; text-align:center; color:#4d3826; border:1px solid #c6a570;
  background:radial-gradient(ellipse at 25% 15%,#fffdf2,#f3e4c9 62%,#ddc397);
  box-shadow:inset 0 0 0 7px #f7eedc,inset 0 0 0 8px #b9a0746b,0 15px 40px #32231818;
}
.privacy-seal>span { font:23px/1.7 var(--serif); }
.privacy-seal>small { margin-top:8px; font:11px/1.9 var(--sans); letter-spacing:.12em; color:#7a6041; }
.intro-visual .image-note { top:auto; bottom:0; right:0; writing-mode:horizontal-tb; font-size:10px; letter-spacing:.03em; }

/* Keep five selected concerns scannable. Native disclosure remains keyboard-operable. */
.result-care { display:block; padding:0; }
.result-care>summary {
  display:grid; grid-template-columns:76px minmax(0,1fr) 20px; gap:16px; align-items:center;
  min-height:115px; padding:15px 0; list-style:none; cursor:pointer;
}
.result-care>summary::-webkit-details-marker { display:none; }
.result-care>summary:focus-visible { outline:2px solid var(--care-accent); outline-offset:5px; border-radius:4px; }
.result-care .result-photo { display:block; aspect-ratio:1; align-self:center; border-radius:2px 19px 2px 2px; }
.result-care-copy { display:block; }
.result-kind { display:block; font:17px/1.7 var(--serif); color:#fff0d6; }
.result-care .result-daily { display:block; margin-top:4px; font:12px/1.85 var(--sans); color:#dccaaf; }
.result-disclosure { font:23px/1 var(--sans); color:var(--care-accent); transition:transform .25s; }
.result-care[open] .result-disclosure { transform:rotate(45deg); }
.result-more-body { padding:0 0 21px 92px; }
.result-more-body>p:first-child { margin-top:0; }
.result-more-body .result-confirm {
  margin-block:13px 8px; padding:10px 13px; border-left:1px solid var(--care-accent);
  background:linear-gradient(90deg,var(--care-soft),transparent); color:#eadbc5;
}
.result-confirm>span { display:block; font-size:11px; color:var(--care-accent); margin-bottom:4px; letter-spacing:.1em; }
.result-care-links { flex-direction:column; align-items:flex-start; }
.result-care-links .text-link { min-height:44px; }

/* A familiar return point immediately after the genuine customer voices. */
.voice-consultation {
  position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px;
  padding:27px 31px; margin-top:38px; border-block:1px solid #bd9f6857;
  background:radial-gradient(ellipse at 0 0,#f7e8c9c9,transparent 70%),linear-gradient(115deg,#fffaf1,#efe1cb85);
}
.voice-consultation>div { min-width:0; }
.voice-consultation-title { font:24px/1.75 var(--serif); color:#4c3729; }
.voice-consultation-selection { font-size:13px; line-height:1.9; color:#79614b; margin-top:6px; overflow-wrap:anywhere; }
.voice-consultation-link { flex-shrink:0; font-size:13px; gap:20px; }

/* The 164 ms light beat matches the first Web Audio note; future beats are cancelled on a new tap. */
.care-playing .care-panel-copy { animation-delay:.12s; }
.care-playing .care-visual-effect i { animation-delay:calc(.164s + var(--care-stagger,0s))!important; }
.effect-bloom .care-visual-effect i:nth-child(2) { --care-stagger:.04s; }
.effect-bloom .care-visual-effect i:nth-child(3) { --care-stagger:.08s; }
.effect-bloom .care-visual-effect i:nth-child(4) { --care-stagger:.12s; }
.effect-bloom .care-visual-effect i:nth-child(5) { --care-stagger:.16s; }
.effect-ripple .care-visual-effect i:nth-child(2),.effect-lift .care-visual-effect i:nth-child(2) { --care-stagger:.15s; }
.effect-ripple .care-visual-effect i:nth-child(3),.effect-lift .care-visual-effect i:nth-child(3) { --care-stagger:.3s; }
@media(prefers-reduced-motion:no-preference) {
  .result-care[open] .result-more-body { animation:voice-arrive .32s var(--ease) both; }
  .result-care>summary:hover .result-photo img { transform:scale(1.035); }
  .result-photo img { transition:transform .4s var(--ease); }
}
@media(max-width:960px) {
  .privacy-seal { width:149px; height:149px; left:-15px; }
  .privacy-seal>span { font-size:21px; }
  .voice-consultation { padding:24px; gap:20px; }
  .voice-consultation-title { font-size:21px; }
  .result-care>summary { grid-template-columns:66px minmax(0,1fr) 16px; gap:13px; min-height:106px; }
  .result-more-body { padding-left:0; }
}
@media(max-width:650px) {
  html { scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
  .hero { flex-direction:column; justify-content:center; gap:24px; min-height:690px; height:100svh; max-height:900px; padding-block:100px calc(90px + env(safe-area-inset-bottom)); }
  .hero-content { margin:0 auto; padding:0; flex-shrink:0; }
  .hero-bottom { position:relative; inset:auto; width:88%; margin:0 auto; flex-shrink:0; }
  .hero-bottom>span:last-child { display:none; }
  .hero h1 .line { white-space:nowrap; }
  .intro-visual { width:86%; margin-right:0; padding-bottom:30px; }
  .intro .photo-arch { aspect-ratio:1/1.1; }
  .privacy-seal { left:-27px; bottom:6px; width:137px; height:137px; }
  .privacy-seal>span { font-size:20px; }
  .privacy-seal>small { font-size:10px; margin-top:5px; }
  .intro-visual .image-note { font-size:9px; }
  .result-care { padding:0; }
  .result-care>summary { grid-template-columns:60px minmax(0,1fr) 16px; gap:11px; min-height:101px; padding:13px 0; }
  .result-kind { font-size:16px; }
  .result-care .result-daily { font-size:12px; line-height:1.8; margin-top:3px; }
  .result-care .result-photo { aspect-ratio:1; }
  .result-more-body { padding-bottom:17px; }
  .result-disclosure { font-size:20px; }
  .voice-consultation { display:block; margin-top:24px; padding:24px 19px; }
  .voice-consultation-title { font-size:20px; }
  .voice-consultation-selection { font-size:12px; }
  .voice-consultation-link { display:flex; width:100%; margin-top:18px; justify-content:space-between; font-size:13px; }
  .mobile-dock>a { min-width:0; }
  .mobile-dock .button>span:first-child { white-space:nowrap; }
  .mobile-dock .arrow { flex-shrink:0; }
}
@media(max-width:360px) {
  .result-care>summary { grid-template-columns:51px minmax(0,1fr) 14px; gap:9px; }
  .result-kind { font-size:15px; }
  .privacy-seal { left:-20px; width:124px; height:124px; }
  .voice-consultation { padding-inline:15px; }
  .voice-consultation-title { font-size:18px; }
  .hero h1 { font-size:clamp(26px,8.1vw,29px); }
  .hero-sub { letter-spacing:.01em; }
}
@media(prefers-reduced-motion:reduce) {
  .result-disclosure,.result-photo img { transition:none; }
  .result-care[open] .result-more-body { animation:none; }
}
