:root {
  --paper: #f2efea;
  --brown: #2a1816;
  --rate-brown: #2b1304;
  --cream: #fffcf3;
  --ink: #080808;
  --charcoal: #282c32;
  --orange: #ffb34f;
  --sand: #e0ceaa;
  --price-paper: #eeece6;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif; font-weight: 700; line-height: 1.55; overflow-x: hidden; }
h1, h2, h3, h4, p, figure { margin: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible { outline: 3px solid #e98924; outline-offset: 5px; }
.skip-link { position: fixed; top: -100px; left: 16px; padding: 12px 20px; background: #fff; z-index: 100; }
.skip-link:focus { top: 16px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* ファーストビューは、元の1536×864の構成に合わせて配置。 */
.hero { position: relative; aspect-ratio: 16 / 9; container-type: inline-size; isolation: isolate; background: var(--paper); }
.brand-block { position: absolute; top: 10.8%; left: 5.5%; z-index: 2; }
.brand-tagline { font-size: 1.8cqw; font-weight: 900; letter-spacing: .025em; line-height: 1.4; margin-bottom: -.2cqw; }
.wordmark { font-family: Arial, Helvetica, sans-serif; font-size: 10.5cqw; font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.hero-photos { position: absolute; inset: 0; z-index: -1; }
.hero-room { position: absolute; right: 0; width: 50.5%; object-fit: cover; }
.hero-room img { width: 100%; height: 100%; object-fit: cover; }
.hero-room-top { top: 0; height: 41.1%; z-index: 1; clip-path: polygon(0 0,100% 0,100% 100%,0 78.9%); }
.hero-room-bottom { top: 32.4%; height: 49.7%; object-position: center; }
.hero-room-third { display: none; }
.hero-headline { position: absolute; left: 5.4%; top: 36.1%; display: flex; flex-direction: column; align-items: flex-start; gap: .65cqw; font-size: 3.9cqw; font-weight: 900; letter-spacing: .025em; line-height: 1.25; z-index: 3; }
.hero-headline > span { display: block; background: #fff; padding: .45cqw .95cqw .6cqw; white-space: nowrap; }
.hero-headline > span:last-child { font-size: 3.3cqw; line-height: 1.48; }
.materials { position: absolute; left: 6.1%; top: 75.1%; }
.materials h2 { font-size: 1.6cqw; font-weight: 900; line-height: 1.5; margin-left: -.25em; margin-bottom: .65cqw; }
.materials ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: max-content max-content; gap: .22cqw 1.2cqw; align-items: start; }
.materials li { position: relative; padding-left: 2cqw; font-size: 1.5cqw; font-weight: 800; letter-spacing: .025em; line-height: 1.55; }
.materials li::before { content: ""; position: absolute; left: 0; top: .24em; width: 1.3cqw; height: 1.3cqw; border-radius: 50%; background: #2a211f; }
.materials small { font-size: .83cqw; font-weight: 800; letter-spacing: .02em; }
.material-wood { grid-column: 1 / -1; }
.material-cross { grid-column: 1; grid-row: 2; }
.material-paint { grid-column: 1; grid-row: 3; }
.material-stone { grid-column: 1; grid-row: 4; }
.material-metal { grid-column: 2; grid-row: 3 / 5; }
.hero-rate { position: absolute; right: 0; bottom: 0; width: 56.8%; color: white; font-weight: 900; }
.rate-heading { background: var(--rate-brown); width: 81%; padding: 1.1cqw 1.6cqw 1.25cqw; text-align: center; font-size: 2.25cqw; letter-spacing: .05em; white-space: nowrap; line-height: 1.35; }
.rate-main { display: flex; justify-content: space-between; align-items: center; gap: 1cqw; background: var(--rate-brown); margin-left: 11%; padding: .15cqw 1cqw .1cqw 2.4cqw; }
.rate-day { flex: none; text-align: center; }
.rate-day > p:first-child { white-space: nowrap; font-size: 3.3cqw; letter-spacing: -.03em; line-height: 1.3; }
.rate-day small { font-size: 1.05cqw; letter-spacing: -.04em; }
.travel-free { color: #ffdb57; border: .27cqw solid #ffdb57; font-size: 1.9cqw; line-height: 1.2; letter-spacing: .19em; padding: .1cqw .55cqw .22cqw; margin-top: .35cqw; }
.rate-number { display: flex; align-items: center; gap: .4cqw; line-height: 1; }
.rate-number > span { font-family: Arial, Helvetica, sans-serif; font-size: 7.1cqw; font-weight: 700; letter-spacing: -.045em; white-space: nowrap; }
.rate-number > small { font-size: 1.4cqw; line-height: 1.1; }
.rate-caution { background: var(--rate-brown); margin-left: 11%; text-align: right; font-size: .76cqw; letter-spacing: .045em; padding: .5cqw 1.1cqw .45cqw; line-height: 1.5; white-space: nowrap; }

.page-sheet { width: min(1100px, calc(100% - 40px)); margin-inline: auto; container-type: inline-size; }
.repair-examples { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2.6%; padding: 1.9% 3.1% 5.5%; }
.repair-example { position: relative; }
.repair-example > img { width: 100%; height: auto; }
.repair-example figcaption { position: absolute; inset: 0; pointer-events: none; font-family: Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1; }
.repair-example figcaption > span { position: absolute; top: .25cqw; left: 1.1cqw; font-size: 1.5cqw; }
.repair-example figcaption > strong { position: absolute; top: -.15cqw; right: .6cqw; font-size: 3.6cqw; letter-spacing: -.04em; }

.work-flow { background: var(--brown); color: var(--cream); padding: 7.4% 5.25% 4.8%; box-shadow: 0 0 0 100vmax var(--brown); clip-path: inset(0 -100vmax); }
.work-flow > h2 { text-align: center; font-size: 2.65cqw; font-weight: 800; letter-spacing: .055em; line-height: 1.5; margin-bottom: 4.8cqw; }
.steps { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2.25cqw 2.4cqw; }
.step-card { background: var(--cream); color: #303136; border-radius: 2.3cqw; position: relative; min-height: 23.4cqw; padding: 6.1cqw 1.85cqw 2.6cqw 16.9cqw; }
.step-card > h3 { position: absolute; top: -2.3cqw; left: -.6cqw; font-size: 3.7cqw; font-weight: 900; line-height: 1.3; letter-spacing: -.035em; color: var(--charcoal); -webkit-text-stroke: .55cqw var(--cream); paint-order: stroke fill; white-space: nowrap; }
.step-number { font-family: Arial, Helvetica, sans-serif; font-size: 5.4cqw; font-weight: 900; letter-spacing: -.06em; }
.step-illustration { position: absolute; left: 3.6cqw; bottom: 3.2cqw; width: 12.2cqw; height: auto; pointer-events: none; }
.step-mail { width: 12.5cqw; left: 2.6cqw; }
.step-body { position: relative; z-index: 1; font-size: 1.13cqw; font-weight: 700; line-height: 1.55; letter-spacing: -.025em; }
.step-body > p + p { margin-top: 1.5cqw; }
.step-body .step-note { font-size: .89cqw; font-weight: 500; line-height: 1.45; letter-spacing: -.01em; }
.step-body > .step-note { margin-top: .75cqw; }
.step-body h4 { font-size: 1.22cqw; line-height: 1.5; margin-bottom: .75cqw; }
.step-body ul { list-style: none; padding: 0; margin: 0; }
.step-body li { position: relative; padding-left: .7em; margin-top: .25cqw; }
.step-body li::before { content: "・"; position: absolute; left: -.2em; }
.step-body li > .step-note { display: block; }
.step-card-long { min-height: 27.1cqw; padding-top: 4.4cqw; padding-bottom: 1.9cqw; }
.step-card-long .step-illustration { left: 2.5cqw; bottom: 3.4cqw; width: 12.8cqw; }
.other-notes { display: grid; grid-template-columns: 15.5% 1fr; gap: 3cqw; align-items: center; margin-top: 3.2cqw; }
.other-notes > h3 { text-align: center; font-size: 2.2cqw; letter-spacing: .12em; }
.other-notes ul { list-style: none; padding: 0; margin: 0; font-size: 1.06cqw; line-height: 1.85; letter-spacing: .025em; }
.other-notes li { position: relative; padding-left: .8em; }
.other-notes li::before { content: "・"; position: absolute; left: -.2em; }
.other-notes strong { font-size: 1.45cqw; letter-spacing: .04em; }

.pricing { padding-bottom: 0; }
.pricing-banner { position: relative; z-index: 2; isolation: isolate; display: grid; grid-template-columns: 30% 17.5% 1fr; align-items: center; min-height: 10.6cqw; background: #dfddda; }
.pricing-banner::after { content: ""; position: absolute; inset: 0; background: #dfddda; box-shadow: 0 0 0 100vmax #dfddda; clip-path: inset(0 -100vmax); z-index: -1; pointer-events: none; }
.pricing-banner > h2 { border-radius: 0 6cqw 6cqw 0; background: var(--charcoal); color: var(--cream); font-size: 3.1cqw; letter-spacing: .06em; line-height: 1.25; padding: 2.1cqw 2.9cqw 2.3cqw; text-align: center; }
.trial-badge { width: 14.9cqw; aspect-ratio: 1; border-radius: 50%; transform: rotate(-11deg); background: var(--orange); color: var(--charcoal); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 1px 2px 0 #bdbcb7; position: relative; z-index: 10; margin: -2cqw 0; text-align: center; font-weight: 900; }
.trial-badge > p { color: #c9571f; font-size: 1.62cqw; line-height: 1.12; }
.trial-badge > strong { font-size: 4.2cqw; line-height: 1.12; letter-spacing: -.06em; }
.trial-badge > span { font-size: 1.65cqw; letter-spacing: -.08em; line-height: 1.2; }
.trial-description { padding: 1cqw 1cqw 1cqw .4cqw; }
.trial-description > p { font-size: 2.05cqw; line-height: 1.35; font-weight: 800; letter-spacing: -.035em; }
.trial-description > small { display: block; font-size: 1.05cqw; line-height: 1.5; margin-top: .75cqw; font-weight: 500; }
.trial-description b { font-size: 1.38cqw; }
.price-tables { position: relative; isolation: isolate; padding: 2.55cqw 4.85cqw 4.7cqw; background: var(--price-paper); }
.price-tables::after { content: ""; position: absolute; inset: 0; background: var(--price-paper); box-shadow: 0 0 0 100vmax var(--price-paper); clip-path: inset(0 -100vmax); z-index: -1; pointer-events: none; }
.price-table { width: 100%; border-collapse: separate; border-spacing: .4cqw; table-layout: fixed; margin-left: -.4cqw; width: calc(100% + .8cqw); }
.price-table caption { text-align: left; font-size: 1.45cqw; line-height: 1.3; padding: 0 .4cqw .3cqw; font-weight: 800; }
.price-table .col-plan { width: 27.5%; }
.price-table .col-description { width: 34.5%; }
.price-table .col-price, .price-table .col-travel { width: 19%; }
.price-table thead th { background: var(--brown); color: #fff; font-size: 1.7cqw; letter-spacing: .06em; font-weight: 700; text-align: center; padding: .8cqw .4cqw 1cqw; line-height: 1.35; }
.price-table tbody th, .price-table tbody td { background: #fff; padding: 1.5cqw 1.3cqw; vertical-align: middle; }
.price-table tbody th { text-align: left; white-space: nowrap; }
.plan-name { font-size: 2.55cqw; letter-spacing: .03em; line-height: 1.4; font-weight: 800; }
.plan-suffix { font-size: 1.1cqw; margin-left: .6cqw; font-weight: 700; }
.plan-description > p { font-size: 1.16cqw; line-height: 1.3; font-weight: 800; letter-spacing: -.035em; }
.plan-description > small { font-size: .96cqw; font-weight: 500; display: block; margin-top: .35cqw; line-height: 1.4; letter-spacing: -.025em; }
.plan-cost { font-family: Arial, Helvetica, sans-serif; font-size: 3.05cqw; font-weight: 700; text-align: center; white-space: nowrap; }
.short-table { margin-top: 1.45cqw; }
.short-table tbody th, .short-table tbody td { background: var(--sand); padding-top: 1.6cqw; padding-bottom: 1.6cqw; }
.short-table .plan-suffix { float: right; margin-top: .75cqw; margin-left: 0; }
.price-table-notes { display: flex; align-items: flex-start; gap: 1cqw; margin-top: .35cqw; }
.price-table-notes > p { font-size: 1.37cqw; line-height: 1.5; font-weight: 800; letter-spacing: -.02em; }
.price-table-notes > small { flex: none; font-size: .93cqw; line-height: 1.5; padding-top: .2cqw; }

.about { padding: 3.4cqw 7.2cqw 3.4cqw; }
.about-panel { background: #fff; padding: 3.2cqw 3.5cqw; }
.about-description { font-size: 1.55cqw; line-height: 1.65; font-weight: 800; letter-spacing: .025em; }
.about-description > p + p { margin-top: 1.5em; }
.greeting { display: flex; flex-direction: row; align-items: center; gap: 3.2cqw; margin-top: 3.6cqw; }
.greeting > img { width: min(13.5cqw, 136px); aspect-ratio: 1; height: auto; border-radius: 50%; flex: none; }
.greeting > p { flex: 1; font-size: 1.85cqw; font-weight: 800; line-height: 1.75; letter-spacing: .025em; }

.contact { background: var(--brown); color: #fff; padding: 55px 25px 65px; text-align: center; scroll-margin-top: 20px; }
.contact-inner { max-width: 1100px; margin-inline: auto; }
.contact h2, .telephone h2 { font-size: 48px; line-height: 1.4; font-weight: 700; }
.contact p { font-size: 16px; font-weight: 400; line-height: 1.8; margin-top: 27px; }
.google-form-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 45px; text-decoration: none; background: var(--orange); color: var(--brown); padding: 22px 38px; margin-top: 35px; font-size: 22px; font-weight: 800; line-height: 1.4; }
.google-form-button > span { font-size: 32px; line-height: 1; }
.google-form-button[aria-disabled="true"] { cursor: default; }
.telephone { background: #dfdddc; padding: 70px 20px 80px; text-align: center; color: #222; }
.phone-number { margin-top: 40px; font-size: 48px; font-weight: 700; line-height: 1.4; letter-spacing: .025em; }
.phone-number a { text-decoration: none; }
.business-hours { font-size: 32px; margin-top: 15px; font-weight: 700; }
.footer-logo { width: 132px; height: auto; margin: 65px auto 35px; }
.telephone address { font-size: 24px; font-style: normal; }
.site-footer { background: var(--brown); color: var(--cream); text-align: center; font-weight: 400; font-size: 16px; padding: 30px 20px; }
.floating-contact { position: fixed; right: 20px; top: 55%; z-index: 20; background: var(--orange); color: #342917; text-decoration: none; writing-mode: vertical-rl; text-orientation: upright; font-size: 23px; font-weight: 900; line-height: 1.3; padding: 17px 12px; box-shadow: 0 0 0 7px rgba(255,255,255,.32); letter-spacing: .08em; }

@media (max-width:767px) {
  .hero { aspect-ratio: auto; }
  .brand-block { position: relative; top: auto; left: auto; padding: 7.5cqw 5.5cqw 6.5cqw; height: 32.6cqw; }
  .brand-tagline { font-size: 2.9cqw; line-height: 1.3; margin-bottom: .85cqw; }
  .wordmark { font-size: 16.2cqw; line-height: 1; letter-spacing: -.04em; }
  .hero-photos { position: relative; height: 123.4cqw; inset: auto; z-index: 0; overflow: hidden; }
  .hero-room { width: 100%; }
  .hero-room-top { top: 0; height: 45.6cqw; z-index: 2; }
  .hero-room-bottom { top: 32.5cqw; height: 58cqw; z-index: 1; clip-path: polygon(0 0,100% 20%,100% 100%,0 80%); object-position: 50% center; }
  .hero-room-third { display: block; top: 75.5cqw; height: 48cqw; object-position: center; }
  .hero-headline { top: 78.2cqw; left: 5.5cqw; gap: 2.1cqw; font-size: 7.9cqw; letter-spacing: -.025em; line-height: 1.3; }
  .hero-headline > span { padding: .7cqw 1.9cqw 1.1cqw; }
  .hero-headline > span:last-child { font-size: 6.1cqw; line-height: 1.35; letter-spacing: -.025em; }
  .materials { position: static; padding: 5.5cqw 4.7cqw 6.5cqw; }
  .materials h2 { font-size: 3.8cqw; margin-bottom: 2.6cqw; }
  .materials ul { gap: .65cqw 1.5cqw; }
  .materials li { padding-left: 5.4cqw; font-size: 3.55cqw; line-height: 1.65; letter-spacing: 0; }
  .materials li::before { width: 3.5cqw; height: 3.5cqw; top: .32em; }
  .materials small { font-size: 1.94cqw; }
  .hero-rate { position: relative; width: 100%; }
  .rate-heading { width: 89%; margin-left: 11%; padding: 2.8cqw 2cqw 2.8cqw 4cqw; font-size: 4.2cqw; line-height: 1.35; letter-spacing: .02em; }
  .rate-main { margin-left: 0; padding: 1.2cqw 4cqw .7cqw 5.5cqw; gap: 2cqw; }
  .rate-day > p:first-child { font-size: 6.5cqw; line-height: 1.3; }
  .rate-day small { font-size: 2.1cqw; }
  .travel-free { font-size: 3.7cqw; border-width: .5cqw; margin-top: .7cqw; padding: .3cqw 1cqw .4cqw; }
  .rate-number { gap: .5cqw; }
  .rate-number > span { font-size: 13.6cqw; letter-spacing: -.055em; }
  .rate-number > small { font-size: 3cqw; }
  .rate-caution { margin-left: 0; font-size: max(10px,1.65cqw); white-space: normal; padding: 1cqw 4cqw 1.6cqw; line-height: 1.5; }

  .page-sheet { width: 100%; }
  .repair-examples { grid-template-columns: 1fr; gap: 5cqw; padding: 7cqw 13cqw 9cqw; }
  .repair-example figcaption > span { font-size: 4cqw; top: .6cqw; left: 2.7cqw; }
  .repair-example figcaption > strong { font-size: 9.8cqw; right: 1.5cqw; top: -.4cqw; }
  .work-flow { padding: 9cqw 6cqw 8cqw; background: var(--rate-brown); box-shadow: 0 0 0 100vmax var(--rate-brown); clip-path: inset(0 -100vmax); }
  .work-flow > h2 { font-size: 5.1cqw; margin-bottom: 10cqw; letter-spacing: -.035em; }
  .steps { grid-template-columns: 1fr; gap: 11cqw; }
  .step-card, .step-card-long { padding: 15cqw 5.4cqw 6cqw 29cqw; min-height: 64cqw; border-radius: 5cqw; }
  .step-card > h3 { top: -6.5cqw; left: -1.2cqw; font-size: 7.5cqw; -webkit-text-stroke-width: 1.1cqw; letter-spacing: -.055em; }
  .step-number { font-size: 12.3cqw; }
  .step-illustration, .step-card-long .step-illustration { width: 22cqw; left: 4.3cqw; bottom: 7cqw; }
  .step-mail { width: 22cqw; left: 3.5cqw; }
  .step-body { font-size: max(12px,3.05cqw); line-height: 1.65; letter-spacing: -.035em; }
  .step-body > p + p { margin-top: 4cqw; }
  .step-body .step-note { font-size: max(11px,2.6cqw); line-height: 1.5; }
  .step-body > .step-note { margin-top: 2cqw; }
  .step-body h4 { font-size: 3.3cqw; margin-bottom: 2cqw; }
  .step-body li { margin-top: .7cqw; }
  .step-card-long { min-height: 74cqw; padding-top: 13cqw; }
  .other-notes { grid-template-columns: 1fr; gap: 3cqw; margin-top: 7cqw; }
  .other-notes > h3 { font-size: 5.5cqw; text-align: left; }
  .other-notes ul { font-size: max(11px,2.8cqw); line-height: 1.8; letter-spacing: 0; }
  .other-notes li + li { margin-top: 2cqw; }
  .other-notes strong { font-size: 4cqw; }

  .pricing-banner { z-index: 2; grid-template-columns: 25% 1fr; min-height: 58cqw; align-items: center; padding-top: 16.6cqw; background: var(--price-paper); }
  .pricing-banner::after { background: var(--price-paper); box-shadow: 0 0 0 100vmax var(--price-paper); }
  .pricing-banner::before { content: ""; position: absolute; left: 0; right: 0; top: 32.5cqw; height: 4.6cqw; background: var(--brown); }
  .pricing-banner > h2 { grid-column: 1 / -1; width: 52%; padding: 3.5cqw 3cqw; font-size: 5.5cqw; border-radius: 0 11cqw 11cqw 0; margin: 0 0 4cqw; }
  .trial-badge { width: 23cqw; margin: -1cqw 0 0 1.3cqw; z-index: 10; }
  .trial-badge > p { font-size: 2.7cqw; }
  .trial-badge > strong { font-size: 6.5cqw; }
  .trial-badge > span { font-size: 2.8cqw; }
  .trial-description { grid-column: 2; padding: 3cqw 1.5cqw 3cqw 1.4cqw; background: #dfddda; }
  .trial-description > p { font-size: 3.2cqw; line-height: 1.5; letter-spacing: -.045em; }
  .trial-description > small { font-size: max(10px,2.1cqw); margin-top: 1.2cqw; }
  .trial-description b { font-size: 2.8cqw; }
  .price-tables { padding: 5cqw 2.5cqw 7cqw; }
  .price-table, .price-table tbody { display: block; width: 100%; margin: 0; border-spacing: 0; }
  .price-table colgroup, .short-table thead { display: none; }
  .annual-table thead { display: block; margin-bottom: .6cqw; }
  .annual-table thead tr { display: grid; grid-template-columns: 55fr 22.5fr 22.5fr; gap: .6cqw; }
  .annual-table thead th { font-size: max(10px,2.6cqw); padding: 2cqw .7cqw; display: flex; align-items: center; justify-content: center; }
  .annual-table thead th:nth-child(2) { display: none; }
  .price-table caption { display: block; font-size: 4.5cqw; padding: 0 0 2cqw; }
  .price-table tbody tr { display: grid; grid-template-columns: 55fr 22.5fr 22.5fr; column-gap: .6cqw; row-gap: 0; margin-bottom: 1.2cqw; }
  .price-table tbody th, .price-table tbody td { padding: 3cqw 2cqw; }
  .price-table tbody th { grid-column: 1; text-align: center; padding-top: 4cqw; padding-bottom: 2cqw; }
  .plan-name { font-size: 4.25cqw; line-height: 1.4; letter-spacing: -.03em; }
  .plan-suffix { font-size: 2.5cqw; margin-left: .5cqw; }
  .plan-description { grid-column: 1; grid-row: 2; }
  .plan-description > p { font-size: max(11px,2.35cqw); line-height: 1.55; letter-spacing: -.035em; }
  .plan-description > small { font-size: max(10px,2.1cqw); line-height: 1.6; margin-top: 1.4cqw; }
  .price-table td.plan-cost { grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; font-size: 4.4cqw; padding-inline: .7cqw; }
  .price-table td.plan-cost:nth-child(3) { grid-column: 2; }
  .price-table td.plan-cost:nth-child(4) { grid-column: 3; }
  .short-table { margin-top: 6cqw; }
  .short-table .plan-suffix { float: none; margin-left: .5cqw; margin-top: 0; }
  .short-table tbody th, .short-table tbody td { padding-top: 4cqw; padding-bottom: 4cqw; }
  .price-table-notes { flex-direction: column; gap: 2cqw; margin-top: 1cqw; }
  .price-table-notes > p { font-size: 3.5cqw; line-height: 1.6; }
  .price-table-notes > small { font-size: max(11px,2.8cqw); align-self: flex-end; }
  .pricing { padding-bottom: 0; }

  .about { padding: 10.3cqw 5.5cqw; }
  .about-panel { padding: 8.3cqw 6.5cqw; }
  .about-description { font-size: 3.75cqw; line-height: 1.55; letter-spacing: .025em; }
  .greeting { flex-direction: column; align-items: center; text-align: center; gap: 4.7cqw; margin-top: 12.5cqw; }
  .greeting > img { width: clamp(150px,44cqw,260px); }
  .greeting > p { font-size: 3.7cqw; line-height: 1.8; letter-spacing: 0; }
  .greeting br { display: none; }
  .contact { padding: 45px 24px 48px; }
  .contact h2, .telephone h2 { font-size: 30px; }
  .contact p { font-size: 14px; line-height: 1.9; margin-top: 24px; }
  .contact p br { display: none; }
  .google-form-button { font-size: 16px; padding: 20px 20px; margin-top: 28px; gap: 18px; width: 100%; max-width: 360px; }
  .google-form-button > span { font-size: 24px; }
  .telephone { padding: 48px 18px 55px; }
  .telephone h2 { font-size: clamp(20px,6.2vw,27px); }
  .phone-number { font-size: 36px; margin-top: 30px; letter-spacing: 0; }
  .business-hours { font-size: 21px; margin-top: 12px; }
  .footer-logo { width: 116px; margin-top: 45px; margin-bottom: 28px; }
  .telephone address { font-size: 17px; }
  .site-footer { font-size: 12px; padding: 23px 15px; }
  .floating-contact { right: 8px; font-size: 15px; padding: 12px 7px; box-shadow: 0 0 0 4px rgba(255,255,255,.32); top: 57%; }
}
@media (max-width:359px) {
  .step-card, .step-card-long { padding-left: 26cqw; padding-right: 4cqw; }
  .step-illustration, .step-card-long .step-illustration { width: 19cqw; left: 3cqw; }
  .step-mail { width: 19cqw; left: 3cqw; }
  .contact { padding-inline: 20px; }
  .google-form-button { font-size: 13px; gap: 8px; padding-inline: 14px; white-space: nowrap; }
  .phone-number { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
