.interior-page { overflow: clip; }
.interior-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(240px, .7fr); align-items: center; gap: 60px; padding-block: 76px 52px; }
.interior-intro h1 { max-width: 820px; }
.interior-intro .lead { max-width: 630px; margin-top: 24px; }
.interior-intro .eyebrow { margin-bottom: 16px; }
.interior-intro .button-row { margin-top: 28px; }
.interior-stamp { justify-self: end; width: 235px; height: 235px; border: 1px solid rgba(201,8,50,.16); border-radius: 50%; display: grid; place-content: center; justify-items: center; gap: 14px; background: radial-gradient(circle at 70% 20%, #fff 0%, #fff0f2 65%, #f9e7eb 100%); color: var(--red); transform: rotate(5deg); }
.interior-stamp .icon { width: 70px; height: 70px; stroke-width: 1.1; }
.interior-stamp span { color: var(--navy); font-size: 13px; font-weight: 500; }
.journey-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; padding-block: 8px 52px; gap: 20px; }
.journey-nav::before { content: ''; position: absolute; left: 10%; right: 10%; top: 41px; border-top: 1px dashed #c7cdd5; }
.journey-nav a { display: flex; align-items: center; flex-direction: column; text-align: center; gap: 13px; position: relative; font-size: 13px; font-weight: 500; }
.journey-nav-icon { display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; color: var(--red); background: var(--paper); border: 1px solid #e5d6db; border-radius: 22px; transition: background .2s, color .2s, transform .2s; }
.journey-nav-icon .icon { width: 28px; height: 28px; }
.journey-nav a:hover .journey-nav-icon { color: white; background: var(--red); transform: translateY(-4px); }
.journey-path { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding-bottom: 20px; }
.journey-step { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 24px; padding: 34px; background: white; border: 1px solid #e6e8ec; border-radius: 26px; scroll-margin-top: 125px; }
.journey-step-icon { display: flex; justify-content: center; align-items: center; width: 66px; height: 66px; border-radius: 20px; background: #fff0f3; color: var(--red); }
.journey-step-icon .icon { width: 29px; height: 29px; }
.journey-step small { display: block; margin-bottom: 9px; color: var(--red); font-size: 11px; font-weight: 500; letter-spacing: .06em; }
.journey-step h2 { font-size: 24px; }
.journey-step p { font-size: 14px; color: var(--muted); margin-top: 15px; }
.journey-step:last-child { grid-column: 1/-1; background: var(--navy); color: white; border-color: var(--navy); }
.journey-step:last-child small { color: #ffb9c8; }
.journey-step:last-child p { color: #cbd6e2; max-width: 840px; }
.journey-step:last-child .journey-step-icon { background: rgba(255,255,255,.09); color: #ffbccb; }
.interior-faq { padding-block: 64px 76px; display: grid; grid-template-columns: .7fr 1.3fr; gap: 75px; }
.interior-faq .eyebrow { margin-bottom: 13px; }
.interior-faq h2 { font-size: 34px; }
.interior-faq .faq-list details { background: white; border: 1px solid #e4e7eb; border-radius: 16px; margin-bottom: 12px; padding-inline: 24px; }
.interior-faq .faq-list summary { padding-block: 19px; font-size: 15px; }
.interior-faq .faq-list details > p { padding-right: 0; font-size: 13px; }
.program-jump { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 30px; }
.program-jump a { display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px; border: 1px solid var(--line); background: white; border-radius: 30px; font-size: 13px; transition: background .2s, border-color .2s; }
.program-jump a:hover { background: #fff0f3; border-color: #edc5ce; }
.program-jump .icon { width: 18px; height: 18px; color: var(--red); }
.interior-programs { padding-bottom: 64px; }
.interior-program { display: grid; grid-template-columns: 1.05fr 1fr; gap: 58px; padding: 42px; margin-bottom: 24px; background: white; border: 1px solid #e4e7ec; border-radius: 28px; scroll-margin-top: 120px; }
.interior-program:nth-of-type(2) { background: #f3f5fa; }
.interior-program:nth-of-type(3) { background: #fff0f3; }
.interior-program .interior-badge { width: 58px; height: 58px; border-radius: 18px; display: flex; align-items: center; justify-content: center; color: var(--red); background: #fff0f3; margin-bottom: 23px; }
.interior-program:nth-of-type(3) .interior-badge { background: white; }
.interior-program .interior-badge .icon { width: 29px; height: 29px; }
.interior-program h2 { font-size: 32px; }
.interior-program .lead { margin-top: 17px; font-size: 15px; }
.interior-program .detail-price { margin-top: 24px; font-size: 12px; }
.interior-program .detail-price strong { font-size: 28px; }
.interior-program .button { margin-top: 23px; }
.interior-program > div:last-child { align-self: center; }
.interior-program h3 { font-size: 17px; }
.interior-program .clean-list { margin: 18px 0 0; }
.interior-program .clean-list li { font-size: 14px; margin-bottom: 15px; }
.interior-inline-note { padding: 7px 20px 0; font-size: 13px; color: var(--muted); max-width: 960px; }
.about-scene { display: grid; grid-template-columns: 1.05fr 1fr; gap: 65px; align-items: center; padding-block: 6px 68px; }
.about-scene figure { position: relative; }
.about-scene img { width: 100%; height: 500px; object-fit: cover; object-position: 24% center; border-radius: 30px; }
.about-scene figcaption { position: absolute; bottom: 22px; left: 24px; padding: 8px 16px; border-radius: 25px; font-size: 11px; color: white; background: rgba(7,29,56,.85); backdrop-filter: blur(10px); }
.about-scene h2 { font-size: 36px; }
.about-scene p { margin-top: 22px; color: var(--muted); font-size: 15px; }
.about-scene .button { margin-top: 28px; }
.interior-values { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; padding-bottom: 48px; }
.interior-values article { padding: 32px; border: 1px solid #e4e7ec; background: white; border-radius: 24px; }
.interior-values .icon { color: var(--red); width: 32px; height: 32px; margin-bottom: 24px; }
.interior-values h2 { font-size: 22px; }
.interior-values p { font-size: 14px; color: var(--muted); margin-top: 16px; }
.interior-terms { padding-bottom: 64px; }
.interior-terms details { padding: 0 24px; border: 1px solid var(--line); border-radius: 18px; }
.interior-terms summary { padding: 19px 0; font-size: 14px; cursor: pointer; font-weight: 500; }
.interior-terms details p { padding-bottom: 20px; max-width: 940px; color: var(--muted); font-size: 13px; }
.interior-contacts { padding-bottom: 60px; }
.interior-contacts .contact-card { padding: 31px; border-radius: 24px; position: relative; transition: border-color .2s, box-shadow .2s, transform .2s; }
.interior-contacts .contact-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px #071d380a; border-color: #dca1b0; }
.interior-contacts .contact-icon { width: 54px; height: 54px; border-radius: 17px; background: #fff0f3; margin-bottom: 26px; }
.interior-contacts .contact-icon .icon { width: 26px; height: 26px; }
.interior-contacts .contact-card h2 { font-size: 25px; }
.interior-contacts .contact-card p { font-size: 14px; color: var(--muted); }
.interior-consultation { background: #f0f3f8; border: 1px solid #e2e7ee; border-radius: 30px; margin-bottom: 80px; padding: 45px; gap: 65px; }
.interior-consultation .consultation-box { border: 0; border-radius: 22px; padding: 28px; }
.interior-consultation h2 { font-size: 36px; }
.interior-consultation .eyebrow { margin-bottom: 18px; }
.interior-consultation .consultation-box select, .interior-consultation .consultation-box textarea { border-radius: 11px; }
.interior-consultation .consultation-box .button { border-radius: 12px; }
@media (max-width: 1000px) {
  .interior-intro { gap: 35px; }
  .interior-stamp { width: 190px; height: 190px; }
  .journey-step { grid-template-columns: 48px minmax(0,1fr); padding: 27px; gap: 20px; }
  .journey-step-icon { width: 48px; height: 48px; border-radius: 16px; }
  .journey-step-icon .icon { width: 25px; height: 25px; }
  .journey-step h2 { font-size: 21px; }
  .interior-faq { gap: 40px; grid-template-columns: .6fr 1fr; }
  .interior-program { padding: 32px; gap: 35px; }
  .about-scene { gap: 40px; }
  .about-scene img { height: 450px; }
  .interior-values article { padding: 26px; }
  .interior-consultation { gap: 35px; padding: 32px; }
}
@media (max-width: 760px) {
  .interior-intro { grid-template-columns: 1fr; padding-block: 44px 35px; gap: 0; }
  .interior-intro h1 { font-size: clamp(38px, 8vw, 52px); }
  .interior-stamp { display: none; }
  .interior-intro .lead { margin-top: 20px; font-size: 15px; }
  .journey-nav { gap: 10px; padding-bottom: 30px; }
  .journey-nav::before { top: 33px; }
  .journey-nav a { font-size: 10px; line-height: 1.5; gap: 10px; }
  .journey-nav-icon { width: 50px; height: 50px; border-radius: 17px; }
  .journey-nav-icon .icon { width: 23px; height: 23px; }
  .journey-path { grid-template-columns: 1fr; gap: 14px; }
  .journey-step { padding: 25px; grid-template-columns: 48px minmax(0,1fr); gap: 18px; border-radius: 22px; }
  .journey-step:last-child { grid-column: auto; }
  .journey-step p { font-size: 13px; margin-top: 12px; }
  .interior-faq { grid-template-columns: 1fr; gap: 25px; padding-block: 46px 50px; }
  .interior-faq h2 { font-size: 29px; }
  .interior-faq .faq-list details { padding-inline: 20px; }
  .interior-programs { padding-bottom: 45px; }
  .program-jump { gap: 7px; }
  .program-jump a { padding: 9px 13px; font-size: 11px; }
  .program-jump .icon { width: 16px; height: 16px; }
  .interior-program { grid-template-columns: 1fr; gap: 30px; padding: 28px; border-radius: 24px; }
  .interior-program h2 { font-size: 29px; }
  .interior-program > div:last-child { border-top: 1px solid #071d3815; padding-top: 25px; }
  .interior-inline-note { padding-inline: 5px; font-size: 12px; }
  .about-scene { grid-template-columns: 1fr; gap: 32px; padding-bottom: 38px; }
  .about-scene img { height: 340px; border-radius: 24px; }
  .about-scene h2 { font-size: 29px; }
  .interior-values { grid-template-columns: 1fr; gap: 14px; padding-bottom: 28px; }
  .interior-values article { padding: 26px; }
  .interior-values .icon { margin-bottom: 17px; }
  .interior-terms { padding-bottom: 45px; }
  .interior-contacts { grid-template-columns: 1fr; padding-bottom: 35px; }
  .interior-contacts .contact-card { padding: 25px; }
  .interior-contacts .contact-icon { margin-bottom: 20px; }
  .interior-consultation { grid-template-columns: 1fr; width: calc(100% - 32px); padding: 26px 20px; gap: 30px; border-radius: 24px; margin-bottom: 50px; }
  .interior-consultation h2 { font-size: 29px; }
  .interior-consultation .consultation-box { padding: 22px 18px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .journey-nav-icon, .interior-contacts .contact-card { transition: none; }
  .journey-nav a:hover .journey-nav-icon, .interior-contacts .contact-card:hover { transform: none; }
}
