.offer-card{container-type:inline-size;text-align:center;color:#191916;border:4px solid #242420;border-radius:28px;box-shadow:7px 8px 0 #ff791b;padding:28px 24px 24px;margin:0 8px 20px 0;background-color:#fcfaef;background-image:linear-gradient(#d5d4ce66 1px,transparent 1px),linear-gradient(90deg,#d5d4ce66 1px,transparent 1px),radial-gradient(ellipse at 95% 15%,#ffb95a33,transparent 65%),radial-gradient(ellipse at 0% 100%,#ff713026,transparent 60%);background-size:18px 18px,18px 18px,100% 100%,100% 100%;font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
.booking .offer-card p{margin:0}.booking .offer-card .offer-eyebrow{font-size:5.2cqw;font-weight:900;margin:2cqw 0 4cqw;white-space:nowrap;letter-spacing:-.04em}
.booking .offer-card .offer-heading{margin:0;padding:0;line-height:1.1;font-weight:900;letter-spacing:-.055em}
.offer-product{display:block;font-size:9cqw;margin-bottom:1.8cqw}.offer-price{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;letter-spacing:-.065em;line-height:1.12}.offer-price strong{font-size:17.6cqw;font-weight:900}.offer-price>span{font-size:9.4cqw;font-weight:900}
.offer-price strong,.offer-price>span,.offer-support strong{color:#f66b20;background:linear-gradient(100deg,#ffb329 0%,#ff741b 22%,#ff3f24 48%,#ff9c24 73%,#ffc04b 100%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:offer-color-flow 3.5s ease-in-out infinite alternate}
.booking .offer-card .offer-label{display:table;margin:2cqw auto 3cqw;padding:1cqw 5cqw;border:2px solid #242420;border-radius:50px;font-size:4.7cqw;font-weight:900;line-height:1.4;background:#fffbed}
.booking .offer-card .offer-support{font-size:5.1cqw;line-height:1.65;letter-spacing:-.045em;font-weight:900;background:#242424;color:#fff;padding:2.2cqw .5cqw;border-radius:16px;box-shadow:5px 6px 0 #ff791b;white-space:nowrap}
.booking .offer-card .offer-promise{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:3.6cqw;letter-spacing:-.04em;font-weight:700;margin:4cqw 0 2.4cqw;white-space:nowrap;line-height:1.5}
.booking .offer-card .offer-service{display:inline-flex;align-items:center;gap:2cqw;background:#fff;border:2px solid #222;border-radius:50px;padding:1cqw 4cqw;font-size:4cqw;line-height:1.5;font-weight:800;white-space:nowrap}.offer-service b{color:#f76e21}.offer-service span{border-left:1px solid #222;padding-left:2cqw}
.offer-reveal{animation:offer-type-in .9s cubic-bezier(.16,1,.3,1) both}.offer-eyebrow{animation-delay:.05s}.offer-product{animation-delay:.18s}.offer-price{animation-delay:.38s}.offer-label{animation-delay:.55s}.offer-support{animation-delay:.7s}.offer-promise{animation-delay:.95s}.offer-service{animation-delay:1.1s}
@keyframes offer-type-in{from{opacity:0;transform:translateY(24px) skewY(3deg);filter:blur(5px)}to{opacity:1;transform:translateY(0) skewY(0);filter:blur(0)}}
@keyframes offer-color-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(max-width:600px){.offer-card{padding:18px 12px 16px;border-width:3px;border-radius:20px;box-shadow:5px 6px 0 #ff791b;margin-right:5px}.booking .offer-card .offer-support{border-radius:10px;box-shadow:3px 4px 0 #ff791b}}
@media(prefers-reduced-motion:reduce){.offer-reveal,.offer-price strong,.offer-price>span,.offer-support strong{animation:none;opacity:1;filter:none;transform:none}}

/* Consultation-first typography, matching the approved visual. */
.booking .offer-answer .offer-eyebrow{font-size:4.6cqw;font-weight:700;margin:3cqw 0 3cqw;letter-spacing:-.035em}
.booking .offer-answer .offer-heading{line-height:1.15;letter-spacing:-.045em;margin:0 0 3cqw}
.answer-first,.answer-main,.answer-ending{display:block;white-space:nowrap}
.answer-first{font-size:10cqw;font-weight:800;animation-delay:.18s}
.answer-main{font-size:15cqw;font-weight:900;line-height:1.35;letter-spacing:-.06em;animation-delay:.32s}
.answer-particle{font-size:.68em}
.answer-ending{font-size:9cqw;font-weight:750;line-height:1.3;animation-delay:.48s}
.answer-main,.answer-discount{color:#f66b20;background:linear-gradient(100deg,#ff5120 0%,#ff8a18 48%,#ffb329 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.answer-main{animation:offer-type-in .9s .32s both,offer-color-flow 5s 1.3s ease-in-out infinite alternate}
.answer-benefit{background:#242424;color:#fff;border-radius:16px;box-shadow:4px 5px 0 #ff791b;padding:2cqw 1cqw;margin-bottom:4cqw;animation-delay:.65s}
.booking .answer-benefit>p:first-child{font-size:5cqw;font-weight:700;line-height:1.5}
.answer-discount{display:flex;justify-content:center;align-items:baseline;gap:1.5cqw;white-space:nowrap;line-height:1.15;letter-spacing:-.055em}
.answer-discount strong{font-size:19cqw;font-weight:900}.answer-discount strong span{font-size:.7em}.answer-discount>span{font-size:10cqw;font-weight:800}
.booking .offer-answer .offer-service{font-size:4.2cqw;font-weight:700;padding:1cqw 4cqw;animation-delay:.8s}
.booking .offer-answer .answer-note{font-size:2.6cqw;line-height:1.6;margin-top:1.5cqw;font-weight:400}
@media(max-width:600px){.answer-benefit{border-radius:10px;box-shadow:3px 4px 0 #ff791b}}
@media(prefers-reduced-motion:reduce){.answer-main{animation:none;opacity:1;transform:none;filter:none}}

/* Quiet supporting copy beneath the main consultation message. */
.booking .offer-answer .answer-detail{margin:0 0 3.5cqw;font-size:clamp(11px,3.3cqw,18px);font-weight:400;line-height:1.65;letter-spacing:0;color:#5e5b53}
